首页
社区
课程
招聘
请问一下:汇编指令 ror和rol 用高级语言(如C)该如何描述?
发表于: 2005-4-3 20:55 11634

请问一下:汇编指令 ror和rol 用高级语言(如C)该如何描述?

2005-4-3 20:55
11634
收藏
免费 7
支持
分享
最新回复 (8)
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
2
使用 bit shift  >>  <<  
也可以配合一些 or, and 的来达成更复杂的 shift

例如  a =  b >> 5
2005-4-3 20:59
0
雪    币: 111
活跃值: (55)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
__asm
{
...
}
2005-4-3 22:54
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
ror eax,cl ==> eax=(eax>>cl)+(eax<<(32-cl));

rol eax,cl ==> eax=(eax<<cl)+(eax>>(32-cl));
2005-4-3 23:08
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
5
类似于dwing大哥写的。的确需要一点技巧进行转换,具体忘了,楼主可以自己算以下。
2005-4-3 23:34
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看清楚要循环的数据字节性质!再用移位组合!
2005-4-4 13:33
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
7
头文件STDLIB.H
unsigned long __cdecl _lrotl(unsigned long, int);循环左移
unsigned long __cdecl _lrotr(unsigned long, int);循环右移
2005-4-4 18:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼上真厉害!佩服!
2005-4-4 19:16
0
雪    币: 207
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 dwing 发布
ror eax,cl ==> eax=(eax>>cl)+(eax<<(32-cl));

rol eax,cl ==> eax=(eax<<cl)+(eax>>(32-cl));


谢谢指教!
2005-4-7 12:58
0
游客
登录 | 注册 方可回帖
返回
//