summaryrefslogtreecommitdiff
path: root/device/lib/stm8/_memcmp.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/_memcmp.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/_memcmp.lst')
-rw-r--r--device/lib/stm8/_memcmp.lst101
1 files changed, 101 insertions, 0 deletions
diff --git a/device/lib/stm8/_memcmp.lst b/device/lib/stm8/_memcmp.lst
new file mode 100644
index 0000000..3822791
--- /dev/null
+++ b/device/lib/stm8/_memcmp.lst
@@ -0,0 +1,101 @@
+ 1 ;--------------------------------------------------------
+ 2 ; File Created by SDCC : free open source ANSI-C Compiler
+ 3 ; Version 3.9.3 #11345 (Linux)
+ 4 ;--------------------------------------------------------
+ 5 .module _memcmp
+ 6 .optsdcc -mstm8
+ 7
+ 8 ;--------------------------------------------------------
+ 9 ; Public variables in this module
+ 10 ;--------------------------------------------------------
+ 11 .globl _memcmp
+ 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 ; ../_memcmp.c: 31: int memcmp (const void * buf1, const void * buf2, size_t count)
+ 50 ; -----------------------------------------
+ 51 ; function memcmp
+ 52 ; -----------------------------------------
+ 000000 53 _memcmp:
+ 000000 52 05 [ 2] 54 sub sp, #5
+ 55 ; ../_memcmp.c: 33: if (!count)
+ 56 ; ../_memcmp.c: 34: return(0);
+ 000002 1E 0C [ 2] 57 ldw x, (0x0c, sp)
+ 58 ; ../_memcmp.c: 36: while ( --count && *((char *)buf1) == *((char *)buf2) ) {
+ 000004 27 34 [ 1] 59 jreq 00107$
+ 000006 16 0C [ 2] 60 ldw y, (0x0c, sp)
+ 000008 17 04 [ 2] 61 ldw (0x04, sp), y
+ 00000A 62 00104$:
+ 00000A 1E 04 [ 2] 63 ldw x, (0x04, sp)
+ 00000C 5A [ 2] 64 decw x
+ 00000D 1F 04 [ 2] 65 ldw (0x04, sp), x
+ 00000F 1E 08 [ 2] 66 ldw x, (0x08, sp)
+ 000011 16 0A [ 2] 67 ldw y, (0x0a, sp)
+ 000013 17 01 [ 2] 68 ldw (0x01, sp), y
+ 000015 F6 [ 1] 69 ld a, (x)
+ 000016 6B 03 [ 1] 70 ld (0x03, sp), a
+ 000018 16 01 [ 2] 71 ldw y, (0x01, sp)
+ 00001A 90 F6 [ 1] 72 ld a, (y)
+ 00001C 16 04 [ 2] 73 ldw y, (0x04, sp)
+ 00001E 27 0E [ 1] 74 jreq 00106$
+ 000020 11 03 [ 1] 75 cp a, (0x03, sp)
+ 000022 26 0A [ 1] 76 jrne 00106$
+ 77 ; ../_memcmp.c: 37: buf1 = (char *)buf1 + 1;
+ 000024 5C [ 1] 78 incw x
+ 000025 1F 08 [ 2] 79 ldw (0x08, sp), x
+ 80 ; ../_memcmp.c: 38: buf2 = (char *)buf2 + 1;
+ 000027 1E 01 [ 2] 81 ldw x, (0x01, sp)
+ 000029 5C [ 1] 82 incw x
+ 00002A 1F 0A [ 2] 83 ldw (0x0a, sp), x
+ 00002C 20 DC [ 2] 84 jra 00104$
+ 00002E 85 00106$:
+ 86 ; ../_memcmp.c: 41: return( *((unsigned char *)buf1) - *((unsigned char *)buf2) );
+ 00002E 5F [ 1] 87 clrw x
+ 00002F 41 [ 1] 88 exg a, xl
+ 000030 7B 03 [ 1] 89 ld a, (0x03, sp)
+ 000032 41 [ 1] 90 exg a, xl
+ 000033 6B 05 [ 1] 91 ld (0x05, sp), a
+ 000035 0F 04 [ 1] 92 clr (0x04, sp)
+ 000037 72 F0 04 [ 2] 93 subw x, (0x04, sp)
+ 00003A 94 00107$:
+ 95 ; ../_memcmp.c: 42: }
+ 00003A 5B 05 [ 2] 96 addw sp, #5
+ 00003C 81 [ 4] 97 ret
+ 98 .area CODE
+ 99 .area CONST
+ 100 .area INITIALIZER
+ 101 .area CABS (ABS)