Fasm, Hello World x64 компилится но не работает - Assembler
Формулировка задачи:
На винде x32 программа нормально работала код был
Попытался переписать под x64, компилируется без ошибок, но при запуске как только открывается консоль, выскакивает сообщение "Прекращена работа программы". Подскажите что я нетак изменил в коде. И если не сложно покажите пример простого консольного приложения на asm под x64. Вот код:
format binary use16 org 100h mov ah,9 mov dx,msg int 21h mov ah,0 int 16h int 20h msg db 'Hello World$'
format PE64 use64 mov ah,9 mov rdx,msg int 21h mov ah,0 int 16h int 20h msg db 'Hello World$'
Все понял в чем проблема. Посоветуйте плз чтонибудь почитать по assembler'у, только не старье под DOS. Под x64 желательно на русском. И чтоб были примеры консольных приложений(к примеру вводим массив, выполняем сортировку, и выводим).
Решение задачи: «Fasm, Hello World x64 компилится но не работает»
textual
Листинг программы
Format PE64 use64 mov ah,9 mov rdx,hello int 21h hello db 'hewllo',24h
Объяснение кода листинга программы
- Установка сегмента данных (DS) в 9
- Передача в регистр RDX содержимого переменной hello
- Вызов прерывания 21h для вывода строки на экран
- Определение строки 'hewllo' в области данных (hello db 'hewllo',24h)
- Значение 24h в поле смещения указывает на длину строки 'hewllo' (24 байта)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д