我正在尝试理解我已经拆解的程序。到目前为止我理解它。
但是,我不明白为什么程序正在和一个0x7F的整数。 它也喜欢AND一个0xFF的整数。该程序有点像随机数生成器。
这取得了什么成果?
我认为与0xFF进行AND运算需要较低的字节(寄存器)并丢弃其余的字节?
特别是在MIPS ASM中:
## r2 = 0xfd r3 = 0x10 ##
andi r2,r2,0x00ff # What? Why?
andi r3,r3,0x007f # What? Why?
答案 0 :(得分:4)
“与”0x7f的“与”用于删除最高有效位,因为0x7f为0111 1111并确保该数字为正。 “和”与0xff相反。