|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|||||||||||
hello world!13.02.2011, 10:34. Показов 7267. Ответов 13
Метки нет (Все метки)
Нашел в интернете книжку "Крупник - изучаем ассемблер". Очень понятно написано. Вроде бы....
Программирую на MASM. Авто порекомендовал написать код и посмотреть как в отладчике произойдёт реагирование на переполнение.
0
|
|||||||||||
| 13.02.2011, 10:34 | |
|
Ответы с готовыми решениями:
13
Hello World в MASM32 Не выводится Hello, World Com hello world tasm |
|
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
|
||||||
| 13.02.2011, 11:08 | ||||||
1
|
||||||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|
| 13.02.2011, 12:33 [ТС] | |
|
.model flat.stdcall; показывает в какой среде будет жить программа
Это опечатка в книге была что ли?О_о как я понял - это условие сделано для того чтобы программа изначально не запускалась, апример, на MAC OS, дабы не было ошибок в ходе выполнения, чтобы программа закрылась в самом начале. Правильно?
0
|
|
|
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
|
|
| 13.02.2011, 12:43 | |
|
Я не силён в MASM`е
flat - означает, что программа для защищённого режима stdcall - соглашение о вызове функций (наверное это для макроса invoke).
1
|
|
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
||||||
| 13.02.2011, 13:43 [ТС] | ||||||
|
Сейчас решил выполнить отладку и посмотреть, как ведет себя программа.
Открыл AFD PRO командой cmd:afdpro.exe 1.com Первая строка в моей программе - это mov eax, 999999999 в 16-ричном представлении это будет выглядеть так: mov eax,3B9AC9FF Но почему-то первым оператором является mov ax, cdff второй оператор call cdff:053b ;вызывает какую-то процедуру. что он вызывает? В каком мануале это можно прочитать? Далее идет add dl,[bx+si+40];тут вообще ниче непонятно Далее add ax,e402;откуда это счастье?? я это не писал далее inc sp; инкремент непонятно откуда взялся... неужели ассемблер когда прибавляет к числу a прибавляет число b делает такую операцию
Далее in al,[44] Далее db 8c А что за числа стоят перед командами? Вот, допустим, перед первой командой написано 0100 B8FFC9 и далее MOV AX,C9FF Ну а затем INVALID OPCODE. И где про переполнение написано?..... В отладчике, конечно, есть куча полей, раздереленных линиями В одном что-то про стек, в верхнем, как я понял - про регистры, так? P.S. Если не трудно, подскажите, что это за области, помеченные цифрами 1 и 2? В них написано DS:0000 .................
0
|
||||||
|
2014 / 1286 / 61
Регистрация: 05.06.2010
Сообщений: 2,213
|
|
| 13.02.2011, 14:22 | |
|
Dimarik__, очевидно твой отладчик не понимает 32 разрядных команд
1
|
|
|
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
|
||||||
| 13.02.2011, 14:33 | ||||||
|
Если ты линкуешь com, тогда код должен быть таким
1
|
||||||
|
0 / 0 / 0
Регистрация: 06.01.2011
Сообщений: 9
|
|
| 13.02.2011, 15:12 | |
|
Пишы в RadASM и не будет проблем !!!
0
|
|
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|||
| 13.02.2011, 15:31 [ТС] | |||
|
Добавлено через 11 минут и чтобы получить .exe надо писать doslnk *.obj Кстати. Когда вылетает баг (переполнение), выскакивает ошибка, в хэндле которой было написано 16-bit MS-DOS SubSystem Почему именно 16-битной MS-DOS, а не 32-битной? У меня винда 32-битная стоит.
0
|
|||
|
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
|
||
| 13.02.2011, 16:24 | ||
0
|
||
|
21 / 21 / 3
Регистрация: 29.04.2010
Сообщений: 444
|
|
| 13.02.2011, 16:58 [ТС] | |
|
0
|
|
|
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
|
|
| 13.02.2011, 17:25 | |
|
Сделай асм-вставку в Visual Studio или в Delphi и воспользуйся встроенным отладчиком.
0
|
|
|
336 / 129 / 18
Регистрация: 26.12.2010
Сообщений: 501
|
||||||
| 14.02.2011, 11:49 | ||||||
0
|
||||||
|
273 / 268 / 11
Регистрация: 24.12.2010
Сообщений: 328
|
|||||||
| 14.02.2011, 12:19 | |||||||
1
|
|||||||
| 14.02.2011, 12:19 | |
|
Помогаю со студенческими работами здесь
14
Программа hello world не работает Masm64 console hello world Hello, World Hello World
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|