29 lines
No EOL
499 B
ArmAsm
29 lines
No EOL
499 B
ArmAsm
; ce programme est pour l'assembleur RealView (Keil)
|
|
thumb
|
|
area moncode, code, readonly
|
|
export calcul_carre
|
|
import TabCos
|
|
import TabSin
|
|
;
|
|
|
|
calcul_carre proc
|
|
|
|
push {r4,r5}
|
|
|
|
|
|
ldr r4, =TabCos ;on charge les tables sin et cos
|
|
ldr r5, =TabSin
|
|
ldrsh r1, [r4, r0, LSL #1] ;on récupère la i-ème valeur de chacune des tables
|
|
ldrsh r2, [r5, r0, LSL #1]
|
|
|
|
|
|
mul r1, r1, r1 ;on calcule cos²
|
|
mla r0, r2, r2, r1 ;puis on calcule sin*sin + cos² dans r0
|
|
|
|
pop {r4,r5}
|
|
|
|
|
|
bx lr
|
|
endp
|
|
|
|
end |