version 1.216, 2010/04/10 15:19:27
|
version 1.217, 2010/04/10 19:55:03
|
Line 13075 Example of a definition using the ARM as
|
Line 13075 Example of a definition using the ARM as
|
|
|
@example |
@example |
abi-code my+ ( n1 n2 -- n3 ) |
abi-code my+ ( n1 n2 -- n3 ) |
\ arm abi: r0=sp, r1=fp, r2, r3 saved by caller |
\ arm abi: r0=return_stuct, r1=sp, r2=fp, r3,r12 saved by caller |
r0 IA! @{ r2 r3 @} ldm, \ pop r2 = n2, r3 = n1 |
r1 IA! @{ r3 r12 @} ldm, \ pop r2 = n2, r3 = n1 |
r3 r2 r3 add, \ r3 = n2+n1 |
r12 r3 r12 add, \ r12 = n2+n1 |
r3 r0 -4 #]! str, \ push r3 |
r12 r1 -4 #]! str, \ push r12 |
pc lr mov, \ return (r0=sp, r1=fp) to caller |
r0 IA! @{ r1 r2 @} stm, \ return r1 and r2 via [r0] memory |
|
pc lr mov, \ return to caller |
end-code |
end-code |
@end example |
@end example |
|
|