1 ;-------------------------------------------------------- 2 ; File Created by SDCC : free open source ANSI-C Compiler 3 ; Version 4.2.0 #13081 (Linux) 4 ;-------------------------------------------------------- 5 .module model 6 .optsdcc -mmcs51 --model-small 7 8 ;-------------------------------------------------------- 9 ; Public variables in this module 10 ;-------------------------------------------------------- 11 .globl ___memcpy 12 .globl _nrf24_set_address 13 .globl _nrf24_set_channel 14 .globl _eeprom_write 15 .globl _eeprom_read 16 .globl _eeprom_init 17 .globl _EADC 18 .globl _ET1 19 .globl _ET0 20 .globl _ES 21 .globl _EA 22 .globl _REN 23 .globl _RI 24 .globl _TI 25 .globl _TR1 26 .globl _TF1 27 .globl _IT0 28 .globl _IE0 29 .globl _TR0 30 .globl _TF0 31 .globl _CMPCR2 32 .globl _CMPCR1 33 .globl _TA 34 .globl _IRCBAND_REG 35 .globl _IAP_TPS 36 .globl _IAP_CONTR 37 .globl _IAP_TRIG 38 .globl _IAP_CMD 39 .globl _IAP_ADDRL 40 .globl _IAP_ADDRH 41 .globl _IAP_DATA 42 .globl _WDT_CONTR 43 .globl _PCA_PWM3 44 .globl _PCA_PWM2 45 .globl _PCA_PWM1 46 .globl _PCA_PWM0 47 .globl _CCAP3L 48 .globl _CCAP2L 49 .globl _CCAP1L 50 .globl _CCAP0L 51 .globl _CCAPM3 52 .globl _CCAPM2 53 .globl _CCAPM1 54 .globl _CCAPM0 55 .globl _CMOD 56 .globl _CCON 57 .globl _ADCTIM_X 58 .globl _ADCCFG 59 .globl _ADC_RESL 60 .globl _ADC_RES 61 .globl _ADC_CONTR 62 .globl _SPDAT 63 .globl _SPCTL 64 .globl _SPSTAT 65 .globl _IP2H 66 .globl _IP2 67 .globl _IP 68 .globl _IE2 69 .globl _IE 70 .globl _BRT 71 .globl _P_SW1 72 .globl _SADEN 73 .globl _SADDR 74 .globl _S2BUF 75 .globl _S2CON 76 .globl _SBUF 77 .globl _SCON 78 .globl _TM4PS_X 79 .globl _TM3PS_X 80 .globl _TM2PS_X 81 .globl _T4T3M 82 .globl _T4L 83 .globl _T4H 84 .globl _T3L 85 .globl _T3H 86 .globl _T2L 87 .globl _T2H 88 .globl _INTCLKO 89 .globl _AUXR 90 .globl _TH1 91 .globl _TH0 92 .globl _TL1 93 .globl _TL0 94 .globl _TMOD 95 .globl _TCON 96 .globl _P_SW2 97 .globl _P5M0 98 .globl _P5M1 99 .globl _P4M0 100 .globl _P4M1 101 .globl _P3M0 102 .globl _P3M1 103 .globl _P2M0 104 .globl _P2M1 105 .globl _P1M0 106 .globl _P1M1 107 .globl _P0M0 108 .globl _P0M1 109 .globl _PSW 110 .globl _B 111 .globl _ACC 112 .globl _PCON 113 .globl _DPH 114 .globl _DPL 115 .globl _SP 116 .globl _P5 117 .globl _P4 118 .globl _P3 119 .globl _P2 120 .globl _P1 121 .globl _P0 122 .globl _model_init 123 .globl _model_get_mode 124 .globl _model_get_channel 125 .globl _model_get_address 126 .globl _model_set_mode 127 .globl _model_set_address 128 .globl _model_set_channel 129 .globl _model_apply 130 ;-------------------------------------------------------- 131 ; special function registers 132 ;-------------------------------------------------------- 133 .area RSEG (ABS,DATA) 000000 134 .org 0x0000 000080 135 _P0 = 0x0080 000090 136 _P1 = 0x0090 0000A0 137 _P2 = 0x00a0 0000B0 138 _P3 = 0x00b0 0000C0 139 _P4 = 0x00c0 0000C8 140 _P5 = 0x00c8 000081 141 _SP = 0x0081 000082 142 _DPL = 0x0082 000083 143 _DPH = 0x0083 000087 144 _PCON = 0x0087 0000E0 145 _ACC = 0x00e0 0000F0 146 _B = 0x00f0 0000D0 147 _PSW = 0x00d0 000093 148 _P0M1 = 0x0093 000094 149 _P0M0 = 0x0094 000091 150 _P1M1 = 0x0091 000092 151 _P1M0 = 0x0092 000095 152 _P2M1 = 0x0095 000096 153 _P2M0 = 0x0096 0000B1 154 _P3M1 = 0x00b1 0000B2 155 _P3M0 = 0x00b2 0000B3 156 _P4M1 = 0x00b3 0000B4 157 _P4M0 = 0x00b4 0000C9 158 _P5M1 = 0x00c9 0000CA 159 _P5M0 = 0x00ca 0000BA 160 _P_SW2 = 0x00ba 000088 161 _TCON = 0x0088 000089 162 _TMOD = 0x0089 00008A 163 _TL0 = 0x008a 00008B 164 _TL1 = 0x008b 00008C 165 _TH0 = 0x008c 00008D 166 _TH1 = 0x008d 00008E 167 _AUXR = 0x008e 00008F 168 _INTCLKO = 0x008f 0000D6 169 _T2H = 0x00d6 0000D7 170 _T2L = 0x00d7 0000D4 171 _T3H = 0x00d4 0000D5 172 _T3L = 0x00d5 0000D2 173 _T4H = 0x00d2 0000D3 174 _T4L = 0x00d3 0000D1 175 _T4T3M = 0x00d1 00FEA1 176 _TM2PS_X = 0xfea1 00FEA2 177 _TM3PS_X = 0xfea2 00FEA3 178 _TM4PS_X = 0xfea3 000098 179 _SCON = 0x0098 000099 180 _SBUF = 0x0099 00009A 181 _S2CON = 0x009a 00009B 182 _S2BUF = 0x009b 0000A9 183 _SADDR = 0x00a9 0000B9 184 _SADEN = 0x00b9 0000A2 185 _P_SW1 = 0x00a2 00009C 186 _BRT = 0x009c 0000A8 187 _IE = 0x00a8 0000AF 188 _IE2 = 0x00af 0000B8 189 _IP = 0x00b8 0000B6 190 _IP2 = 0x00b6 0000B7 191 _IP2H = 0x00b7 0000CD 192 _SPSTAT = 0x00cd 0000CE 193 _SPCTL = 0x00ce 0000CF 194 _SPDAT = 0x00cf 0000BC 195 _ADC_CONTR = 0x00bc 0000BD 196 _ADC_RES = 0x00bd 0000BE 197 _ADC_RESL = 0x00be 0000DE 198 _ADCCFG = 0x00de 00FEA8 199 _ADCTIM_X = 0xfea8 0000D8 200 _CCON = 0x00d8 0000D9 201 _CMOD = 0x00d9 0000DA 202 _CCAPM0 = 0x00da 0000DB 203 _CCAPM1 = 0x00db 0000DC 204 _CCAPM2 = 0x00dc 0000DD 205 _CCAPM3 = 0x00dd 0000EA 206 _CCAP0L = 0x00ea 0000EB 207 _CCAP1L = 0x00eb 0000EC 208 _CCAP2L = 0x00ec 0000ED 209 _CCAP3L = 0x00ed 0000F2 210 _PCA_PWM0 = 0x00f2 0000F3 211 _PCA_PWM1 = 0x00f3 0000F4 212 _PCA_PWM2 = 0x00f4 0000F5 213 _PCA_PWM3 = 0x00f5 0000C1 214 _WDT_CONTR = 0x00c1 0000C2 215 _IAP_DATA = 0x00c2 0000C3 216 _IAP_ADDRH = 0x00c3 0000C4 217 _IAP_ADDRL = 0x00c4 0000C5 218 _IAP_CMD = 0x00c5 0000C6 219 _IAP_TRIG = 0x00c6 0000C7 220 _IAP_CONTR = 0x00c7 0000F7 221 _IAP_TPS = 0x00f7 00009D 222 _IRCBAND_REG = 0x009d 0000AE 223 _TA = 0x00ae 0000E6 224 _CMPCR1 = 0x00e6 0000E7 225 _CMPCR2 = 0x00e7 226 ;-------------------------------------------------------- 227 ; special function bits 228 ;-------------------------------------------------------- 229 .area RSEG (ABS,DATA) 000000 230 .org 0x0000 00008D 231 _TF0 = 0x008d 00008C 232 _TR0 = 0x008c 000089 233 _IE0 = 0x0089 000088 234 _IT0 = 0x0088 00008F 235 _TF1 = 0x008f 00008E 236 _TR1 = 0x008e 000099 237 _TI = 0x0099 000098 238 _RI = 0x0098 00009C 239 _REN = 0x009c 0000AF 240 _EA = 0x00af 0000AC 241 _ES = 0x00ac 0000A9 242 _ET0 = 0x00a9 0000AB 243 _ET1 = 0x00ab 0000AD 244 _EADC = 0x00ad 245 ;-------------------------------------------------------- 246 ; overlayable register banks 247 ;-------------------------------------------------------- 248 .area REG_BANK_0 (REL,OVR,DATA) 000000 249 .ds 8 250 ;-------------------------------------------------------- 251 ; internal ram data 252 ;-------------------------------------------------------- 253 .area DSEG (DATA) 000000 254 _s_mode: 000000 255 .ds 1 000001 256 _s_channel: 000001 257 .ds 1 000002 258 _s_address: 000002 259 .ds 5 000007 260 _model_init_m_131072_48: 000007 261 .ds 1 000008 262 _model_init_ch_131072_48: 000008 263 .ds 1 000009 264 _model_init_addr_131072_48: 000009 265 .ds 5 266 ;-------------------------------------------------------- 267 ; overlayable items in internal ram 268 ;-------------------------------------------------------- 269 ;-------------------------------------------------------- 270 ; indirectly addressable internal ram data 271 ;-------------------------------------------------------- 272 .area ISEG (DATA) 273 ;-------------------------------------------------------- 274 ; absolute internal ram data 275 ;-------------------------------------------------------- 276 .area IABS (ABS,DATA) 277 .area IABS (ABS,DATA) 278 ;-------------------------------------------------------- 279 ; bit data 280 ;-------------------------------------------------------- 281 .area BSEG (BIT) 282 ;-------------------------------------------------------- 283 ; paged external ram data 284 ;-------------------------------------------------------- 285 .area PSEG (PAG,XDATA) 286 ;-------------------------------------------------------- 287 ; external ram data 288 ;-------------------------------------------------------- 289 .area XSEG (XDATA) 290 ;-------------------------------------------------------- 291 ; absolute external ram data 292 ;-------------------------------------------------------- 293 .area XABS (ABS,XDATA) 294 ;-------------------------------------------------------- 295 ; external initialized ram data 296 ;-------------------------------------------------------- 297 .area XISEG (XDATA) 298 .area HOME (CODE) 299 .area GSINIT0 (CODE) 300 .area GSINIT1 (CODE) 301 .area GSINIT2 (CODE) 302 .area GSINIT3 (CODE) 303 .area GSINIT4 (CODE) 304 .area GSINIT5 (CODE) 305 .area GSINIT (CODE) 306 .area GSFINAL (CODE) 307 .area CSEG (CODE) 308 ;-------------------------------------------------------- 309 ; global & static initialisations 310 ;-------------------------------------------------------- 311 .area HOME (CODE) 312 .area GSINIT (CODE) 313 .area GSFINAL (CODE) 314 .area GSINIT (CODE) 315 ; src/model.c:11: static uint8_t s_mode = MODE_SBUS; 000000 75*00 00 [24] 316 mov _s_mode,#0x00 317 ; src/model.c:12: static uint8_t s_channel = DEFAULT_RF_CH; 000003 75*01 4C [24] 318 mov _s_channel,#0x4c 319 ; src/model.c:13: static uint8_t s_address[5] = { 0xE7, 0xE7, 0xE7, 0xE7, 0xC2 }; 000006 75*02 E7 [24] 320 mov _s_address,#0xe7 000009 75*03 E7 [24] 321 mov (_s_address + 0x0001),#0xe7 00000C 75*04 E7 [24] 322 mov (_s_address + 0x0002),#0xe7 00000F 75*05 E7 [24] 323 mov (_s_address + 0x0003),#0xe7 000012 75*06 C2 [24] 324 mov (_s_address + 0x0004),#0xc2 325 ;-------------------------------------------------------- 326 ; Home 327 ;-------------------------------------------------------- 328 .area HOME (CODE) 329 .area HOME (CODE) 330 ;-------------------------------------------------------- 331 ; code 332 ;-------------------------------------------------------- 333 .area CSEG (CODE) 334 ;------------------------------------------------------------ 335 ;Allocation info for local variables in function 'model_init' 336 ;------------------------------------------------------------ 337 ;m Allocated with name '_model_init_m_131072_48' 338 ;ch Allocated with name '_model_init_ch_131072_48' 339 ;addr Allocated with name '_model_init_addr_131072_48' 340 ;------------------------------------------------------------ 341 ; src/model.c:15: void model_init(void) 342 ; ----------------------------------------- 343 ; function model_init 344 ; ----------------------------------------- 000000 345 _model_init: 000007 346 ar7 = 0x07 000006 347 ar6 = 0x06 000005 348 ar5 = 0x05 000004 349 ar4 = 0x04 000003 350 ar3 = 0x03 000002 351 ar2 = 0x02 000001 352 ar1 = 0x01 000000 353 ar0 = 0x00 354 ; src/model.c:17: if (eeprom_init() == EEPROM_OK) { 000000 12r00r00 [24] 355 lcall _eeprom_init 000003 E5 82 [12] 356 mov a,dpl 357 ; src/model.c:19: if (eeprom_read(&m, &ch, addr) == EEPROM_OK) { 000005 70 3D [24] 358 jnz 00104$ 000007 75*00r08 [24] 359 mov _eeprom_read_PARM_2,#_model_init_ch_131072_48 00000A F5*01 [12] 360 mov (_eeprom_read_PARM_2 + 1),a 00000C 75*02 40 [24] 361 mov (_eeprom_read_PARM_2 + 2),#0x40 00000F 75*00r09 [24] 362 mov _eeprom_read_PARM_3,#_model_init_addr_131072_48 000012 75*01 00 [24] 363 mov (_eeprom_read_PARM_3 + 1),#0x00 000015 75*02 40 [24] 364 mov (_eeprom_read_PARM_3 + 2),#0x40 000018 90r00r07 [24] 365 mov dptr,#_model_init_m_131072_48 00001B 75 F0 40 [24] 366 mov b,#0x40 00001E 12r00r00 [24] 367 lcall _eeprom_read 000021 E5 82 [12] 368 mov a,dpl 369 ; src/model.c:20: s_mode = m; 370 ; src/model.c:21: s_channel = ch; 371 ; src/model.c:22: memcpy(s_address, addr, 5); 000023 70 31 [24] 372 jnz 00105$ 000025 85*07*00 [24] 373 mov _s_mode,_model_init_m_131072_48 000028 85*08*01 [24] 374 mov _s_channel,_model_init_ch_131072_48 00002B 75*00r09 [24] 375 mov ___memcpy_PARM_2,#_model_init_addr_131072_48 00002E F5*01 [12] 376 mov (___memcpy_PARM_2 + 1),a 000030 75*02 40 [24] 377 mov (___memcpy_PARM_2 + 2),#0x40 000033 75*00 05 [24] 378 mov ___memcpy_PARM_3,#0x05 000036 75*01 00 [24] 379 mov (___memcpy_PARM_3 + 1),#0x00 000039 90r00r02 [24] 380 mov dptr,#_s_address 00003C 75 F0 40 [24] 381 mov b,#0x40 00003F 12r00r00 [24] 382 lcall ___memcpy 000042 80 12 [24] 383 sjmp 00105$ 000044 384 00104$: 385 ; src/model.c:26: eeprom_write(MODE_SBUS, DEFAULT_RF_CH, DEFAULT_ADDR); 000044 75*00r00 [24] 386 mov _eeprom_write_PARM_3,#_DEFAULT_ADDR 000047 75*01s00 [24] 387 mov (_eeprom_write_PARM_3 + 1),#(_DEFAULT_ADDR >> 8) 00004A 75*02 80 [24] 388 mov (_eeprom_write_PARM_3 + 2),#0x80 00004D 75*00 4C [24] 389 mov _eeprom_write_PARM_2,#0x4c 000050 75 82 00 [24] 390 mov dpl,#0x00 000053 12r00r00 [24] 391 lcall _eeprom_write 000056 392 00105$: 393 ; src/model.c:28: model_apply(); 394 ; src/model.c:29: } 000056 02r00rDF [24] 395 ljmp _model_apply 396 ;------------------------------------------------------------ 397 ;Allocation info for local variables in function 'model_get_mode' 398 ;------------------------------------------------------------ 399 ; src/model.c:31: uint8_t model_get_mode(void) { return s_mode; } 400 ; ----------------------------------------- 401 ; function model_get_mode 402 ; ----------------------------------------- 000059 403 _model_get_mode: 000059 85*00 82 [24] 404 mov dpl,_s_mode 00005C 22 [24] 405 ret 406 ;------------------------------------------------------------ 407 ;Allocation info for local variables in function 'model_get_channel' 408 ;------------------------------------------------------------ 409 ; src/model.c:32: uint8_t model_get_channel(void) { return s_channel; } 410 ; ----------------------------------------- 411 ; function model_get_channel 412 ; ----------------------------------------- 00005D 413 _model_get_channel: 00005D 85*01 82 [24] 414 mov dpl,_s_channel 000060 22 [24] 415 ret 416 ;------------------------------------------------------------ 417 ;Allocation info for local variables in function 'model_get_address' 418 ;------------------------------------------------------------ 419 ; src/model.c:33: const uint8_t *model_get_address(void) { return s_address; } 420 ; ----------------------------------------- 421 ; function model_get_address 422 ; ----------------------------------------- 000061 423 _model_get_address: 000061 90r00r02 [24] 424 mov dptr,#_s_address 000064 75 F0 40 [24] 425 mov b,#0x40 000067 22 [24] 426 ret 427 ;------------------------------------------------------------ 428 ;Allocation info for local variables in function 'model_set_mode' 429 ;------------------------------------------------------------ 430 ;mode Allocated to registers r7 431 ;------------------------------------------------------------ 432 ; src/model.c:35: void model_set_mode(uint8_t mode) 433 ; ----------------------------------------- 434 ; function model_set_mode 435 ; ----------------------------------------- 000068 436 _model_set_mode: 437 ; src/model.c:37: if (mode > MODE_UART) return; 000068 E5 82 [12] 438 mov a,dpl 00006A FF [12] 439 mov r7,a 00006B 24 FD [12] 440 add a,#0xff - 0x02 00006D 50 01 [24] 441 jnc 00102$ 00006F 22 [24] 442 ret 000070 443 00102$: 444 ; src/model.c:38: s_mode = mode; 000070 8F*00 [24] 445 mov _s_mode,r7 446 ; src/model.c:39: eeprom_write(s_mode, s_channel, s_address); 000072 75*00r02 [24] 447 mov _eeprom_write_PARM_3,#_s_address 000075 75*01 00 [24] 448 mov (_eeprom_write_PARM_3 + 1),#0x00 000078 75*02 40 [24] 449 mov (_eeprom_write_PARM_3 + 2),#0x40 00007B 85*01*00 [24] 450 mov _eeprom_write_PARM_2,_s_channel 00007E 85*00 82 [24] 451 mov dpl,_s_mode 452 ; src/model.c:40: } 000081 02r00r00 [24] 453 ljmp _eeprom_write 454 ;------------------------------------------------------------ 455 ;Allocation info for local variables in function 'model_set_address' 456 ;------------------------------------------------------------ 457 ;addr Allocated to registers r5 r6 r7 458 ;------------------------------------------------------------ 459 ; src/model.c:42: void model_set_address(const uint8_t *addr) 460 ; ----------------------------------------- 461 ; function model_set_address 462 ; ----------------------------------------- 000084 463 _model_set_address: 000084 AD 82 [24] 464 mov r5,dpl 000086 AE 83 [24] 465 mov r6,dph 000088 AF F0 [24] 466 mov r7,b 467 ; src/model.c:44: memcpy(s_address, addr, 5); 00008A 8D*00 [24] 468 mov ___memcpy_PARM_2,r5 00008C 8E*01 [24] 469 mov (___memcpy_PARM_2 + 1),r6 00008E 8F*02 [24] 470 mov (___memcpy_PARM_2 + 2),r7 000090 75*00 05 [24] 471 mov ___memcpy_PARM_3,#0x05 000093 75*01 00 [24] 472 mov (___memcpy_PARM_3 + 1),#0x00 000096 90r00r02 [24] 473 mov dptr,#_s_address 000099 75 F0 40 [24] 474 mov b,#0x40 00009C 12r00r00 [24] 475 lcall ___memcpy 476 ; src/model.c:45: eeprom_write(s_mode, s_channel, s_address); 00009F 75*00r02 [24] 477 mov _eeprom_write_PARM_3,#_s_address 0000A2 75*01 00 [24] 478 mov (_eeprom_write_PARM_3 + 1),#0x00 0000A5 75*02 40 [24] 479 mov (_eeprom_write_PARM_3 + 2),#0x40 0000A8 85*01*00 [24] 480 mov _eeprom_write_PARM_2,_s_channel 0000AB 85*00 82 [24] 481 mov dpl,_s_mode 0000AE 12r00r00 [24] 482 lcall _eeprom_write 483 ; src/model.c:46: nrf24_set_address(s_address); 0000B1 90r00r02 [24] 484 mov dptr,#_s_address 0000B4 75 F0 40 [24] 485 mov b,#0x40 486 ; src/model.c:47: } 0000B7 02r00r00 [24] 487 ljmp _nrf24_set_address 488 ;------------------------------------------------------------ 489 ;Allocation info for local variables in function 'model_set_channel' 490 ;------------------------------------------------------------ 491 ;ch Allocated to registers r7 492 ;------------------------------------------------------------ 493 ; src/model.c:49: void model_set_channel(uint8_t ch) 494 ; ----------------------------------------- 495 ; function model_set_channel 496 ; ----------------------------------------- 0000BA 497 _model_set_channel: 498 ; src/model.c:51: if (ch > 125) return; 0000BA E5 82 [12] 499 mov a,dpl 0000BC FF [12] 500 mov r7,a 0000BD 24 82 [12] 501 add a,#0xff - 0x7d 0000BF 50 01 [24] 502 jnc 00102$ 0000C1 22 [24] 503 ret 0000C2 504 00102$: 505 ; src/model.c:52: s_channel = ch; 0000C2 8F*01 [24] 506 mov _s_channel,r7 507 ; src/model.c:53: eeprom_write(s_mode, s_channel, s_address); 0000C4 75*00r02 [24] 508 mov _eeprom_write_PARM_3,#_s_address 0000C7 75*01 00 [24] 509 mov (_eeprom_write_PARM_3 + 1),#0x00 0000CA 75*02 40 [24] 510 mov (_eeprom_write_PARM_3 + 2),#0x40 0000CD 85*01*00 [24] 511 mov _eeprom_write_PARM_2,_s_channel 0000D0 85*00 82 [24] 512 mov dpl,_s_mode 0000D3 C0 07 [24] 513 push ar7 0000D5 12r00r00 [24] 514 lcall _eeprom_write 0000D8 D0 07 [24] 515 pop ar7 516 ; src/model.c:54: nrf24_set_channel(ch); 0000DA 8F 82 [24] 517 mov dpl,r7 518 ; src/model.c:55: } 0000DC 02r00r00 [24] 519 ljmp _nrf24_set_channel 520 ;------------------------------------------------------------ 521 ;Allocation info for local variables in function 'model_apply' 522 ;------------------------------------------------------------ 523 ; src/model.c:57: void model_apply(void) 524 ; ----------------------------------------- 525 ; function model_apply 526 ; ----------------------------------------- 0000DF 527 _model_apply: 528 ; src/model.c:59: nrf24_set_address(s_address); 0000DF 90r00r02 [24] 529 mov dptr,#_s_address 0000E2 75 F0 40 [24] 530 mov b,#0x40 0000E5 12r00r00 [24] 531 lcall _nrf24_set_address 532 ; src/model.c:60: nrf24_set_channel(s_channel); 0000E8 85*01 82 [24] 533 mov dpl,_s_channel 534 ; src/model.c:61: } 0000EB 02r00r00 [24] 535 ljmp _nrf24_set_channel 536 .area CSEG (CODE) 537 .area CONST (CODE) 000000 538 _DEFAULT_ADDR: 000000 E7 539 .db #0xe7 ; 231 000001 E7 540 .db #0xe7 ; 231 000002 E7 541 .db #0xe7 ; 231 000003 E7 542 .db #0xe7 ; 231 000004 C2 543 .db #0xc2 ; 194 544 .area XINIT (CODE) 545 .area CABS (ABS,CODE)