Прерывание 21h "Вывод текста" - Assembler

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

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

После не совсем удачного знакомства с двумя учебниками В.И. Юрова и О.А. Калашникова, связано было с тем что не смог найти рекомендуемые ими программы. Решил написать программу "Hello, world! " в masm32. Программа выдает ошибку в девятой строке "syntax error". Не могу понять в чем проблема ? Может проблема в компиляторе ?. Так как код в примере из книги не запускается.
Листинг программы
  1. .386
  2. .model flat, stdcall
  3. option casemap:none
  4. .data
  5. messa db 'Hello World!$'
  6. .code
  7. start:
  8. mov ah,9
  9. mov dx,OFFSET messa ;*
  10. int 21h
  11. int 20h
  12. end start
  13. end.
*При использование регистра edх программа запускается, но вылетает с ошибкой Код из "Ассемблер это просто" О.А. Калашников
Листинг программы
  1. GSES segment
  2. org 100h
  3. Begin:
  4. mov ah,9
  5. mov ds,offset Message
  6. int 21h
  7. int 20h
  8. Message db 'Hello, world!$'
  9. CSEG ends
  10. end Begin

Решение задачи: «Прерывание 21h "Вывод текста"»

textual
Листинг программы
  1. format PE64 GUI
  2. entry start
  3. section '.text' code readable executable
  4. start:
  5. sub rsp,8*5
  6. mov r9,0
  7. lea r8,[_caption]
  8. lea rdx,[_message]
  9. mov rcx,0
  10. call [MessageBoxA]
  11. add rsp,40
  12. sub rsp,16
  13. mov ecx,eax
  14. call [ExitProcess]
  15. section '.data' data readable writeable
  16. _caption db 'Win64 assembly program',0
  17. _message db 'Hello World!',0
  18. section '.idata' import data readable writeable
  19. dd 0,0,0,RVA kernel_name,RVA kernel_table
  20. dd 0,0,0,RVA user_name,RVA user_table
  21. dd 0,0,0,0,0
  22. kernel_table:
  23. ExitProcess dq RVA _ExitProcess
  24. dq 0
  25. user_table:
  26. MessageBoxA dq RVA _MessageBoxA
  27. dq 0
  28. kernel_name db 'KERNEL32.DLL',0
  29. user_name db 'USER32.DLL',0
  30. _ExitProcess dw 0
  31. db 'ExitProcess',0
  32. _MessageBoxA dw 0
  33. db 'MessageBoxA',0

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


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

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

10   голосов , оценка 4 из 5

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

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

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