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