summaryrefslogtreecommitdiff
path: root/device/lib/stm8-large/_strcmp.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-large/_strcmp.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-large/_strcmp.lst')
-rw-r--r--device/lib/stm8-large/_strcmp.lst94
1 files changed, 94 insertions, 0 deletions
diff --git a/device/lib/stm8-large/_strcmp.lst b/device/lib/stm8-large/_strcmp.lst
new file mode 100644
index 0000000..8ce4824
--- /dev/null
+++ b/device/lib/stm8-large/_strcmp.lst
@@ -0,0 +1,94 @@
+ 1 ;--------------------------------------------------------
+ 2 ; File Created by SDCC : free open source ANSI-C Compiler
+ 3 ; Version 3.9.3 #11345 (Linux)
+ 4 ;--------------------------------------------------------
+ 5 .module _strcmp
+ 6 .optsdcc -mstm8
+ 7
+ 8 ;--------------------------------------------------------
+ 9 ; Public variables in this module
+ 10 ;--------------------------------------------------------
+ 11 .globl _strcmp
+ 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 ; ../_strcmp.c: 34: int strcmp ( const char * asrc, const char * adst )
+ 50 ; -----------------------------------------
+ 51 ; function strcmp
+ 52 ; -----------------------------------------
+ 000000 53 _strcmp:
+ 000000 52 08 [ 2] 54 sub sp, #8
+ 55 ; ../_strcmp.c: 40: const char * src = asrc;
+ 000002 16 0C [ 2] 56 ldw y, (0x0c, sp)
+ 000004 17 01 [ 2] 57 ldw (0x01, sp), y
+ 58 ; ../_strcmp.c: 41: const char * dst = adst;
+ 000006 16 0E [ 2] 59 ldw y, (0x0e, sp)
+ 000008 17 03 [ 2] 60 ldw (0x03, sp), y
+ 61 ; ../_strcmp.c: 43: while( ! (*src - *dst) && *dst)
+ 00000A 62 00102$:
+ 00000A 1E 01 [ 2] 63 ldw x, (0x01, sp)
+ 00000C F6 [ 1] 64 ld a, (x)
+ 00000D 5F [ 1] 65 clrw x
+ 00000E 97 [ 1] 66 ld xl, a
+ 00000F 16 03 [ 2] 67 ldw y, (0x03, sp)
+ 000011 90 F6 [ 1] 68 ld a, (y)
+ 000013 6B 06 [ 1] 69 ld (0x06, sp), a
+ 000015 0F 05 [ 1] 70 clr (0x05, sp)
+ 000017 72 F0 05 [ 2] 71 subw x, (0x05, sp)
+ 00001A 1F 07 [ 2] 72 ldw (0x07, sp), x
+ 00001C 26 11 [ 1] 73 jrne 00104$
+ 00001E 4D [ 1] 74 tnz a
+ 00001F 27 0E [ 1] 75 jreq 00104$
+ 76 ; ../_strcmp.c: 44: ++src, ++dst;
+ 000021 1E 01 [ 2] 77 ldw x, (0x01, sp)
+ 000023 5C [ 1] 78 incw x
+ 000024 1F 07 [ 2] 79 ldw (0x07, sp), x
+ 000026 1F 01 [ 2] 80 ldw (0x01, sp), x
+ 000028 1E 03 [ 2] 81 ldw x, (0x03, sp)
+ 00002A 5C [ 1] 82 incw x
+ 00002B 1F 03 [ 2] 83 ldw (0x03, sp), x
+ 00002D 20 DB [ 2] 84 jra 00102$
+ 00002F 85 00104$:
+ 86 ; ../_strcmp.c: 46: return *src - *dst;
+ 00002F 1E 07 [ 2] 87 ldw x, (0x07, sp)
+ 88 ; ../_strcmp.c: 55: }
+ 000031 5B 08 [ 2] 89 addw sp, #8
+ 000033 87 [ 5] 90 retf
+ 91 .area CODE
+ 92 .area CONST
+ 93 .area INITIALIZER
+ 94 .area CABS (ABS)