summaryrefslogtreecommitdiff
path: root/device/lib/stm8/vprintf.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/vprintf.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/vprintf.lst')
-rw-r--r--device/lib/stm8/vprintf.lst110
1 files changed, 110 insertions, 0 deletions
diff --git a/device/lib/stm8/vprintf.lst b/device/lib/stm8/vprintf.lst
new file mode 100644
index 0000000..28ef086
--- /dev/null
+++ b/device/lib/stm8/vprintf.lst
@@ -0,0 +1,110 @@
+ 1 ;--------------------------------------------------------
+ 2 ; File Created by SDCC : free open source ANSI-C Compiler
+ 3 ; Version 3.9.3 #11345 (Linux)
+ 4 ;--------------------------------------------------------
+ 5 .module vprintf
+ 6 .optsdcc -mstm8
+ 7
+ 8 ;--------------------------------------------------------
+ 9 ; Public variables in this module
+ 10 ;--------------------------------------------------------
+ 11 .globl _putchar
+ 12 .globl __print_format
+ 13 .globl _vprintf
+ 14 .globl _printf
+ 15 ;--------------------------------------------------------
+ 16 ; ram data
+ 17 ;--------------------------------------------------------
+ 18 .area DATA
+ 19 ;--------------------------------------------------------
+ 20 ; ram data
+ 21 ;--------------------------------------------------------
+ 22 .area INITIALIZED
+ 23 ;--------------------------------------------------------
+ 24 ; absolute external ram data
+ 25 ;--------------------------------------------------------
+ 26 .area DABS (ABS)
+ 27
+ 28 ; default segment ordering for linker
+ 29 .area HOME
+ 30 .area GSINIT
+ 31 .area GSFINAL
+ 32 .area CONST
+ 33 .area INITIALIZER
+ 34 .area CODE
+ 35
+ 36 ;--------------------------------------------------------
+ 37 ; global & static initialisations
+ 38 ;--------------------------------------------------------
+ 39 .area HOME
+ 40 .area GSINIT
+ 41 .area GSFINAL
+ 42 .area GSINIT
+ 43 ;--------------------------------------------------------
+ 44 ; Home
+ 45 ;--------------------------------------------------------
+ 46 .area HOME
+ 47 .area HOME
+ 48 ;--------------------------------------------------------
+ 49 ; code
+ 50 ;--------------------------------------------------------
+ 51 .area CODE
+ 52 ; ../vprintf.c: 34: put_char_to_stdout (char c, void* p) _REENTRANT
+ 53 ; -----------------------------------------
+ 54 ; function put_char_to_stdout
+ 55 ; -----------------------------------------
+ 000000 56 _put_char_to_stdout:
+ 57 ; ../vprintf.c: 37: putchar (c);
+ 000000 5F [ 1] 58 clrw x
+ 000001 7B 03 [ 1] 59 ld a, (0x03, sp)
+ 000003 97 [ 1] 60 ld xl, a
+ 000004 89 [ 2] 61 pushw x
+ 000005 CDr00r00 [ 4] 62 call _putchar
+ 000008 5B 02 [ 2] 63 addw sp, #2
+ 64 ; ../vprintf.c: 38: }
+ 00000A 81 [ 4] 65 ret
+ 66 ; ../vprintf.c: 41: vprintf (const char *format, va_list ap)
+ 67 ; -----------------------------------------
+ 68 ; function vprintf
+ 69 ; -----------------------------------------
+ 00000B 70 _vprintf:
+ 71 ; ../vprintf.c: 43: return _print_format (put_char_to_stdout, NULL, format, ap);
+ 00000B 1E 05 [ 2] 72 ldw x, (0x05, sp)
+ 00000D 89 [ 2] 73 pushw x
+ 00000E 1E 05 [ 2] 74 ldw x, (0x05, sp)
+ 000010 89 [ 2] 75 pushw x
+ 000011 5F [ 1] 76 clrw x
+ 000012 89 [ 2] 77 pushw x
+ 000013 4Br00 [ 1] 78 push #<(_put_char_to_stdout + 0)
+ 000015 4Bs00 [ 1] 79 push #((_put_char_to_stdout + 0) >> 8)
+ 000017 CDr00r00 [ 4] 80 call __print_format
+ 00001A 5B 08 [ 2] 81 addw sp, #8
+ 82 ; ../vprintf.c: 44: }
+ 00001C 81 [ 4] 83 ret
+ 84 ; ../vprintf.c: 47: printf (const char *format, ...)
+ 85 ; -----------------------------------------
+ 86 ; function printf
+ 87 ; -----------------------------------------
+ 00001D 88 _printf:
+ 89 ; ../vprintf.c: 52: va_start (arg, format);
+ 00001D 96 [ 1] 90 ldw x, sp
+ 00001E 1C 00 03 [ 2] 91 addw x, #3
+ 000021 5C [ 1] 92 incw x
+ 000022 5C [ 1] 93 incw x
+ 94 ; ../vprintf.c: 53: i = _print_format (put_char_to_stdout, NULL, format, arg);
+ 000023 89 [ 2] 95 pushw x
+ 000024 1E 05 [ 2] 96 ldw x, (0x05, sp)
+ 000026 89 [ 2] 97 pushw x
+ 000027 5F [ 1] 98 clrw x
+ 000028 89 [ 2] 99 pushw x
+ 000029 4Br00 [ 1] 100 push #<(_put_char_to_stdout + 0)
+ 00002B 4Bs00 [ 1] 101 push #((_put_char_to_stdout + 0) >> 8)
+ 00002D CDr00r00 [ 4] 102 call __print_format
+ 000030 5B 08 [ 2] 103 addw sp, #8
+ 104 ; ../vprintf.c: 56: return i;
+ 105 ; ../vprintf.c: 57: }
+ 000032 81 [ 4] 106 ret
+ 107 .area CODE
+ 108 .area CONST
+ 109 .area INITIALIZER
+ 110 .area CABS (ABS)