У меня есть сборочный код Intel x86 (16-битная версия), как показано ниже, который печатает сообщение нормально. Использование плоского ассемблера для сборки на Win-7 32 бит.
ORG 100h
USE16
mov ah, 09
mov dx, message
jmp Displayit ;unconditional jump
mov ah,01
int 21h
mov ah,4ch
int 21h
Displayit:
int 21h
message db 'Testing assembly jump instruction', 0Ah, '$'
Если я переместу определение строки сообщения (в приведенном ниже коде), в начале не будет напечатана эта строка? В чем причина?
Кроме того, хотя у меня есть инструкция mov ah, 01, int 21h
, чтобы предотвратить закрытие командной строки / консоли, она не работает. Консоль просто закрывается, прежде чем я вижу сообщение напечатано или нет?
.
ORG 100h
USE16
message db 'Testing assembly jump instruction', 0Ah, '$'
mov ah, 09
mov dx, message
jmp Displayit ;unconditional jump
mov ah,01
int 21h
mov ah,4ch
int 21h
Displayit:
int 21h