assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
寄存器差值
cs:ds 2
cs:ss 1
AX=0B42 BX=0000 CX=0042 DX=0000 SP=0010 BP=0000 SI=0000 DI=0000
DS=0B42 ES=0B32 SS=0B43 CS=0B44 IP=001D NV UP EI PL NZ NA PO NC
0B44:001D B8004C MOV AX,4C00
- [游客] 没问题。 06/11 08:21
- [游客] 哪里有问题,:)指明下.一起研究 06/10 17:22
- [游客] 有点儿问题。 06/10 16:26
- [tomato] 正确。 06/10 15:11
- [lmze2000] 另有点注意的就是,dd是字节型数据,所以在进行循环的时候,用inc bx就可以,inc bx,2是针 06/09 17:39
- [游客] 说的好。继续加油。 06/08 11:06
- [游客] 还是按照书上的格式,写下你的理解和回答吧。 06/08 10:57
- [lmze2000] 同时发现,在程序中初始化栈空间,ss段地址和cs是同一地址。应该是系统在分配可用内存空间的时候,已经 06/06 17:27
- [lmze2000] 在进行调试的时候,发现用d命令查看0:0~0:15处的数据与执行后的不同。在论坛上查找资料及做了几次 06/06 16:14
- [lmze2000] mov cx,__ 改成 sub cx,__ 这样要正确一些, 原题的意思就是要复制程序中mov 06/04 15:32
[ 游客 发表于 2009-06-08 10:57 ]
还是按照书上的格式,写下你的理解和回答吧。