summaryrefslogtreecommitdiff
path: root/device/lib/stm8/modff.lst
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
commit268a53de823a6750d6256ee1fb1e7707b4b45740 (patch)
tree42c1799a9a82b2f7d9790ee9fe181d72a7274751 /device/lib/stm8/modff.lst
downloadsdcc-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.lst90
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)