佛山网站开发招聘,天津自动seo,潍坊专业精密活塞杆,wordpress rss 插件例题 思路
选择移位语句#xff0c;右移#xff0c;将AL移出的送入DX左端#xff0c;将BL移出的送入DX左端。循环八次
MOV AL,01100101B;
MOV BL,11011010B;
XOR DX,DX;两个值相同#xff0c;异或结果为0。等效#xff1a;MOV DX,0
MOV CX,8;count
L1: SHR AL,1;逻辑右…例题 思路
选择移位语句右移将AL移出的送入DX左端将BL移出的送入DX左端。循环八次
MOV AL,01100101B;
MOV BL,11011010B;
XOR DX,DX;两个值相同异或结果为0。等效MOV DX,0
MOV CX,8;count
L1: SHR AL,1;逻辑右移,左边补0, RCR DX,1;带进位循环右移右端被舍弃掉的补回左端SHR BL,1;右移 RCR DX,1;右移 LOOP L1 ;AL的1被移出送入CF中;DX的左端被CF填入然后右端0送入CF中;BL的0被移出送入CF中 ;DX的左端被CF填入然后右端0送入CF中;至此一个循环结束进行八次循环完成数据转移指令讲解
移位操作分为三类算术移位逻辑移位循环移位
逻辑移位是指逻辑左移和逻辑右移移出的空位都用0来补。 SHLshift logical left逻辑左移 SHRshift logical right逻辑右移 算术移位 对于无符号型值算术移位等同于逻辑移位。 对于有符号型值 算术左移等同于逻辑左移。 算术右移补的是符号位正数补0负数补1。 SAL(shift arithmetic left) :算术左移 SAR(shift arithmetic right) :算术右移 循环移位 ROL(rotat left) 循环左移 ROR(rotat right) 循环右移 带进位循环移位 注意顺序先移位再将CF进位标志位复制到LSB(MSB)最后将被移除的值送入CF。 所以这里作为转存的寄存器是有两个的一个是CF一个我不知道是啥设为X吧。 此时我们反过来推导一波例题
总结
通过例题学习了常见的几种移位操作。