您现在的位置是:首页 >

汇编语言中rrc是什么指令 关于汇编语言中的LOOP指令

火烧 2022-06-10 16:49:14 1206
关于汇编语言中的LOOP指令 这个程序循环一次,是由CX存放的。cx中存放的是循环的次数编程计算2^12:a ume c :codecode egme tmov ax,2mov cx,11 :add

关于汇编语言中的LOOP指令  

这个程序循环一次,是由CX存放的。

cx中存放的是循环的次数

编程计算2^12:

assume cs:code

code segment

mov ax,2

mov cx,11

s:add ax,ax

loop s

mov ax,4c00h

int 21h

code ends

end

执行loop s时,首先要将(cx)减1,若(cx)不为0,则前往s处执行add ax,ax。

CPU执行LOOP指令的时候,要进行两步操作:

1 (cx)=(cx)-1

2 判断cx中的值,不为零则转移到标号处执行程序,如果为零,则向下执行

例1 计算2^2 结果放在AX

CODE SEGMENT

ASSUME CS:CODE

MOV AX,2

ADD AX,AX

MOV AX,4C00H

INT 21H

code ENDS

汇编语言中rrc是什么指令 关于汇编语言中的LOOP指令

END

例2 计算2^3 结果放在AX

CODE SEGMENT

ASSUME CS:CODE

MOV AX,2

ADD AX,AX

ADD AX,AX

MOV AX,4C00H

INT 21H

code ENDS

END

扩展资料:

注意:

计算ffff:0-ffff:b单元中的数据之和,结果存储在dx中。

运算后的结果会不会查过dx所可以承受的存储范围。

ffff:0-ffff:b是字节型数据,范围在0-255,12个这样的数,即使都是255相加也不会超过65535

不可以直接将数据累加在dx中。

因为ffff:0-ffff:b是字节型数据8位,dx中存放16位数据。

不可以直接将数据累加到dl中,因为dl是8位寄存器,所容纳的数据的范围在0-255之间,ffff:0-ffff:b中的数据也都是8位,若仅向dl累加12个8位数据,可能会引起进位丢失的这种情况。

参考资料:百度百科-Loop

  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码