汇编语言中将数据、代码、栈放入不同的段
作者:互联网
数据、代码、栈放入不同的段
在学习汇编语言,将数据、代码、栈放入不同的段。参考王爽老师的第四版,对P133的汇编代码,进行了个人理解标注。仅供参考,存在错误之处,请大家斧正。
assume cs:b, ds:a, ss:c; // 代码段cs、数据段ds、栈段ss
a segment
dw 0123h,0456h,0789h,abcdh,0defh,0fedh,0cbah,0987h // 共8个字
a ends
c segment
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 // 共16个字
c ends
b segment
d : mov ax,c // 初始栈段,C段当作栈空间
mov ss,ax // ss:sp指向C:20
mov sp,20h
mov ax,a // 初始数据段a
mov ds,ax // ds指向a段
mov bx,0 // 该小段代码为数据入栈
mov cx,8 // ds:bx 指向a段第一个单元
s:push [bx] // (0-15单元)依次入栈
add bx,2
loop s
mov bx,0 // 该小段代码为数据出栈
mov cx,8
s0:pop [bx]
addd bx,2
loop s0
mov ax,4c00h // 程序结束的标志
int 21h
b ends
end d
标签:中将,汇编语言,代码,mov,ds,ss,ax,bx,放入 来源: https://blog.csdn.net/weixin_45111030/article/details/112593084