|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问,还是当作栈空间,完全是靠程序中具体的汇编指令,和汇编指令对 CS:IP、SS:SP、DS 等寄存器的设置来决定的。完全可以将程序 6.4 写成下面的样子,实现同样的功能。
转为Word
assume cs:b,ds:a,ss:c
a segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h;>>>>>>>>>>>>>>>>>>>>(请解析下,该处与20h的关系怎么理解)
a ends
c segment
dw 0,0,0,0,0,0,0,0,0,0,0,00,0,0,0
c ends
b segment
d: mov ax,c
mov ss,axmov'sp,20h; >>>>>>>>>>>>>>>>该处与20h的关系是怎么理解
;希望用c段当作栈空间,设置 ss:sp 指向 c:20
mov ax,a
mov ds,ax
mov bx,0
mov cx,8s: push [bx]
add bx,2loop s
;希望用 ds:bx 访问a 段中的数据,ds 指向 a 段
;ds:bx 指向 a 段中的第一个单元
;以上将 a 段中的 0~15 单元中的 8 个字型数据依次入栈
mov bx,0
mov cx,8
s0: pop [bx]
add bx,2
loop s0
;以上依次出栈 8 个字型数据到 a 段的 0~15 单元中
mov ax,4c00h
int 21h
b ends
end d
;d 处是要执行的第一条指令,即程序的入口
实验5编写、调试具有多个段的程序 |
|