自從我停止使用某些代碼語言以來,已經有一段時間了,並且自從前幾天在學校開始我進行彙編,我想開始理解某些代碼行的背後的一些邏輯。
其實,我試過的是兩個變量之間簡單的ADD操作。我使用emu8086來模擬我的代碼,然後我會告訴你爲什麼我無法理解它。在程序集中加入操作
的代碼如下:
stack segment
dw 128 dup(0)
ends
data segment
x DB 3
y DB 5
r DB 0
ends
code segment
mov ah,x
mov al,y
add ah,al
mov r,ah
ends
現在,我只是初始化三個變量,其中兩個8位,我想第一個添加到第二。
問題是:當我模擬代碼,我去看看會發生什麼一步一步,第一步應該是AH=03
,但它似乎輸出CDH(這不是我的X VAR),我無法得到原因。 AL
同樣的事情。
我的意思是,爲什麼我會在我的AH
和AL
寄存器中寫入其他東西而不是x和y var?
您可能忘了設置'DS'來指向您的數據段。 – Jester
對不起,但是,我該怎麼做? –