Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- real_mul:
- cmp r0, #0
- it eq
- moveq r0, #0
- cmp r1, #0
- it eq
- moveq r0, #0
- mov r5, #0
- mov r2, r0, lsr #31
- mov r3, r1, lsr #31
- eor r2,r3,r2 ;flag de sinal
- mov r3, r0, lsl #1
- mov r3, r3, lsr #24
- sub r3, r3, #127 ;expoente mutiplicando
- mov r4, r1, lsl #1
- mov r4, r4, lsr #24
- sub r4, r4, #127 ;expoente mutiplicador
- add r5, r3, r4 ;expoelte da mutiplicaçao
- mov r6, r0, lsl #9
- mov r6, r6, lsr#1
- add r6, r6, #10000000000000000000000000000000b
- mov r7, r1, lsl #9
- mov r7, r7, lsr #1
- add r7, r7, #10000000000000000000000000000000b
- sub r3, r5, r3
- lsr r6, r3
- sub r4, r5, r4
- lsr r7, r4
- mov r0, r6
- mov r1, r7
- push {lr, r2, r5}
- bl main_int_mul
- pop {lr, r2, r5}
- mov r3, r1, lsr #25
- cmp r3,#2
- it ge
- lsrge r1, #1
- it ge
- addge r5, r5, #1
- lsl r1, #7
- lsr r1, #9
- lsl r2, #31
- add r5, r5, #127
- lsl r5, #23
- add r0, r2,r5
- add r0, r0,r1 ;result
- bx lr
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement