我有一個Intel程序集x86(16位版本)彙編代碼,如下所示,它顯示消息正常。使用平面彙編程序在Win-7 32位上進行彙編。Intel x86彙編代碼行爲問題
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
在這兩種情況下,代碼執行的第一條指令是什麼?爲什麼? 'mov ah,01','int 21h'什麼時候執行? –
我想這會是mov啊,09不是嗎? – goldenmean
另外,即使我將Mov ah,01代碼放在Displayit:標籤中,控制檯也會關閉而不用等待它。只有當消息不是在開始處,而是在某處下降時,字符串纔會被打印。奇怪! – goldenmean