Mercurial > pub > dyncall > dyncall
comparison dyncallback/dyncall_callback_arm32_arm_gas.S @ 42:ecc9403e214a r0.9-RC3
- final touch for complete armhf callback support, yay
- armhf doc updates
author | cslag |
---|---|
date | Fri, 18 Dec 2015 23:28:18 +0100 |
parents | fb416abb2059 |
children | 9bd3c5219505 |
comparison
equal
deleted
inserted
replaced
41:00310bf92924 | 42:ecc9403e214a |
---|---|
72 mov %r14, %r15 /* Branch return address(r15) -> link register (r14) -- r15 always points to address of current + 2 instructions (= Epilog code). */ | 72 mov %r14, %r15 /* Branch return address(r15) -> link register (r14) -- r15 always points to address of current + 2 instructions (= Epilog code). */ |
73 bx %r4 /* Call. */ | 73 bx %r4 /* Call. */ |
74 | 74 |
75 /* Return value. */ | 75 /* Return value. */ |
76 ldmia %r13, {%r0, %r1} /* Load return value in r0 and r1. */ | 76 ldmia %r13, {%r0, %r1} /* Load return value in r0 and r1. */ |
77 #if defined(DC__ABI_ARM_HF) | |
78 fldmiad %r13, {%d0} /* Same for floating point return value (if any). */ | |
79 #endif | |
77 | 80 |
78 /* Epilog. */ | 81 /* Epilog. */ |
79 ldmdb %r11, {%r4-%r11, %r13, %r15} /* Restore permanent registers (restore stack ptr and program counter).@@@db not needed since we rewrite r13? */ | 82 ldmdb %r11, {%r4-%r11, %r13, %r15} /* Restore permanent registers (restore stack ptr and program counter).@@@db not needed since we rewrite r13? */ |
80 | 83 |