gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 ;-------------------------------------------------------- 00002 ; File Created by SDCC : FreeWare ANSI-C Compiler 00003 ; Version 2.2.2 Mon Dec 4 02:32:06 2000 00004 00005 ;-------------------------------------------------------- 00006 ; PIC port for the 14-bit core 00007 ;-------------------------------------------------------- 00008 ; .module compare 0000 00009 list p=16c84 000000 3FFB 00010 __config _wdt_off 00011 00001 00002 ;; 00003 ;; Include file for the p16c84 00004 ;; 00005 00006 ;----- register files------------------------------------------------------ 00007 00000000 00008 indf equ 0x0 00000001 00009 tmr0 equ 0x1 00000002 00010 pcl equ 0x2 00000003 00011 status equ 0x3 00000004 00012 fsr equ 0x4 00000005 00013 porta equ 0x5 00000006 00014 portb equ 0x6 00015 00000008 00016 eedata equ 0x8 00000009 00017 eeadr equ 0x9 0000000A 00018 pclath equ 0xa 0000000B 00019 intcon equ 0xb 00020 00000081 00021 option_reg equ 0x81 00000085 00022 trisa equ 0x85 00000086 00023 trisb equ 0x86 00000088 00024 eecon1 equ 0x88 00000089 00025 eecon2 equ 0x89 00026 00027 ;----- status bits -------------------------------------------------------- 00028 00000007 00029 irp equ 7 00000006 00030 rp1 equ 6 00000005 00031 rp0 equ 5 00000004 00032 not_to equ 4 00000004 00033 to equ 4 00000003 00034 not_pd equ 3 00000003 00035 pd equ 3 00000002 00036 z equ 2 00000001 00037 dc equ 1 00000000 00038 c equ 0 00039 00040 ;----- intcon bits -------------------------------------------------------- 00041 00000007 00042 gie equ 7 00000006 00043 eeie equ 6 00000005 00044 t0ie equ 5 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 2 00000004 00045 inte equ 4 00000003 00046 rbie equ 3 00000002 00047 t0if equ 2 00000001 00048 intf equ 1 00000000 00049 rbif equ 0 00050 00051 ;----- option bits -------------------------------------------------------- 00052 00000007 00053 not_rbpu equ 7 ; rbpu is active low, but it's confusing to 00000007 00054 rbpu equ 7 ; specify this so verbosely. 00000006 00055 intedg equ 6 00000005 00056 t0cs equ 5 00000004 00057 t0se equ 4 00000003 00058 psa equ 3 00000002 00059 ps2 equ 2 00000001 00060 ps1 equ 1 00000000 00061 ps0 equ 0 00062 00063 ;----- eecon1 bits -------------------------------------------------------- 00064 00000004 00065 eeif equ 4 00000003 00066 wrerr equ 3 00000002 00067 wren equ 2 00000001 00068 wr equ 1 00000000 00069 rd equ 0 00070 00071 00072 ; ram definition 00073 2007 00074 __maxram 0xaf 2007 00075 __badram 0x07, 0x30-0x7f, 0x87 00076 00077 ; configuration bits 00078 00003FEF 00079 _cp_on equ 0x3fef 00003FFF 00080 _cp_off equ 0x3fff 00003FFF 00081 _pwrte_on equ 0x3fff 00003FF7 00082 _pwrte_off equ 0x3ff7 00003FFF 00083 _wdt_on equ 0x3fff 00003FFB 00084 _wdt_off equ 0x3ffb 00003FFC 00085 _lp_osc equ 0x3ffc 00003FFD 00086 _xt_osc equ 0x3ffd 00003FFE 00087 _hs_osc equ 0x3ffe 00003FFF 00088 _rc_osc equ 0x3fff 00089 00012 include "p16c84.inc" 00013 ;-------------------------------------------------------- 00014 ; publics variables in this module 00015 ;-------------------------------------------------------- 00016 ; .globl _main 00017 ; .globl _compare_int_to_int2 00018 ; .globl _compare_int_to_int1 00019 ; .globl _compare_int_to_lits3 00020 ; .globl _compare_int_to_lits2 00021 ; .globl _compare_int_to_lits1 00022 ; .globl _compare_char_to_char2 00023 ; .globl _compare_char_to_char1 00024 ; .globl _compare_char_to_lits2 00025 ; .globl _compare_char_to_lits1 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 3 00026 ; .globl _done 00027 ; .globl _bit1 00028 ; .globl _bit0 00029 ; .globl _schar1 00030 ; .globl _schar0 00031 ; .globl _aint1 00032 ; .globl _aint0 00033 ; .globl _achar1 00034 ; .globl _achar0 00035 ; .globl _dummy 00036 ; .globl _failures 00037 ; .globl _success 00038 ;-------------------------------------------------------- 00039 ; special function registers 00040 ;-------------------------------------------------------- 00041 00042 00043 cblock 0x13 00044 00045 ;-------------------------------------------------------- 00046 ; special function bits 00047 ;-------------------------------------------------------- 00048 ;-------------------------------------------------------- 00049 ; internal ram data 00050 ;-------------------------------------------------------- 00051 ; .area DSEG (DATA) 00052 _success 00053 _failures 00054 _dummy 00055 _achar0 00056 _achar1 00057 _aint0 00058 _aint0_2 00059 _aint1 00060 _aint1_2 00061 _schar0 00062 _schar1 00063 ;-------------------------------------------------------- 00064 ; overlayable items in internal ram 00065 ;-------------------------------------------------------- 00066 ; .area OSEG (OVR,DATA) 00067 ;-------------------------------------------------------- 00068 ; bit data 00069 ;-------------------------------------------------------- 00070 ; .area BSEG (BIT) 00071 _bit0 00072 _bit1 00073 ;-------------------------------------------------------- 00074 ; Stack segment in internal ram 00075 ;-------------------------------------------------------- 00076 ; .area SSEG (DATA) 00077 ;__start__stack: 00078 ; .ds 1 00079 00080 ;-------------------------------------------------------- 00081 ; indirectly addressable internal ram data 00082 ;-------------------------------------------------------- 00083 ; .area ISEG (DATA) 00084 ;-------------------------------------------------------- gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 4 00085 ; external ram data 00086 ;-------------------------------------------------------- 00087 ; .area XSEG (XDATA) 00088 endc 0000 00089 ORG 0 00090 ;-------------------------------------------------------- 00091 ; interrupt vector 00092 ;-------------------------------------------------------- 00093 ; .area CSEG (CODE) 00094 ;__interrupt_vect: 00095 ; ljmp __sdcc_gsinit_startup 00096 ; reti 00097 ; .ds 7 00098 ; reti 00099 ; .ds 7 00100 ; reti 00101 ; .ds 7 00102 ; reti 00103 ; .ds 7 00104 ; reti 00105 ; .ds 7 00106 ; reti 00107 ; .ds 7 00108 ;-------------------------------------------------------- 00109 ; global & static initialisations 00110 ;-------------------------------------------------------- 00111 ; .area GSINIT (CODE) 00112 ; .area GSFINAL (CODE) 00113 ; .area GSINIT (CODE) 0000 00114 __sdcc_gsinit_startup: 00115 ; mov sp,#7 00116 ; lcall __sdcc_external_startup 00117 ; mov a,dpl 00118 ; jz __sdcc_init_data 00119 ; ljmp __sdcc_program_startup 00120 ;__sdcc_init_data: 00121 ;G_DS_main_DS_0_DS_0 8098 00122 ;ic 00123 ; compare.c 182 00124 ; *** resultRemat 2024 00125 ; *** genAssign 7524 0000 0193 00126 clrf _success 00127 ;G_DS_main_DS_0_DS_0 8098 00128 ;ic 00129 ; compare.c 182 00130 ; *** resultRemat 2024 00131 ; *** genAssign 7524 0001 0194 00132 clrf _failures 00133 ;G_DS_main_DS_0_DS_0 8098 00134 ;ic 00135 ; compare.c 182 00136 ; *** resultRemat 2024 00137 ; *** genAssign 7524 0002 0195 00138 clrf _dummy 00139 ;G_DS_main_DS_0_DS_0 8098 00140 ;ic 00141 ; compare.c 182 00142 ; *** resultRemat 2024 00143 ; *** genAssign 7524 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 5 0003 0196 00144 clrf _achar0 00145 ;G_DS_main_DS_0_DS_0 8098 00146 ;ic 00147 ; compare.c 182 00148 ; *** resultRemat 2024 00149 ; *** genAssign 7524 0004 0197 00150 clrf _achar1 00151 ;G_DS_main_DS_0_DS_0 8098 00152 ;ic 00153 ; compare.c 182 00154 ; *** resultRemat 2024 00155 ; *** genAssign 7524 0005 0199 00156 clrf (_aint0 + 1) 0006 0198 00157 clrf _aint0 00158 ;G_DS_main_DS_0_DS_0 8098 00159 ;ic 00160 ; compare.c 182 00161 ; *** resultRemat 2024 00162 ; *** genAssign 7524 0007 019B 00163 clrf (_aint1 + 1) 0008 019A 00164 clrf _aint1 00165 ;G_DS_main_DS_0_DS_0 8098 00166 ;ic 00167 ; compare.c 182 00168 ; *** resultRemat 2024 00169 ; *** genAssign 7524 0009 019C 00170 clrf _schar0 00171 ;G_DS_main_DS_0_DS_0 8098 00172 ;ic 00173 ; compare.c 182 00174 ; *** resultRemat 2024 00175 ; *** genAssign 7524 000A 019D 00176 clrf _schar1 00177 ;G_DS_main_DS_0_DS_0 8098 00178 ;ic 00179 ; compare.c 182 00180 ; *** resultRemat 2024 00181 ; *** genAssign 7524 000B 1303 00182 bcf (_bit0 >> 3),(_bit0 & 7) 00183 ;G_DS_main_DS_0_DS_0 8098 00184 ;ic 00185 ; compare.c 182 00186 ; *** resultRemat 2024 00187 ; *** genAssign 7524 000C 1383 00188 bcf (_bit1 >> 3),(_bit1 & 7) 00189 ; .area GSINIT (CODE) 00190 ; .area GSFINAL (CODE) 00191 ; ljmp __sdcc_program_startup 00192 ;-------------------------------------------------------- 00193 ; code 00194 ;-------------------------------------------------------- 00195 ; .area CSEG (CODE) 000D 00196 __sdcc_program_startup: 000D 2088 00197 call _main 00198 ; return from main will lock up 000E 280E 00199 goto $ 00200 ;G_DS_done_DS_0_DS_0 8098 00201 ;ic 00202 ; compare.c 27 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 6 00203 ; *** resultRemat 2024 00204 ; *** genLabel 2442 00205 ;ic 00206 ; *** resultRemat 2024 00207 ; *** genFunction 2071 00208 ; ----------------------------------------- 00209 ; function done 00210 ; ----------------------------------------- 000F 00211 _done: 00212 ;ic 00213 ; compare.c 30 00214 ; *** resultRemat 2024 00215 ; *** genPlus 2666 00216 ; *** getDataSize 1223 00217 ; *** genPlusIncr 2492 000F 0A95 00218 incf _dummy,f 00219 ;ic 00220 ; *** resultRemat 2024 00221 ; *** genLabel 2442 0010 00222 _00121_DS_: 00223 ;ic 00224 ; *** resultRemat 2024 00225 ; *** genEndFunction 2239 00226 ; C_DS_compare.c_DS_32_DS_1_DS_1 ==. 00227 ; XG_DS_done_DS_0_DS_0 ==. 0010 0008 00228 return 00229 ;G_DS_compare_char_to_lits1_DS_0_DS_0 8098 00230 ;ic 00231 ; compare.c 36 00232 ; *** resultRemat 2024 00233 ; *** genLabel 2442 00234 ;ic 00235 ; *** resultRemat 2024 00236 ; *** genFunction 2071 00237 ; ----------------------------------------- 00238 ; function compare_char_to_lits1 00239 ; ----------------------------------------- 0011 00240 _compare_char_to_lits1: 00241 ;ic 00242 ; compare.c 39 00243 ; *** resultRemat 2024 00244 ; *** genIfx 7384 00245 ; *** toBoolean 1283 0011 0816 00246 movf _achar0,w 00247 ; *** genIfxJump 3463 00248 ;ic 00249 ; compare.c 40 00250 ; *** resultRemat 2024 00251 ; *** genPlus 2666 00252 ; *** getDataSize 1223 00253 ; *** genPlusIncr 2492 00254 ;ic 00255 ; *** resultRemat 2024 00256 ; *** genLabel 2442 00257 ;peep 3 0012 1D03 00258 skpz 0013 0A94 00259 incf _failures,f 0014 00260 _00142_DS_: 00261 ;ic gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 7 00262 ; compare.c 42 00263 ; *** resultRemat 2024 00264 ; *** ifxForOp 4107 00265 ; *** genCmpEq 3841 00266 ; ifx is non-null 0014 0B16 00267 decfsz _achar0,w 0015 2817 00268 goto _00144_DS_ 00269 ;ic 00270 ; *** resultRemat 2024 00271 ;ic 00272 ; compare.c 43 00273 ; *** resultRemat 2024 00274 ; *** genPlus 2666 00275 ; *** getDataSize 1223 00276 ; *** genPlusIncr 2492 0016 0A94 00277 incf _failures,f 00278 ;ic 00279 ; *** resultRemat 2024 00280 ; *** genLabel 2442 0017 00281 _00144_DS_: 00282 ;ic 00283 ; compare.c 45 00284 ; *** resultRemat 2024 00285 ; *** ifxForOp 4107 00286 ; *** genCmpEq 3841 00287 ; ifx is non-null 0017 0816 00288 movf _achar0,w 0018 3A07 00289 xorlw 0x7 00290 ;ic 00291 ; *** resultRemat 2024 00292 ;ic 00293 ; compare.c 46 00294 ; *** resultRemat 2024 00295 ; *** genPlus 2666 00296 ; *** getDataSize 1223 00297 ; *** genPlusIncr 2492 00298 ;ic 00299 ; *** resultRemat 2024 00300 ; *** genLabel 2442 00301 ;peep 1 0019 1903 00302 skpnz 001A 0A94 00303 incf _failures,f 001B 00304 _00146_DS_: 00305 ;ic 00306 ; compare.c 48 00307 ; *** resultRemat 2024 00308 ; *** ifxForOp 4107 00309 ; *** genCmpEq 3841 00310 ; ifx is non-null 001B 0816 00311 movf _achar0,w 00312 ;ic 00313 ; *** resultRemat 2024 00314 ;ic 00315 ; compare.c 49 00316 ; *** resultRemat 2024 00317 ; *** genPlus 2666 00318 ; *** getDataSize 1223 00319 ; *** genPlusIncr 2492 00320 ;ic gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 8 00321 ; *** resultRemat 2024 00322 ; *** genLabel 2442 00323 ;peep 3 001C 1D03 00324 skpz 001D 0A94 00325 incf _failures,f 001E 00326 _00149_DS_: 00327 ;ic 00328 ; *** resultRemat 2024 00329 ; *** genEndFunction 2239 00330 ; C_DS_compare.c_DS_50_DS_1_DS_1 ==. 00331 ; XG_DS_compare_char_to_lits1_DS_0_DS_0 ==. 001E 0008 00332 return 00333 ;G_DS_compare_char_to_lits2_DS_0_DS_0 8098 00334 ;ic 00335 ; compare.c 53 00336 ; *** resultRemat 2024 00337 ; *** genLabel 2442 00338 ;ic 00339 ; *** resultRemat 2024 00340 ; *** genFunction 2071 00341 ; ----------------------------------------- 00342 ; function compare_char_to_lits2 00343 ; ----------------------------------------- 001F 00344 _compare_char_to_lits2: 00345 ;ic 00346 ; compare.c 56 00347 ; *** resultRemat 2024 00348 ; *** genIfx 7384 00349 ; *** toBoolean 1283 001F 0816 00350 movf _achar0,w 00351 ; *** genIfxJump 3463 00352 ;ic 00353 ; compare.c 57 00354 ; *** resultRemat 2024 00355 ; *** genPlus 2666 00356 ; *** getDataSize 1223 00357 ; *** genPlusIncr 2492 00358 ;ic 00359 ; *** resultRemat 2024 00360 ; *** genLabel 2442 00361 ;peep 1 0020 1903 00362 skpnz 0021 0A94 00363 incf _failures,f 0022 00364 _00162_DS_: 00365 ;ic 00366 ; compare.c 59 00367 ; *** resultRemat 2024 00368 ; *** ifxForOp 4107 00369 ; *** genCmpEq 3841 00370 ; ifx is non-null 0022 0B16 00371 decfsz _achar0,w 0023 2825 00372 goto _00164_DS_ 00373 ;ic 00374 ; *** resultRemat 2024 00375 ;ic 00376 ; compare.c 60 00377 ; *** resultRemat 2024 00378 ; *** genPlus 2666 00379 ; *** getDataSize 1223 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 9 00380 ; *** genPlusIncr 2492 0024 0A94 00381 incf _failures,f 00382 ;ic 00383 ; *** resultRemat 2024 00384 ; *** genLabel 2442 0025 00385 _00164_DS_: 00386 ;ic 00387 ; compare.c 62 00388 ; *** resultRemat 2024 00389 ; *** ifxForOp 4107 00390 ; *** genCmpEq 3841 00391 ; ifx is non-null 0025 0816 00392 movf _achar0,w 0026 3A07 00393 xorlw 0x7 00394 ;ic 00395 ; *** resultRemat 2024 00396 ;ic 00397 ; compare.c 63 00398 ; *** resultRemat 2024 00399 ; *** genPlus 2666 00400 ; *** getDataSize 1223 00401 ; *** genPlusIncr 2492 00402 ;ic 00403 ; *** resultRemat 2024 00404 ; *** genLabel 2442 00405 ;peep 1 0027 1903 00406 skpnz 0028 0A94 00407 incf _failures,f 0029 00408 _00166_DS_: 00409 ;ic 00410 ; compare.c 65 00411 ; *** resultRemat 2024 00412 ; *** ifxForOp 4107 00413 ; *** genCmpEq 3841 00414 ; ifx is non-null 0029 0816 00415 movf _achar0,w 002A 3A05 00416 xorlw 0x5 00417 ;ic 00418 ; *** resultRemat 2024 00419 ;ic 00420 ; compare.c 66 00421 ; *** resultRemat 2024 00422 ; *** genPlus 2666 00423 ; *** getDataSize 1223 00424 ; *** genPlusIncr 2492 00425 ;ic 00426 ; *** resultRemat 2024 00427 ; *** genLabel 2442 00428 ;peep 3 002B 1D03 00429 skpz 002C 0A94 00430 incf _failures,f 002D 00431 _00169_DS_: 00432 ;ic 00433 ; *** resultRemat 2024 00434 ; *** genEndFunction 2239 00435 ; C_DS_compare.c_DS_67_DS_1_DS_1 ==. 00436 ; XG_DS_compare_char_to_lits2_DS_0_DS_0 ==. 002D 0008 00437 return 00438 ;G_DS_compare_char_to_char1_DS_0_DS_0 8098 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 10 00439 ;ic 00440 ; compare.c 71 00441 ; *** resultRemat 2024 00442 ; *** genLabel 2442 00443 ;ic 00444 ; *** resultRemat 2024 00445 ; *** genFunction 2071 00446 ; ----------------------------------------- 00447 ; function compare_char_to_char1 00448 ; ----------------------------------------- 002E 00449 _compare_char_to_char1: 00450 ;ic 00451 ; compare.c 74 00452 ; *** resultRemat 2024 00453 ; *** ifxForOp 4107 00454 ; *** genCmpEq 3841 00455 ; ifx is non-null 002E 0816 00456 movf _achar0,w 002F 0617 00457 xorwf _achar1,w 00458 ;ic 00459 ; *** resultRemat 2024 00460 ;ic 00461 ; compare.c 75 00462 ; *** resultRemat 2024 00463 ; *** genPlus 2666 00464 ; *** getDataSize 1223 00465 ; *** genPlusIncr 2492 00466 ;ic 00467 ; *** resultRemat 2024 00468 ; *** genLabel 2442 00469 ;peep 3 0030 1D03 00470 skpz 0031 0A94 00471 incf _failures,f 0032 00472 _00182_DS_: 00473 ;ic 00474 ; compare.c 77 00475 ; *** resultRemat 2024 00476 ; *** ifxForOp 4107 00477 ; *** genCmpEq 3841 00478 ; ifx is non-null 0032 081C 00479 movf _schar0,w 0033 061D 00480 xorwf _schar1,w 00481 ;ic 00482 ; *** resultRemat 2024 00483 ;ic 00484 ; compare.c 78 00485 ; *** resultRemat 2024 00486 ; *** genPlus 2666 00487 ; *** getDataSize 1223 00488 ; *** genPlusIncr 2492 00489 ;ic 00490 ; *** resultRemat 2024 00491 ; *** genLabel 2442 00492 ;peep 3 0034 1D03 00493 skpz 0035 0A94 00494 incf _failures,f 0036 00495 _00185_DS_: 00496 ;ic 00497 ; *** resultRemat 2024 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 11 00498 ; *** genEndFunction 2239 00499 ; C_DS_compare.c_DS_79_DS_1_DS_1 ==. 00500 ; XG_DS_compare_char_to_char1_DS_0_DS_0 ==. 0036 0008 00501 return 00502 ;G_DS_compare_char_to_char2_DS_0_DS_0 8098 00503 ;ic 00504 ; compare.c 82 00505 ; *** resultRemat 2024 00506 ; *** genLabel 2442 00507 ;ic 00508 ; *** resultRemat 2024 00509 ; *** genFunction 2071 00510 ; ----------------------------------------- 00511 ; function compare_char_to_char2 00512 ; ----------------------------------------- 0037 00513 _compare_char_to_char2: 00514 ;ic 00515 ; compare.c 85 00516 ; *** resultRemat 2024 00517 ; *** ifxForOp 4107 00518 ; *** genCmpEq 3841 00519 ; ifx is non-null 0037 0816 00520 movf _achar0,w 0038 0617 00521 xorwf _achar1,w 00522 ;ic 00523 ; *** resultRemat 2024 00524 ;ic 00525 ; compare.c 86 00526 ; *** resultRemat 2024 00527 ; *** genPlus 2666 00528 ; *** getDataSize 1223 00529 ; *** genPlusIncr 2492 00530 ;ic 00531 ; *** resultRemat 2024 00532 ; *** genLabel 2442 00533 ;peep 1 0039 1903 00534 skpnz 003A 0A94 00535 incf _failures,f 003B 00536 _00203_DS_: 00537 ;ic 00538 ; *** resultRemat 2024 00539 ; *** genEndFunction 2239 00540 ; C_DS_compare.c_DS_88_DS_1_DS_1 ==. 00541 ; XG_DS_compare_char_to_char2_DS_0_DS_0 ==. 003B 0008 00542 return 00543 ;G_DS_compare_int_to_lits1_DS_0_DS_0 8098 00544 ;ic 00545 ; compare.c 92 00546 ; *** resultRemat 2024 00547 ; *** genLabel 2442 00548 ;ic 00549 ; *** resultRemat 2024 00550 ; *** genFunction 2071 00551 ; ----------------------------------------- 00552 ; function compare_int_to_lits1 00553 ; ----------------------------------------- 003C 00554 _compare_int_to_lits1: 00555 ;ic 00556 ; compare.c 95 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 12 00557 ; *** resultRemat 2024 00558 ; *** genIfx 7384 00559 ; *** toBoolean 1283 003C 0818 00560 movf _aint0,w 003D 0419 00561 iorwf (_aint0 + 1),w 00562 ; *** genIfxJump 3463 00563 ;ic 00564 ; compare.c 96 00565 ; *** resultRemat 2024 00566 ; *** genPlus 2666 00567 ; *** getDataSize 1223 00568 ; *** genPlusIncr 2492 00569 ;ic 00570 ; *** resultRemat 2024 00571 ; *** genLabel 2442 00572 ;peep 3 003E 1D03 00573 skpz 003F 0A94 00574 incf _failures,f 0040 00575 _00222_DS_: 00576 ;ic 00577 ; compare.c 98 00578 ; *** resultRemat 2024 00579 ; *** ifxForOp 4107 00580 ; *** genCmpEq 3841 00581 ; ifx is non-null 0040 0318 00582 decf _aint0,w 0041 0419 00583 iorwf (_aint0 + 1),w 00584 ;ic 00585 ; *** resultRemat 2024 00586 ;ic 00587 ; compare.c 99 00588 ; *** resultRemat 2024 00589 ; *** genPlus 2666 00590 ; *** getDataSize 1223 00591 ; *** genPlusIncr 2492 00592 ;ic 00593 ; *** resultRemat 2024 00594 ; *** genLabel 2442 00595 ;peep 1 0042 1903 00596 skpnz 0043 0A94 00597 incf _failures,f 0044 00598 _00224_DS_: 00599 ;ic 00600 ; compare.c 101 00601 ; *** resultRemat 2024 00602 ; *** ifxForOp 4107 00603 ; *** genCmpEq 3841 00604 ; ifx is non-null 0044 0818 00605 movf _aint0,w 0045 3A07 00606 xorlw 0x7 0046 0419 00607 iorwf (_aint0 + 1),w 00608 ;ic 00609 ; *** resultRemat 2024 00610 ;ic 00611 ; compare.c 102 00612 ; *** resultRemat 2024 00613 ; *** genPlus 2666 00614 ; *** getDataSize 1223 00615 ; *** genPlusIncr 2492 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 13 00616 ;ic 00617 ; *** resultRemat 2024 00618 ; *** genLabel 2442 00619 ;peep 1 0047 1903 00620 skpnz 0048 0A94 00621 incf _failures,f 0049 00622 _00226_DS_: 00623 ;ic 00624 ; compare.c 104 00625 ; *** resultRemat 2024 00626 ; *** ifxForOp 4107 00627 ; *** genCmpEq 3841 00628 ; ifx is non-null 0049 0818 00629 movf _aint0,w 004A 0419 00630 iorwf (_aint0 + 1),w 00631 ;ic 00632 ; *** resultRemat 2024 00633 ;ic 00634 ; compare.c 105 00635 ; *** resultRemat 2024 00636 ; *** genPlus 2666 00637 ; *** getDataSize 1223 00638 ; *** genPlusIncr 2492 00639 ;ic 00640 ; *** resultRemat 2024 00641 ; *** genLabel 2442 00642 ;peep 3 004B 1D03 00643 skpz 004C 0A94 00644 incf _failures,f 004D 00645 _00229_DS_: 00646 ;ic 00647 ; *** resultRemat 2024 00648 ; *** genEndFunction 2239 00649 ; C_DS_compare.c_DS_106_DS_1_DS_1 ==. 00650 ; XG_DS_compare_int_to_lits1_DS_0_DS_0 ==. 004D 0008 00651 return 00652 ;G_DS_compare_int_to_lits2_DS_0_DS_0 8098 00653 ;ic 00654 ; compare.c 109 00655 ; *** resultRemat 2024 00656 ; *** genLabel 2442 00657 ;ic 00658 ; *** resultRemat 2024 00659 ; *** genFunction 2071 00660 ; ----------------------------------------- 00661 ; function compare_int_to_lits2 00662 ; ----------------------------------------- 004E 00663 _compare_int_to_lits2: 00664 ;ic 00665 ; compare.c 112 00666 ; *** resultRemat 2024 00667 ; *** genIfx 7384 00668 ; *** toBoolean 1283 004E 0818 00669 movf _aint0,w 004F 0419 00670 iorwf (_aint0 + 1),w 00671 ; *** genIfxJump 3463 00672 ;ic 00673 ; compare.c 113 00674 ; *** resultRemat 2024 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 14 00675 ; *** genPlus 2666 00676 ; *** getDataSize 1223 00677 ; *** genPlusIncr 2492 00678 ;ic 00679 ; *** resultRemat 2024 00680 ; *** genLabel 2442 00681 ;peep 1 0050 1903 00682 skpnz 0051 0A94 00683 incf _failures,f 0052 00684 _00242_DS_: 00685 ;ic 00686 ; compare.c 115 00687 ; *** resultRemat 2024 00688 ; *** ifxForOp 4107 00689 ; *** genCmpEq 3841 00690 ; ifx is non-null 0052 0318 00691 decf _aint0,w 0053 0419 00692 iorwf (_aint0 + 1),w 00693 ;ic 00694 ; *** resultRemat 2024 00695 ;ic 00696 ; compare.c 116 00697 ; *** resultRemat 2024 00698 ; *** genPlus 2666 00699 ; *** getDataSize 1223 00700 ; *** genPlusIncr 2492 00701 ;ic 00702 ; *** resultRemat 2024 00703 ; *** genLabel 2442 00704 ;peep 1 0054 1903 00705 skpnz 0055 0A94 00706 incf _failures,f 0056 00707 _00244_DS_: 00708 ;ic 00709 ; compare.c 118 00710 ; *** resultRemat 2024 00711 ; *** ifxForOp 4107 00712 ; *** genCmpEq 3841 00713 ; ifx is non-null 0056 0818 00714 movf _aint0,w 0057 3A07 00715 xorlw 0x7 0058 0419 00716 iorwf (_aint0 + 1),w 00717 ;ic 00718 ; *** resultRemat 2024 00719 ;ic 00720 ; compare.c 119 00721 ; *** resultRemat 2024 00722 ; *** genPlus 2666 00723 ; *** getDataSize 1223 00724 ; *** genPlusIncr 2492 00725 ;ic 00726 ; *** resultRemat 2024 00727 ; *** genLabel 2442 00728 ;peep 1 0059 1903 00729 skpnz 005A 0A94 00730 incf _failures,f 005B 00731 _00246_DS_: 00732 ;ic 00733 ; compare.c 121 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 15 00734 ; *** resultRemat 2024 00735 ; *** ifxForOp 4107 00736 ; *** genCmpEq 3841 00737 ; ifx is non-null 005B 0818 00738 movf _aint0,w 005C 3A05 00739 xorlw 0x5 005D 0419 00740 iorwf (_aint0 + 1),w 00741 ;ic 00742 ; *** resultRemat 2024 00743 ;ic 00744 ; compare.c 122 00745 ; *** resultRemat 2024 00746 ; *** genPlus 2666 00747 ; *** getDataSize 1223 00748 ; *** genPlusIncr 2492 00749 ;ic 00750 ; *** resultRemat 2024 00751 ; *** genLabel 2442 00752 ;peep 3 005E 1D03 00753 skpz 005F 0A94 00754 incf _failures,f 0060 00755 _00249_DS_: 00756 ;ic 00757 ; *** resultRemat 2024 00758 ; *** genEndFunction 2239 00759 ; C_DS_compare.c_DS_123_DS_1_DS_1 ==. 00760 ; XG_DS_compare_int_to_lits2_DS_0_DS_0 ==. 0060 0008 00761 return 00762 ;G_DS_compare_int_to_lits3_DS_0_DS_0 8098 00763 ;ic 00764 ; compare.c 126 00765 ; *** resultRemat 2024 00766 ; *** genLabel 2442 00767 ;ic 00768 ; *** resultRemat 2024 00769 ; *** genFunction 2071 00770 ; ----------------------------------------- 00771 ; function compare_int_to_lits3 00772 ; ----------------------------------------- 0061 00773 _compare_int_to_lits3: 00774 ;ic 00775 ; compare.c 129 00776 ; *** resultRemat 2024 00777 ; *** genIfx 7384 00778 ; *** toBoolean 1283 0061 0818 00779 movf _aint0,w 0062 0419 00780 iorwf (_aint0 + 1),w 00781 ; *** genIfxJump 3463 00782 ;ic 00783 ; compare.c 130 00784 ; *** resultRemat 2024 00785 ; *** genPlus 2666 00786 ; *** getDataSize 1223 00787 ; *** genPlusIncr 2492 00788 ;ic 00789 ; *** resultRemat 2024 00790 ; *** genLabel 2442 00791 ;peep 1 0063 1903 00792 skpnz gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 16 0064 0A94 00793 incf _failures,f 0065 00794 _00262_DS_: 00795 ;ic 00796 ; compare.c 132 00797 ; *** resultRemat 2024 00798 ; *** ifxForOp 4107 00799 ; *** genCmpEq 3841 00800 ; ifx is non-null 0065 0318 00801 decf _aint0,w 0066 0419 00802 iorwf (_aint0 + 1),w 00803 ;ic 00804 ; *** resultRemat 2024 00805 ;ic 00806 ; compare.c 133 00807 ; *** resultRemat 2024 00808 ; *** genPlus 2666 00809 ; *** getDataSize 1223 00810 ; *** genPlusIncr 2492 00811 ;ic 00812 ; *** resultRemat 2024 00813 ; *** genLabel 2442 00814 ;peep 1 0067 1903 00815 skpnz 0068 0A94 00816 incf _failures,f 0069 00817 _00264_DS_: 00818 ;ic 00819 ; compare.c 135 00820 ; *** resultRemat 2024 00821 ; *** ifxForOp 4107 00822 ; *** genCmpEq 3841 00823 ; ifx is non-null 0069 0818 00824 movf _aint0,w 006A 3A07 00825 xorlw 0x7 006B 0419 00826 iorwf (_aint0 + 1),w 00827 ;ic 00828 ; *** resultRemat 2024 00829 ;ic 00830 ; compare.c 136 00831 ; *** resultRemat 2024 00832 ; *** genPlus 2666 00833 ; *** getDataSize 1223 00834 ; *** genPlusIncr 2492 00835 ;ic 00836 ; *** resultRemat 2024 00837 ; *** genLabel 2442 00838 ;peep 1 006C 1903 00839 skpnz 006D 0A94 00840 incf _failures,f 006E 00841 _00266_DS_: 00842 ;ic 00843 ; compare.c 138 00844 ; *** resultRemat 2024 00845 ; *** ifxForOp 4107 00846 ; *** genCmpEq 3841 00847 ; ifx is non-null 006E 0818 00848 movf _aint0,w 006F 3A34 00849 xorlw 0x34 0070 3012 00850 movlw 0x12 0071 1D03 00851 skpz gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 17 0072 0619 00852 xorwf (_aint0 + 1),w 00853 ;ic 00854 ; *** resultRemat 2024 00855 ;ic 00856 ; compare.c 139 00857 ; *** resultRemat 2024 00858 ; *** genPlus 2666 00859 ; *** getDataSize 1223 00860 ; *** genPlusIncr 2492 00861 ;ic 00862 ; *** resultRemat 2024 00863 ; *** genLabel 2442 00864 ;peep 3 0073 1D03 00865 skpz 0074 0A94 00866 incf _failures,f 0075 00867 _00269_DS_: 00868 ;ic 00869 ; *** resultRemat 2024 00870 ; *** genEndFunction 2239 00871 ; C_DS_compare.c_DS_140_DS_1_DS_1 ==. 00872 ; XG_DS_compare_int_to_lits3_DS_0_DS_0 ==. 0075 0008 00873 return 00874 ;G_DS_compare_int_to_int1_DS_0_DS_0 8098 00875 ;ic 00876 ; compare.c 143 00877 ; *** resultRemat 2024 00878 ; *** genLabel 2442 00879 ;ic 00880 ; *** resultRemat 2024 00881 ; *** genFunction 2071 00882 ; ----------------------------------------- 00883 ; function compare_int_to_int1 00884 ; ----------------------------------------- 0076 00885 _compare_int_to_int1: 00886 ;ic 00887 ; compare.c 146 00888 ; *** resultRemat 2024 00889 ; *** ifxForOp 4107 00890 ; *** genCmpEq 3841 00891 ; ifx is non-null 0076 0818 00892 movf _aint0,w 0077 061A 00893 xorwf _aint1,w 0078 1D03 00894 skpz 0079 287D 00895 goto _00106_DS_ 007A 0819 00896 movf (_aint0 + 1),w 007B 061B 00897 xorwf (_aint1 + 1),w 00898 ;ic 00899 ; *** resultRemat 2024 00900 ;ic 00901 ; compare.c 147 00902 ; *** resultRemat 2024 00903 ; *** genPlus 2666 00904 ; *** getDataSize 1223 00905 ; *** genPlusIncr 2492 00906 ;ic 00907 ; *** resultRemat 2024 00908 ; *** genLabel 2442 00909 ;peep 4 007C 1D03 00910 skpz gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 18 007D 00911 _00106_DS_: 007D 0A94 00912 incf _failures,f 007E 00913 _00283_DS_: 00914 ;ic 00915 ; *** resultRemat 2024 00916 ; *** genEndFunction 2239 00917 ; C_DS_compare.c_DS_149_DS_1_DS_1 ==. 00918 ; XG_DS_compare_int_to_int1_DS_0_DS_0 ==. 007E 0008 00919 return 00920 ;G_DS_compare_int_to_int2_DS_0_DS_0 8098 00921 ;ic 00922 ; compare.c 152 00923 ; *** resultRemat 2024 00924 ; *** genLabel 2442 00925 ;ic 00926 ; *** resultRemat 2024 00927 ; *** genFunction 2071 00928 ; ----------------------------------------- 00929 ; function compare_int_to_int2 00930 ; ----------------------------------------- 007F 00931 _compare_int_to_int2: 00932 ;ic 00933 ; compare.c 155 00934 ; *** resultRemat 2024 00935 ; *** ifxForOp 4107 00936 ; *** genCmpEq 3841 00937 ; ifx is non-null 007F 0818 00938 movf _aint0,w 0080 061A 00939 xorwf _aint1,w 0081 1D03 00940 skpz 0082 2887 00941 goto _00303_DS_ 0083 0819 00942 movf (_aint0 + 1),w 0084 061B 00943 xorwf (_aint1 + 1),w 00944 ;ic 00945 ; *** resultRemat 2024 00946 ;ic 00947 ; compare.c 156 00948 ; *** resultRemat 2024 00949 ; *** genPlus 2666 00950 ; *** getDataSize 1223 00951 ; *** genPlusIncr 2492 00952 ;ic 00953 ; *** resultRemat 2024 00954 ; *** genLabel 2442 00955 ;peep 1 0085 1903 00956 skpnz 0086 0A94 00957 incf _failures,f 0087 00958 _00303_DS_: 00959 ;ic 00960 ; *** resultRemat 2024 00961 ; *** genEndFunction 2239 00962 ; C_DS_compare.c_DS_158_DS_1_DS_1 ==. 00963 ; XG_DS_compare_int_to_int2_DS_0_DS_0 ==. 0087 0008 00964 return 00965 ;G_DS_main_DS_0_DS_0 8098 00966 ;ic 00967 ; compare.c 160 00968 ; *** resultRemat 2024 00969 ; *** genLabel 2442 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 19 00970 ;ic 00971 ; *** resultRemat 2024 00972 ; *** genFunction 2071 00973 ; ----------------------------------------- 00974 ; function main 00975 ; ----------------------------------------- 0088 00976 _main: 00977 ;ic 00978 ; compare.c 163 00979 ; *** resultRemat 2024 00980 ; *** genCall 1823 00981 ; *** saveRegisters 1474 0088 2011 00982 call _compare_char_to_lits1 00983 ; *** unsaveRegisters 1536 00984 ;ic 00985 ; compare.c 164 00986 ; *** resultRemat 2024 00987 ; *** genCall 1823 00988 ; *** saveRegisters 1474 0089 202E 00989 call _compare_char_to_char1 00990 ; *** unsaveRegisters 1536 00991 ;ic 00992 ; compare.c 165 00993 ; *** resultRemat 2024 00994 ; *** genAssign 7524 00995 ; 904 008A 3005 00996 movlw 0x05 008B 0096 00997 movwf _achar0 00998 ;ic 00999 ; compare.c 166 01000 ; *** resultRemat 2024 01001 ; *** genCall 1823 01002 ; *** saveRegisters 1474 008C 201F 01003 call _compare_char_to_lits2 01004 ; *** unsaveRegisters 1536 01005 ;ic 01006 ; compare.c 167 01007 ; *** resultRemat 2024 01008 ; *** genCall 1823 01009 ; *** saveRegisters 1474 008D 2037 01010 call _compare_char_to_char2 01011 ; *** unsaveRegisters 1536 01012 ;ic 01013 ; compare.c 170 01014 ; *** resultRemat 2024 01015 ; *** genCall 1823 01016 ; *** saveRegisters 1474 008E 203C 01017 call _compare_int_to_lits1 01018 ; *** unsaveRegisters 1536 01019 ;ic 01020 ; compare.c 171 01021 ; *** resultRemat 2024 01022 ; *** genAssign 7524 008F 0199 01023 clrf (_aint0 + 1) 01024 ; 904 0090 3005 01025 movlw 0x05 0091 0098 01026 movwf _aint0 01027 ;ic 01028 ; compare.c 172 gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 20 01029 ; *** resultRemat 2024 01030 ; *** genCall 1823 01031 ; *** saveRegisters 1474 0092 204E 01032 call _compare_int_to_lits2 01033 ; *** unsaveRegisters 1536 01034 ;ic 01035 ; compare.c 173 01036 ; *** resultRemat 2024 01037 ; *** genAssign 7524 01038 ; 904 0093 3034 01039 movlw 0x34 0094 0098 01040 movwf _aint0 01041 ; 904 0095 3012 01042 movlw 0x12 0096 0099 01043 movwf (_aint0 + 1) 01044 ;ic 01045 ; compare.c 174 01046 ; *** resultRemat 2024 01047 ; *** genCall 1823 01048 ; *** saveRegisters 1474 0097 2061 01049 call _compare_int_to_lits3 01050 ; *** unsaveRegisters 1536 01051 ;ic 01052 ; compare.c 175 01053 ; *** resultRemat 2024 01054 ; *** genCall 1823 01055 ; *** saveRegisters 1474 0098 207F 01056 call _compare_int_to_int2 01057 ; *** unsaveRegisters 1536 01058 ;ic 01059 ; compare.c 176 01060 ; *** resultRemat 2024 01061 ; *** genAssign 7524 0099 0199 01062 clrf (_aint0 + 1) 009A 0198 01063 clrf _aint0 01064 ;ic 01065 ; compare.c 177 01066 ; *** resultRemat 2024 01067 ; *** genCall 1823 01068 ; *** saveRegisters 1474 009B 2076 01069 call _compare_int_to_int1 01070 ; *** unsaveRegisters 1536 01071 ;ic 01072 ; compare.c 179 01073 ; *** resultRemat 2024 01074 ; *** genAssign 7524 009C 0814 01075 movf _failures,w 009D 0093 01076 movwf _success 01077 ;ic 01078 ; compare.c 180 01079 ; *** resultRemat 2024 01080 ; *** genCall 1823 01081 ; *** saveRegisters 1474 009E 200F 01082 call _done 01083 ; *** unsaveRegisters 1536 01084 ;ic 01085 ; *** resultRemat 2024 01086 ; *** genLabel 2442 009F 01087 _00321_DS_: gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 21 01088 ;ic 01089 ; *** resultRemat 2024 01090 ; *** genEndFunction 2239 01091 ; C_DS_compare.c_DS_181_DS_1_DS_1 ==. 01092 ; XG_DS_main_DS_0_DS_0 ==. 009F 0008 01093 return 01094 ; .area CSEG (CODE) gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 22 SYMBOL TABLE LABEL VALUE _00106_DS_ 0000007D _00121_DS_ 00000010 _00142_DS_ 00000014 _00144_DS_ 00000017 _00146_DS_ 0000001B _00149_DS_ 0000001E _00162_DS_ 00000022 _00164_DS_ 00000025 _00166_DS_ 00000029 _00169_DS_ 0000002D _00182_DS_ 00000032 _00185_DS_ 00000036 _00203_DS_ 0000003B _00222_DS_ 00000040 _00224_DS_ 00000044 _00226_DS_ 00000049 _00229_DS_ 0000004D _00242_DS_ 00000052 _00244_DS_ 00000056 _00246_DS_ 0000005B _00249_DS_ 00000060 _00262_DS_ 00000065 _00264_DS_ 00000069 _00266_DS_ 0000006E _00269_DS_ 00000075 _00283_DS_ 0000007E _00303_DS_ 00000087 _00321_DS_ 0000009F __sdcc_gsinit_startup 00000000 __sdcc_program_startup 0000000D _achar0 00000016 _achar1 00000017 _aint0 00000018 _aint0_2 00000019 _aint1 0000001A _aint1_2 0000001B _bit0 0000001E _bit1 0000001F _compare_char_to_char1 0000002E _compare_char_to_char2 00000037 _compare_char_to_lits1 00000011 _compare_char_to_lits2 0000001F _compare_int_to_int1 00000076 _compare_int_to_int2 0000007F _compare_int_to_lits1 0000003C _compare_int_to_lits2 0000004E _compare_int_to_lits3 00000061 _cp_off 00003FFF _cp_on 00003FEF _done 0000000F _dummy 00000015 _failures 00000014 _hs_osc 00003FFE _lp_osc 00003FFC gpasm-0.8.9 alpha compare.asm 12-4-2000 02:32:06 PAGE 23 _main 00000088 _pwrte_off 00003FF7 _pwrte_on 00003FFF _rc_osc 00003FFF _schar0 0000001C _schar1 0000001D _success 00000013 _wdt_off 00003FFB _wdt_on 00003FFF _xt_osc 00003FFD c 00000000 dc 00000001 eeadr 00000009 eecon1 00000088 eecon2 00000089 eedata 00000008 eeie 00000006 eeif 00000004 fsr 00000004 gie 00000007 indf 00000000 intcon 0000000B inte 00000004 intedg 00000006 intf 00000001 irp 00000007 not_pd 00000003 not_rbpu 00000007 not_to 00000004 option_reg 00000081 pcl 00000002 pclath 0000000A pd 00000003 porta 00000005 portb 00000006 ps0 00000000 ps1 00000001 ps2 00000002 psa 00000003 rbie 00000003 rbif 00000000 rbpu 00000007 rd 00000000 rp0 00000005 rp1 00000006 status 00000003 t0cs 00000005 t0ie 00000005 t0if 00000002 t0se 00000004 tmr0 00000001 to 00000004 trisa 00000085 trisb 00000086 wr 00000001 wren 00000002 wrerr 00000003 z 00000002 Errors : 0 Warnings : 0 Messages : 0