0
這段代碼應該說是Hello World五次!用於模擬循環的彙編代碼有什麼問題?
org 100h
string db 'Hello World',0Dh,0Ah,'$'
mov dx,string
mov bl,0
check:
cmp bl,5
jb print
ja term
print:
mov ah,9
int 21h
mov ah,04Ch
int 21h
inc bl
jmp check
term:
ret
我只收到一個Hello World作爲輸出! 我錯過了什麼嗎?
哇!說實話,我很努力從頭開始學習ALP!非常感謝信息人!是的,程序確實崩潰,一個對話框會出現一些16位錯誤! 在我將define byte指令放到最後之後,只有這樣輸出纔會成爲一個單一的Hello World! –
太棒了!有效!謝啦! :) 順便說一句,你能解釋一下在代碼的開始處的原始指令的目的是什麼? 何時使用Ah寄存器中的4Ch值? –
org 100h是DOS時代的遺產,當.com文件被限制爲64K字節時。 「操作系統」使用代碼段的前256來通過例如命令行參數;從.com文件加載下一個65280字節並跳轉到代碼段CS中的地址0x100。 org in assembler sets then each'origin'of each instruction related to the assume load address。 –