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/vprintf.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/vprintf.lst')
| -rw-r--r-- | device/lib/stm8/vprintf.lst | 110 |
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) |
