shuiyu 发表于 2017-7-3 22:25:51

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

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

小白刚学,不对的请各位大佬指正,谢谢{:10_254:}

一、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






谢谢小甲鱼带来的视频教程,感谢!! {:10_303:}


   
本节结束,多谢览阅!
小白刚学,不对的请各位大佬指正,谢谢{:10_254:}
页: [1]
查看完整版本: 《零基础入门学习汇编语言》第二十四讲