8086汇编-实验5(微调)-用栈实现数据交换位置

该博客内容涉及一个简单的汇编语言程序,该程序在数据段中交换前两个双字节数据。初始状态下,数据段包含一系列数值。通过将第一个和第三个数据压入堆栈,然后从堆栈弹出并重新放置到原位置,实现了数据交换。程序最终以退出操作系统调用结束。
摘要由CSDN通过智能技术生成

初始状态:

代码如下:

assume cs:code,ds:data,ss:stack

data segment
	dw 0123h,1234h,2345h,3456h,4567h,5678h,6789h,7890h
data ends

stack segment
	dw 0,0,0,0,0,0,0,0
stack ends

code segment
	s:
	mov sp,16
	push data:[0]
	push data:[2]
	pop data:[0]
	pop data:[2] ;原书此处两条语句与此处位置倒置,此处修改是为了试验一下数据交换
	
	mov ax,4c00h
	int 21h
code ends
end s

末状态:
观察数据段前两个两字节数据成功交换位置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值