5

私のmasmソースファイルは次のとおりです。

qq.asm

assume cs:codesegment
codesegment segment
mov ax, 0ffffh
mov ds, ax
mov al, 00ffh
mov bx, 0006h
mov [bx], al
mov al, [0006]
mov ah, 0
mov dx, 0
mov cx, 3
s: add dx, ax
loop s
mov ax, 4c00h
int 21h
codesegment ends
end

masm プログラムを使用すると、qq.exe という名前の .exe ファイルが生成されます。debug qq.exe -u を使用すると、インストラクターは次の図のようになります。 写真

qq.asm の "mov al, [0006]" インストラクターが、qq.exe の "mov AL,06" になっていることに混乱しました。どんな助けでも感謝します。

4

1 に答える 1

3

[0006]は即時定数として解釈されました。セグメントのオーバーライドで回避できます。

mov al, ds:[0006]
于 2014-12-04T15:32:10.383 に答える