diff options
author | Nao Pross <naopross@thearcway.org> | 2017-10-05 12:17:37 +0200 |
---|---|---|
committer | Nao Pross <naopross@thearcway.org> | 2017-10-05 12:17:37 +0200 |
commit | f000d406809d8a7a0e71c388ebfb15d7564728e4 (patch) | |
tree | 2284c66b0459e9456fb451feaa4290e5d99e4349 /sw/z80_tests/usart/build/pio.lst | |
parent | Merge remote-tracking branch 'origin/atlas' into naopross (diff) | |
download | z80uPC-f000d406809d8a7a0e71c388ebfb15d7564728e4.tar.gz z80uPC-f000d406809d8a7a0e71c388ebfb15d7564728e4.zip |
Test units are now in their own folder 'z80_test', add programmer cli interface
Diffstat (limited to 'sw/z80_tests/usart/build/pio.lst')
-rw-r--r-- | sw/z80_tests/usart/build/pio.lst | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/sw/z80_tests/usart/build/pio.lst b/sw/z80_tests/usart/build/pio.lst new file mode 100644 index 0000000..fcafc2a --- /dev/null +++ b/sw/z80_tests/usart/build/pio.lst @@ -0,0 +1,194 @@ + 1 ;-------------------------------------------------------- + 2 ; File Created by SDCC : free open source ANSI-C Compiler + 3 ; Version 3.6.0 #9615 (Linux) + 4 ;-------------------------------------------------------- + 5 .module pio + 6 .optsdcc -mz80 + 7 + 8 ;-------------------------------------------------------- + 9 ; Public variables in this module + 10 ;-------------------------------------------------------- + 11 .globl __pio_data + 12 .globl __pio_control + 13 .globl _pio_set_mode + 14 .globl _pio_set_interrupts + 15 .globl _pio_set_interrupts_mask + 16 ;-------------------------------------------------------- + 17 ; special function registers + 18 ;-------------------------------------------------------- + 19 ;-------------------------------------------------------- + 20 ; ram data + 21 ;-------------------------------------------------------- + 22 .area _DATA + 23 ;-------------------------------------------------------- + 24 ; ram data + 25 ;-------------------------------------------------------- + 26 .area _INITIALIZED + 0000 27 _pio_port: + 0000 28 .ds 2 + 0002 29 _pio_ctrl: + 0002 30 .ds 2 + 31 ;-------------------------------------------------------- + 32 ; absolute external ram data + 33 ;-------------------------------------------------------- + 34 .area _DABS (ABS) + 35 ;-------------------------------------------------------- + 36 ; global & static initialisations + 37 ;-------------------------------------------------------- + 38 .area _HOME + 39 .area _GSINIT + 40 .area _GSFINAL + 41 .area _GSINIT + 42 ;-------------------------------------------------------- + 43 ; Home + 44 ;-------------------------------------------------------- + 45 .area _HOME + 46 .area _HOME + 47 ;-------------------------------------------------------- + 48 ; code + 49 ;-------------------------------------------------------- + 50 .area _CODE + 51 ;pio.c:6: inline void _pio_data(int port, uint8_t data) + 52 ; --------------------------------- + 53 ; Function _pio_data + 54 ; --------------------------------- + 0000 55 __pio_data:: + 56 ;pio.c:8: *(pio_port + port) = data; + 0000 21 02 00 [10] 57 ld hl,#2 + 0003 39 [11] 58 add hl,sp + 0004 FD 21r00r00 [14] 59 ld iy,#_pio_port + 0008 FD 7E 00 [19] 60 ld a,0 (iy) + 000B 86 [ 7] 61 add a, (hl) + 000C 4F [ 4] 62 ld c,a + 000D FD 7E 01 [19] 63 ld a,1 (iy) + 0010 23 [ 6] 64 inc hl + 0011 8E [ 7] 65 adc a, (hl) + 0012 47 [ 4] 66 ld b,a + 0013 21 04 00 [10] 67 ld hl, #4+0 + 0016 39 [11] 68 add hl, sp + 0017 7E [ 7] 69 ld a, (hl) + 0018 02 [ 7] 70 ld (bc),a + 0019 C9 [10] 71 ret + 72 ;pio.c:11: inline void _pio_control(int port, uint8_t cmd) + 73 ; --------------------------------- + 74 ; Function _pio_control + 75 ; --------------------------------- + 001A 76 __pio_control:: + 77 ;pio.c:13: *(pio_ctrl + port) = cmd; + 001A 21 02 00 [10] 78 ld hl,#2 + 001D 39 [11] 79 add hl,sp + 001E FD 21r02r00 [14] 80 ld iy,#_pio_ctrl + 0022 FD 7E 00 [19] 81 ld a,0 (iy) + 0025 86 [ 7] 82 add a, (hl) + 0026 4F [ 4] 83 ld c,a + 0027 FD 7E 01 [19] 84 ld a,1 (iy) + 002A 23 [ 6] 85 inc hl + 002B 8E [ 7] 86 adc a, (hl) + 002C 47 [ 4] 87 ld b,a + 002D 21 04 00 [10] 88 ld hl, #4+0 + 0030 39 [11] 89 add hl, sp + 0031 7E [ 7] 90 ld a, (hl) + 0032 02 [ 7] 91 ld (bc),a + 0033 C9 [10] 92 ret + 93 ;pio.c:16: void pio_set_mode(int port, int mode, uint8_t io) + 94 ; --------------------------------- + 95 ; Function pio_set_mode + 96 ; --------------------------------- + 0034 97 _pio_set_mode:: + 98 ;pio.c:19: _pio_control(port, ((mode << 6) | 0x0F)); + 0034 21 04 00 [10] 99 ld hl, #4+0 + 0037 39 [11] 100 add hl, sp + 0038 7E [ 7] 101 ld a, (hl) + 0039 0F [ 4] 102 rrca + 003A 0F [ 4] 103 rrca + 003B E6 C0 [ 7] 104 and a,#0xc0 + 003D F6 0F [ 7] 105 or a, #0x0f + 003F 4F [ 4] 106 ld c,a + 0040 D1 [10] 107 pop de + 0041 E1 [10] 108 pop hl + 0042 E5 [11] 109 push hl + 0043 D5 [11] 110 push de + 111 ;pio.c:13: *(pio_ctrl + port) = cmd; + 0044 FD 2Ar02r00 [20] 112 ld iy,(_pio_ctrl) + 0048 5D [ 4] 113 ld e, l + 0049 54 [ 4] 114 ld d, h + 004A FD 19 [15] 115 add iy, de + 004C FD 71 00 [19] 116 ld 0 (iy), c + 117 ;pio.c:23: if (mode == PIO_MODE_BIT_IO) { + 004F FD 21 04 00 [14] 118 ld iy,#4 + 0053 FD 39 [15] 119 add iy,sp + 0055 FD 7E 00 [19] 120 ld a,0 (iy) + 0058 D6 03 [ 7] 121 sub a, #0x03 + 005A C0 [11] 122 ret NZ + 005B FD 7E 01 [19] 123 ld a,1 (iy) + 005E B7 [ 4] 124 or a, a + 005F C0 [11] 125 ret NZ + 126 ;pio.c:24: _pio_control(port, io); + 0060 FD 21 06 00 [14] 127 ld iy,#6 + 0064 FD 39 [15] 128 add iy,sp + 0066 FD 4E 00 [19] 129 ld c,0 (iy) + 130 ;pio.c:13: *(pio_ctrl + port) = cmd; + 0069 ED 5Br02r00 [20] 131 ld de,(_pio_ctrl) + 006D 19 [11] 132 add hl,de + 006E 71 [ 7] 133 ld (hl),c + 134 ;pio.c:24: _pio_control(port, io); + 006F C9 [10] 135 ret + 136 ;pio.c:28: void pio_set_interrupts(int port, int control) + 137 ; --------------------------------- + 138 ; Function pio_set_interrupts + 139 ; --------------------------------- + 0070 140 _pio_set_interrupts:: + 141 ;pio.c:31: _pio_control(port, (control | 0x07)); + 0070 21 04 00 [10] 142 ld hl, #4+0 + 0073 39 [11] 143 add hl, sp + 0074 7E [ 7] 144 ld a, (hl) + 0075 F6 07 [ 7] 145 or a, #0x07 + 0077 4F [ 4] 146 ld c,a + 0078 D1 [10] 147 pop de + 0079 E1 [10] 148 pop hl + 007A E5 [11] 149 push hl + 007B D5 [11] 150 push de + 151 ;pio.c:13: *(pio_ctrl + port) = cmd; + 007C ED 5Br02r00 [20] 152 ld de,(_pio_ctrl) + 0080 19 [11] 153 add hl,de + 0081 71 [ 7] 154 ld (hl),c + 155 ;pio.c:31: _pio_control(port, (control | 0x07)); + 0082 C9 [10] 156 ret + 157 ;pio.c:34: void pio_set_interrupts_mask(int port, int control, uint8_t mask) + 158 ; --------------------------------- + 159 ; Function pio_set_interrupts_mask + 160 ; --------------------------------- + 0083 161 _pio_set_interrupts_mask:: + 162 ;pio.c:38: _pio_control(port, (control | 0x17)); + 0083 21 04 00 [10] 163 ld hl, #4+0 + 0086 39 [11] 164 add hl, sp + 0087 7E [ 7] 165 ld a, (hl) + 0088 F6 17 [ 7] 166 or a, #0x17 + 008A 4F [ 4] 167 ld c,a + 008B D1 [10] 168 pop de + 008C E1 [10] 169 pop hl + 008D E5 [11] 170 push hl + 008E D5 [11] 171 push de + 172 ;pio.c:13: *(pio_ctrl + port) = cmd; + 008F FD 2Ar02r00 [20] 173 ld iy,(_pio_ctrl) + 0093 5D [ 4] 174 ld e, l + 0094 54 [ 4] 175 ld d, h + 0095 FD 19 [15] 176 add iy, de + 0097 FD 71 00 [19] 177 ld 0 (iy), c + 178 ;pio.c:39: _pio_control(port, mask); + 009A FD 21 06 00 [14] 179 ld iy,#6 + 009E FD 39 [15] 180 add iy,sp + 00A0 FD 4E 00 [19] 181 ld c,0 (iy) + 182 ;pio.c:13: *(pio_ctrl + port) = cmd; + 00A3 ED 5Br02r00 [20] 183 ld de,(_pio_ctrl) + 00A7 19 [11] 184 add hl,de + 00A8 71 [ 7] 185 ld (hl),c + 186 ;pio.c:39: _pio_control(port, mask); + 00A9 C9 [10] 187 ret + 188 .area _CODE + 189 .area _INITIALIZER + 0000 190 __xinit__pio_port: + 0000 00 42 191 .dw #0x4200 + 0002 192 __xinit__pio_ctrl: + 0002 02 42 193 .dw #0x4202 + 194 .area _CABS (ABS) |