【发布时间】:2016-11-29 07:54:02
【问题描述】:
我正在尝试反汇编和修改 arm 的一些代码。反汇编显示一些带有指令宽度说明符的指令,例如:
80002be: f44f 5360 mov.w r3, #14336 ; 0x3800
80002c2: f2c4 0302 movt r3, #16386 ; 0x4002
80002c6: f44f 5260 mov.w r2, #14336 ; 0x3800
80002ca: f2c4 0202 movt r2, #16386 ; 0x4002
但是当我尝试修改代码和汇编时,汇编器不喜欢 mov.w:
main.asm:5: Error: unexpected character `w' in type specifier
main.asm:5: Error: bad instruction `mov.w r3,#14336'
我尝试指定 -mcpu=cortex-m4 -march=armv7-m -mthumb 但没有帮助。有什么想法吗?
【问题讨论】:
-
使用 gcc?我对 ARM 只了解一点,但也许这只能在“统一”语法模式下工作(相对于单独的 thumb-only 语法)
标签: assembly arm disassembly thumb