鱼C论坛

 找回密码
 立即注册
查看: 3167|回复: 0

[学习笔记] 《零基础入门学习汇编语言》第二十四讲

[复制链接]
发表于 2017-7-3 22:25:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 shuiyu 于 2018-1-13 10:21 编辑

小白刚学,不对的请各位大佬指正,谢谢

一、Loop指令(其实就像是C语言的do....while,先加了一次,再开始循环)
(1)指令的格式是:loop 标号,CPU 执行loop指令的时候,要进行两步操作:
① (cx)=(cx)-1;
② 判断cx中的值,不为零则转至标号处执行程序,如果为零则向下执行。
(2)通常(注意,我们说的是通常)我们用loop指令来实现循环功能,cx 中存放循环次数。


二、Loop与cx的具体使用
(1)标号:在汇编语言中,标号代表一个地址,程序5.1中程序中有一个标号s 。它实际上标识了一个地址,这个地址处有一条指令:add ax,ax。
(2)loop s
CPU 执行loop s的时候,要进行两步操作:
① (cx)=(cx)-1;
② 判断cx 中的值,不为0 则转至标号s 所标识的地址处执行(这里的指令是add ax,ax),如果为零则执行下一条指令(下一条指令是mov ax,4c00h)。
(3)以下三条指令
    mov cx,11
s: ddd ax,ax
    loop s
执行loop s时,首先要将(cx)减1,然后若(cx)不为0,则向前转至s处执行add ax,ax。所以,我们可以利用cx来控制add ax,ax的执行次数。


三、下面是课堂上的具体例子
(1)该程序计算的是2的12次方
(2)赋值CX为11,因为Loop s 是先执行了一次add ax,ax,然后才开始循环11次,所以共循环了12次,求出了2的12次方。(结果见下图)
ax=1000H 十进制为4096

1.PNG




谢谢小甲鱼带来的视频教程,感谢!!


   
本节结束,多谢览阅!
小白刚学,不对的请各位大佬指正,谢谢

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-6 10:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表