【问题标题】:ARM11 bad instruction `num resb 5' AssemblyARM11 错误指令 `num resb 5' 汇编
【发布时间】:2015-12-01 23:02:28
【问题描述】:

尝试编译以下内容以从标准输入读取 5 字节字符:

.bss
    num resb 5

.text
.global _start
_start:
        mov r0, $1
        mov r1, num
        mov r2, $5
        mov r7, #3
        swi $0

通过以下方式

as -o readstdin.o readstdin.s

但是我得到了组装错误:

readstdin.s: Assembler messages:
readstdin.s:2: Error: bad instruction `num resb 5'
readstdin.s:8: Error: immediate expression requires a # prefix -- `mov r1,num'

我在 ARM11 Raspberry Pi Zero 上运行它。

【问题讨论】:

  • 不是树莓派零ARMv6架构

标签: assembly arm gnu-assembler


【解决方案1】:

gnu 汇编器不使用resb。请改用.lcomm num, 5。 至于mov r1, num,我猜你真的想说ldr r1, =num。您可能想咨询manual

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 2011-09-21
    • 2015-03-16
    • 2019-11-23
    • 1970-01-01
    • 2011-06-11
    • 2016-09-06
    • 2018-06-19
    相关资源
    最近更新 更多