编程语言
首页 > 编程语言> > 汇编语言中将数据、代码、栈放入不同的段

汇编语言中将数据、代码、栈放入不同的段

作者:互联网

数据、代码、栈放入不同的段

在学习汇编语言,将数据、代码、栈放入不同的段。参考王爽老师的第四版,对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