我正在尝试在ARM汇编中没有除法功能的情况下进行除法。我的代码如下。由于某种原因,结果始终处于2400的范围内。
我尝试将以下伪代码写入arm: 接受r0和r1中的输入 将r1加到r3直到r3超过r0 增量计数器 从r3减去r0得到余数 打印输出计数器和r3
ldr r3,=0
ldr r6,=0
next:
bl getnum
mov r5,r0
bl getnum
mov r6,r0
mov r0,r5
mov r1,r6
bl mydivide
b next
mydivide:
cmp r3,r0
bge rem
add r3,r3,r1
add r6,#1
b mydivide
rem:
sub r3,r0
mov r2,r3
mov r1,r6
ldr r0,=output
bl kprintf
output: .asciz"%dR%d\r\n"
预期: ? 100 ? 40 2R20
实际: ? 100 ? 40 40R2340