汇编的问题

zhangbencheng 2012-12-15 01:51:31
内容是:对指定的地址区间的RAM(2000H--20ffH)先进行写数据55AAH,然后将其内容读出再写到3000-30ffH中,
下面是汇编的代码,怎么理解不懂在loop那里,这是怎样的一种循环
.model small
.stack
.data
.code
.startup
mov bx,2000H
mov ax,55aaH
mov cx,03ffH
RAMW1:mov [bx],ax
add bx,0002H
loop RAMW1
MOV AX,2000H
MOV SI,AX
MOV AX,3000H
MOV DI,AX
MOV CX,03FFH
RAMW2:MOV AL,DS:[SI]
MOV DS:[DI],AL
INC SI
INC DI
LOOP RAMW2
.EXIT 0
END
...全文
213 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
子善旬 2012-12-16
  • 打赏
  • 举报
回复
引用 3 楼 zhangbencheng 的回复:
那个loop不是要带cx这个吗??
这个。。。就把code的cx改为dx :)
zhangbencheng 2012-12-16
  • 打赏
  • 举报
回复
那个loop不是要带cx这个吗??
子善旬 2012-12-15
  • 打赏
  • 举报
回复
从功能上来说,写数据55AAH到2000H--20ffH 和 3000H--30ffH 可以用2次同样的循环代码,如下: RAMW1:mov [bx],ax add bx,0002H loop RAMW1 当然,也可以用一个循环,同时设置 RAMW1:mov [bx],ax mov [cx],ax ; cx指向3000h开始 add bx,0002H add cx,0002H loop RAMW1 lz是不是要问:为何用2段不同的loop? 如果是这个问题的话,我估计作者是想在一段代码中同时表达set和copy的概念,应该没有其它意思
  • 打赏
  • 举报
回复
两个Loop都很正常啊。不明白你想问什么。就是循环存取啊。如果对LOOP不理解再去看相关资料啊。

21,497

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧