1 " definition of pointer comparisons 2 " 3 name compare_ptrs 4 segdef compare_ptrs 5 " 6 bool ptr_mask_,460 7 bool unpk_to_pk_,560 8 bool aq,600000 9 equ arg1,1*4096 10 equ arg2,2*4096 11 equ arg3,3*4096 12 " 13 compare_ptrs: 14 switch 0,code 15 jump HH 16 jump HE 17 flipto HE really EH 18 EE: 19 switch 23,type2 20 jump EE_unpk 21 EE_pk: 22 switch 23,type3 23 jump EE_pk_unpk 24 EE_pk_pk: 25 if q3 26 cmpq arg2 27 ** 28 load arg2 29 cmpq arg3 30 ** 31 EE_pk_unpk: 32 load arg3 33 erase aq 34 tsx0 ap|unpk_to_pk_ 35 cmpq arg2 36 ** 37 EE_unpk: 38 switch 23,type3 39 jump EE_unpk_unpk 40 flipto EE_pk_unpk 41 EE_unpk_unpk: 42 if q3 43 flipto cp_ptr 44 ** 45 l1: load arg2 46 cp_ptr: 47 erase aq 48 eraq arg3 49 anaq ap|ptr_mask_ 50 ** 51 HE: 52 switch 23,type2 53 jump HE_unpk 54 HE_pk: 55 switch 23,type3 56 jump HE_pk_unpk 57 HE_pk_pk: 58 compile arg2 59 cmpq arg3 60 ** 61 HE_pk_unpk: 62 cplsave arg2 63 jump EE_pk_unpk 64 HE_unpk: 65 switch 23,type3 66 jump HE_unpk_unpk 67 HE_unpk_pk: 68 cplsave arg2 69 flipto EE_pk_unpk 70 HE_unpk_unpk: 71 cplsave arg2 72 jump l1 73 HH: 74 switch 23,type2 75 jump HH_unpk 76 HH_pk: 77 switch 23,type3 78 jump HH_pk_unpk 79 HH_pk_pk: 80 cplsave arg3 81 jump HE_pk_pk 82 HH_pk_unpk: 83 cplsave arg3 84 jump HE_pk_unpk 85 HH_unpk: 86 switch 23,type3 87 jump HH_unpk_unpk 88 HH_unpk_pk: 89 cplsave arg2 90 flipto HE_pk_unpk 91 HH_unpk_unpk: 92 cplsave arg3 93 jump HE_unpk_unpk 94 " 95 end