Fasm, Hello World x64 компилится но не работает - Assembler

Узнай цену своей работы

Формулировка задачи:

На винде x32 программа нормально работала код был
Листинг программы
  1. format binary
  2. use16
  3. org 100h
  4. mov ah,9
  5. mov dx,msg
  6. int 21h
  7. mov ah,0
  8. int 16h
  9. int 20h
  10. msg db 'Hello World$'
Попытался переписать под x64, компилируется без ошибок, но при запуске как только открывается консоль, выскакивает сообщение "Прекращена работа программы". Подскажите что я нетак изменил в коде. И если не сложно покажите пример простого консольного приложения на asm под x64. Вот код:
Листинг программы
  1. format PE64
  2. use64
  3. mov ah,9
  4. mov rdx,msg
  5. int 21h
  6. mov ah,0
  7. int 16h
  8. int 20h
  9. msg db 'Hello World$'
Все понял в чем проблема. Посоветуйте плз чтонибудь почитать по assembler'у, только не старье под DOS. Под x64 желательно на русском. И чтоб были примеры консольных приложений(к примеру вводим массив, выполняем сортировку, и выводим).

Решение задачи: «Fasm, Hello World x64 компилится но не работает»

textual
Листинг программы
  1. Format PE64
  2. use64
  3. mov ah,9
  4. mov rdx,hello
  5. int 21h
  6. hello db 'hewllo',24h

Объяснение кода листинга программы

  1. Установка сегмента данных (DS) в 9
  2. Передача в регистр RDX содержимого переменной hello
  3. Вызов прерывания 21h для вывода строки на экран
  4. Определение строки 'hewllo' в области данных (hello db 'hewllo',24h)
  5. Значение 24h в поле смещения указывает на длину строки 'hewllo' (24 байта)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут