由于没有DIV
命令,我正在尝试找到如何在 ARM 中进行划分。如果这可以通过浮点数的乘法[/9 = *0.09]
、减法或使用库来完成。任何方式都可以。
目前我正在使用这样的循环使用减法进行除法,但我丢失了小数:
MOV R0,#70 ;Fahrenheit Temperature
SUB R1,R0,#32 ; Subtracting 32
MOV R4,#0 ;Counter
LOOP
ADD R4,R4,#1; Counter+1 ->Is the answer of the division without decimals
SUB R1,#9
CMP R1,#0
BPL LOOP
MOV R1,R4
所以基本上我所做的是温度为 70,减去 32,得到 38。然后在循环中,我每次取 9,直到提醒小于 9。使用正常除法的答案是 4.22222。在这里我得到 5。所以我的结果并不准确。