使用ARM汇编语言查找二进制补码

时间:2019-02-06 00:04:44

标签: assembly arm

用ARM汇编语言编写一个程序,该程序将计算R2中32位数字的二进制补码。结果应该在寄存器R3中。

我是ARM编码的新手。我觉得我已经使事情复杂化了,这应该很简单。我想我的位置指示器错了。

Loop:   SUB     R0, [R2, R1], #1
    SUB R1, R1, #1
    CBNZ    R0, Cont
    LDRB    [R3,R1], #1
    B   Exit
Cont:   LDRB    [R3,R1], #0
    B   Loop
Exit:   SUB     R0, [R2, R1], #1
    SUB R1, R1, #1
    CBZ R0, One
    LDRB    [R3,R1], #1
    SUB R0, R1, #1
    CBZ R0, Done
    B   Exit 
One:    LDRB    [R3,R1], #0
    SUB R0, R1, #1
    CBZ R0, Done
    B   Exit
Done:   LSL R3

0 个答案:

没有答案