ARM汇编指令 UXTW/UXTH/UXTB, SXTW/SXTH/SXTB

UXTW/UXTH/UXTB:Zero-extend single-word / half-word / byte

SXTW/SXTH/SXTB:Sign-extend single-word / half-word / byte

例:

1.

2.

需要ADD X0, X0, W1时,需要把W1拓展成X1:ADD X0, X0, W1, UXTW

需要LDR X0, [X0, W1]时,同理:LDR X0, [X0, W1, UXTW]

 

3.

遇到后边带上一个立即数的情况:

LDR W0, [X0, W1, UXTW #2],先把W1作Zero-extend处理,然后left-shift by 2,然后进行LDR。

by the way,一般这种情况,由于内存中是按字节存储,想读取一个4字节的数,一般会进行这种 << 2,即 * 4 的操作。

你可能感兴趣的:(iOS逆向)