comparison dyncall/dyncall_call_arm32_arm.S @ 406:351bb41d3bb1

- removed %-prefixes for register names from arm assembly files (was wrong to begin with, gas accepted them but the clang integrated assembler does not)
author Tassilo Philipp
date Sun, 03 Oct 2021 10:34:56 +0200
parents f5577f6bf97a
children
comparison
equal deleted inserted replaced
405:e221473a8217 406:351bb41d3bb1
69 add r9, r9, #1 /* Increment byte counter. */ 69 add r9, r9, #1 /* Increment byte counter. */
70 cmp r9, r6 70 cmp r9, r6
71 bne pushArgs 71 bne pushArgs
72 72
73 call: 73 call:
74 /* 'blx %r4' workaround for ARMv4t: */ 74 /* 'blx r4' workaround for ARMv4t: */
75 mov r14, r15 /* Branch return address(r15) -> link register (r14) -- r15 always points to address of current + 2 instructions (= Epilog code). */ 75 mov r14, r15 /* Branch return address(r15) -> link register (r14) -- r15 always points to address of current + 2 instructions (= Epilog code). */
76 bx r4 /* Call (ARM/THUMB), available for ARMv4t. */ 76 bx r4 /* Call (ARM/THUMB), available for ARMv4t. */
77 77
78 /* Epilog. */ 78 /* Epilog. */
79 ldmdb r11, {r4-r11, r13, r15} /* Restore permanent registers (ignore temporary (r12), restore stack ptr and program counter).@@@db not needed since we rewrite r13? */ 79 ldmdb r11, {r4-r11, r13, r15} /* Restore permanent registers (ignore temporary (r12), restore stack ptr and program counter).@@@db not needed since we rewrite r13? */