diff options
| author | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
|---|---|---|
| committer | Xavier ASUS <xavi92psx@gmail.com> | 2019-10-18 00:31:54 +0200 |
| commit | 268a53de823a6750d6256ee1fb1e7707b4b45740 (patch) | |
| tree | 42c1799a9a82b2f7d9790ee9fe181d72a7274751 /device/lib/stm8/modff.lst | |
| download | sdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz | |
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'device/lib/stm8/modff.lst')
| -rw-r--r-- | device/lib/stm8/modff.lst | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/device/lib/stm8/modff.lst b/device/lib/stm8/modff.lst new file mode 100644 index 0000000..699fde2 --- /dev/null +++ b/device/lib/stm8/modff.lst @@ -0,0 +1,90 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : free open source ANSI-C Compiler + 3 ; Version 3.9.3 #11345 (Linux) + 4 ;-------------------------------------------------------- + 5 .module modff + 6 .optsdcc -mstm8 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl _modff + 12 ;-------------------------------------------------------- + 13 ; ram data + 14 ;-------------------------------------------------------- + 15 .area DATA + 16 ;-------------------------------------------------------- + 17 ; ram data + 18 ;-------------------------------------------------------- + 19 .area INITIALIZED + 20 ;-------------------------------------------------------- + 21 ; absolute external ram data + 22 ;-------------------------------------------------------- + 23 .area DABS (ABS) + 24 + 25 ; default segment ordering for linker + 26 .area HOME + 27 .area GSINIT + 28 .area GSFINAL + 29 .area CONST + 30 .area INITIALIZER + 31 .area CODE + 32 + 33 ;-------------------------------------------------------- + 34 ; global & static initialisations + 35 ;-------------------------------------------------------- + 36 .area HOME + 37 .area GSINIT + 38 .area GSFINAL + 39 .area GSINIT + 40 ;-------------------------------------------------------- + 41 ; Home + 42 ;-------------------------------------------------------- + 43 .area HOME + 44 .area HOME + 45 ;-------------------------------------------------------- + 46 ; code + 47 ;-------------------------------------------------------- + 48 .area CODE + 49 ; ../modff.c: 33: float modff(float x, float * y) + 50 ; ----------------------------------------- + 51 ; function modff + 52 ; ----------------------------------------- + 000000 53 _modff: + 000000 52 06 [ 2] 54 sub sp, #6 + 55 ; ../modff.c: 35: *y=(long)x; + 000002 16 0D [ 2] 56 ldw y, (0x0d, sp) + 000004 17 01 [ 2] 57 ldw (0x01, sp), y + 000006 1E 0B [ 2] 58 ldw x, (0x0b, sp) + 000008 89 [ 2] 59 pushw x + 000009 1E 0B [ 2] 60 ldw x, (0x0b, sp) + 00000B 89 [ 2] 61 pushw x + 00000C CDr00r00 [ 4] 62 call ___fs2slong + 00000F 5B 04 [ 2] 63 addw sp, #4 + 000011 89 [ 2] 64 pushw x + 000012 90 89 [ 2] 65 pushw y + 000014 CDr00r00 [ 4] 66 call ___slong2fs + 000017 5B 04 [ 2] 67 addw sp, #4 + 000019 1F 05 [ 2] 68 ldw (0x05, sp), x + 00001B 1E 01 [ 2] 69 ldw x, (0x01, sp) + 00001D 7B 06 [ 1] 70 ld a, (0x06, sp) + 00001F E7 03 [ 1] 71 ld (0x3, x), a + 000021 7B 05 [ 1] 72 ld a, (0x05, sp) + 000023 E7 02 [ 1] 73 ld (0x2, x), a + 000025 FF [ 2] 74 ldw (x), y + 75 ; ../modff.c: 36: return (x-*y); + 000026 1E 05 [ 2] 76 ldw x, (0x05, sp) + 000028 89 [ 2] 77 pushw x + 000029 90 89 [ 2] 78 pushw y + 00002B 1E 0F [ 2] 79 ldw x, (0x0f, sp) + 00002D 89 [ 2] 80 pushw x + 00002E 1E 0F [ 2] 81 ldw x, (0x0f, sp) + 000030 89 [ 2] 82 pushw x + 000031 CDr00r00 [ 4] 83 call ___fssub + 84 ; ../modff.c: 37: } + 000034 5B 0E [ 2] 85 addw sp, #14 + 000036 81 [ 4] 86 ret + 87 .area CODE + 88 .area CONST + 89 .area INITIALIZER + 90 .area CABS (ABS) |
