微机原理实验一之存贮器内部数据传输

微机原理实验共分为四次,这是最简单的第一次,请慢慢欣赏

这里写图片描述

源程序

.model tiny
.stack 100
.code
start:mov ax,8000h
mov ds,ax
mov es,ax
nop
mov cx,100h
mov si,3000h
mov di,6000h
call move
mov cx,100h
mov si,3000h
mov di,6000h
cld
repe cmpsb
jne error
true:jmp $
error:jmp $
move proc near
cld
cmp si,di
jz return
jnb move1
add si,cx
dec si
add di,cx
dec di
std
move1:rep movsb
return:ret
move endp
end start



此次实验的源程序非经典的汇编语言,目测估计为masm 6.x版本,尽管看起来不太舒服,但不影响阅读使用,这个程序的作用显然无须多说:即将ds:si开始处的数据转移至es:di处,转移长度记录在cx中。

效果图

这里写图片描述

这里写图片描述

这里写图片描述

总结
本次实验最大的收获就在于此程序中考虑到了正逆序复制对于数据的影响,一般来说数据正序复制是合理的,但如果源地址和目的地址存在重叠的部分,那么这时候往往采用逆序复制会起到更好的效果,具体原因,可以自行演示两只手指重叠的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值