1
ror
是循环右移指令,被移出的位,补回到最左端。
2
ror
al,cl
就是将al的内容,向右循环移位cl指定的位数。如cl=3,就表示移位3次。
3
假设al=12
(00001100
=
0x0c)
cl=2
第一次移位后al内容=0000
0110
第二次移位后al内容=0000
0011
ror
al,cl
的结果
al=3
第三次移位后al内容=1000
0001
;最右边那个1回到了最左边
就是向左移动一位,并将移出的那位补到最右边那位上。
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件,通过人工或机器设备组成。低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序和数据。
ROR: 循环右移操作
RRX:扩展的循环右移操作
说到用处,我自己感觉并不是很大,因为我们一般用LSR(逻辑右移)和ASR(算术右移),这两种右移方式只是ARM汇编的扩展功能,在实际应用中,好像很少用。
集体使用方法你可以参考杜春雷的介绍ARM的书《ARM体系结构与编程》,我有电子版,你可以给我邮箱,我发给你,这本书18M,百度文库中上传不了。
可以将这几个指令分为移位指令和循环移位指令,其中位移指令为:SHL、SAL、SHR、SAR,循环位移指令为:ROL、RCL、RCR、RCL,他们的具体用法如下:
一、位移指令
具体含义:SHL: 逻辑左移;SAL: 算术左移;SHR: 逻辑右移;SAR: 算术右移
具体用法:SHR:每位右移, 低位进 CF, 高位补 0;SAR:每位右移, 低位进 CF, 高位不变,它们的结果影响 OF、SF、ZF、PF、
二、循环移位指令
具体含义:ROL:循环左移;ROR:循环右移;RCL: 带进位循环左移;RCR: 带进位循环右移。
具体用法:ROL: 循环左移, 高位到低位并送 CF;ROR: 循环右移, 低位到高位并送 CF;RCL: 循环左移, 进位值到低位, 高位进 CF;RCR: 循环右移, 进位值到高位, 低位进 CF。
扩展资料:
双精度移位指令:386及其后继机型可使用本组指令,SHLD双精度左移和SHRD双精度右移,格式:SHLD,DST,REG,CNT。
这组指令可以取两个字作移位操作而得到一个字的结果,也可以取两个双字作移位操作而得到一个双字的结果。
在移位中,作为源操作数的寄存器提供移位值,以补目的操作数因移位引起的空缺,而指令执行完成后,只取目的操作数作为移位的结果,源操作数寄存器则保持指令执行前的值不变。
逻辑运算指令
───────────────────────────────────────
AND 与运算
or 或运算
XOR 异或运算
NOT 取反
TEST 测试(两操作数作与运算,仅修改标志位,不回送结果)
SHL (SHift logical Letf)逻辑左移
SAL 算术左移(=SHL)
SHR (SHift logical Right)逻辑右移
SAR 算术右移(=SHR)
ROL (Rotate Left )循环左移
ROR (Rotate Right)循环右移
RCL (Rotate Left through Carry)通过进位的循环左移
RCR (Rotate Right through Carry)通过进位的循环右移
以上八种移位指令,其移位次数可达255次
移位一次时, 可直接用操作码 如 SHL AX,1
移位>1次时, 则由寄存器CL给出移位次数
如 MOV CL,04
SHL AX,CL
以上就是关于汇编语言ror al,cl什么意义全部的内容,包括:汇编语言ror al,cl什么意义、计算器ror是什么意思、lsr lsl,ror,rrx与乘除法有什么关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!