ida/plugins/defs.h
-
__ROl__: 参数:(value, int count)
循环左移函数,参数有两个,第一个参数为左移的数,第二个参数为左移的位数。
如果第二个参数值为负数,则实际上为循环右移-count位。该函数的实现细节为:
先得到value的位数,然后count对位数取模。
如果count值大于0,则先右移count-取模的结果,然后在左移取模的结果,得到的两个数相或,即为循环左移的结果。
如果count值小于0,先左移在右移即可。举例来说:
value=0110,count=6
value为4位数, 6 % 4 = 2,
0110先右移4-2=2位,得到0001,然后在左移2位,得到1000,0001 | 1000结果为1001,即循环左移结果为1001。 -
__ROR1__:
定义:inline uint8 __ROR1__(uint8 value, int count) { return __ROL__((uint8)value, -count); }









网友评论