1 / 1 / 1
Регистрация: 26.11.2012
Сообщений: 31
|
||||||
1 | ||||||
Начало работы со встроенным ассемблером04.05.2013, 16:28. Показов 4700. Ответов 10
Метки нет (Все метки)
Помогите, кто знает как с этим работать
Проходим в универе встроенные в с++ ассемблер, накидал простейшую программку(ввод строки символов с клавиатуры и её же вывод на экран) Собственно код:
source.cpp(7): error C2400: inline assembler syntax error in 'opcode'; found 'data' source.cpp(8): error C2400: inline assembler syntax error in 'opcode'; found 'db' source.cpp(9): error C2400: inline assembler syntax error in 'opcode'; found 'code' source.cpp(11): error C2018: unknown character '0x40' source.cpp(11): error C2443: operand size conflict source.cpp(20): error C2400: inline assembler syntax error in 'opcode'; found 'Programm' Заранее спасибо
0
|
04.05.2013, 16:28 | |
Ответы с готовыми решениями:
10
Нужна помощь со встроенным ассемблером в с++ Напишите программу на Pascal с встроенным Ассемблером Как пользоваться встроенным ассемблером Visual Studio? Работа со встроенным ассемблером. Записать число 5050 во все регистры общего назначения |
497 / 453 / 138
Регистрация: 03.02.2013
Сообщений: 1,423
|
||||||||||||||||
04.05.2013, 18:05 | 2 | |||||||||||||||
вы знаете, я могу заблуждаться (имел опыт только в паскале с inline assembler да и больше AT&T синтаксис, а не Intel)
но мне почему-то кажется, что нельзя определять в inline assembler блоки .data .code и уже тем более данные типа string db 3, ?, 4 dup(?) определите данные в С++ коде, а не макросе __asm а тут сразу код пишите, это по поводу первых трёх ошибок дальше вы пишите в конце
0
|
|
|
04.05.2013, 18:09 | 3 |
а откуда взят этот код? Это точно не inline ассемблер.
abit прав. Все данные объявляь как обычные переменные Си. Не случайно тут есть слово inline. Ассемблерные вставки это именно фрагменты кода, которые компилятор вставит в основную программу. Это не самостоятельная программа на асме.
0
|
1 / 1 / 1
Регистрация: 26.11.2012
Сообщений: 31
|
|
04.05.2013, 18:58 [ТС] | 5 |
Хм. Спасибо, т.е. ввод с клавиатуры никак нельзя реализовать через встроенный ассемблер ?
0
|
1 / 1 / 1
Регистрация: 26.11.2012
Сообщений: 31
|
|
04.05.2013, 19:08 [ТС] | 7 |
Я имел в виду возможность организовать ввод/вывод данных внутри ассемблерной вставки _asm{}, т.е. через команды именно ассемблера, или
это тоже невозможно ?
0
|
1 / 1 / 1
Регистрация: 26.11.2012
Сообщений: 31
|
|
04.05.2013, 19:27 [ТС] | 9 |
0
|
|
||||||
04.05.2013, 19:31 | 10 | |||||
что там думать? Дело двух минут.
1я минута, смотрим в окне disassembly какой ассемблер соответствует вызову scanf и пишем аналогичную вставку. 2я минута исправляем ошибки. в итоге
0
|
|
||||||
04.05.2013, 21:15 | 11 | |||||
можно просто писать
Добавлено через 3 минуты так это в принципе не возможно. Тот же int 21h - это средство DOS'а, можно еще по другому (вроде int 10h, не помню), но это уже средство BIOS'а. Т.е. в любом случае придется использовать что-то стороннее. В данном случае (имею ввиду scanf()) - это средство языка С, которое внутри себя использует средства Windows.
0
|
04.05.2013, 21:15 | |
04.05.2013, 21:15 | ||||||
Помогаю со студенческими работами здесь
11
начало работы с c# Начало работы с Qt Начало Работы Начало работы в С++ Начало работы Начало работы в qt Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи | |||||
[golang] 88. Merge Sorted Array
alhaos 27.01.2025
package topInterview
/ / https:/ / leetcode. com/ studyplan/ top-interview-150/
/ / merge problem
/ /
/ / 88. Merge Sorted Array
/ /
/ / You are given two integer arrays nums1 and nums2, sorted in. . .
|
Как обойти HashMap в цикле в Java
bytestream 27.01.2025
HashMap является одной из наиболее часто используемых коллекций в языке Java, представляя собой реализацию интерфейса Map, которая позволяет хранить пары ключ-значение. При работе с этой структурой. . .
|
В чем разница между __str__ и __repr__ в Python. Строковое представление объектов
bytestream 27.01.2025
В языке программирования Python существует множество механизмов для работы с объектами, среди которых особое место занимают методы строкового представления. Эти специальные методы позволяют. . .
|
Как клонировать объект в JavaScript
bytestream 27.01.2025
В разработке на JavaScript часто возникает необходимость создавать копии объектов для их дальнейшей обработки или модификации. Клонирование объектов представляет собой процесс создания точной копии. . .
|
Как получить текущий URL с помощью JavaScript
bytestream 27.01.2025
В веб-разработке умение эффективно работать с URL (Uniform Resource Locator) является фундаментальным навыком для каждого JavaScript-разработчика. Управление URL-адресами играет ключевую роль в. . .
|
Как сделать stash только для измененного файла в Git
bytestream 27.01.2025
Система контроля версий Git предоставляет множество инструментов для управления изменениями в коде, и одним из наиболее полезных является механизм stash. Этот инструмент позволяет временно сохранить. . .
|
Как преобразовать байты в строку в Python
bytestream 27.01.2025
В мире программирования на Python работа с данными часто требует понимания различных форматов представления информации. Среди наиболее фундаментальных концепций выделяются байты и строки, которые. . .
|
Почему в Java операторы составного присваивания +=, -=, *=, /= не требуют приведения типа
bytestream 27.01.2025
В программировании на Java операторы составного присваивания представляют собой специальные синтаксические конструкции, которые объединяют операцию присваивания с арифметическим или битовым. . .
|
Для чего нужен файл __init__.py в Python. Пакеты и модули
bytestream 27.01.2025
В разработке программного обеспечения на Python важную роль играет грамотная организация кода, которая достигается благодаря использованию модулей и пакетов. Эта система позволяет разработчикам. . .
|
КуМир: Как создать своего исполнителя
bytestream 26.01.2025
Система программирования КуМир представляет собой уникальную образовательную платформу, разработанную для обучения основам алгоритмизации и программирования. Одним из ключевых элементов этой системы. . .
|
КуМир, исполнитель Черепаха. Задачи и их решение
bytestream 26.01.2025
Программирование становится неотъемлемой частью образования, и важно найти правильный инструмент для знакомства с основами алгоритмизации. Система КуМир представляет собой идеальную платформу для. . .
|
Почему массив символов предпочтительнее строк для хранения паролей в Java
bytestream 26.01.2025
В разработке программного обеспечения безопасность данных играет первостепенную роль, особенно когда речь идет о хранении конфиденциальной информации, такой как пароли пользователей. При работе с. . .
|