请教一个编程题目
时间:2011-03-29
来源:互联网
题目是:编写程序,把10字节的数据块从偏移地址BUF开始的单元传送到偏移地址BUF+5开始的缓冲区
我是这么写的(省略了定义):
MOV SI,OFFSET BUF
MOV DI,OFFSET BUF+5
MOV CX,10
LAST:MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP LAST
我这么写对吗?
我是这么写的(省略了定义):
MOV SI,OFFSET BUF
MOV DI,OFFSET BUF+5
MOV CX,10
LAST:MOV AL,[SI]
MOV ES:[DI],AL
INC SI
INC DI
LOOP LAST
我这么写对吗?
作者: uuszqqh 发布时间: 2011-03-29
应该倒着来,因为两个区域有重叠,你这样原始数据覆盖掉了。
如果学过串操作指令,可用rep movsb代替你这段循环,但要注意df的设置。
如果学过串操作指令,可用rep movsb代替你这段循环,但要注意df的设置。
作者: shzhfu 发布时间: 2011-03-29
最好用串操作指令,比较合适。
Assembly code
Assembly code
; ;This Program Compiled Sucess by Masm 6.15 ; assume cs:code,ds:data,es:data data segment a db 1,2,3,4,5,6,7,8,9,10 b equ $-offset a+5 data ends code segment start: mov ax,data mov ds,ax mov es,ax mov si,offset a mov di,offset b mov cx,lengthof a cld rep movsb mov ah,4ch int 21h code ends end start
作者: masmaster 发布时间: 2011-03-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28