ZiLOG Z8 Encore! Macro Assembler Version 2.44 (06060104) 25-May-07 15:38:39 page: 1 PC Object I Line Source A 1 ; ZiLOG Z8 Encore! ANSI C Compiler Release 3.50 A 2 ; -noregvar -debug -const=RAM -model=S -nooptlink -reduceopt A 3 ; -norevaa -peephole -localcse -optsize -alias -doublesize=32 A 4 ; -floatsize=32 -bitfieldsize=32 -longsize=32 -charsize=8 A 5 ; -intsize=16 A 6 DEFINE uart_TEXT,SPACE=ROM A 7 FILE ".\UART.C" A 8 .debug "C" A 9 SEGMENT ROM_DATA A 10 A 11 A 12 ;**************************** _isr_uart0_rx *************************** A 13 ;Name Addr/Register Size Type A 14 ;_toggle_uart IMPORT ----- function A 15 A 16 A 17 ; Aggregate Stack Size: 0 (words) A 18 A 19 A 20 SEGMENT uart_TEXT A 21 .begrec "fmt_type",13 A 22 .define "status" A 23 .value 0 A 24 .class 8 A 25 .type 12 A 26 .type 0 A 27 .endef A 28 .define "flags" A 29 .value 1 A 30 .class 8 A 31 .type 12 A 32 .type 0 A 33 .endef A 34 .define "size" A 35 .value 2 A 36 .class 8 A 37 .type 2 A 38 .type 0 A 39 .endef A 40 .define "chr" A 41 .value 3 A 42 .class 8 A 43 .type 2 A 44 .type 0 A 45 .endef A 46 .define "type" A 47 .value 4 A 48 .class 8 A 49 .type 2 A 50 .type 0 A 51 .endef A 52 .define "field_width" ZiLOG Z8 Encore! Macro Assembler Version 2.44 (06060104) 25-May-07 15:38:39 page: 2 PC Object I Line Source uart.src A 53 .value 5 A 54 .class 8 A 55 .type 2 A 56 .type 0 A 57 .endef A 58 .define "precision" A 59 .value 6 A 60 .class 8 A 61 .type 2 A 62 .type 0 A 63 .endef A 64 .define "set_begin" A 65 .value 7 A 66 .class 8 A 67 .type 130 A 68 .type 0 A 69 .endef A 70 .define "set_end" A 71 .value 8 A 72 .class 8 A 73 .type 130 A 74 .type 0 A 75 .endef A 76 .define "pad_whole" A 77 .value 9 A 78 .class 8 A 79 .type 12 A 80 .type 0 A 81 .endef A 82 .define "pad_pre_fract" A 83 .value 10 A 84 .class 8 A 85 .type 12 A 86 .type 0 A 87 .endef A 88 .define "pad_post_fract" A 89 .value 11 A 90 .class 8 A 91 .type 12 A 92 .type 0 A 93 .endef A 94 .define "pad_at" A 95 .value 12 A 96 .class 8 A 97 .type 130 A 98 .type 0 A 99 .endef A 100 .endrec "fmt_type" A 101 .begrec "flt_info",12 A 102 .define "flags" A 103 .value 0 A 104 .class 8 ZiLOG Z8 Encore! Macro Assembler Version 2.44 (06060104) 25-May-07 15:38:39 page: 3 PC Object I Line Source uart.src A 105 .type 12 A 106 .type 0 A 107 .endef A 108 .define "exp" A 109 .value 1 A 110 .class 8 A 111 .type 2 A 112 .type 0 A 113 .endef A 114 .define "digits" A 115 .value 2 A 116 .class 8 A 117 .dim 10 A 118 .type 108 A 119 .type 0 A 120 .endef A 121 .endrec "flt_info" A 122 .begrec "NONAME0",6 A 123 .define "baudRate" A 124 .value 0 A 125 .class 8 A 126 .type 5 A 127 .type 0 A 128 .endef A 129 .define "stopBits" A 130 .value 4 A 131 .class 8 A 132 .type 12 A 133 .type 0 A 134 .endef A 135 .define "parity" A 136 .value 5 A 137 .class 8 A 138 .type 12 A 139 .type 0 A 140 .endef A 141 .endrec "NONAME0" A 142 .begrec "NONAME1",4 A 143 .define "pBuffer" A 144 .value 0 A 145 .class 8 A 146 .type 140 A 147 .type 0 A 148 .endef A 149 .define "next_in" A 150 .value 1 A 151 .class 8 A 152 .type 12 A 153 .type 0 A 154 .endef A 155 .define "next_out" A 156 .value 2 ZiLOG Z8 Encore! Macro Assembler Version 2.44 (06060104) 25-May-07 15:38:39 page: 4 PC Object I Line Source uart.src A 157 .class 8 A 158 .type 12 A 159 .type 0 A 160 .endef A 161 .define "size" A 162 .value 3 A 163 .class 8 A 164 .type 12 A 165 .type 0 A 166 .endef A 167 .endrec "NONAME1" A 168 ; 1 /************************************************* A 169 ; 2 * Copyright (C) 1999-2004 by ZiLOG, Inc. A 170 ; 3 * All Rights Reserved A 171 ; 4 *************************************************/ A 172 ; 5 A 173 ; 6 #include A 174 ; 7 #include A 175 ; 8 #include // non-standard I/O A 176 ; 9 #include "main.h" A 177 ; 10 #include "uart.h" A 178 ; 11 A 179 ; 12 A 180 ; 13 ////////////////////////////////////////////////////////// A 181 ; 14 //Interrupt routine A 182 ; 15 A 183 ; 16 #pragma interrupt A 184 ; 17 void isr_uart0_rx(void) A 185 ; 18 { 000000 A 186 _isr_uart0_rx: A 187 .define "_isr_uart0_rx" A 188 .value _isr_uart0_rx A 189 .class 2 A 190 .type 65 A 191 .type 0 A 192 .endef A 193 .begfunc "isr_uart0_rx",18,"_isr_uart0_rx" 000000 C8FFD0 A 194 PUSHX 4093 000003 E8 000FFD A 195 LDX 4093,__intrp 000007 09100000 A 196 ADDX __intrp,#16 00000B 70EF A 197 PUSH R15 00000D 84FFFF A 198 LDX R15,4095 A 199 ; 19 toggle_uart(); A 200 .line 19 000010 D6 0000 A 201 CALL _toggle_uart A 202 ; 20 } A 203 .line 20 000013 94FFFF A 204 LDX 4095,R15 000016 50EF A 205 POP R15 000018 29100000 A 206 SUBX __intrp,#16 00001C D8FFD0 A 207 POPX 4093 00001F BF A 208 IRET ZiLOG Z8 Encore! Macro Assembler Version 2.44 (06060104) 25-May-07 15:38:39 page: 5 PC Object I Line Source uart.src A 209 .endfunc "isr_uart0_rx",20,"_isr_uart0_rx" A 210 SEGMENT ROM_DATA A 211 A 212 A 213 ;**************************** _init_uart0 *************************** A 214 ;Name Addr/Register Size Type A 215 ;_SET_VECTOR IMPORT ----- function A 216 ;_select_port IMPORT ----- function A 217 ;_get_freq IMPORT ----- function A 218 ;_init_uart IMPORT ----- function A 219 A 220 A 221 ; Aggregate Stack Size: 0 (words) A 222 A 223 A 224 SEGMENT uart_TEXT A 225 ; 21 A 226 ; 22 ////////////////////////////////////////////////////////// A 227 ; 23 //Intialize Timer-0 A 228 ; 24 void init_uart0(void) A 229 ; 25 { 000020 A 230 _init_uart0: A 231 .define "_init_uart0" A 232 .value _init_uart0 A 233 .class 2 A 234 .type 65 A 235 .type 0 A 236 .endef A 237 .begfunc "init_uart0",25,"_init_uart0" 000020 70EF A 238 PUSH R15 000022 84FFFF A 239 LDX R15,4095 A 240 ; 26 init_uart(_UART0,_DEFFREQ,_DEFBAUD); // Setup Uart0 A 241 .line 26 000025 1F7000 A 242 PUSH #0 000028 1F70E1 A 243 PUSH #225 00002B 1F7000 A 244 PUSH #0 00002E 1F7000 A 245 PUSH #0 000031 D6 0000 A 246 CALL _get_freq 000034 70E3 A 247 PUSH R3 000036 70E2 A 248 PUSH R2 000038 70E1 A 249 PUSH R1 00003A 70E0 A 250 PUSH R0 00003C 1F7000 A 251 PUSH #0 00003F 1F7000 A 252 PUSH #0 000042 D6 0000 A 253 CALL _init_uart 000045 090A0FFF A 254 ADDX 4095,#10 A 255 ; 27 select_port(_UART0); // Select port A 256 .line 27 000049 1F7000 A 257 PUSH #0 00004C 1F7000 A 258 PUSH #0 00004F D6 0000 A 259 CALL _select_port 000052 50E0 A 260 POP R0 ZiLOG Z8 Encore! Macro Assembler Version 2.44 (06060104) 25-May-07 15:38:39 page: 6 PC Object I Line Source uart.src 000054 50E0 A 261 POP R0 A 262 ; 28 SET_VECTOR(UART0_RX, isr_uart0_rx); // Define interrupt routine A 263 ; 29 IRQ0ENH |= 0x10; // Set Interrupt Priority High A 264 .line 29 000056 49100FC1 A 265 ORX 4033,#16 A 266 ; 30 IRQ0ENL |= 0x10; // Set Interrupt Priority High A 267 .line 30 00005A 49100FC2 A 268 ORX 4034,#16 A 269 ; 31 } A 270 .line 31 00005E 94FFFF A 271 LDX 4095,R15 000061 50EF A 272 POP R15 000063 AF A 273 RET A 274 .endfunc "init_uart0",31,"_init_uart0" 00000E 0000 A 275 VECTOR UART0_RX=_isr_uart0_rx A 276 XREF _toggle_uart:ROM A 277 XREF _select_port:ROM A 278 XREF _init_uart:ROM A 279 XREF _get_freq:ROM A 280 XREF __intrp:RDATA A 281 XDEF _init_uart0 A 282 XDEF _isr_uart0_rx A 283 END Errors: 0 Warnings: 0 Lines Assembled: 284