微机原理中如何利用栈,将程序中定义的数据逆序存放

code segment
        		 dw 0123H,0456H,0789H,0ABCH,0DEFH,0CBAH,0987H  			;自己定义的数据
        	     dw 0,0,0,0,0,0,0,0
        		 dw 0,0,0,0,0,0,0,0							;32个字节当作我们自己安排的栈空间
start:																;数据从这里开始
        		 mov ax,cs  		;将cs寄存器的数据送给ax
        		 mov ss,ax			;再将ax的数据送给栈段
        		 mov sp,48 		    ;栈指针寄存器设置为48,是因为自定义的0数据就有32个,再加上初始数据16个,一共48
        		 mov bx,0			;偏移地址为0
        		 mov cx,8			;循环8次
pushData:   	 
        		 push cs:[bx]		;push入栈指令
        		 add bx,2 			;bx的值每次加2
        		 loop pushData   	;loop 循环指令
popData: 		 pop cs:[bx]		;出栈指令	
        		 add bx,2
        		 loop popData
        		 
        		 mov ax,4C00H
        		 int 21H 		;默认
end start			;数据在这里结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值