编辑: 我关心的是 ARM 指令是如何编码的。
让我们看看下面的例子:
194640: e92d40f0 push {r4, r5, r6, r7, lr}
194644: e24dd024 sub sp, sp, #36 ; 0x24
--> sp decrease 36 ~ 0x24 --> Is it calculated by e24dd024 & 0x0000ffff ?
1995ec: e92d4ef0 push {r4, r5, r6, r7, r9, sl, fp, lr}
1995f0: e24ddd0a sub sp, sp, #640 ; 0x280
1995f4: e1a04000 mov r4, r0
--> sp decrease 640 ~ 0x280 --> How it is calculated ?
Other examples:
191ea8: e92d4030 push {r4, r5, lr}
191eac: e24dd034 sub sp, sp, #52 ; 0x34
191eb0: e28d5014 add r5, sp, #20
194f54: e28d60a8 add r6, sp, #168 ; 0xa8
194f58: e28d5e13 add r5, sp, #304 ; 0x130