Mercurial > pub > dyncall > dyncall
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? */ |