My OS is in Windows and a Raspberry Pi emulator is used in QEMU and with "GCC" is used to exercise a code
I have a code with arm and I am trying to transcribe it with VFP intrusions, but it does not show me the result and convert result of integer operation to decimal in assembler.
It should show, for example: 3.3 ^ 5 = 391.35393
At the moment I have it with integers and the result is correct 3 ^ 5 = 243 and i need with VFP: 3.0 ^ 5 = 243.000 but is result 0.00000
.data
fmt: .ascii "%f\n \000"
.text
.global main
main:
push {fp, lr}
MOV r1, #3
VMOV s0, r1
MOV r2, #5
VMOV s2, r1
BL X_POWER_Y
B loop
X_POWER_Y:
CMP r2, #0
BEQ ZERO_COND
CMP r2,#1
BEQ POWER_1
MOV r3, #1
while:
CMP r3, r2
BGT BREAK
ADD r3, r3, #1
//MUL r0, r0, r1 //This line is commented
//VFP
vmul.f32 s4, s4, s0
vcvt.f64.f32 d0, s4
B while
vmov r2, r3, d0
POWER_1:
MOV r0, r1
B BREAK
ZERO_COND:
MOV r0, #1
B BREAK
BREAK:
MOV r1, r0
loop:
ldr r0, =fmt
bl printf
B _exit
pop {fp, pc}
.end