assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:
mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov cx,16
mov si,0
s:
mov al,[bx]
mov ah,24h
mov es:720h[si],ax
mov ah,24h
mov es:7C0h[si],ax
add si,2
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
我调试了一下,T单步运行,当第一次AX赋值到es:0720h时,屏幕显示了绿色的w,我立刻去-d es:0720内存单元,发现该AX的2477这个值并没有。我感到疑问!
截图如下:
AX=B877 BX=0000 CX=0010 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13B8 ES=B800 SS=13B8 CS=13B9 IP=0015 NV UP EI PL NZ NA PO NC
13B9:0015 B424 MOV AH,24
-t
AX=2477 BX=0000 CX=0010 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13B8 ES=B800 SS=13B8 CS=13B9 IP=0017 NV UP EI PL NZ NA PO NC
13B9:0017 26 ES:
13B9:0018 89842007 MOV [SI+0720],AX ES:0720=0730
-t
AX=2477 BX=0000 CX=0010 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=13B8 ES=B800 SS=13B8 CS=13B9 IP=001C NV UP EI PL NZ NA PO NC
13B9:001C B424 MOV AH,24
-d es:0720
B800:0720 41 07 48 07 2C 07 32 07-34 07 20 07 20 07 20 07 A.H.,.2.4. . . .
B800:0730 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
B800:0740 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
B800:0750 3D 07 30 07 30 07 30 07-30 07 20 07 20 07 44 07 =.0.0.0.0. . .D.
B800:0760 50 07 4F 07 20 07 4E 07-43 07 20 07 20 07 20 07 P.O. .N.C. . . .
B800:0770 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
B800:0780 2D 07 74 07 20 07 20 07-20 07 20 07 20 07 20 07 -.t. . . . . . .
B800:0790 20 07 20 07 20 07 20 07-20 07 20 07 20 07 20 07 . . . . . . . .
- |