Mercurial > pub > dyncall > dyncall
diff dyncall/dyncall_call_mips_eabi_gas.s @ 110:9aa75a74614c
- working mips32 eabi callbacks
- mips32 eabi doc update
- switched some mips32 eabi call assembly to use more portable pseudo instructions for storing floats
- fixed weird type use of var declaration in mips callbacks
- ToDo update
- converted some // comments to old c-style
- test code build fix for some test suites on some platforms
author | cslag |
---|---|
date | Sat, 18 Jun 2016 19:38:22 +0200 |
parents | 9e677d4c0b6b |
children |
line wrap: on
line diff
--- a/dyncall/dyncall_call_mips_eabi_gas.s Sat Jun 11 21:44:38 2016 +0200 +++ b/dyncall/dyncall_call_mips_eabi_gas.s Sat Jun 18 19:38:22 2016 +0200 @@ -37,7 +37,7 @@ dcCall_mips_eabi: /* $4 target function */ - /* $5 register data */ + /* $5 register data */ /* $6 stack size */ /* $7 stack data */ addiu $sp,$sp,-16 @@ -46,7 +46,7 @@ sw $fp,0($sp) move $fp,$sp - + move $2, $0 add $2, 8 neg $2 @@ -57,9 +57,9 @@ move $12,$4 /* target function */ move $13,$5 /* register data */ move $16,$6 /* stack size */ - + sub $sp,$sp,$16 /* allocate stack frame */ - + /* copy stack data */ .next: @@ -73,8 +73,8 @@ addiu $sp,$sp, 4 j .next nop - -.skip: + +.skip: sub $sp,$sp,$16 @@ -91,14 +91,14 @@ /* load single-precision floating pointer parameter registers */ - lwc1 $f12, 32($13) - lwc1 $f13, 36($13) - lwc1 $f14, 40($13) - lwc1 $f15, 44($13) - lwc1 $f16, 48($13) - lwc1 $f17, 52($13) - lwc1 $f18, 56($13) - lwc1 $f19, 60($13) + l.s $f12, 32($13) + l.s $f13, 36($13) + l.s $f14, 40($13) + l.s $f15, 44($13) + l.s $f16, 48($13) + l.s $f17, 52($13) + l.s $f18, 56($13) + l.s $f19, 60($13) jal $12 nop