1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 3.6.0 #9615 (Linux) 4 ;-------------------------------------------------------- 5 .module main 6 .optsdcc -mz80 7 8 ;-------------------------------------------------------- 9 ; Public variables in this module 10 ;-------------------------------------------------------- 11 .globl _main 12 .globl _usart_write 13 .globl _usart_init 14 ;-------------------------------------------------------- 15 ; special function registers 16 ;-------------------------------------------------------- 17 ;-------------------------------------------------------- 18 ; ram data 19 ;-------------------------------------------------------- 20 .area _DATA 21 ;-------------------------------------------------------- 22 ; ram data 23 ;-------------------------------------------------------- 24 .area _INITIALIZED 25 ;-------------------------------------------------------- 26 ; absolute external ram data 27 ;-------------------------------------------------------- 28 .area _DABS (ABS) 29 ;-------------------------------------------------------- 30 ; global & static initialisations 31 ;-------------------------------------------------------- 32 .area _HOME 33 .area _GSINIT 34 .area _GSFINAL 35 .area _GSINIT 36 ;-------------------------------------------------------- 37 ; Home 38 ;-------------------------------------------------------- 39 .area _HOME 40 .area _HOME 41 ;-------------------------------------------------------- 42 ; code 43 ;-------------------------------------------------------- 44 .area _CODE 45 ;main.c:3: void main(void) 46 ; --------------------------------- 47 ; Function main 48 ; --------------------------------- 0000 49 _main:: 50 ;main.c:5: usart_init(USART_BAUDRATE_1200, USART_PARITY_EVEN, USART_STOP_BITS_1); 0000 21 0A 00 [10] 51 ld hl,#0x000a 0003 E5 [11] 52 push hl 0004 2E 01 [ 7] 53 ld l, #0x01 0006 E5 [11] 54 push hl 0007 2E 60 [ 7] 55 ld l, #0x60 0009 E5 [11] 56 push hl 000A CDr00r00 [17] 57 call _usart_init 000D 21 06 00 [10] 58 ld hl,#6 0010 39 [11] 59 add hl,sp 0011 F9 [ 6] 60 ld sp,hl 61 ;main.c:6: usart_write("Hello, World!\n", 13); 0012 21 0D 00 [10] 62 ld hl,#0x000d 0015 E5 [11] 63 push hl 0016 21r2Er00 [10] 64 ld hl,#___str_0 0019 E5 [11] 65 push hl 001A CDr00r00 [17] 66 call _usart_write 001D F1 [10] 67 pop af 001E F1 [10] 68 pop af 69 ;main.c:8: while(1) { 001F 70 00102$: 71 ;main.c:9: usart_write("done\n", 5); 001F 21 05 00 [10] 72 ld hl,#0x0005 0022 E5 [11] 73 push hl 0023 21r3Dr00 [10] 74 ld hl,#___str_1 0026 E5 [11] 75 push hl 0027 CDr00r00 [17] 76 call _usart_write 002A F1 [10] 77 pop af 002B F1 [10] 78 pop af 002C 18 F1 [12] 79 jr 00102$ 002E 80 ___str_0: 002E 48 65 6C 6C 6F 2C 81 .ascii "Hello, World!" 20 57 6F 72 6C 64 21 003B 0A 82 .db 0x0a 003C 00 83 .db 0x00 003D 84 ___str_1: 003D 64 6F 6E 65 85 .ascii "done" 0041 0A 86 .db 0x0a 0042 00 87 .db 0x00 88 .area _CODE 89 .area _INITIALIZER 90 .area _CABS (ABS)