能力值:
( LV2,RANK:10 )
|
-
-
2 楼
LZ什么都只会问,你自己不会查手册么,!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
懂就回答,不懂就打的闪开...
那么多费话,我要是能查到还会问吗?你以为人人都像你一样?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
循环移位指令
格式: ROL OPRD1,COUNT ;不含进位标志位CF在循环中的左循环移位指令.
---- ROR OPRD1,COUNT ;不含进位示志位CF在循环中的右循环移位指令.
RCL OPRD1,COUNT ;带进位的左循环移位指令.
RCR OPRD1,COUNT ;带进位的右循环移位指令.
功能: 循环移位指令是指操作数首尾相连的移位操作.按进位标志CF是否参加循环移位,又可分为不带CF的循环移位和 ---- 带CF的循环移位两类,每一 类都可进行左移或右移,循环移位的次数由COUNT操作数给出.
说明:
1. 本指令组只影响标志CF、OF.OF由移入CF的内容决定,OF取决于移位一次后符号位是否改变,如改变,则OF=1.
----
2. 由于是循环移位,所以对字节移位8次; 对字移位16次,就可恢复为原操作数.由于带CF的循环移位,可以将CF 的内容移入,所以可以利用它实现多字节的循环.
3. 示例: 将AL中的组合的两个BCD分解为两个未组合的BCD数,存于BH及BL寄存器中.程序为:
MOV AH,AL ;保存AL内容至AH中
MOVCL,4 ;循环次数4送CL
SHR AL,CL ;将AL右移4次,高4位移至低4位
MOV BH,AL ;高位BCD送BH中
AND AH,0FH ;得到低位BCD数
MOV BL,AH ;低位BCD数送BL中
注意: 以上程序中的指令SHR AL,CL如改为SAR AL,CL,虽然最高4位可移入低4位,但最高位不为0,故应加入一 条指令AND AL,0FH.否则,若最高位不为0时,将得到错误结果.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
谢谢
是我错了,循环右移,关键在于循环.再看看
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我是一个马甲,嘿嘿
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
5D ==>01011101
第一次 10101110
第二次 01010111
第三次 10101011
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
总算明白了,可是怎么来实现呢?
转换以后,自动补齐8位,取最后一位,放到第一位,循环3次?
好吧.就这样试试,不知道谁能提供一个更好的算法
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
终于写出来了,可能代码不太好看,不过我尽力了
<?
//$num为要循环的次数
function ROR_de ($str,$num){
$str = base_convert($str,16,2);//把16进转成2进制
$bin = substr("00000000",0,8 - strlen($str)) . $str;//不足8位前面补0
for($i = 0 ; $i < $num; $i++){
$bin =substr($bin,-1,1).substr($bin,0,7);//循环右移1位
}
return dechex(bindec($bin));//转回去
}
echo ROR_de('5D',3);
//显示ab
?>
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
楼主您这样的态度 以后很少人回答你问题的
你喜欢你的技术 但你的态度我不喜欢`````
如:感激拌倒你的人 因为他坚强了你的意志!
|
能力值:
(RANK:300 )
|
-
-
12 楼
好伤心啊........
大家继续......
|
能力值:
( LV6,RANK:90 )
|
-
-
13 楼
不要吵了,安心玩游戏吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
呵呵..我上面已经认识到自已的错误了.感谢书呆头
不过个人感觉,没有营养的话,还是少说为好
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
顶起。
没有营养就是浪费彼此的时间。
膜拜下看雪的牛人们
|