GAS LISTING /tmp/ccqXEnet.s 			page 1


   1              		.file	"armor.c"
   2              		.text
   3              	.Ltext0:
   4              		.globl	main
   6              	main:
   7              	.LFB0:
   8              		.file 1 "armor.c"
   1:armor.c       ****       //        ORG   $0000
   2:armor.c       ****       //        FCC   "g GCE 1982"
   3:armor.c       ****       //        FDB   $80
   4:armor.c       ****       //        FDB   music3
   5:armor.c       ****       //        FCB   $F8, $50               ; h,w of raster image
   6:armor.c       ****       //        FCB   $20, $C0               ; y,x of raster image
   7:armor.c       ****       //        FCC   "ARMOR ATTACK"
   8:armor.c       ****       //        FDB   $80
   9:armor.c       ****       #include <stdint.h>
  10:armor.c       ****       int main(int argc, char **argv) {
   9              		.loc 1 10 0
  10              		.cfi_startproc
  11 0000 8D4C2404 		leal	4(%esp), %ecx
  12              		.cfi_def_cfa 1, 0
  13 0004 83E4F0   		andl	$-16, %esp
  14 0007 FF71FC   		pushl	-4(%ecx)
  15 000a 55       		pushl	%ebp
  16              		.cfi_escape 0x10,0x5,0x2,0x75,0
  17 000b 89E5     		movl	%esp, %ebp
  18 000d 51       		pushl	%ecx
  19              		.cfi_escape 0xf,0x3,0x75,0x7c,0x6
  20 000e 81EC5400 		subl	$65620, %esp
  20      0100
  21 0014 E8FCFFFF 		call	__x86.get_pc_thunk.ax
  21      FF
  22 0019 05010000 		addl	$_GLOBAL_OFFSET_TABLE_, %eax
  22      00
  23 001e 89C8     		movl	%ecx, %eax
  24 0020 8B4004   		movl	4(%eax), %eax
  25 0023 8985B4FF 		movl	%eax, -65612(%ebp)
  25      FEFF
  26              		.loc 1 10 0
  27 0029 65A11400 		movl	%gs:20, %eax
  27      0000
  28 002f 8945F4   		movl	%eax, -12(%ebp)
  29 0032 31C0     		xorl	%eax, %eax
  11:armor.c       ****         typedef uint32_t UINT32;
  12:armor.c       ****         typedef int32_t  SINT32;
  13:armor.c       ****         typedef uint16_t UINT16;
  14:armor.c       ****         typedef int16_t  SINT16;
  15:armor.c       ****         typedef uint8_t  UINT8;
  16:armor.c       ****         typedef int8_t   SINT8;
  17:armor.c       ****       
  18:armor.c       ****         UINT8 memory[0x10000], *memory_DP = &memory[0xD000];
  30              		.loc 1 18 0
  31 0034 8D85F4FF 		leal	-65548(%ebp), %eax
  31      FEFF
  32 003a 0500D000 		addl	$53248, %eax
  32      00
  33 003f 8985DCFF 		movl	%eax, -65572(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 2


  33      FEFF
  19:armor.c       ****       
  20:armor.c       ****         // Modify this header to suit your target...
  21:armor.c       ****         SINT32 res, A, B, D, C;
  22:armor.c       ****         UINT16 PC, X, Y, S, U, Z, DP = 0xD0, arg, ea, msn, lsn, val;
  34              		.loc 1 22 0
  35 0045 66C785C4 		movw	$208, -65596(%ebp)
  35      FFFEFFD0 
  35      00
  36              	.L2:
  23:armor.c       ****         UINT8  N, H, V, CC;
  24:armor.c       ****       
  25:armor.c       ****       #define JUMP do {} while (0)
  26:armor.c       ****       
  27:armor.c       ****       L001F://        LDX   #$C880                  ; 001F: 8E C8 80      
  28:armor.c       ****       X = 0xc880;
  37              		.loc 1 28 0
  38 004e 66C785C6 		movw	$-14208, -65594(%ebp)
  38      FFFEFF80 
  38      C8
  29:armor.c       ****   //  Z = X;
  30:armor.c       ****   //  N = (X) >> 8;
  31:armor.c       ****   //  V = 0;
  32:armor.c       ****       
  33:armor.c       ****             //        LDD   #$0280                  ; 0022: CC 02 80      
  34:armor.c       ****       A = (UINT8)((0x0280) >> 8);
  39              		.loc 1 34 0
  40 0057 C785E0FF 		movl	$2, -65568(%ebp)
  40      FEFF0200 
  40      0000
  35:armor.c       ****       B = (UINT8)((0x0280) & 0xff);
  41              		.loc 1 35 0
  42 0061 C785E4FF 		movl	$128, -65564(%ebp)
  42      FEFF8000 
  42      0000
  36:armor.c       ****   //  Z = A|B;
  37:armor.c       ****   //  N = A;
  38:armor.c       ****   //  V = 0;
  39:armor.c       ****       
  40:armor.c       ****             //        JSR   Clear_x_d               ; 0025: BD F5 48      
  41:armor.c       ****       memory[--S] = 0x0028 & 0xff; memory[--S] = 0x0028 >> 8;
  43              		.loc 1 41 0
  44 006b 6683ADC8 		subw	$1, -65592(%ebp)
  44      FFFEFF01 
  45 0073 0FB785C8 		movzwl	-65592(%ebp), %eax
  45      FFFEFF
  46 007a C68405F4 		movb	$40, -65548(%ebp,%eax)
  46      FFFEFF28 
  47 0082 6683ADC8 		subw	$1, -65592(%ebp)
  47      FFFEFF01 
  48 008a 0FB785C8 		movzwl	-65592(%ebp), %eax
  48      FFFEFF
  49 0091 C68405F4 		movb	$0, -65548(%ebp,%eax)
  49      FFFEFF00 
  42:armor.c       ****       PC = 0xf548;
  50              		.loc 1 42 0
  51 0099 66C785CA 		movw	$-2744, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 3


  51      FFFEFF48 
  51      F5
  52              	.L3:
  43:armor.c       ****       JUMP;
  44:armor.c       ****       
  45:armor.c       ****       L0028://        LDD   #$0203                  ; 0028: CC 02 03      
  46:armor.c       ****       A = (UINT8)((0x0203) >> 8);
  53              		.loc 1 46 0
  54 00a2 C785E0FF 		movl	$2, -65568(%ebp)
  54      FEFF0200 
  54      0000
  47:armor.c       ****       B = (UINT8)((0x0203) & 0xff);
  55              		.loc 1 47 0
  56 00ac C785E4FF 		movl	$3, -65564(%ebp)
  56      FEFF0300 
  56      0000
  48:armor.c       ****   //  Z = A|B;
  49:armor.c       ****   //  N = A;
  50:armor.c       ****   //  V = 0;
  51:armor.c       ****       
  52:armor.c       ****             //        JSR   Select_Game             ; 002B: BD F7 A9      
  53:armor.c       ****       memory[--S] = 0x002e & 0xff; memory[--S] = 0x002e >> 8;
  57              		.loc 1 53 0
  58 00b6 6683ADC8 		subw	$1, -65592(%ebp)
  58      FFFEFF01 
  59 00be 0FB785C8 		movzwl	-65592(%ebp), %eax
  59      FFFEFF
  60 00c5 C68405F4 		movb	$46, -65548(%ebp,%eax)
  60      FFFEFF2E 
  61 00cd 6683ADC8 		subw	$1, -65592(%ebp)
  61      FFFEFF01 
  62 00d5 0FB785C8 		movzwl	-65592(%ebp), %eax
  62      FFFEFF
  63 00dc C68405F4 		movb	$0, -65548(%ebp,%eax)
  63      FFFEFF00 
  54:armor.c       ****       PC = 0xf7a9;
  64              		.loc 1 54 0
  65 00e4 66C785CA 		movw	$-2135, -65590(%ebp)
  65      FFFEFFA9 
  65      F7
  55:armor.c       ****       JUMP;
  56:armor.c       ****       DP = 0xc8 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
  66              		.loc 1 56 0
  67 00ed 66C785C4 		movw	$-14336, -65596(%ebp)
  67      FFFEFF00 
  67      C8
  68 00f6 0FB785C4 		movzwl	-65596(%ebp), %eax
  68      FFFEFF
  69 00fd 8D95F4FF 		leal	-65548(%ebp), %edx
  69      FEFF
  70 0103 01D0     		addl	%edx, %eax
  71 0105 8985DCFF 		movl	%eax, -65572(%ebp)
  71      FEFF
  72              	.L4:
  57:armor.c       ****       
  58:armor.c       ****       L002E://        JSR   DP_to_C8                ; 002E: BD F1 AF      
  59:armor.c       ****       memory[--S] = 0x0031 & 0xff; memory[--S] = 0x0031 >> 8;
GAS LISTING /tmp/ccqXEnet.s 			page 4


  73              		.loc 1 59 0
  74 010b 6683ADC8 		subw	$1, -65592(%ebp)
  74      FFFEFF01 
  75 0113 0FB785C8 		movzwl	-65592(%ebp), %eax
  75      FFFEFF
  76 011a C68405F4 		movb	$49, -65548(%ebp,%eax)
  76      FFFEFF31 
  77 0122 6683ADC8 		subw	$1, -65592(%ebp)
  77      FFFEFF01 
  78 012a 0FB785C8 		movzwl	-65592(%ebp), %eax
  78      FFFEFF
  79 0131 C68405F4 		movb	$0, -65548(%ebp,%eax)
  79      FFFEFF00 
  60:armor.c       ****       PC = 0xf1af;
  80              		.loc 1 60 0
  81 0139 66C785CA 		movw	$-3665, -65590(%ebp)
  81      FFFEFFAF 
  81      F1
  61:armor.c       ****       JUMP;
  62:armor.c       ****       DP = 0xc8 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
  82              		.loc 1 62 0
  83 0142 66C785C4 		movw	$-14336, -65596(%ebp)
  83      FFFEFF00 
  83      C8
  84 014b 0FB785C4 		movzwl	-65596(%ebp), %eax
  84      FFFEFF
  85 0152 8D95F4FF 		leal	-65548(%ebp), %edx
  85      FEFF
  86 0158 01D0     		addl	%edx, %eax
  87 015a 8985DCFF 		movl	%eax, -65572(%ebp)
  87      FEFF
  88              	.L5:
  63:armor.c       ****       
  64:armor.c       ****       L0031://        LDA   #$FF                    ; 0031: 86 FF         
  65:armor.c       ****       A = (SINT8)0xff;
  89              		.loc 1 65 0
  90 0160 C785E0FF 		movl	$-1, -65568(%ebp)
  90      FEFFFFFF 
  90      FFFF
  66:armor.c       ****   //  N = A;
  67:armor.c       ****   //  Z = A;
  68:armor.c       ****   //  V = 0;
  69:armor.c       ****       
  70:armor.c       ****             //        STA   <$29                    ; 0033: 97 29         
  71:armor.c       ****   //  Z = A;
  72:armor.c       ****   //  N = A;
  73:armor.c       ****   //  V = 0;
  74:armor.c       ****       memory_DP[0x29] = A;
  91              		.loc 1 74 0
  92 016a 8B85DCFF 		movl	-65572(%ebp), %eax
  92      FEFF
  93 0170 83C029   		addl	$41, %eax
  94 0173 8B95E0FF 		movl	-65568(%ebp), %edx
  94      FEFF
  95 0179 8810     		movb	%dl, (%eax)
  75:armor.c       ****       
  76:armor.c       ****             //        LDB   #$BB                    ; 0035: C6 BB         
GAS LISTING /tmp/ccqXEnet.s 			page 5


  77:armor.c       ****       B = (SINT8)0xbb;
  96              		.loc 1 77 0
  97 017b C785E4FF 		movl	$-69, -65564(%ebp)
  97      FEFFBBFF 
  97      FFFF
  78:armor.c       ****   //  N = B;
  79:armor.c       ****   //  Z = B;
  80:armor.c       ****   //  V = 0;
  81:armor.c       ****       
  82:armor.c       ****             //        LDA   <$7A                    ; 0037: 96 7A         
  83:armor.c       ****       A = memory_DP[0x7a];
  98              		.loc 1 83 0
  99 0185 8B85DCFF 		movl	-65572(%ebp), %eax
  99      FEFF
 100 018b 83C07A   		addl	$122, %eax
 101 018e 0FB600   		movzbl	(%eax), %eax
 102 0191 0FB6C0   		movzbl	%al, %eax
 103 0194 8985E0FF 		movl	%eax, -65568(%ebp)
 103      FEFF
  84:armor.c       ****   //  N = A;
  85:armor.c       ****   //  Z = A;
  86:armor.c       ****   //  V = 0;
  87:armor.c       ****       
  88:armor.c       ****             //        CMPA  #$01                    ; 0039: 81 01         
  89:armor.c       ****       res = A - (SINT8)0x01;
 104              		.loc 1 89 0
 105 019a 8B85E0FF 		movl	-65568(%ebp), %eax
 105      FEFF
 106 01a0 83E801   		subl	$1, %eax
 107 01a3 8985E8FF 		movl	%eax, -65560(%ebp)
 107      FEFF
  90:armor.c       ****   //  C = res & 0x100;
  91:armor.c       ****       res = (UINT8)res;
 108              		.loc 1 91 0
 109 01a9 8B85E8FF 		movl	-65560(%ebp), %eax
 109      FEFF
 110 01af 0FB6C0   		movzbl	%al, %eax
 111 01b2 8985E8FF 		movl	%eax, -65560(%ebp)
 111      FEFF
  92:armor.c       ****       Z = res;
 112              		.loc 1 92 0
 113 01b8 8B85E8FF 		movl	-65560(%ebp), %eax
 113      FEFF
 114 01be 668985CC 		movw	%ax, -65588(%ebp)
 114      FFFEFF
  93:armor.c       ****   //  N = res;
  94:armor.c       ****   //  V = (A ^ (SINT8)0x01) & (A ^ res);
  95:armor.c       ****       
  96:armor.c       ****             //        BEQ   $45                     ; 003B: 27 08         
  97:armor.c       ****       if (!Z) {
 115              		.loc 1 97 0
 116 01c5 6683BDCC 		cmpw	$0, -65588(%ebp)
 116      FFFEFF00 
 117 01cd 7509     		jne	.L6
  98:armor.c       ****       PC = 0x0045;
 118              		.loc 1 98 0
 119 01cf 66C785CA 		movw	$69, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 6


 119      FFFEFF45 
 119      00
 120              	.L6:
  99:armor.c       ****       JUMP;
 100:armor.c       ****       }
 101:armor.c       ****       
 102:armor.c       ****             //        LDB   #$88                    ; 003D: C6 88         
 103:armor.c       ****       B = (SINT8)0x88;
 121              		.loc 1 103 0
 122 01d8 C785E4FF 		movl	$-120, -65564(%ebp)
 122      FEFF88FF 
 122      FFFF
 104:armor.c       ****   //  N = B;
 105:armor.c       ****   //  Z = B;
 106:armor.c       ****   //  V = 0;
 107:armor.c       ****       
 108:armor.c       ****             //        CMPA  #$02                    ; 003F: 81 02         
 109:armor.c       ****       res = A - (SINT8)0x02;
 123              		.loc 1 109 0
 124 01e2 8B85E0FF 		movl	-65568(%ebp), %eax
 124      FEFF
 125 01e8 83E802   		subl	$2, %eax
 126 01eb 8985E8FF 		movl	%eax, -65560(%ebp)
 126      FEFF
 110:armor.c       ****   //  C = res & 0x100;
 111:armor.c       ****       res = (UINT8)res;
 127              		.loc 1 111 0
 128 01f1 8B85E8FF 		movl	-65560(%ebp), %eax
 128      FEFF
 129 01f7 0FB6C0   		movzbl	%al, %eax
 130 01fa 8985E8FF 		movl	%eax, -65560(%ebp)
 130      FEFF
 112:armor.c       ****       Z = res;
 131              		.loc 1 112 0
 132 0200 8B85E8FF 		movl	-65560(%ebp), %eax
 132      FEFF
 133 0206 668985CC 		movw	%ax, -65588(%ebp)
 133      FFFEFF
 113:armor.c       ****   //  N = res;
 114:armor.c       ****   //  V = (A ^ (SINT8)0x02) & (A ^ res);
 115:armor.c       ****       
 116:armor.c       ****             //        BEQ   $45                     ; 0041: 27 02         
 117:armor.c       ****       if (!Z) {
 134              		.loc 1 117 0
 135 020d 6683BDCC 		cmpw	$0, -65588(%ebp)
 135      FFFEFF00 
 136 0215 7509     		jne	.L7
 118:armor.c       ****       PC = 0x0045;
 137              		.loc 1 118 0
 138 0217 66C785CA 		movw	$69, -65590(%ebp)
 138      FFFEFF45 
 138      00
 139              	.L7:
 119:armor.c       ****       JUMP;
 120:armor.c       ****       }
 121:armor.c       ****       
 122:armor.c       ****             //        INC   <$29                    ; 0043: 0C 29         
GAS LISTING /tmp/ccqXEnet.s 			page 7


 123:armor.c       ****       res = (UINT8)((memory_DP[0x29]) + 1);
 140              		.loc 1 123 0
 141 0220 8B85DCFF 		movl	-65572(%ebp), %eax
 141      FEFF
 142 0226 83C029   		addl	$41, %eax
 143 0229 0FB600   		movzbl	(%eax), %eax
 144 022c 83C001   		addl	$1, %eax
 145 022f 0FB6C0   		movzbl	%al, %eax
 146 0232 8985E8FF 		movl	%eax, -65560(%ebp)
 146      FEFF
 124:armor.c       ****   //  Z = res;
 125:armor.c       ****   //  N = res;
 126:armor.c       ****   //  V = res & ~(memory_DP[0x29]);
 127:armor.c       ****       memory_DP[0x29] = res;
 147              		.loc 1 127 0
 148 0238 8B85DCFF 		movl	-65572(%ebp), %eax
 148      FEFF
 149 023e 83C029   		addl	$41, %eax
 150 0241 8B95E8FF 		movl	-65560(%ebp), %edx
 150      FEFF
 151 0247 8810     		movb	%dl, (%eax)
 152              	.L8:
 128:armor.c       ****       
 129:armor.c       ****       L0045://        STB   <$F0                    ; 0045: D7 F0         
 130:armor.c       ****   //  Z = B;
 131:armor.c       ****   //  N = B;
 132:armor.c       ****   //  V = 0;
 133:armor.c       ****       memory_DP[0xf0] = B;
 153              		.loc 1 133 0
 154 0249 8B85DCFF 		movl	-65572(%ebp), %eax
 154      FEFF
 155 024f 05F00000 		addl	$240, %eax
 155      00
 156 0254 8B95E4FF 		movl	-65564(%ebp), %edx
 156      FEFF
 157 025a 8810     		movb	%dl, (%eax)
 134:armor.c       ****       
 135:armor.c       ****             //        CLR   <$20                    ; 0047: 0F 20         
 136:armor.c       ****       memory_DP[0x20] = 0;
 158              		.loc 1 136 0
 159 025c 8B85DCFF 		movl	-65572(%ebp), %eax
 159      FEFF
 160 0262 83C020   		addl	$32, %eax
 161 0265 C60000   		movb	$0, (%eax)
 137:armor.c       ****   //  V = 0;
 138:armor.c       ****   //  Z = 0;
 139:armor.c       ****   //  N = 0;
 140:armor.c       ****   //  C = 0;
 141:armor.c       ****       
 142:armor.c       ****             //        CLR   <$22                    ; 0049: 0F 22         
 143:armor.c       ****       memory_DP[0x22] = 0;
 162              		.loc 1 143 0
 163 0268 8B85DCFF 		movl	-65572(%ebp), %eax
 163      FEFF
 164 026e 83C022   		addl	$34, %eax
 165 0271 C60000   		movb	$0, (%eax)
 144:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 8


 145:armor.c       ****   //  Z = 0;
 146:armor.c       ****   //  N = 0;
 147:armor.c       ****   //  C = 0;
 148:armor.c       ****       
 149:armor.c       ****             //        LDD   #$7F7F                  ; 004B: CC 7F 7F      
 150:armor.c       ****       A = (UINT8)((0x7f7f) >> 8);
 166              		.loc 1 150 0
 167 0274 C785E0FF 		movl	$127, -65568(%ebp)
 167      FEFF7F00 
 167      0000
 151:armor.c       ****       B = (UINT8)((0x7f7f) & 0xff);
 168              		.loc 1 151 0
 169 027e C785E4FF 		movl	$127, -65564(%ebp)
 169      FEFF7F00 
 169      0000
 152:armor.c       ****   //  Z = A|B;
 153:armor.c       ****   //  N = A;
 154:armor.c       ****   //  V = 0;
 155:armor.c       ****       
 156:armor.c       ****             //        STD   <$C9                    ; 004E: DD C9         
 157:armor.c       ****   //  Z = A | B;
 158:armor.c       ****   //  N = A;
 159:armor.c       ****   //  V = 0;
 160:armor.c       ****       memory_DP[0xc9] = A;
 170              		.loc 1 160 0
 171 0288 8B85DCFF 		movl	-65572(%ebp), %eax
 171      FEFF
 172 028e 05C90000 		addl	$201, %eax
 172      00
 173 0293 8B95E0FF 		movl	-65568(%ebp), %edx
 173      FEFF
 174 0299 8810     		movb	%dl, (%eax)
 161:armor.c       ****       memory_DP[0xc9 + 1] = B;
 175              		.loc 1 161 0
 176 029b 8B85DCFF 		movl	-65572(%ebp), %eax
 176      FEFF
 177 02a1 05CA0000 		addl	$202, %eax
 177      00
 178 02a6 8B95E4FF 		movl	-65564(%ebp), %edx
 178      FEFF
 179 02ac 8810     		movb	%dl, (%eax)
 180              	.L9:
 162:armor.c       ****       
 163:armor.c       ****       L0050://        LDA   <$79                    ; 0050: 96 79         
 164:armor.c       ****       A = memory_DP[0x79];
 181              		.loc 1 164 0
 182 02ae 8B85DCFF 		movl	-65572(%ebp), %eax
 182      FEFF
 183 02b4 83C079   		addl	$121, %eax
 184 02b7 0FB600   		movzbl	(%eax), %eax
 185 02ba 0FB6C0   		movzbl	%al, %eax
 186 02bd 8985E0FF 		movl	%eax, -65568(%ebp)
 186      FEFF
 165:armor.c       ****   //  N = A;
 166:armor.c       ****   //  Z = A;
 167:armor.c       ****   //  V = 0;
 168:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 9


 169:armor.c       ****             //        STA   <$C8                    ; 0052: 97 C8         
 170:armor.c       ****   //  Z = A;
 171:armor.c       ****   //  N = A;
 172:armor.c       ****   //  V = 0;
 173:armor.c       ****       memory_DP[0xc8] = A;
 187              		.loc 1 173 0
 188 02c3 8B85DCFF 		movl	-65572(%ebp), %eax
 188      FEFF
 189 02c9 05C80000 		addl	$200, %eax
 189      00
 190 02ce 8B95E0FF 		movl	-65568(%ebp), %edx
 190      FEFF
 191 02d4 8810     		movb	%dl, (%eax)
 174:armor.c       ****       
 175:armor.c       ****             //        CLR   <$87                    ; 0054: 0F 87         
 176:armor.c       ****       memory_DP[0x87] = 0;
 192              		.loc 1 176 0
 193 02d6 8B85DCFF 		movl	-65572(%ebp), %eax
 193      FEFF
 194 02dc 05870000 		addl	$135, %eax
 194      00
 195 02e1 C60000   		movb	$0, (%eax)
 177:armor.c       ****   //  V = 0;
 178:armor.c       ****   //  Z = 0;
 179:armor.c       ****   //  N = 0;
 180:armor.c       ****   //  C = 0;
 181:armor.c       ****       
 182:armor.c       ****             //        LDA   #$10                    ; 0056: 86 10         
 183:armor.c       ****       A = (SINT8)0x10;
 196              		.loc 1 183 0
 197 02e4 C785E0FF 		movl	$16, -65568(%ebp)
 197      FEFF1000 
 197      0000
 184:armor.c       ****   //  N = A;
 185:armor.c       ****   //  Z = A;
 186:armor.c       ****   //  V = 0;
 187:armor.c       ****       
 188:armor.c       ****             //        STA   <$1A                    ; 0058: 97 1A         
 189:armor.c       ****   //  Z = A;
 190:armor.c       ****   //  N = A;
 191:armor.c       ****   //  V = 0;
 192:armor.c       ****       memory_DP[0x1a] = A;
 198              		.loc 1 192 0
 199 02ee 8B85DCFF 		movl	-65572(%ebp), %eax
 199      FEFF
 200 02f4 83C01A   		addl	$26, %eax
 201 02f7 8B95E0FF 		movl	-65568(%ebp), %edx
 201      FEFF
 202 02fd 8810     		movb	%dl, (%eax)
 193:armor.c       ****       
 194:armor.c       ****             //        LDD   #$FA38                  ; 005A: CC FA 38      
 195:armor.c       ****       A = (UINT8)((0xfa38) >> 8);
 203              		.loc 1 195 0
 204 02ff C785E0FF 		movl	$250, -65568(%ebp)
 204      FEFFFA00 
 204      0000
 196:armor.c       ****       B = (UINT8)((0xfa38) & 0xff);
GAS LISTING /tmp/ccqXEnet.s 			page 10


 205              		.loc 1 196 0
 206 0309 C785E4FF 		movl	$56, -65564(%ebp)
 206      FEFF3800 
 206      0000
 197:armor.c       ****   //  Z = A|B;
 198:armor.c       ****   //  N = A;
 199:armor.c       ****   //  V = 0;
 200:armor.c       ****       
 201:armor.c       ****             //        STD   <$2A                    ; 005D: DD 2A         
 202:armor.c       ****   //  Z = A | B;
 203:armor.c       ****   //  N = A;
 204:armor.c       ****   //  V = 0;
 205:armor.c       ****       memory_DP[0x2a] = A;
 207              		.loc 1 205 0
 208 0313 8B85DCFF 		movl	-65572(%ebp), %eax
 208      FEFF
 209 0319 83C02A   		addl	$42, %eax
 210 031c 8B95E0FF 		movl	-65568(%ebp), %edx
 210      FEFF
 211 0322 8810     		movb	%dl, (%eax)
 206:armor.c       ****       memory_DP[0x2a + 1] = B;
 212              		.loc 1 206 0
 213 0324 8B85DCFF 		movl	-65572(%ebp), %eax
 213      FEFF
 214 032a 83C02B   		addl	$43, %eax
 215 032d 8B95E4FF 		movl	-65564(%ebp), %edx
 215      FEFF
 216 0333 8810     		movb	%dl, (%eax)
 207:armor.c       ****       
 208:armor.c       ****             //        LDX   #$C8DE                  ; 005F: 8E C8 DE      
 209:armor.c       ****       X = 0xc8de;
 217              		.loc 1 209 0
 218 0335 66C785C6 		movw	$-14114, -65594(%ebp)
 218      FFFEFFDE 
 218      C8
 210:armor.c       ****   //  Z = X;
 211:armor.c       ****   //  N = (X) >> 8;
 212:armor.c       ****   //  V = 0;
 213:armor.c       ****       
 214:armor.c       ****             //        LDU   #$0D3F                  ; 0062: CE 0D 3F      
 215:armor.c       ****       U = 0x0d3f;
 219              		.loc 1 215 0
 220 033e 66C785CE 		movw	$3391, -65586(%ebp)
 220      FFFEFF3F 
 220      0D
 216:armor.c       ****   //  Z = U;
 217:armor.c       ****   //  N = (U) >> 8;
 218:armor.c       ****   //  V = 0;
 219:armor.c       ****       
 220:armor.c       ****             //        LDA   #$07                    ; 0065: 86 07         
 221:armor.c       ****       A = (SINT8)0x07;
 221              		.loc 1 221 0
 222 0347 C785E0FF 		movl	$7, -65568(%ebp)
 222      FEFF0700 
 222      0000
 222:armor.c       ****   //  N = A;
 223:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 11


 224:armor.c       ****   //  V = 0;
 225:armor.c       ****       
 226:armor.c       ****             //        JSR   $0CF6                   ; 0067: BD 0C F6      
 227:armor.c       ****       memory[--S] = 0x006a & 0xff; memory[--S] = 0x006a >> 8;
 223              		.loc 1 227 0
 224 0351 6683ADC8 		subw	$1, -65592(%ebp)
 224      FFFEFF01 
 225 0359 0FB785C8 		movzwl	-65592(%ebp), %eax
 225      FFFEFF
 226 0360 C68405F4 		movb	$106, -65548(%ebp,%eax)
 226      FFFEFF6A 
 227 0368 6683ADC8 		subw	$1, -65592(%ebp)
 227      FFFEFF01 
 228 0370 0FB785C8 		movzwl	-65592(%ebp), %eax
 228      FFFEFF
 229 0377 C68405F4 		movb	$0, -65548(%ebp,%eax)
 229      FFFEFF00 
 228:armor.c       ****       PC = 0x0cf6;
 230              		.loc 1 228 0
 231 037f 66C785CA 		movw	$3318, -65590(%ebp)
 231      FFFEFFF6 
 231      0C
 232              	.L10:
 229:armor.c       ****       JUMP;
 230:armor.c       ****       
 231:armor.c       ****       L006A://        LDX   #$CA88                  ; 006A: 8E CA 88      
 232:armor.c       ****       X = 0xca88;
 233              		.loc 1 232 0
 234 0388 66C785C6 		movw	$-13688, -65594(%ebp)
 234      FFFEFF88 
 234      CA
 233:armor.c       ****   //  Z = X;
 234:armor.c       ****   //  N = (X) >> 8;
 235:armor.c       ****   //  V = 0;
 236:armor.c       ****       
 237:armor.c       ****             //        LDD   #$7888                  ; 006D: CC 78 88      
 238:armor.c       ****       A = (UINT8)((0x7888) >> 8);
 235              		.loc 1 238 0
 236 0391 C785E0FF 		movl	$120, -65568(%ebp)
 236      FEFF7800 
 236      0000
 239:armor.c       ****       B = (UINT8)((0x7888) & 0xff);
 237              		.loc 1 239 0
 238 039b C785E4FF 		movl	$136, -65564(%ebp)
 238      FEFF8800 
 238      0000
 240:armor.c       ****   //  Z = A|B;
 241:armor.c       ****   //  N = A;
 242:armor.c       ****   //  V = 0;
 243:armor.c       ****       
 244:armor.c       ****             //        STD   ,X++                    ; 0070: ED 81         
 245:armor.c       ****       ea = X; X = X + 2;
 239              		.loc 1 245 0
 240 03a5 0FB785C6 		movzwl	-65594(%ebp), %eax
 240      FFFEFF
 241 03ac 668985D0 		movw	%ax, -65584(%ebp)
 241      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 12


 242 03b3 668385C6 		addw	$2, -65594(%ebp)
 242      FFFEFF02 
 246:armor.c       ****   //  Z = A | B;
 247:armor.c       ****   //  N = A;
 248:armor.c       ****   //  V = 0;
 249:armor.c       ****       memory[ea] = A;
 243              		.loc 1 249 0
 244 03bb 0FB785D0 		movzwl	-65584(%ebp), %eax
 244      FFFEFF
 245 03c2 8B95E0FF 		movl	-65568(%ebp), %edx
 245      FEFF
 246 03c8 889405F4 		movb	%dl, -65548(%ebp,%eax)
 246      FFFEFF
 250:armor.c       ****       memory[ea + 1] = B;
 247              		.loc 1 250 0
 248 03cf 0FB785D0 		movzwl	-65584(%ebp), %eax
 248      FFFEFF
 249 03d6 83C001   		addl	$1, %eax
 250 03d9 8B95E4FF 		movl	-65564(%ebp), %edx
 250      FEFF
 251 03df 889405F4 		movb	%dl, -65548(%ebp,%eax)
 251      FFFEFF
 251:armor.c       ****       
 252:armor.c       ****             //        JSR   Clear_Score             ; 0072: BD F8 4F      
 253:armor.c       ****       memory[--S] = 0x0075 & 0xff; memory[--S] = 0x0075 >> 8;
 252              		.loc 1 253 0
 253 03e6 6683ADC8 		subw	$1, -65592(%ebp)
 253      FFFEFF01 
 254 03ee 0FB785C8 		movzwl	-65592(%ebp), %eax
 254      FFFEFF
 255 03f5 C68405F4 		movb	$117, -65548(%ebp,%eax)
 255      FFFEFF75 
 256 03fd 6683ADC8 		subw	$1, -65592(%ebp)
 256      FFFEFF01 
 257 0405 0FB785C8 		movzwl	-65592(%ebp), %eax
 257      FFFEFF
 258 040c C68405F4 		movb	$0, -65548(%ebp,%eax)
 258      FFFEFF00 
 254:armor.c       ****       PC = 0xf84f;
 259              		.loc 1 254 0
 260 0414 66C785CA 		movw	$-1969, -65590(%ebp)
 260      FFFEFF4F 
 260      F8
 261              	.L11:
 255:armor.c       ****       JUMP;
 256:armor.c       ****       
 257:armor.c       ****       L0075://        LEAX  $07,X                   ; 0075: 30 07         
 258:armor.c       ****       X = (X + 0x0007);
 262              		.loc 1 258 0
 263 041d 668385C6 		addw	$7, -65594(%ebp)
 263      FFFEFF07 
 259:armor.c       ****   //  Z = X;
 260:armor.c       ****       
 261:armor.c       ****             //        LDD   #$7838                  ; 0077: CC 78 38      
 262:armor.c       ****       A = (UINT8)((0x7838) >> 8);
 264              		.loc 1 262 0
 265 0425 C785E0FF 		movl	$120, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 13


 265      FEFF7800 
 265      0000
 263:armor.c       ****       B = (UINT8)((0x7838) & 0xff);
 266              		.loc 1 263 0
 267 042f C785E4FF 		movl	$56, -65564(%ebp)
 267      FEFF3800 
 267      0000
 264:armor.c       ****   //  Z = A|B;
 265:armor.c       ****   //  N = A;
 266:armor.c       ****   //  V = 0;
 267:armor.c       ****       
 268:armor.c       ****             //        STD   ,X++                    ; 007A: ED 81         
 269:armor.c       ****       ea = X; X = X + 2;
 268              		.loc 1 269 0
 269 0439 0FB785C6 		movzwl	-65594(%ebp), %eax
 269      FFFEFF
 270 0440 668985D0 		movw	%ax, -65584(%ebp)
 270      FFFEFF
 271 0447 668385C6 		addw	$2, -65594(%ebp)
 271      FFFEFF02 
 270:armor.c       ****   //  Z = A | B;
 271:armor.c       ****   //  N = A;
 272:armor.c       ****   //  V = 0;
 273:armor.c       ****       memory[ea] = A;
 272              		.loc 1 273 0
 273 044f 0FB785D0 		movzwl	-65584(%ebp), %eax
 273      FFFEFF
 274 0456 8B95E0FF 		movl	-65568(%ebp), %edx
 274      FEFF
 275 045c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 275      FFFEFF
 274:armor.c       ****       memory[ea + 1] = B;
 276              		.loc 1 274 0
 277 0463 0FB785D0 		movzwl	-65584(%ebp), %eax
 277      FFFEFF
 278 046a 83C001   		addl	$1, %eax
 279 046d 8B95E4FF 		movl	-65564(%ebp), %edx
 279      FEFF
 280 0473 889405F4 		movb	%dl, -65548(%ebp,%eax)
 280      FFFEFF
 275:armor.c       ****       
 276:armor.c       ****             //        JSR   Clear_Score             ; 007C: BD F8 4F      
 277:armor.c       ****       memory[--S] = 0x007f & 0xff; memory[--S] = 0x007f >> 8;
 281              		.loc 1 277 0
 282 047a 6683ADC8 		subw	$1, -65592(%ebp)
 282      FFFEFF01 
 283 0482 0FB785C8 		movzwl	-65592(%ebp), %eax
 283      FFFEFF
 284 0489 C68405F4 		movb	$127, -65548(%ebp,%eax)
 284      FFFEFF7F 
 285 0491 6683ADC8 		subw	$1, -65592(%ebp)
 285      FFFEFF01 
 286 0499 0FB785C8 		movzwl	-65592(%ebp), %eax
 286      FFFEFF
 287 04a0 C68405F4 		movb	$0, -65548(%ebp,%eax)
 287      FFFEFF00 
 278:armor.c       ****       PC = 0xf84f;
GAS LISTING /tmp/ccqXEnet.s 			page 14


 288              		.loc 1 278 0
 289 04a8 66C785CA 		movw	$-1969, -65590(%ebp)
 289      FFFEFF4F 
 289      F8
 290              	.L12:
 279:armor.c       ****       JUMP;
 280:armor.c       ****       
 281:armor.c       ****       L007F://        JSR   Init_Music_Buf          ; 007F: BD F5 33      
 282:armor.c       ****       memory[--S] = 0x0082 & 0xff; memory[--S] = 0x0082 >> 8;
 291              		.loc 1 282 0
 292 04b1 6683ADC8 		subw	$1, -65592(%ebp)
 292      FFFEFF01 
 293 04b9 0FB785C8 		movzwl	-65592(%ebp), %eax
 293      FFFEFF
 294 04c0 C68405F4 		movb	$-126, -65548(%ebp,%eax)
 294      FFFEFF82 
 295 04c8 6683ADC8 		subw	$1, -65592(%ebp)
 295      FFFEFF01 
 296 04d0 0FB785C8 		movzwl	-65592(%ebp), %eax
 296      FFFEFF
 297 04d7 C68405F4 		movb	$0, -65548(%ebp,%eax)
 297      FFFEFF00 
 283:armor.c       ****       PC = 0xf533;
 298              		.loc 1 283 0
 299 04df 66C785CA 		movw	$-2765, -65590(%ebp)
 299      FFFEFF33 
 299      F5
 300              	.L13:
 284:armor.c       ****       JUMP;
 285:armor.c       ****       
 286:armor.c       ****       L0082://        LDA   #$FF                    ; 0082: 86 FF         
 287:armor.c       ****       A = (SINT8)0xff;
 301              		.loc 1 287 0
 302 04e8 C785E0FF 		movl	$-1, -65568(%ebp)
 302      FEFFFFFF 
 302      FFFF
 288:armor.c       ****   //  N = A;
 289:armor.c       ****   //  Z = A;
 290:armor.c       ****   //  V = 0;
 291:armor.c       ****       
 292:armor.c       ****             //        STA   <$71                    ; 0084: 97 71         
 293:armor.c       ****   //  Z = A;
 294:armor.c       ****   //  N = A;
 295:armor.c       ****   //  V = 0;
 296:armor.c       ****       memory_DP[0x71] = A;
 303              		.loc 1 296 0
 304 04f2 8B85DCFF 		movl	-65572(%ebp), %eax
 304      FEFF
 305 04f8 83C071   		addl	$113, %eax
 306 04fb 8B95E0FF 		movl	-65568(%ebp), %edx
 306      FEFF
 307 0501 8810     		movb	%dl, (%eax)
 297:armor.c       ****       
 298:armor.c       ****             //        STA   <$8A                    ; 0086: 97 8A         
 299:armor.c       ****   //  Z = A;
 300:armor.c       ****   //  N = A;
 301:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 15


 302:armor.c       ****       memory_DP[0x8a] = A;
 308              		.loc 1 302 0
 309 0503 8B85DCFF 		movl	-65572(%ebp), %eax
 309      FEFF
 310 0509 058A0000 		addl	$138, %eax
 310      00
 311 050e 8B95E0FF 		movl	-65568(%ebp), %edx
 311      FEFF
 312 0514 8810     		movb	%dl, (%eax)
 303:armor.c       ****       
 304:armor.c       ****             //        STA   <$E9                    ; 0088: 97 E9         
 305:armor.c       ****   //  Z = A;
 306:armor.c       ****   //  N = A;
 307:armor.c       ****   //  V = 0;
 308:armor.c       ****       memory_DP[0xe9] = A;
 313              		.loc 1 308 0
 314 0516 8B85DCFF 		movl	-65572(%ebp), %eax
 314      FEFF
 315 051c 05E90000 		addl	$233, %eax
 315      00
 316 0521 8B95E0FF 		movl	-65568(%ebp), %edx
 316      FEFF
 317 0527 8810     		movb	%dl, (%eax)
 309:armor.c       ****       
 310:armor.c       ****             //        STA   <$ED                    ; 008A: 97 ED         
 311:armor.c       ****   //  Z = A;
 312:armor.c       ****   //  N = A;
 313:armor.c       ****   //  V = 0;
 314:armor.c       ****       memory_DP[0xed] = A;
 318              		.loc 1 314 0
 319 0529 8B85DCFF 		movl	-65572(%ebp), %eax
 319      FEFF
 320 052f 05ED0000 		addl	$237, %eax
 320      00
 321 0534 8B95E0FF 		movl	-65568(%ebp), %edx
 321      FEFF
 322 053a 8810     		movb	%dl, (%eax)
 315:armor.c       ****       
 316:armor.c       ****             //        STA   <$91                    ; 008C: 97 91         
 317:armor.c       ****   //  Z = A;
 318:armor.c       ****   //  N = A;
 319:armor.c       ****   //  V = 0;
 320:armor.c       ****       memory_DP[0x91] = A;
 323              		.loc 1 320 0
 324 053c 8B85DCFF 		movl	-65572(%ebp), %eax
 324      FEFF
 325 0542 05910000 		addl	$145, %eax
 325      00
 326 0547 8B95E0FF 		movl	-65568(%ebp), %edx
 326      FEFF
 327 054d 8810     		movb	%dl, (%eax)
 321:armor.c       ****       
 322:armor.c       ****             //        LDX   #$0FEE                  ; 008E: 8E 0F EE      
 323:armor.c       ****       X = 0x0fee;
 328              		.loc 1 323 0
 329 054f 66C785C6 		movw	$4078, -65594(%ebp)
 329      FFFEFFEE 
GAS LISTING /tmp/ccqXEnet.s 			page 16


 329      0F
 324:armor.c       ****   //  Z = X;
 325:armor.c       ****   //  N = (X) >> 8;
 326:armor.c       ****   //  V = 0;
 327:armor.c       ****       
 328:armor.c       ****             //        LDU   #$CA9A                  ; 0091: CE CA 9A      
 329:armor.c       ****       U = 0xca9a;
 330              		.loc 1 329 0
 331 0558 66C785CE 		movw	$-13670, -65586(%ebp)
 331      FFFEFF9A 
 331      CA
 330:armor.c       ****   //  Z = U;
 331:armor.c       ****   //  N = (U) >> 8;
 332:armor.c       ****   //  V = 0;
 333:armor.c       ****       
 334:armor.c       ****             //        LDB   #$02                    ; 0094: C6 02         
 335:armor.c       ****       B = (SINT8)0x02;
 332              		.loc 1 335 0
 333 0561 C785E4FF 		movl	$2, -65564(%ebp)
 333      FEFF0200 
 333      0000
 336:armor.c       ****   //  N = B;
 337:armor.c       ****   //  Z = B;
 338:armor.c       ****   //  V = 0;
 339:armor.c       ****       
 340:armor.c       ****             //        JSR   $0CAC                   ; 0096: BD 0C AC      
 341:armor.c       ****       memory[--S] = 0x0099 & 0xff; memory[--S] = 0x0099 >> 8;
 334              		.loc 1 341 0
 335 056b 6683ADC8 		subw	$1, -65592(%ebp)
 335      FFFEFF01 
 336 0573 0FB785C8 		movzwl	-65592(%ebp), %eax
 336      FFFEFF
 337 057a C68405F4 		movb	$-103, -65548(%ebp,%eax)
 337      FFFEFF99 
 338 0582 6683ADC8 		subw	$1, -65592(%ebp)
 338      FFFEFF01 
 339 058a 0FB785C8 		movzwl	-65592(%ebp), %eax
 339      FFFEFF
 340 0591 C68405F4 		movb	$0, -65548(%ebp,%eax)
 340      FFFEFF00 
 342:armor.c       ****       PC = 0x0cac;
 341              		.loc 1 342 0
 342 0599 66C785CA 		movw	$3244, -65590(%ebp)
 342      FFFEFFAC 
 342      0C
 343              	.L14:
 343:armor.c       ****       JUMP;
 344:armor.c       ****       
 345:armor.c       ****       L0099://        LDA   <$E1                    ; 0099: 96 E1         
 346:armor.c       ****       A = memory_DP[0xe1];
 344              		.loc 1 346 0
 345 05a2 8B85DCFF 		movl	-65572(%ebp), %eax
 345      FEFF
 346 05a8 05E10000 		addl	$225, %eax
 346      00
 347 05ad 0FB600   		movzbl	(%eax), %eax
 348 05b0 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 17


 349 05b3 8985E0FF 		movl	%eax, -65568(%ebp)
 349      FEFF
 347:armor.c       ****   //  N = A;
 348:armor.c       ****   //  Z = A;
 349:armor.c       ****   //  V = 0;
 350:armor.c       ****       
 351:armor.c       ****             //        STA   <$2E                    ; 009B: 97 2E         
 352:armor.c       ****   //  Z = A;
 353:armor.c       ****   //  N = A;
 354:armor.c       ****   //  V = 0;
 355:armor.c       ****       memory_DP[0x2e] = A;
 350              		.loc 1 355 0
 351 05b9 8B85DCFF 		movl	-65572(%ebp), %eax
 351      FEFF
 352 05bf 83C02E   		addl	$46, %eax
 353 05c2 8B95E0FF 		movl	-65568(%ebp), %edx
 353      FEFF
 354 05c8 8810     		movb	%dl, (%eax)
 356:armor.c       ****       
 357:armor.c       ****             //        LDA   <$E0                    ; 009D: 96 E0         
 358:armor.c       ****       A = memory_DP[0xe0];
 355              		.loc 1 358 0
 356 05ca 8B85DCFF 		movl	-65572(%ebp), %eax
 356      FEFF
 357 05d0 05E00000 		addl	$224, %eax
 357      00
 358 05d5 0FB600   		movzbl	(%eax), %eax
 359 05d8 0FB6C0   		movzbl	%al, %eax
 360 05db 8985E0FF 		movl	%eax, -65568(%ebp)
 360      FEFF
 359:armor.c       ****   //  N = A;
 360:armor.c       ****   //  Z = A;
 361:armor.c       ****   //  V = 0;
 362:armor.c       ****       
 363:armor.c       ****             //        STA   <$2F                    ; 009F: 97 2F         
 364:armor.c       ****   //  Z = A;
 365:armor.c       ****   //  N = A;
 366:armor.c       ****   //  V = 0;
 367:armor.c       ****       memory_DP[0x2f] = A;
 361              		.loc 1 367 0
 362 05e1 8B85DCFF 		movl	-65572(%ebp), %eax
 362      FEFF
 363 05e7 83C02F   		addl	$47, %eax
 364 05ea 8B95E0FF 		movl	-65568(%ebp), %edx
 364      FEFF
 365 05f0 8810     		movb	%dl, (%eax)
 368:armor.c       ****       
 369:armor.c       ****             //        LDA   <$DE                    ; 00A1: 96 DE         
 370:armor.c       ****       A = memory_DP[0xde];
 366              		.loc 1 370 0
 367 05f2 8B85DCFF 		movl	-65572(%ebp), %eax
 367      FEFF
 368 05f8 05DE0000 		addl	$222, %eax
 368      00
 369 05fd 0FB600   		movzbl	(%eax), %eax
 370 0600 0FB6C0   		movzbl	%al, %eax
 371 0603 8985E0FF 		movl	%eax, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 18


 371      FEFF
 371:armor.c       ****   //  N = A;
 372:armor.c       ****   //  Z = A;
 373:armor.c       ****   //  V = 0;
 374:armor.c       ****       
 375:armor.c       ****             //        STA   <$30                    ; 00A3: 97 30         
 376:armor.c       ****   //  Z = A;
 377:armor.c       ****   //  N = A;
 378:armor.c       ****   //  V = 0;
 379:armor.c       ****       memory_DP[0x30] = A;
 372              		.loc 1 379 0
 373 0609 8B85DCFF 		movl	-65572(%ebp), %eax
 373      FEFF
 374 060f 83C030   		addl	$48, %eax
 375 0612 8B95E0FF 		movl	-65568(%ebp), %edx
 375      FEFF
 376 0618 8810     		movb	%dl, (%eax)
 380:armor.c       ****       
 381:armor.c       ****             //        JSR   $084B                   ; 00A5: BD 08 4B      
 382:armor.c       ****       memory[--S] = 0x00a8 & 0xff; memory[--S] = 0x00a8 >> 8;
 377              		.loc 1 382 0
 378 061a 6683ADC8 		subw	$1, -65592(%ebp)
 378      FFFEFF01 
 379 0622 0FB785C8 		movzwl	-65592(%ebp), %eax
 379      FFFEFF
 380 0629 C68405F4 		movb	$-88, -65548(%ebp,%eax)
 380      FFFEFFA8 
 381 0631 6683ADC8 		subw	$1, -65592(%ebp)
 381      FFFEFF01 
 382 0639 0FB785C8 		movzwl	-65592(%ebp), %eax
 382      FFFEFF
 383 0640 C68405F4 		movb	$0, -65548(%ebp,%eax)
 383      FFFEFF00 
 383:armor.c       ****       PC = 0x084b;
 384              		.loc 1 383 0
 385 0648 66C785CA 		movw	$2123, -65590(%ebp)
 385      FFFEFF4B 
 385      08
 386              	.L15:
 384:armor.c       ****       JUMP;
 385:armor.c       ****       
 386:armor.c       ****       L00A8://        JSR   $0CD4                   ; 00A8: BD 0C D4      
 387:armor.c       ****       memory[--S] = 0x00ab & 0xff; memory[--S] = 0x00ab >> 8;
 387              		.loc 1 387 0
 388 0651 6683ADC8 		subw	$1, -65592(%ebp)
 388      FFFEFF01 
 389 0659 0FB785C8 		movzwl	-65592(%ebp), %eax
 389      FFFEFF
 390 0660 C68405F4 		movb	$-85, -65548(%ebp,%eax)
 390      FFFEFFAB 
 391 0668 6683ADC8 		subw	$1, -65592(%ebp)
 391      FFFEFF01 
 392 0670 0FB785C8 		movzwl	-65592(%ebp), %eax
 392      FFFEFF
 393 0677 C68405F4 		movb	$0, -65548(%ebp,%eax)
 393      FFFEFF00 
 388:armor.c       ****       PC = 0x0cd4;
GAS LISTING /tmp/ccqXEnet.s 			page 19


 394              		.loc 1 388 0
 395 067f 66C785CA 		movw	$3284, -65590(%ebp)
 395      FFFEFFD4 
 395      0C
 396              	.L16:
 389:armor.c       ****       JUMP;
 390:armor.c       ****       
 391:armor.c       ****       L00AB://        CLR   <$94                    ; 00AB: 0F 94         
 392:armor.c       ****       memory_DP[0x94] = 0;
 397              		.loc 1 392 0
 398 0688 8B85DCFF 		movl	-65572(%ebp), %eax
 398      FEFF
 399 068e 05940000 		addl	$148, %eax
 399      00
 400 0693 C60000   		movb	$0, (%eax)
 393:armor.c       ****   //  V = 0;
 394:armor.c       ****   //  Z = 0;
 395:armor.c       ****   //  N = 0;
 396:armor.c       ****   //  C = 0;
 397:armor.c       ****       
 398:armor.c       ****             //        LDX   #$C9C0                  ; 00AD: 8E C9 C0      
 399:armor.c       ****       X = 0xc9c0;
 401              		.loc 1 399 0
 402 0696 66C785C6 		movw	$-13888, -65594(%ebp)
 402      FFFEFFC0 
 402      C9
 400:armor.c       ****   //  Z = X;
 401:armor.c       ****   //  N = (X) >> 8;
 402:armor.c       ****   //  V = 0;
 403:armor.c       ****       
 404:armor.c       ****             //        LDD   #$0807                  ; 00B0: CC 08 07      
 405:armor.c       ****       A = (UINT8)((0x0807) >> 8);
 403              		.loc 1 405 0
 404 069f C785E0FF 		movl	$8, -65568(%ebp)
 404      FEFF0800 
 404      0000
 406:armor.c       ****       B = (UINT8)((0x0807) & 0xff);
 405              		.loc 1 406 0
 406 06a9 C785E4FF 		movl	$7, -65564(%ebp)
 406      FEFF0700 
 406      0000
 407:armor.c       ****   //  Z = A|B;
 408:armor.c       ****   //  N = A;
 409:armor.c       ****   //  V = 0;
 410:armor.c       ****       
 411:armor.c       ****             //        JSR   $0CDA                   ; 00B3: BD 0C DA      
 412:armor.c       ****       memory[--S] = 0x00b6 & 0xff; memory[--S] = 0x00b6 >> 8;
 407              		.loc 1 412 0
 408 06b3 6683ADC8 		subw	$1, -65592(%ebp)
 408      FFFEFF01 
 409 06bb 0FB785C8 		movzwl	-65592(%ebp), %eax
 409      FFFEFF
 410 06c2 C68405F4 		movb	$-74, -65548(%ebp,%eax)
 410      FFFEFFB6 
 411 06ca 6683ADC8 		subw	$1, -65592(%ebp)
 411      FFFEFF01 
 412 06d2 0FB785C8 		movzwl	-65592(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 20


 412      FFFEFF
 413 06d9 C68405F4 		movb	$0, -65548(%ebp,%eax)
 413      FFFEFF00 
 413:armor.c       ****       PC = 0x0cda;
 414              		.loc 1 413 0
 415 06e1 66C785CA 		movw	$3290, -65590(%ebp)
 415      FFFEFFDA 
 415      0C
 416              	.L17:
 414:armor.c       ****       JUMP;
 415:armor.c       ****       
 416:armor.c       ****       L00B6://        CLR   <$67                    ; 00B6: 0F 67         
 417:armor.c       ****       memory_DP[0x67] = 0;
 417              		.loc 1 417 0
 418 06ea 8B85DCFF 		movl	-65572(%ebp), %eax
 418      FEFF
 419 06f0 83C067   		addl	$103, %eax
 420 06f3 C60000   		movb	$0, (%eax)
 418:armor.c       ****   //  V = 0;
 419:armor.c       ****   //  Z = 0;
 420:armor.c       ****   //  N = 0;
 421:armor.c       ****   //  C = 0;
 422:armor.c       ****       
 423:armor.c       ****             //        LDA   <$E2                    ; 00B8: 96 E2         
 424:armor.c       ****       A = memory_DP[0xe2];
 421              		.loc 1 424 0
 422 06f6 8B85DCFF 		movl	-65572(%ebp), %eax
 422      FEFF
 423 06fc 05E20000 		addl	$226, %eax
 423      00
 424 0701 0FB600   		movzbl	(%eax), %eax
 425 0704 0FB6C0   		movzbl	%al, %eax
 426 0707 8985E0FF 		movl	%eax, -65568(%ebp)
 426      FEFF
 425:armor.c       ****   //  N = A;
 426:armor.c       ****       Z = A;
 427              		.loc 1 426 0
 428 070d 8B85E0FF 		movl	-65568(%ebp), %eax
 428      FEFF
 429 0713 668985CC 		movw	%ax, -65588(%ebp)
 429      FFFEFF
 427:armor.c       ****   //  V = 0;
 428:armor.c       ****       
 429:armor.c       ****             //        BNE   $DD                     ; 00BA: 26 21         
 430:armor.c       ****       if (Z) {
 430              		.loc 1 430 0
 431 071a 6683BDCC 		cmpw	$0, -65588(%ebp)
 431      FFFEFF00 
 432 0722 7409     		je	.L18
 431:armor.c       ****       PC = 0x00dd;
 433              		.loc 1 431 0
 434 0724 66C785CA 		movw	$221, -65590(%ebp)
 434      FFFEFFDD 
 434      00
 435              	.L18:
 432:armor.c       ****       JUMP;
 433:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 21


 434:armor.c       ****       
 435:armor.c       ****             //        LDX   #$CA8A                  ; 00BC: 8E CA 8A      
 436:armor.c       ****       X = 0xca8a;
 436              		.loc 1 436 0
 437 072d 66C785C6 		movw	$-13686, -65594(%ebp)
 437      FFFEFF8A 
 437      CA
 437:armor.c       ****   //  Z = X;
 438:armor.c       ****   //  N = (X) >> 8;
 439:armor.c       ****   //  V = 0;
 440:armor.c       ****       
 441:armor.c       ****             //        LEAU  $09,X                   ; 00BF: 33 09         
 442:armor.c       ****       U = (X + 0x0009);
 438              		.loc 1 442 0
 439 0736 0FB785C6 		movzwl	-65594(%ebp), %eax
 439      FFFEFF
 440 073d 83C009   		addl	$9, %eax
 441 0740 668985CE 		movw	%ax, -65586(%ebp)
 441      FFFEFF
 443:armor.c       ****       
 444:armor.c       ****             //        JSR   Compare_Score           ; 00C1: BD F8 C7      
 445:armor.c       ****       memory[--S] = 0x00c4 & 0xff; memory[--S] = 0x00c4 >> 8;
 442              		.loc 1 445 0
 443 0747 6683ADC8 		subw	$1, -65592(%ebp)
 443      FFFEFF01 
 444 074f 0FB785C8 		movzwl	-65592(%ebp), %eax
 444      FFFEFF
 445 0756 C68405F4 		movb	$-60, -65548(%ebp,%eax)
 445      FFFEFFC4 
 446 075e 6683ADC8 		subw	$1, -65592(%ebp)
 446      FFFEFF01 
 447 0766 0FB785C8 		movzwl	-65592(%ebp), %eax
 447      FFFEFF
 448 076d C68405F4 		movb	$0, -65548(%ebp,%eax)
 448      FFFEFF00 
 446:armor.c       ****       PC = 0xf8c7;
 449              		.loc 1 446 0
 450 0775 66C785CA 		movw	$-1849, -65590(%ebp)
 450      FFFEFFC7 
 450      F8
 451              	.L19:
 447:armor.c       ****       JUMP;
 448:armor.c       ****       
 449:armor.c       ****       L00C4://        CMPA  #$02                    ; 00C4: 81 02         
 450:armor.c       ****       res = A - (SINT8)0x02;
 452              		.loc 1 450 0
 453 077e 8B85E0FF 		movl	-65568(%ebp), %eax
 453      FEFF
 454 0784 83E802   		subl	$2, %eax
 455 0787 8985E8FF 		movl	%eax, -65560(%ebp)
 455      FEFF
 451:armor.c       ****   //  C = res & 0x100;
 452:armor.c       ****       res = (UINT8)res;
 456              		.loc 1 452 0
 457 078d 8B85E8FF 		movl	-65560(%ebp), %eax
 457      FEFF
 458 0793 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 22


 459 0796 8985E8FF 		movl	%eax, -65560(%ebp)
 459      FEFF
 453:armor.c       ****       Z = res;
 460              		.loc 1 453 0
 461 079c 8B85E8FF 		movl	-65560(%ebp), %eax
 461      FEFF
 462 07a2 668985CC 		movw	%ax, -65588(%ebp)
 462      FFFEFF
 454:armor.c       ****   //  N = res;
 455:armor.c       ****   //  V = (A ^ (SINT8)0x02) & (A ^ res);
 456:armor.c       ****       
 457:armor.c       ****             //        BNE   $CA                     ; 00C6: 26 02         
 458:armor.c       ****       if (Z) {
 463              		.loc 1 458 0
 464 07a9 6683BDCC 		cmpw	$0, -65588(%ebp)
 464      FFFEFF00 
 465 07b1 7409     		je	.L20
 459:armor.c       ****       PC = 0x00ca;
 466              		.loc 1 459 0
 467 07b3 66C785CA 		movw	$202, -65590(%ebp)
 467      FFFEFFCA 
 467      00
 468              	.L20:
 460:armor.c       ****       JUMP;
 461:armor.c       ****       }
 462:armor.c       ****       
 463:armor.c       ****             //        LEAX  ,U                      ; 00C8: 30 C4         
 464:armor.c       ****       X = U;
 469              		.loc 1 464 0
 470 07bc 0FB785CE 		movzwl	-65586(%ebp), %eax
 470      FFFEFF
 471 07c3 668985C6 		movw	%ax, -65594(%ebp)
 471      FFFEFF
 472              	.L21:
 465:armor.c       ****   //  Z = X;
 466:armor.c       ****       
 467:armor.c       ****       L00CA://        LDU   #Vec_High_Score         ; 00CA: CE CB EB      
 468:armor.c       ****       U = 0xcbeb;
 473              		.loc 1 468 0
 474 07ca 66C785CE 		movw	$-13333, -65586(%ebp)
 474      FFFEFFEB 
 474      CB
 469:armor.c       ****   //  Z = U;
 470:armor.c       ****   //  N = (U) >> 8;
 471:armor.c       ****   //  V = 0;
 472:armor.c       ****       
 473:armor.c       ****             //        JSR   New_High_Score          ; 00CD: BD F8 D8      
 474:armor.c       ****       memory[--S] = 0x00d0 & 0xff; memory[--S] = 0x00d0 >> 8;
 475              		.loc 1 474 0
 476 07d3 6683ADC8 		subw	$1, -65592(%ebp)
 476      FFFEFF01 
 477 07db 0FB785C8 		movzwl	-65592(%ebp), %eax
 477      FFFEFF
 478 07e2 C68405F4 		movb	$-48, -65548(%ebp,%eax)
 478      FFFEFFD0 
 479 07ea 6683ADC8 		subw	$1, -65592(%ebp)
 479      FFFEFF01 
GAS LISTING /tmp/ccqXEnet.s 			page 23


 480 07f2 0FB785C8 		movzwl	-65592(%ebp), %eax
 480      FFFEFF
 481 07f9 C68405F4 		movb	$0, -65548(%ebp,%eax)
 481      FFFEFF00 
 475:armor.c       ****       PC = 0xf8d8;
 482              		.loc 1 475 0
 483 0801 66C785CA 		movw	$-1832, -65590(%ebp)
 483      FFFEFFD8 
 483      F8
 484              	.L22:
 476:armor.c       ****       JUMP;
 477:armor.c       ****       
 478:armor.c       ****       L00D0://        CLR   <$ED                    ; 00D0: 0F ED         
 479:armor.c       ****       memory_DP[0xed] = 0;
 485              		.loc 1 479 0
 486 080a 8B85DCFF 		movl	-65572(%ebp), %eax
 486      FEFF
 487 0810 05ED0000 		addl	$237, %eax
 487      00
 488 0815 C60000   		movb	$0, (%eax)
 480:armor.c       ****   //  V = 0;
 481:armor.c       ****   //  Z = 0;
 482:armor.c       ****   //  N = 0;
 483:armor.c       ****       C = 0;
 489              		.loc 1 483 0
 490 0818 C785ECFF 		movl	$0, -65556(%ebp)
 490      FEFF0000 
 490      0000
 484:armor.c       ****       
 485:armor.c       ****             //        LDD   #$0BFF                  ; 00D2: CC 0B FF      
 486:armor.c       ****       A = (UINT8)((0x0bff) >> 8);
 491              		.loc 1 486 0
 492 0822 C785E0FF 		movl	$11, -65568(%ebp)
 492      FEFF0B00 
 492      0000
 487:armor.c       ****       B = (UINT8)((0x0bff) & 0xff);
 493              		.loc 1 487 0
 494 082c C785E4FF 		movl	$255, -65564(%ebp)
 494      FEFFFF00 
 494      0000
 488:armor.c       ****   //  Z = A|B;
 489:armor.c       ****   //  N = A;
 490:armor.c       ****   //  V = 0;
 491:armor.c       ****       
 492:armor.c       ****             //        STD   <$32                    ; 00D5: DD 32         
 493:armor.c       ****   //  Z = A | B;
 494:armor.c       ****   //  N = A;
 495:armor.c       ****   //  V = 0;
 496:armor.c       ****       memory_DP[0x32] = A;
 495              		.loc 1 496 0
 496 0836 8B85DCFF 		movl	-65572(%ebp), %eax
 496      FEFF
 497 083c 83C032   		addl	$50, %eax
 498 083f 8B95E0FF 		movl	-65568(%ebp), %edx
 498      FEFF
 499 0845 8810     		movb	%dl, (%eax)
 497:armor.c       ****       memory_DP[0x32 + 1] = B;
GAS LISTING /tmp/ccqXEnet.s 			page 24


 500              		.loc 1 497 0
 501 0847 8B85DCFF 		movl	-65572(%ebp), %eax
 501      FEFF
 502 084d 83C033   		addl	$51, %eax
 503 0850 8B95E4FF 		movl	-65564(%ebp), %edx
 503      FEFF
 504 0856 8810     		movb	%dl, (%eax)
 498:armor.c       ****       
 499:armor.c       ****             //        LDA   <$C8                    ; 00D7: 96 C8         
 500:armor.c       ****       A = memory_DP[0xc8];
 505              		.loc 1 500 0
 506 0858 8B85DCFF 		movl	-65572(%ebp), %eax
 506      FEFF
 507 085e 05C80000 		addl	$200, %eax
 507      00
 508 0863 0FB600   		movzbl	(%eax), %eax
 509 0866 0FB6C0   		movzbl	%al, %eax
 510 0869 8985E0FF 		movl	%eax, -65568(%ebp)
 510      FEFF
 501:armor.c       ****   //  N = A;
 502:armor.c       ****   //  Z = A;
 503:armor.c       ****   //  V = 0;
 504:armor.c       ****       
 505:armor.c       ****             //        STA   <$E9                    ; 00D9: 97 E9         
 506:armor.c       ****       Z = A;
 511              		.loc 1 506 0
 512 086f 8B85E0FF 		movl	-65568(%ebp), %eax
 512      FEFF
 513 0875 668985CC 		movw	%ax, -65588(%ebp)
 513      FFFEFF
 507:armor.c       ****       N = A;
 514              		.loc 1 507 0
 515 087c 8B85E0FF 		movl	-65568(%ebp), %eax
 515      FEFF
 516 0882 8885C1FF 		movb	%al, -65599(%ebp)
 516      FEFF
 508:armor.c       ****       V = 0;
 517              		.loc 1 508 0
 518 0888 C685C2FF 		movb	$0, -65598(%ebp)
 518      FEFF00
 509:armor.c       ****       memory_DP[0xe9] = A;
 519              		.loc 1 509 0
 520 088f 8B85DCFF 		movl	-65572(%ebp), %eax
 520      FEFF
 521 0895 05E90000 		addl	$233, %eax
 521      00
 522 089a 8B95E0FF 		movl	-65568(%ebp), %edx
 522      FEFF
 523 08a0 8810     		movb	%dl, (%eax)
 510:armor.c       ****       
 511:armor.c       ****             //        BRA   $011B                   ; 00DB: 20 3E         
 512:armor.c       ****       PC = 0x011b;
 524              		.loc 1 512 0
 525 08a2 66C785CA 		movw	$283, -65590(%ebp)
 525      FFFEFF1B 
 525      01
 526              	.L23:
GAS LISTING /tmp/ccqXEnet.s 			page 25


 513:armor.c       ****       JUMP;
 514:armor.c       ****       
 515:armor.c       ****       
 516:armor.c       ****       L00DD://        LDA   <$C7                    ; 00DD: 96 C7         
 517:armor.c       ****       A = memory_DP[0xc7];
 527              		.loc 1 517 0
 528 08ab 8B85DCFF 		movl	-65572(%ebp), %eax
 528      FEFF
 529 08b1 05C70000 		addl	$199, %eax
 529      00
 530 08b6 0FB600   		movzbl	(%eax), %eax
 531 08b9 0FB6C0   		movzbl	%al, %eax
 532 08bc 8985E0FF 		movl	%eax, -65568(%ebp)
 532      FEFF
 518:armor.c       ****   //  N = A;
 519:armor.c       ****       Z = A;
 533              		.loc 1 519 0
 534 08c2 8B85E0FF 		movl	-65568(%ebp), %eax
 534      FEFF
 535 08c8 668985CC 		movw	%ax, -65588(%ebp)
 535      FFFEFF
 520:armor.c       ****   //  V = 0;
 521:armor.c       ****       
 522:armor.c       ****             //        BNE   $EF                     ; 00DF: 26 0E         
 523:armor.c       ****       if (Z) {
 536              		.loc 1 523 0
 537 08cf 6683BDCC 		cmpw	$0, -65588(%ebp)
 537      FFFEFF00 
 538 08d7 7409     		je	.L24
 524:armor.c       ****       PC = 0x00ef;
 539              		.loc 1 524 0
 540 08d9 66C785CA 		movw	$239, -65590(%ebp)
 540      FFFEFFEF 
 540      00
 541              	.L24:
 525:armor.c       ****       JUMP;
 526:armor.c       ****       }
 527:armor.c       ****       
 528:armor.c       ****             //        LDA   <$2E                    ; 00E1: 96 2E         
 529:armor.c       ****       A = memory_DP[0x2e];
 542              		.loc 1 529 0
 543 08e2 8B85DCFF 		movl	-65572(%ebp), %eax
 543      FEFF
 544 08e8 83C02E   		addl	$46, %eax
 545 08eb 0FB600   		movzbl	(%eax), %eax
 546 08ee 0FB6C0   		movzbl	%al, %eax
 547 08f1 8985E0FF 		movl	%eax, -65568(%ebp)
 547      FEFF
 530:armor.c       ****   //  N = A;
 531:armor.c       ****       Z = A;
 548              		.loc 1 531 0
 549 08f7 8B85E0FF 		movl	-65568(%ebp), %eax
 549      FEFF
 550 08fd 668985CC 		movw	%ax, -65588(%ebp)
 550      FFFEFF
 532:armor.c       ****   //  V = 0;
 533:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 26


 534:armor.c       ****             //        BEQ   $99                     ; 00E3: 27 B4         
 535:armor.c       ****       if (!Z) {
 551              		.loc 1 535 0
 552 0904 6683BDCC 		cmpw	$0, -65588(%ebp)
 552      FFFEFF00 
 553 090c 7509     		jne	.L25
 536:armor.c       ****       PC = 0x0099;
 554              		.loc 1 536 0
 555 090e 66C785CA 		movw	$153, -65590(%ebp)
 555      FFFEFF99 
 555      00
 556              	.L25:
 537:armor.c       ****       JUMP;
 538:armor.c       ****       }
 539:armor.c       ****       
 540:armor.c       ****             //        LDA   <$C8                    ; 00E5: 96 C8         
 541:armor.c       ****       A = memory_DP[0xc8];
 557              		.loc 1 541 0
 558 0917 8B85DCFF 		movl	-65572(%ebp), %eax
 558      FEFF
 559 091d 05C80000 		addl	$200, %eax
 559      00
 560 0922 0FB600   		movzbl	(%eax), %eax
 561 0925 0FB6C0   		movzbl	%al, %eax
 562 0928 8985E0FF 		movl	%eax, -65568(%ebp)
 562      FEFF
 542:armor.c       ****   //  N = A;
 543:armor.c       ****   //  Z = A;
 544:armor.c       ****   //  V = 0;
 545:armor.c       ****       
 546:armor.c       ****             //        STA   <$E9                    ; 00E7: 97 E9         
 547:armor.c       ****   //  Z = A;
 548:armor.c       ****   //  N = A;
 549:armor.c       ****   //  V = 0;
 550:armor.c       ****       memory_DP[0xe9] = A;
 563              		.loc 1 550 0
 564 092e 8B85DCFF 		movl	-65572(%ebp), %eax
 564      FEFF
 565 0934 05E90000 		addl	$233, %eax
 565      00
 566 0939 8B95E0FF 		movl	-65568(%ebp), %edx
 566      FEFF
 567 093f 8810     		movb	%dl, (%eax)
 551:armor.c       ****       
 552:armor.c       ****             //        DEC   <$2E                    ; 00E9: 0A 2E         
 553:armor.c       ****       res = (UINT8)(memory_DP[0x2e] - 1);
 568              		.loc 1 553 0
 569 0941 8B85DCFF 		movl	-65572(%ebp), %eax
 569      FEFF
 570 0947 83C02E   		addl	$46, %eax
 571 094a 0FB600   		movzbl	(%eax), %eax
 572 094d 83E801   		subl	$1, %eax
 573 0950 0FB6C0   		movzbl	%al, %eax
 574 0953 8985E8FF 		movl	%eax, -65560(%ebp)
 574      FEFF
 554:armor.c       ****   //  N = res;
 555:armor.c       ****       Z = res;
GAS LISTING /tmp/ccqXEnet.s 			page 27


 575              		.loc 1 555 0
 576 0959 8B85E8FF 		movl	-65560(%ebp), %eax
 576      FEFF
 577 095f 668985CC 		movw	%ax, -65588(%ebp)
 577      FFFEFF
 556:armor.c       ****   //  V = memory_DP[0x2e] & ~res;
 557:armor.c       ****       memory_DP[0x2e] = res;
 578              		.loc 1 557 0
 579 0966 8B85DCFF 		movl	-65572(%ebp), %eax
 579      FEFF
 580 096c 83C02E   		addl	$46, %eax
 581 096f 8B95E8FF 		movl	-65560(%ebp), %edx
 581      FEFF
 582 0975 8810     		movb	%dl, (%eax)
 558:armor.c       ****       
 559:armor.c       ****             //        BNE   $011B                   ; 00EB: 26 2E         
 560:armor.c       ****       if (Z) {
 583              		.loc 1 560 0
 584 0977 6683BDCC 		cmpw	$0, -65588(%ebp)
 584      FFFEFF00 
 585 097f 7409     		je	.L26
 561:armor.c       ****       PC = 0x011b;
 586              		.loc 1 561 0
 587 0981 66C785CA 		movw	$283, -65590(%ebp)
 587      FFFEFF1B 
 587      01
 588              	.L26:
 562:armor.c       ****       JUMP;
 563:armor.c       ****       }
 564:armor.c       ****       
 565:armor.c       ****             //        COM   <$E9                    ; 00ED: 03 E9         
 566:armor.c       ****       memory_DP[0xe9] = memory_DP[0xe9] ^ 0xff;
 589              		.loc 1 566 0
 590 098a 8B85DCFF 		movl	-65572(%ebp), %eax
 590      FEFF
 591 0990 05E90000 		addl	$233, %eax
 591      00
 592 0995 0FB610   		movzbl	(%eax), %edx
 593 0998 8B85DCFF 		movl	-65572(%ebp), %eax
 593      FEFF
 594 099e 05E90000 		addl	$233, %eax
 594      00
 595 09a3 F7D2     		notl	%edx
 596 09a5 8810     		movb	%dl, (%eax)
 597              	.L27:
 567:armor.c       ****   //  Z = memory_DP[0xe9];
 568:armor.c       ****   //  N = memory_DP[0xe9];
 569:armor.c       ****   //  V = 0;
 570:armor.c       ****   //  C = 1;
 571:armor.c       ****       
 572:armor.c       ****       L00EF://        LDB   <$C7                    ; 00EF: D6 C7         
 573:armor.c       ****       B = memory_DP[0xc7];
 598              		.loc 1 573 0
 599 09a7 8B85DCFF 		movl	-65572(%ebp), %eax
 599      FEFF
 600 09ad 05C70000 		addl	$199, %eax
 600      00
GAS LISTING /tmp/ccqXEnet.s 			page 28


 601 09b2 0FB600   		movzbl	(%eax), %eax
 602 09b5 0FB6C0   		movzbl	%al, %eax
 603 09b8 8985E4FF 		movl	%eax, -65564(%ebp)
 603      FEFF
 574:armor.c       ****   //  N = B;
 575:armor.c       ****       Z = B;
 604              		.loc 1 575 0
 605 09be 8B85E4FF 		movl	-65564(%ebp), %eax
 605      FEFF
 606 09c4 668985CC 		movw	%ax, -65588(%ebp)
 606      FFFEFF
 576:armor.c       ****   //  V = 0;
 577:armor.c       ****       
 578:armor.c       ****             //        BEQ   $A8                     ; 00F1: 27 B5         
 579:armor.c       ****       if (!Z) {
 607              		.loc 1 579 0
 608 09cb 6683BDCC 		cmpw	$0, -65588(%ebp)
 608      FFFEFF00 
 609 09d3 7509     		jne	.L28
 580:armor.c       ****       PC = 0x00a8;
 610              		.loc 1 580 0
 611 09d5 66C785CA 		movw	$168, -65590(%ebp)
 611      FFFEFFA8 
 611      00
 612              	.L28:
 581:armor.c       ****       JUMP;
 582:armor.c       ****       }
 583:armor.c       ****       
 584:armor.c       ****             //        LDA   <$8A                    ; 00F3: 96 8A         
 585:armor.c       ****       A = memory_DP[0x8a];
 613              		.loc 1 585 0
 614 09de 8B85DCFF 		movl	-65572(%ebp), %eax
 614      FEFF
 615 09e4 058A0000 		addl	$138, %eax
 615      00
 616 09e9 0FB600   		movzbl	(%eax), %eax
 617 09ec 0FB6C0   		movzbl	%al, %eax
 618 09ef 8985E0FF 		movl	%eax, -65568(%ebp)
 618      FEFF
 586:armor.c       ****       N = A;
 619              		.loc 1 586 0
 620 09f5 8B85E0FF 		movl	-65568(%ebp), %eax
 620      FEFF
 621 09fb 8885C1FF 		movb	%al, -65599(%ebp)
 621      FEFF
 587:armor.c       ****   //  Z = A;
 588:armor.c       ****   //  V = 0;
 589:armor.c       ****       
 590:armor.c       ****             //        BPL   $010F                   ; 00F5: 2A 18         
 591:armor.c       ****       if ((SINT8)N >= 0) {
 622              		.loc 1 591 0
 623 0a01 0FB685C1 		movzbl	-65599(%ebp), %eax
 623      FFFEFF
 624 0a08 84C0     		testb	%al, %al
 625 0a0a 7809     		js	.L29
 592:armor.c       ****       PC = 0x010f;
 626              		.loc 1 592 0
GAS LISTING /tmp/ccqXEnet.s 			page 29


 627 0a0c 66C785CA 		movw	$271, -65590(%ebp)
 627      FFFEFF0F 
 627      01
 628              	.L29:
 593:armor.c       ****       JUMP;
 594:armor.c       ****       }
 595:armor.c       ****       
 596:armor.c       ****             //        NEGA                          ; 00F7: 40            
 597:armor.c       ****   //  V = (UINT8)(-A) & (A);
 598:armor.c       ****       A = (UINT8)(-A);
 629              		.loc 1 598 0
 630 0a15 8B85E0FF 		movl	-65568(%ebp), %eax
 630      FEFF
 631 0a1b F7D8     		negl	%eax
 632 0a1d 0FB6C0   		movzbl	%al, %eax
 633 0a20 8985E0FF 		movl	%eax, -65568(%ebp)
 633      FEFF
 599:armor.c       ****   //  Z = A;
 600:armor.c       ****   //  N = A;
 601:armor.c       ****   //  C = A;
 602:armor.c       ****       
 603:armor.c       ****             //        STA   <$8A                    ; 00F8: 97 8A         
 604:armor.c       ****   //  Z = A;
 605:armor.c       ****   //  N = A;
 606:armor.c       ****   //  V = 0;
 607:armor.c       ****       memory_DP[0x8a] = A;
 634              		.loc 1 607 0
 635 0a26 8B85DCFF 		movl	-65572(%ebp), %eax
 635      FEFF
 636 0a2c 058A0000 		addl	$138, %eax
 636      00
 637 0a31 8B95E0FF 		movl	-65568(%ebp), %edx
 637      FEFF
 638 0a37 8810     		movb	%dl, (%eax)
 608:armor.c       ****       
 609:armor.c       ****             //        ANDA  #$03                    ; 00FA: 84 03         
 610:armor.c       ****       A = A & (SINT8)0x03;
 639              		.loc 1 610 0
 640 0a39 83A5E0FF 		andl	$3, -65568(%ebp)
 640      FEFF03
 611:armor.c       ****   //  Z = A;
 612:armor.c       ****   //  N = A;
 613:armor.c       ****   //  V = 0;
 614:armor.c       ****       
 615:armor.c       ****             //        CMPA  #$01                    ; 00FC: 81 01         
 616:armor.c       ****       res = A - (SINT8)0x01;
 641              		.loc 1 616 0
 642 0a40 8B85E0FF 		movl	-65568(%ebp), %eax
 642      FEFF
 643 0a46 83E801   		subl	$1, %eax
 644 0a49 8985E8FF 		movl	%eax, -65560(%ebp)
 644      FEFF
 617:armor.c       ****       C = res & 0x100;
 645              		.loc 1 617 0
 646 0a4f 8B85E8FF 		movl	-65560(%ebp), %eax
 646      FEFF
 647 0a55 25000100 		andl	$256, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 30


 647      00
 648 0a5a 8985ECFF 		movl	%eax, -65556(%ebp)
 648      FEFF
 618:armor.c       ****       res = (UINT8)res;
 649              		.loc 1 618 0
 650 0a60 8B85E8FF 		movl	-65560(%ebp), %eax
 650      FEFF
 651 0a66 0FB6C0   		movzbl	%al, %eax
 652 0a69 8985E8FF 		movl	%eax, -65560(%ebp)
 652      FEFF
 619:armor.c       ****       Z = res;
 653              		.loc 1 619 0
 654 0a6f 8B85E8FF 		movl	-65560(%ebp), %eax
 654      FEFF
 655 0a75 668985CC 		movw	%ax, -65588(%ebp)
 655      FFFEFF
 620:armor.c       ****   //  N = res;
 621:armor.c       ****   //  V = (A ^ (SINT8)0x01) & (A ^ res);
 622:armor.c       ****       
 623:armor.c       ****             //        BNE   $010F                   ; 00FE: 26 0F         
 624:armor.c       ****       if (Z) {
 656              		.loc 1 624 0
 657 0a7c 6683BDCC 		cmpw	$0, -65588(%ebp)
 657      FFFEFF00 
 658 0a84 7409     		je	.L30
 625:armor.c       ****       PC = 0x010f;
 659              		.loc 1 625 0
 660 0a86 66C785CA 		movw	$271, -65590(%ebp)
 660      FFFEFF0F 
 660      01
 661              	.L30:
 626:armor.c       ****       JUMP;
 627:armor.c       ****       }
 628:armor.c       ****       
 629:armor.c       ****             //        LDB   <$87                    ; 0100: D6 87         
 630:armor.c       ****       B = memory_DP[0x87];
 662              		.loc 1 630 0
 663 0a8f 8B85DCFF 		movl	-65572(%ebp), %eax
 663      FEFF
 664 0a95 05870000 		addl	$135, %eax
 664      00
 665 0a9a 0FB600   		movzbl	(%eax), %eax
 666 0a9d 0FB6C0   		movzbl	%al, %eax
 667 0aa0 8985E4FF 		movl	%eax, -65564(%ebp)
 667      FEFF
 631:armor.c       ****   //  N = B;
 632:armor.c       ****   //  Z = B;
 633:armor.c       ****   //  V = 0;
 634:armor.c       ****       
 635:armor.c       ****             //        LDU   #$0CFF                  ; 0102: CE 0C FF      
 636:armor.c       ****       U = 0x0cff;
 668              		.loc 1 636 0
 669 0aa6 66C785CE 		movw	$3327, -65586(%ebp)
 669      FFFEFFFF 
 669      0C
 637:armor.c       ****   //  Z = U;
 638:armor.c       ****   //  N = (U) >> 8;
GAS LISTING /tmp/ccqXEnet.s 			page 31


 639:armor.c       ****   //  V = 0;
 640:armor.c       ****       
 641:armor.c       ****             //        LEAU  B,U                     ; 0105: 33 C5         
 642:armor.c       ****       U = (U + (SINT8)B);
 670              		.loc 1 642 0
 671 0aaf 8B85E4FF 		movl	-65564(%ebp), %eax
 671      FEFF
 672 0ab5 6698     		cbtw
 673 0ab7 660185CE 		addw	%ax, -65586(%ebp)
 673      FFFEFF
 643:armor.c       ****       
 644:armor.c       ****             //        LDX   #$C880                  ; 0107: 8E C8 80      
 645:armor.c       ****       X = 0xc880;
 674              		.loc 1 645 0
 675 0abe 66C785C6 		movw	$-14208, -65594(%ebp)
 675      FFFEFF80 
 675      C8
 646:armor.c       ****   //  Z = X;
 647:armor.c       ****   //  N = (X) >> 8;
 648:armor.c       ****   //  V = 0;
 649:armor.c       ****       
 650:armor.c       ****             //        LDA   #$08                    ; 010A: 86 08         
 651:armor.c       ****       A = (SINT8)0x08;
 676              		.loc 1 651 0
 677 0ac7 C785E0FF 		movl	$8, -65568(%ebp)
 677      FEFF0800 
 677      0000
 652:armor.c       ****   //  N = A;
 653:armor.c       ****   //  Z = A;
 654:armor.c       ****   //  V = 0;
 655:armor.c       ****       
 656:armor.c       ****             //        JSR   $0CF6                   ; 010C: BD 0C F6      
 657:armor.c       ****       memory[--S] = 0x010f & 0xff; memory[--S] = 0x010f >> 8;
 678              		.loc 1 657 0
 679 0ad1 6683ADC8 		subw	$1, -65592(%ebp)
 679      FFFEFF01 
 680 0ad9 0FB785C8 		movzwl	-65592(%ebp), %eax
 680      FFFEFF
 681 0ae0 C68405F4 		movb	$15, -65548(%ebp,%eax)
 681      FFFEFF0F 
 682 0ae8 6683ADC8 		subw	$1, -65592(%ebp)
 682      FFFEFF01 
 683 0af0 0FB785C8 		movzwl	-65592(%ebp), %eax
 683      FFFEFF
 684 0af7 C68405F4 		movb	$1, -65548(%ebp,%eax)
 684      FFFEFF01 
 658:armor.c       ****       PC = 0x0cf6;
 685              		.loc 1 658 0
 686 0aff 66C785CA 		movw	$3318, -65590(%ebp)
 686      FFFEFFF6 
 686      0C
 687              	.L31:
 659:armor.c       ****       JUMP;
 660:armor.c       ****       
 661:armor.c       ****       L010F://        JSR   $0A59                   ; 010F: BD 0A 59      
 662:armor.c       ****       memory[--S] = 0x0112 & 0xff; memory[--S] = 0x0112 >> 8;
 688              		.loc 1 662 0
GAS LISTING /tmp/ccqXEnet.s 			page 32


 689 0b08 6683ADC8 		subw	$1, -65592(%ebp)
 689      FFFEFF01 
 690 0b10 0FB785C8 		movzwl	-65592(%ebp), %eax
 690      FFFEFF
 691 0b17 C68405F4 		movb	$18, -65548(%ebp,%eax)
 691      FFFEFF12 
 692 0b1f 6683ADC8 		subw	$1, -65592(%ebp)
 692      FFFEFF01 
 693 0b27 0FB785C8 		movzwl	-65592(%ebp), %eax
 693      FFFEFF
 694 0b2e C68405F4 		movb	$1, -65548(%ebp,%eax)
 694      FFFEFF01 
 663:armor.c       ****       PC = 0x0a59;
 695              		.loc 1 663 0
 696 0b36 66C785CA 		movw	$2649, -65590(%ebp)
 696      FFFEFF59 
 696      0A
 697              	.L32:
 664:armor.c       ****       JUMP;
 665:armor.c       ****       
 666:armor.c       ****       L0112://        JSR   $08BA                   ; 0112: BD 08 BA      
 667:armor.c       ****       memory[--S] = 0x0115 & 0xff; memory[--S] = 0x0115 >> 8;
 698              		.loc 1 667 0
 699 0b3f 6683ADC8 		subw	$1, -65592(%ebp)
 699      FFFEFF01 
 700 0b47 0FB785C8 		movzwl	-65592(%ebp), %eax
 700      FFFEFF
 701 0b4e C68405F4 		movb	$21, -65548(%ebp,%eax)
 701      FFFEFF15 
 702 0b56 6683ADC8 		subw	$1, -65592(%ebp)
 702      FFFEFF01 
 703 0b5e 0FB785C8 		movzwl	-65592(%ebp), %eax
 703      FFFEFF
 704 0b65 C68405F4 		movb	$1, -65548(%ebp,%eax)
 704      FFFEFF01 
 668:armor.c       ****       PC = 0x08ba;
 705              		.loc 1 668 0
 706 0b6d 66C785CA 		movw	$2234, -65590(%ebp)
 706      FFFEFFBA 
 706      08
 707              	.L33:
 669:armor.c       ****       JUMP;
 670:armor.c       ****       
 671:armor.c       ****       L0115://        JSR   $039D                   ; 0115: BD 03 9D      
 672:armor.c       ****       memory[--S] = 0x0118 & 0xff; memory[--S] = 0x0118 >> 8;
 708              		.loc 1 672 0
 709 0b76 6683ADC8 		subw	$1, -65592(%ebp)
 709      FFFEFF01 
 710 0b7e 0FB785C8 		movzwl	-65592(%ebp), %eax
 710      FFFEFF
 711 0b85 C68405F4 		movb	$24, -65548(%ebp,%eax)
 711      FFFEFF18 
 712 0b8d 6683ADC8 		subw	$1, -65592(%ebp)
 712      FFFEFF01 
 713 0b95 0FB785C8 		movzwl	-65592(%ebp), %eax
 713      FFFEFF
 714 0b9c C68405F4 		movb	$1, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 33


 714      FFFEFF01 
 673:armor.c       ****       PC = 0x039d;
 715              		.loc 1 673 0
 716 0ba4 66C785CA 		movw	$925, -65590(%ebp)
 716      FFFEFF9D 
 716      03
 717              	.L34:
 674:armor.c       ****       JUMP;
 675:armor.c       ****       
 676:armor.c       ****       L0118://        JSR   $06C6                   ; 0118: BD 06 C6      
 677:armor.c       ****       memory[--S] = 0x011b & 0xff; memory[--S] = 0x011b >> 8;
 718              		.loc 1 677 0
 719 0bad 6683ADC8 		subw	$1, -65592(%ebp)
 719      FFFEFF01 
 720 0bb5 0FB785C8 		movzwl	-65592(%ebp), %eax
 720      FFFEFF
 721 0bbc C68405F4 		movb	$27, -65548(%ebp,%eax)
 721      FFFEFF1B 
 722 0bc4 6683ADC8 		subw	$1, -65592(%ebp)
 722      FFFEFF01 
 723 0bcc 0FB785C8 		movzwl	-65592(%ebp), %eax
 723      FFFEFF
 724 0bd3 C68405F4 		movb	$1, -65548(%ebp,%eax)
 724      FFFEFF01 
 678:armor.c       ****       PC = 0x06c6;
 725              		.loc 1 678 0
 726 0bdb 66C785CA 		movw	$1734, -65590(%ebp)
 726      FFFEFFC6 
 726      06
 727              	.L35:
 679:armor.c       ****       JUMP;
 680:armor.c       ****       
 681:armor.c       ****       L011B://        INC   <$EE                    ; 011B: 0C EE         
 682:armor.c       ****       res = (UINT8)((memory_DP[0xee]) + 1);
 728              		.loc 1 682 0
 729 0be4 8B85DCFF 		movl	-65572(%ebp), %eax
 729      FEFF
 730 0bea 05EE0000 		addl	$238, %eax
 730      00
 731 0bef 0FB600   		movzbl	(%eax), %eax
 732 0bf2 83C001   		addl	$1, %eax
 733 0bf5 0FB6C0   		movzbl	%al, %eax
 734 0bf8 8985E8FF 		movl	%eax, -65560(%ebp)
 734      FEFF
 683:armor.c       ****   //  Z = res;
 684:armor.c       ****   //  N = res;
 685:armor.c       ****   //  V = res & ~(memory_DP[0xee]);
 686:armor.c       ****       memory_DP[0xee] = res;
 735              		.loc 1 686 0
 736 0bfe 8B85DCFF 		movl	-65572(%ebp), %eax
 736      FEFF
 737 0c04 05EE0000 		addl	$238, %eax
 737      00
 738 0c09 8B95E8FF 		movl	-65560(%ebp), %edx
 738      FEFF
 739 0c0f 8810     		movb	%dl, (%eax)
 687:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 34


 688:armor.c       ****             //        JSR   $0BD3                   ; 011D: BD 0B D3      
 689:armor.c       ****       memory[--S] = 0x0120 & 0xff; memory[--S] = 0x0120 >> 8;
 740              		.loc 1 689 0
 741 0c11 6683ADC8 		subw	$1, -65592(%ebp)
 741      FFFEFF01 
 742 0c19 0FB785C8 		movzwl	-65592(%ebp), %eax
 742      FFFEFF
 743 0c20 C68405F4 		movb	$32, -65548(%ebp,%eax)
 743      FFFEFF20 
 744 0c28 6683ADC8 		subw	$1, -65592(%ebp)
 744      FFFEFF01 
 745 0c30 0FB785C8 		movzwl	-65592(%ebp), %eax
 745      FFFEFF
 746 0c37 C68405F4 		movb	$1, -65548(%ebp,%eax)
 746      FFFEFF01 
 690:armor.c       ****       PC = 0x0bd3;
 747              		.loc 1 690 0
 748 0c3f 66C785CA 		movw	$3027, -65590(%ebp)
 748      FFFEFFD3 
 748      0B
 749              	.L36:
 691:armor.c       ****       JUMP;
 692:armor.c       ****       
 693:armor.c       ****       L0120://        JSR   $0185                   ; 0120: BD 01 85      
 694:armor.c       ****       memory[--S] = 0x0123 & 0xff; memory[--S] = 0x0123 >> 8;
 750              		.loc 1 694 0
 751 0c48 6683ADC8 		subw	$1, -65592(%ebp)
 751      FFFEFF01 
 752 0c50 0FB785C8 		movzwl	-65592(%ebp), %eax
 752      FFFEFF
 753 0c57 C68405F4 		movb	$35, -65548(%ebp,%eax)
 753      FFFEFF23 
 754 0c5f 6683ADC8 		subw	$1, -65592(%ebp)
 754      FFFEFF01 
 755 0c67 0FB785C8 		movzwl	-65592(%ebp), %eax
 755      FFFEFF
 756 0c6e C68405F4 		movb	$1, -65548(%ebp,%eax)
 756      FFFEFF01 
 695:armor.c       ****       PC = 0x0185;
 757              		.loc 1 695 0
 758 0c76 66C785CA 		movw	$389, -65590(%ebp)
 758      FFFEFF85 
 758      01
 759              	.L37:
 696:armor.c       ****       JUMP;
 697:armor.c       ****       
 698:armor.c       ****       L0123://        LDA   <$ED                    ; 0123: 96 ED         
 699:armor.c       ****       A = memory_DP[0xed];
 760              		.loc 1 699 0
 761 0c7f 8B85DCFF 		movl	-65572(%ebp), %eax
 761      FEFF
 762 0c85 05ED0000 		addl	$237, %eax
 762      00
 763 0c8a 0FB600   		movzbl	(%eax), %eax
 764 0c8d 0FB6C0   		movzbl	%al, %eax
 765 0c90 8985E0FF 		movl	%eax, -65568(%ebp)
 765      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 35


 700:armor.c       ****       N = A;
 766              		.loc 1 700 0
 767 0c96 8B85E0FF 		movl	-65568(%ebp), %eax
 767      FEFF
 768 0c9c 8885C1FF 		movb	%al, -65599(%ebp)
 768      FEFF
 701:armor.c       ****   //  Z = A;
 702:armor.c       ****   //  V = 0;
 703:armor.c       ****       
 704:armor.c       ****             //        BMI   $EF                     ; 0125: 2B C8         
 705:armor.c       ****       if ((SINT8)N <  0) {
 769              		.loc 1 705 0
 770 0ca2 0FB685C1 		movzbl	-65599(%ebp), %eax
 770      FFFEFF
 771 0ca9 84C0     		testb	%al, %al
 772 0cab 7909     		jns	.L38
 706:armor.c       ****       PC = 0x00ef;
 773              		.loc 1 706 0
 774 0cad 66C785CA 		movw	$239, -65590(%ebp)
 774      FFFEFFEF 
 774      00
 775              	.L38:
 707:armor.c       ****       JUMP;
 708:armor.c       ****       }
 709:armor.c       ****       
 710:armor.c       ****             //        LDB   <$0F                    ; 0127: D6 0F         
 711:armor.c       ****       B = memory_DP[0x0f];
 776              		.loc 1 711 0
 777 0cb6 8B85DCFF 		movl	-65572(%ebp), %eax
 777      FEFF
 778 0cbc 83C00F   		addl	$15, %eax
 779 0cbf 0FB600   		movzbl	(%eax), %eax
 780 0cc2 0FB6C0   		movzbl	%al, %eax
 781 0cc5 8985E4FF 		movl	%eax, -65564(%ebp)
 781      FEFF
 712:armor.c       ****       N = B;
 782              		.loc 1 712 0
 783 0ccb 8B85E4FF 		movl	-65564(%ebp), %eax
 783      FEFF
 784 0cd1 8885C1FF 		movb	%al, -65599(%ebp)
 784      FEFF
 713:armor.c       ****       Z = B;
 785              		.loc 1 713 0
 786 0cd7 8B85E4FF 		movl	-65564(%ebp), %eax
 786      FEFF
 787 0cdd 668985CC 		movw	%ax, -65588(%ebp)
 787      FFFEFF
 714:armor.c       ****       V = 0;
 788              		.loc 1 714 0
 789 0ce4 C685C2FF 		movb	$0, -65598(%ebp)
 789      FEFF00
 715:armor.c       ****       
 716:armor.c       ****             //        LBNE  $50                     ; 0129: 10 26 FF 23   
 717:armor.c       ****       if (Z) {
 790              		.loc 1 717 0
 791 0ceb 6683BDCC 		cmpw	$0, -65588(%ebp)
 791      FFFEFF00 
GAS LISTING /tmp/ccqXEnet.s 			page 36


 792 0cf3 7409     		je	.L39
 718:armor.c       ****       PC = 0x0050;
 793              		.loc 1 718 0
 794 0cf5 66C785CA 		movw	$80, -65590(%ebp)
 794      FFFEFF50 
 794      00
 795              	.L39:
 719:armor.c       ****       JUMP;
 720:armor.c       ****       }
 721:armor.c       ****       
 722:armor.c       ****             //        DEC   <$33                    ; 012D: 0A 33         
 723:armor.c       ****       res = (UINT8)(memory_DP[0x33] - 1);
 796              		.loc 1 723 0
 797 0cfe 8B85DCFF 		movl	-65572(%ebp), %eax
 797      FEFF
 798 0d04 83C033   		addl	$51, %eax
 799 0d07 0FB600   		movzbl	(%eax), %eax
 800 0d0a 83E801   		subl	$1, %eax
 801 0d0d 0FB6C0   		movzbl	%al, %eax
 802 0d10 8985E8FF 		movl	%eax, -65560(%ebp)
 802      FEFF
 724:armor.c       ****   //  N = res;
 725:armor.c       ****       Z = res;
 803              		.loc 1 725 0
 804 0d16 8B85E8FF 		movl	-65560(%ebp), %eax
 804      FEFF
 805 0d1c 668985CC 		movw	%ax, -65588(%ebp)
 805      FFFEFF
 726:armor.c       ****   //  V = memory_DP[0x33] & ~res;
 727:armor.c       ****       memory_DP[0x33] = res;
 806              		.loc 1 727 0
 807 0d23 8B85DCFF 		movl	-65572(%ebp), %eax
 807      FEFF
 808 0d29 83C033   		addl	$51, %eax
 809 0d2c 8B95E8FF 		movl	-65560(%ebp), %edx
 809      FEFF
 810 0d32 8810     		movb	%dl, (%eax)
 728:armor.c       ****       
 729:armor.c       ****             //        BNE   $011B                   ; 012F: 26 EA         
 730:armor.c       ****       if (Z) {
 811              		.loc 1 730 0
 812 0d34 6683BDCC 		cmpw	$0, -65588(%ebp)
 812      FFFEFF00 
 813 0d3c 7409     		je	.L40
 731:armor.c       ****       PC = 0x011b;
 814              		.loc 1 731 0
 815 0d3e 66C785CA 		movw	$283, -65590(%ebp)
 815      FFFEFF1B 
 815      01
 816              	.L40:
 732:armor.c       ****       JUMP;
 733:armor.c       ****       }
 734:armor.c       ****       
 735:armor.c       ****             //        DEC   <$32                    ; 0131: 0A 32         
 736:armor.c       ****       res = (UINT8)(memory_DP[0x32] - 1);
 817              		.loc 1 736 0
 818 0d47 8B85DCFF 		movl	-65572(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 37


 818      FEFF
 819 0d4d 83C032   		addl	$50, %eax
 820 0d50 0FB600   		movzbl	(%eax), %eax
 821 0d53 83E801   		subl	$1, %eax
 822 0d56 0FB6C0   		movzbl	%al, %eax
 823 0d59 8985E8FF 		movl	%eax, -65560(%ebp)
 823      FEFF
 737:armor.c       ****   //  N = res;
 738:armor.c       ****       Z = res;
 824              		.loc 1 738 0
 825 0d5f 8B85E8FF 		movl	-65560(%ebp), %eax
 825      FEFF
 826 0d65 668985CC 		movw	%ax, -65588(%ebp)
 826      FFFEFF
 739:armor.c       ****   //  V = memory_DP[0x32] & ~res;
 740:armor.c       ****       memory_DP[0x32] = res;
 827              		.loc 1 740 0
 828 0d6c 8B85DCFF 		movl	-65572(%ebp), %eax
 828      FEFF
 829 0d72 83C032   		addl	$50, %eax
 830 0d75 8B95E8FF 		movl	-65560(%ebp), %edx
 830      FEFF
 831 0d7b 8810     		movb	%dl, (%eax)
 741:armor.c       ****       
 742:armor.c       ****             //        BNE   $011B                   ; 0133: 26 E6         
 743:armor.c       ****       if (Z) {
 832              		.loc 1 743 0
 833 0d7d 6683BDCC 		cmpw	$0, -65588(%ebp)
 833      FFFEFF00 
 834 0d85 7409     		je	.L41
 744:armor.c       ****       PC = 0x011b;
 835              		.loc 1 744 0
 836 0d87 66C785CA 		movw	$283, -65590(%ebp)
 836      FFFEFF1B 
 836      01
 837              	.L41:
 745:armor.c       ****       JUMP;
 746:armor.c       ****       }
 747:armor.c       ****       
 748:armor.c       ****             //        LDD   #$06FF                  ; 0135: CC 06 FF      
 749:armor.c       ****       A = (UINT8)((0x06ff) >> 8);
 838              		.loc 1 749 0
 839 0d90 C785E0FF 		movl	$6, -65568(%ebp)
 839      FEFF0600 
 839      0000
 750:armor.c       ****       B = (UINT8)((0x06ff) & 0xff);
 840              		.loc 1 750 0
 841 0d9a C785E4FF 		movl	$255, -65564(%ebp)
 841      FEFFFF00 
 841      0000
 751:armor.c       ****   //  Z = A|B;
 752:armor.c       ****   //  N = A;
 753:armor.c       ****   //  V = 0;
 754:armor.c       ****       
 755:armor.c       ****             //        STD   <$32                    ; 0138: DD 32         
 756:armor.c       ****   //  Z = A | B;
 757:armor.c       ****   //  N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 38


 758:armor.c       ****   //  V = 0;
 759:armor.c       ****       memory_DP[0x32] = A;
 842              		.loc 1 759 0
 843 0da4 8B85DCFF 		movl	-65572(%ebp), %eax
 843      FEFF
 844 0daa 83C032   		addl	$50, %eax
 845 0dad 8B95E0FF 		movl	-65568(%ebp), %edx
 845      FEFF
 846 0db3 8810     		movb	%dl, (%eax)
 760:armor.c       ****       memory_DP[0x32 + 1] = B;
 847              		.loc 1 760 0
 848 0db5 8B85DCFF 		movl	-65572(%ebp), %eax
 848      FEFF
 849 0dbb 83C033   		addl	$51, %eax
 850 0dbe 8B95E4FF 		movl	-65564(%ebp), %edx
 850      FEFF
 851 0dc4 8810     		movb	%dl, (%eax)
 852              	.L42:
 761:armor.c       ****       
 762:armor.c       ****       L013A://        JSR   Wait_Recal              ; 013A: BD F1 92      
 763:armor.c       ****       memory[--S] = 0x013d & 0xff; memory[--S] = 0x013d >> 8;
 853              		.loc 1 763 0
 854 0dc6 6683ADC8 		subw	$1, -65592(%ebp)
 854      FFFEFF01 
 855 0dce 0FB785C8 		movzwl	-65592(%ebp), %eax
 855      FFFEFF
 856 0dd5 C68405F4 		movb	$61, -65548(%ebp,%eax)
 856      FFFEFF3D 
 857 0ddd 6683ADC8 		subw	$1, -65592(%ebp)
 857      FFFEFF01 
 858 0de5 0FB785C8 		movzwl	-65592(%ebp), %eax
 858      FFFEFF
 859 0dec C68405F4 		movb	$1, -65548(%ebp,%eax)
 859      FFFEFF01 
 764:armor.c       ****       PC = 0xf192;
 860              		.loc 1 764 0
 861 0df4 66C785CA 		movw	$-3694, -65590(%ebp)
 861      FFFEFF92 
 861      F1
 765:armor.c       ****       JUMP;
 766:armor.c       ****       DP = 0xd0 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
 862              		.loc 1 766 0
 863 0dfd 66C785C4 		movw	$-12288, -65596(%ebp)
 863      FFFEFF00 
 863      D0
 864 0e06 0FB785C4 		movzwl	-65596(%ebp), %eax
 864      FFFEFF
 865 0e0d 8D95F4FF 		leal	-65548(%ebp), %edx
 865      FEFF
 866 0e13 01D0     		addl	%edx, %eax
 867 0e15 8985DCFF 		movl	%eax, -65572(%ebp)
 867      FEFF
 868              	.L43:
 767:armor.c       ****       
 768:armor.c       ****       L013D://        JSR   Read_Btns               ; 013D: BD F1 BA      
 769:armor.c       ****       memory[--S] = 0x0140 & 0xff; memory[--S] = 0x0140 >> 8;
 869              		.loc 1 769 0
GAS LISTING /tmp/ccqXEnet.s 			page 39


 870 0e1b 6683ADC8 		subw	$1, -65592(%ebp)
 870      FFFEFF01 
 871 0e23 0FB785C8 		movzwl	-65592(%ebp), %eax
 871      FFFEFF
 872 0e2a C68405F4 		movb	$64, -65548(%ebp,%eax)
 872      FFFEFF40 
 873 0e32 6683ADC8 		subw	$1, -65592(%ebp)
 873      FFFEFF01 
 874 0e3a 0FB785C8 		movzwl	-65592(%ebp), %eax
 874      FFFEFF
 875 0e41 C68405F4 		movb	$1, -65548(%ebp,%eax)
 875      FFFEFF01 
 770:armor.c       ****       PC = 0xf1ba;
 876              		.loc 1 770 0
 877 0e49 66C785CA 		movw	$-3654, -65590(%ebp)
 877      FFFEFFBA 
 877      F1
 878              	.L44:
 771:armor.c       ****       JUMP;
 772:armor.c       ****       
 773:armor.c       ****       L0140://        JSR   DP_to_C8                ; 0140: BD F1 AF      
 774:armor.c       ****       memory[--S] = 0x0143 & 0xff; memory[--S] = 0x0143 >> 8;
 879              		.loc 1 774 0
 880 0e52 6683ADC8 		subw	$1, -65592(%ebp)
 880      FFFEFF01 
 881 0e5a 0FB785C8 		movzwl	-65592(%ebp), %eax
 881      FFFEFF
 882 0e61 C68405F4 		movb	$67, -65548(%ebp,%eax)
 882      FFFEFF43 
 883 0e69 6683ADC8 		subw	$1, -65592(%ebp)
 883      FFFEFF01 
 884 0e71 0FB785C8 		movzwl	-65592(%ebp), %eax
 884      FFFEFF
 885 0e78 C68405F4 		movb	$1, -65548(%ebp,%eax)
 885      FFFEFF01 
 775:armor.c       ****       PC = 0xf1af;
 886              		.loc 1 775 0
 887 0e80 66C785CA 		movw	$-3665, -65590(%ebp)
 887      FFFEFFAF 
 887      F1
 776:armor.c       ****       JUMP;
 777:armor.c       ****       DP = 0xc8 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
 888              		.loc 1 777 0
 889 0e89 66C785C4 		movw	$-14336, -65596(%ebp)
 889      FFFEFF00 
 889      C8
 890 0e92 0FB785C4 		movzwl	-65596(%ebp), %eax
 890      FFFEFF
 891 0e99 8D95F4FF 		leal	-65548(%ebp), %edx
 891      FEFF
 892 0e9f 01D0     		addl	%edx, %eax
 893 0ea1 8985DCFF 		movl	%eax, -65572(%ebp)
 893      FEFF
 894              	.L45:
 778:armor.c       ****       
 779:armor.c       ****       L0143://        LDX   <$32                    ; 0143: 9E 32         
 780:armor.c       ****       X = ((memory_DP[0x32]<<8)|memory_DP[0x32 + 1]);
GAS LISTING /tmp/ccqXEnet.s 			page 40


 895              		.loc 1 780 0
 896 0ea7 8B85DCFF 		movl	-65572(%ebp), %eax
 896      FEFF
 897 0ead 83C032   		addl	$50, %eax
 898 0eb0 0FB600   		movzbl	(%eax), %eax
 899 0eb3 0FB6C0   		movzbl	%al, %eax
 900 0eb6 C1E008   		sall	$8, %eax
 901 0eb9 89C2     		movl	%eax, %edx
 902 0ebb 8B85DCFF 		movl	-65572(%ebp), %eax
 902      FEFF
 903 0ec1 83C033   		addl	$51, %eax
 904 0ec4 0FB600   		movzbl	(%eax), %eax
 905 0ec7 0FB6C0   		movzbl	%al, %eax
 906 0eca 09D0     		orl	%edx, %eax
 907 0ecc 668985C6 		movw	%ax, -65594(%ebp)
 907      FFFEFF
 781:armor.c       ****   //  Z = X;
 782:armor.c       ****   //  N = (X) >> 8;
 783:armor.c       ****   //  V = 0;
 784:armor.c       ****       
 785:armor.c       ****             //        LEAX  $FFFF,X                 ; 0145: 30 1F         
 786:armor.c       ****       X = (X + 0xffff);
 908              		.loc 1 786 0
 909 0ed3 6683ADC6 		subw	$1, -65594(%ebp)
 909      FFFEFF01 
 787:armor.c       ****   //  Z = X;
 788:armor.c       ****       
 789:armor.c       ****             //        STX   <$32                    ; 0147: 9F 32         
 790:armor.c       ****       Z = X;
 910              		.loc 1 790 0
 911 0edb 0FB785C6 		movzwl	-65594(%ebp), %eax
 911      FFFEFF
 912 0ee2 668985CC 		movw	%ax, -65588(%ebp)
 912      FFFEFF
 791:armor.c       ****   //  N = (X) >> 8;
 792:armor.c       ****   //  V = 0;
 793:armor.c       ****       memory_DP[0x32] = (UINT8)((X) >> 8);
 913              		.loc 1 793 0
 914 0ee9 0FB785C6 		movzwl	-65594(%ebp), %eax
 914      FFFEFF
 915 0ef0 66C1E808 		shrw	$8, %ax
 916 0ef4 89C2     		movl	%eax, %edx
 917 0ef6 8B85DCFF 		movl	-65572(%ebp), %eax
 917      FEFF
 918 0efc 83C032   		addl	$50, %eax
 919 0eff 8810     		movb	%dl, (%eax)
 794:armor.c       ****       memory_DP[(UINT16)(0x32 + 1)] = (UINT8)((X) & 0xff);
 920              		.loc 1 794 0
 921 0f01 8B85DCFF 		movl	-65572(%ebp), %eax
 921      FEFF
 922 0f07 83C033   		addl	$51, %eax
 923 0f0a 0FB795C6 		movzwl	-65594(%ebp), %edx
 923      FFFEFF
 924 0f11 8810     		movb	%dl, (%eax)
 795:armor.c       ****       
 796:armor.c       ****             //        BEQ   $0150                   ; 0149: 27 05         
 797:armor.c       ****       if (!Z) {
GAS LISTING /tmp/ccqXEnet.s 			page 41


 925              		.loc 1 797 0
 926 0f13 6683BDCC 		cmpw	$0, -65588(%ebp)
 926      FFFEFF00 
 927 0f1b 7509     		jne	.L46
 798:armor.c       ****       PC = 0x0150;
 928              		.loc 1 798 0
 929 0f1d 66C785CA 		movw	$336, -65590(%ebp)
 929      FFFEFF50 
 929      01
 930              	.L46:
 799:armor.c       ****       JUMP;
 800:armor.c       ****       }
 801:armor.c       ****       
 802:armor.c       ****             //        LDA   Vec_Btn_State           ; 014B: B6 C8 0F      
 803:armor.c       ****       A = memory[0xc80f];
 931              		.loc 1 803 0
 932 0f26 0FB68503 		movzbl	-14333(%ebp), %eax
 932      C8FFFF
 933 0f2d 0FB6C0   		movzbl	%al, %eax
 934 0f30 8985E0FF 		movl	%eax, -65568(%ebp)
 934      FEFF
 804:armor.c       ****       N = A;
 935              		.loc 1 804 0
 936 0f36 8B85E0FF 		movl	-65568(%ebp), %eax
 936      FEFF
 937 0f3c 8885C1FF 		movb	%al, -65599(%ebp)
 937      FEFF
 805:armor.c       ****       Z = A;
 938              		.loc 1 805 0
 939 0f42 8B85E0FF 		movl	-65568(%ebp), %eax
 939      FEFF
 940 0f48 668985CC 		movw	%ax, -65588(%ebp)
 940      FFFEFF
 806:armor.c       ****       V = 0;
 941              		.loc 1 806 0
 942 0f4f C685C2FF 		movb	$0, -65598(%ebp)
 942      FEFF00
 807:armor.c       ****       
 808:armor.c       ****             //        BEQ   $013A                   ; 014E: 27 EA         
 809:armor.c       ****       if (!Z) {
 943              		.loc 1 809 0
 944 0f56 6683BDCC 		cmpw	$0, -65588(%ebp)
 944      FFFEFF00 
 945 0f5e 750B     		jne	.L448
 810:armor.c       ****       PC = 0x013a;
 946              		.loc 1 810 0
 947 0f60 66C785CA 		movw	$314, -65590(%ebp)
 947      FFFEFF3A 
 947      01
 948 0f69 EB01     		jmp	.L47
 949              	.L448:
 811:armor.c       ****       JUMP;
 812:armor.c       ****       }
 813:armor.c       ****       
 814:armor.c       ****       L0150://        JMP   Cold_Start              ; 0150: 7E F0 00      
 950              		.loc 1 814 0
 951 0f6b 90       		nop
GAS LISTING /tmp/ccqXEnet.s 			page 42


 952              	.L47:
 815:armor.c       ****       PC = 0xf000;
 953              		.loc 1 815 0
 954 0f6c 66C785CA 		movw	$-4096, -65590(%ebp)
 954      FFFEFF00 
 954      F0
 955              	.L48:
 816:armor.c       ****       JUMP;
 817:armor.c       ****       
 818:armor.c       ****       
 819:armor.c       ****       L0153://        STA   <$04                    ; 0153: 97 04         
 820:armor.c       ****   //  Z = A;
 821:armor.c       ****   //  N = A;
 822:armor.c       ****   //  V = 0;
 823:armor.c       ****       memory_DP[0x04] = A;
 956              		.loc 1 823 0
 957 0f75 8B85DCFF 		movl	-65572(%ebp), %eax
 957      FEFF
 958 0f7b 83C004   		addl	$4, %eax
 959 0f7e 8B95E0FF 		movl	-65568(%ebp), %edx
 959      FEFF
 960 0f84 8810     		movb	%dl, (%eax)
 824:armor.c       ****       
 825:armor.c       ****             //        LDD   ,U++                    ; 0155: EC C1         
 826:armor.c       ****       ea = U; U = U + 2;
 961              		.loc 1 826 0
 962 0f86 0FB785CE 		movzwl	-65586(%ebp), %eax
 962      FFFEFF
 963 0f8d 668985D0 		movw	%ax, -65584(%ebp)
 963      FFFEFF
 964 0f94 668385CE 		addw	$2, -65586(%ebp)
 964      FFFEFF02 
 827:armor.c       ****       A = memory[ea];
 965              		.loc 1 827 0
 966 0f9c 0FB785D0 		movzwl	-65584(%ebp), %eax
 966      FFFEFF
 967 0fa3 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 967      F4FFFEFF 
 968 0fab 0FB6C0   		movzbl	%al, %eax
 969 0fae 8985E0FF 		movl	%eax, -65568(%ebp)
 969      FEFF
 828:armor.c       ****       B = memory[(UINT16)((ea)+1)];
 970              		.loc 1 828 0
 971 0fb4 0FB785D0 		movzwl	-65584(%ebp), %eax
 971      FFFEFF
 972 0fbb 83C001   		addl	$1, %eax
 973 0fbe 0FB7C0   		movzwl	%ax, %eax
 974 0fc1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 974      F4FFFEFF 
 975 0fc9 0FB6C0   		movzbl	%al, %eax
 976 0fcc 8985E4FF 		movl	%eax, -65564(%ebp)
 976      FEFF
 829:armor.c       ****   //  Z = A|B;
 830:armor.c       ****   //  N = A;
 831:armor.c       ****   //  V = 0;
 832:armor.c       ****       
 833:armor.c       ****             //        JSR   Moveto_d                ; 0157: BD F3 12      
GAS LISTING /tmp/ccqXEnet.s 			page 43


 834:armor.c       ****       memory[--S] = 0x015a & 0xff; memory[--S] = 0x015a >> 8;
 977              		.loc 1 834 0
 978 0fd2 6683ADC8 		subw	$1, -65592(%ebp)
 978      FFFEFF01 
 979 0fda 0FB785C8 		movzwl	-65592(%ebp), %eax
 979      FFFEFF
 980 0fe1 C68405F4 		movb	$90, -65548(%ebp,%eax)
 980      FFFEFF5A 
 981 0fe9 6683ADC8 		subw	$1, -65592(%ebp)
 981      FFFEFF01 
 982 0ff1 0FB785C8 		movzwl	-65592(%ebp), %eax
 982      FFFEFF
 983 0ff8 C68405F4 		movb	$1, -65548(%ebp,%eax)
 983      FFFEFF01 
 835:armor.c       ****       PC = 0xf312;
 984              		.loc 1 835 0
 985 1000 66C785CA 		movw	$-3310, -65590(%ebp)
 985      FFFEFF12 
 985      F3
 986              	.L49:
 836:armor.c       ****       JUMP;
 837:armor.c       ****       
 838:armor.c       ****       L015A://        LDA   #$3F                    ; 015A: 86 3F         
 839:armor.c       ****       A = (SINT8)0x3f;
 987              		.loc 1 839 0
 988 1009 C785E0FF 		movl	$63, -65568(%ebp)
 988      FEFF3F00 
 988      0000
 840:armor.c       ****   //  N = A;
 841:armor.c       ****   //  Z = A;
 842:armor.c       ****   //  V = 0;
 843:armor.c       ****       
 844:armor.c       ****             //        STA   <$04                    ; 015C: 97 04         
 845:armor.c       ****   //  Z = A;
 846:armor.c       ****   //  N = A;
 847:armor.c       ****   //  V = 0;
 848:armor.c       ****       memory_DP[0x04] = A;
 989              		.loc 1 848 0
 990 1013 8B85DCFF 		movl	-65572(%ebp), %eax
 990      FEFF
 991 1019 83C004   		addl	$4, %eax
 992 101c 8B95E0FF 		movl	-65568(%ebp), %edx
 992      FEFF
 993 1022 8810     		movb	%dl, (%eax)
 849:armor.c       ****       
 850:armor.c       ****             //        LDA   $03,S                   ; 015E: A6 63         
 851:armor.c       ****       A = memory[(UINT16)(S + 0x0003)];
 994              		.loc 1 851 0
 995 1024 0FB785C8 		movzwl	-65592(%ebp), %eax
 995      FFFEFF
 996 102b 83C003   		addl	$3, %eax
 997 102e 0FB7C0   		movzwl	%ax, %eax
 998 1031 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 998      F4FFFEFF 
 999 1039 0FB6C0   		movzbl	%al, %eax
 1000 103c 8985E0FF 		movl	%eax, -65568(%ebp)
 1000      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 44


 852:armor.c       ****   //  N = A;
 853:armor.c       ****   //  Z = A;
 854:armor.c       ****   //  V = 0;
 855:armor.c       ****       
 856:armor.c       ****             //        STA   Vec_Misc_Count          ; 0160: B7 C8 23      
 857:armor.c       ****   //  Z = A;
 858:armor.c       ****   //  N = A;
 859:armor.c       ****   //  V = 0;
 860:armor.c       ****       memory[0xc823] = A;
 1001              		.loc 1 860 0
 1002 1042 8B85E0FF 		movl	-65568(%ebp), %eax
 1002      FEFF
 1003 1048 888517C8 		movb	%al, -14313(%ebp)
 1003      FFFF
 861:armor.c       ****       
 862:armor.c       ****             //        JSR   Draw_Pat_VL             ; 0163: BD F4 37      
 863:armor.c       ****       memory[--S] = 0x0166 & 0xff; memory[--S] = 0x0166 >> 8;
 1004              		.loc 1 863 0
 1005 104e 6683ADC8 		subw	$1, -65592(%ebp)
 1005      FFFEFF01 
 1006 1056 0FB785C8 		movzwl	-65592(%ebp), %eax
 1006      FFFEFF
 1007 105d C68405F4 		movb	$102, -65548(%ebp,%eax)
 1007      FFFEFF66 
 1008 1065 6683ADC8 		subw	$1, -65592(%ebp)
 1008      FFFEFF01 
 1009 106d 0FB785C8 		movzwl	-65592(%ebp), %eax
 1009      FFFEFF
 1010 1074 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1010      FFFEFF01 
 864:armor.c       ****       PC = 0xf437;
 1011              		.loc 1 864 0
 1012 107c 66C785CA 		movw	$-3017, -65590(%ebp)
 1012      FFFEFF37 
 1012      F4
 1013              	.L50:
 865:armor.c       ****       JUMP;
 866:armor.c       ****       
 867:armor.c       ****       L0166://        DEC   $02,S                   ; 0166: 6A 62         
 868:armor.c       ****       res = (UINT8)(memory[(UINT16)(S + 0x0002)] - 1);
 1014              		.loc 1 868 0
 1015 1085 0FB785C8 		movzwl	-65592(%ebp), %eax
 1015      FFFEFF
 1016 108c 83C002   		addl	$2, %eax
 1017 108f 0FB7C0   		movzwl	%ax, %eax
 1018 1092 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1018      F4FFFEFF 
 1019 109a 83E801   		subl	$1, %eax
 1020 109d 0FB6C0   		movzbl	%al, %eax
 1021 10a0 8985E8FF 		movl	%eax, -65560(%ebp)
 1021      FEFF
 869:armor.c       ****       N = res;
 1022              		.loc 1 869 0
 1023 10a6 8B85E8FF 		movl	-65560(%ebp), %eax
 1023      FEFF
 1024 10ac 8885C1FF 		movb	%al, -65599(%ebp)
 1024      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 45


 870:armor.c       ****       Z = res;
 1025              		.loc 1 870 0
 1026 10b2 8B85E8FF 		movl	-65560(%ebp), %eax
 1026      FEFF
 1027 10b8 668985CC 		movw	%ax, -65588(%ebp)
 1027      FFFEFF
 871:armor.c       ****       V = memory[(UINT16)(S + 0x0002)] & ~res;
 1028              		.loc 1 871 0
 1029 10bf 0FB785C8 		movzwl	-65592(%ebp), %eax
 1029      FFFEFF
 1030 10c6 83C002   		addl	$2, %eax
 1031 10c9 0FB7C0   		movzwl	%ax, %eax
 1032 10cc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1032      F4FFFEFF 
 1033 10d4 89C2     		movl	%eax, %edx
 1034 10d6 8B85E8FF 		movl	-65560(%ebp), %eax
 1034      FEFF
 1035 10dc F7D0     		notl	%eax
 1036 10de 21D0     		andl	%edx, %eax
 1037 10e0 8885C2FF 		movb	%al, -65598(%ebp)
 1037      FEFF
 872:armor.c       ****       memory[(UINT16)(S + 0x0002)] = res;
 1038              		.loc 1 872 0
 1039 10e6 0FB785C8 		movzwl	-65592(%ebp), %eax
 1039      FFFEFF
 1040 10ed 83C002   		addl	$2, %eax
 1041 10f0 0FB7C0   		movzwl	%ax, %eax
 1042 10f3 8B95E8FF 		movl	-65560(%ebp), %edx
 1042      FEFF
 1043 10f9 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1043      FFFEFF
 873:armor.c       ****       
 874:armor.c       ****             //        RTS                           ; 0168: 39            
 875:armor.c       ****       PC = memory[S++]<<8;
 1044              		.loc 1 875 0
 1045 1100 0FB785C8 		movzwl	-65592(%ebp), %eax
 1045      FFFEFF
 1046 1107 8D5001   		leal	1(%eax), %edx
 1047 110a 668995C8 		movw	%dx, -65592(%ebp)
 1047      FFFEFF
 1048 1111 0FB7C0   		movzwl	%ax, %eax
 1049 1114 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1049      F4FFFEFF 
 1050 111c 0FB6C0   		movzbl	%al, %eax
 1051 111f C1E008   		sall	$8, %eax
 1052 1122 668985CA 		movw	%ax, -65590(%ebp)
 1052      FFFEFF
 876:armor.c       ****       PC |= memory[S++];
 1053              		.loc 1 876 0
 1054 1129 0FB785C8 		movzwl	-65592(%ebp), %eax
 1054      FFFEFF
 1055 1130 8D5001   		leal	1(%eax), %edx
 1056 1133 668995C8 		movw	%dx, -65592(%ebp)
 1056      FFFEFF
 1057 113a 0FB7C0   		movzwl	%ax, %eax
 1058 113d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1058      F4FFFEFF 
GAS LISTING /tmp/ccqXEnet.s 			page 46


 1059 1145 0FB6C0   		movzbl	%al, %eax
 1060 1148 660985CA 		orw	%ax, -65590(%ebp)
 1060      FFFEFF
 1061              	.L51:
 877:armor.c       ****       JUMP;
 878:armor.c       ****       
 879:armor.c       ****       
 880:armor.c       ****       L0169://        LDD   ,U++                    ; 0169: EC C1         
 881:armor.c       ****       ea = U; U = U + 2;
 1062              		.loc 1 881 0
 1063 114f 0FB785CE 		movzwl	-65586(%ebp), %eax
 1063      FFFEFF
 1064 1156 668985D0 		movw	%ax, -65584(%ebp)
 1064      FFFEFF
 1065 115d 668385CE 		addw	$2, -65586(%ebp)
 1065      FFFEFF02 
 882:armor.c       ****       A = memory[ea];
 1066              		.loc 1 882 0
 1067 1165 0FB785D0 		movzwl	-65584(%ebp), %eax
 1067      FFFEFF
 1068 116c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1068      F4FFFEFF 
 1069 1174 0FB6C0   		movzbl	%al, %eax
 1070 1177 8985E0FF 		movl	%eax, -65568(%ebp)
 1070      FEFF
 883:armor.c       ****       B = memory[(UINT16)((ea)+1)];
 1071              		.loc 1 883 0
 1072 117d 0FB785D0 		movzwl	-65584(%ebp), %eax
 1072      FFFEFF
 1073 1184 83C001   		addl	$1, %eax
 1074 1187 0FB7C0   		movzwl	%ax, %eax
 1075 118a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1075      F4FFFEFF 
 1076 1192 0FB6C0   		movzbl	%al, %eax
 1077 1195 8985E4FF 		movl	%eax, -65564(%ebp)
 1077      FEFF
 884:armor.c       ****   //  Z = A|B;
 885:armor.c       ****   //  N = A;
 886:armor.c       ****   //  V = 0;
 887:armor.c       ****       
 888:armor.c       ****             //        PSHS  X,B,A                   ; 016B: 34 16         
 889:armor.c       ****       memory[--S] = X & 0xff; memory[--S] = X >> 8;
 1078              		.loc 1 889 0
 1079 119b 6683ADC8 		subw	$1, -65592(%ebp)
 1079      FFFEFF01 
 1080 11a3 0FB785C8 		movzwl	-65592(%ebp), %eax
 1080      FFFEFF
 1081 11aa 0FB795C6 		movzwl	-65594(%ebp), %edx
 1081      FFFEFF
 1082 11b1 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1082      FFFEFF
 1083 11b8 0FB785C6 		movzwl	-65594(%ebp), %eax
 1083      FFFEFF
 1084 11bf 66C1E808 		shrw	$8, %ax
 1085 11c3 89C2     		movl	%eax, %edx
 1086 11c5 6683ADC8 		subw	$1, -65592(%ebp)
 1086      FFFEFF01 
GAS LISTING /tmp/ccqXEnet.s 			page 47


 1087 11cd 0FB785C8 		movzwl	-65592(%ebp), %eax
 1087      FFFEFF
 1088 11d4 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1088      FFFEFF
 890:armor.c       ****       memory[--S] = B;
 1089              		.loc 1 890 0
 1090 11db 6683ADC8 		subw	$1, -65592(%ebp)
 1090      FFFEFF01 
 1091 11e3 0FB785C8 		movzwl	-65592(%ebp), %eax
 1091      FFFEFF
 1092 11ea 8B95E4FF 		movl	-65564(%ebp), %edx
 1092      FEFF
 1093 11f0 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1093      FFFEFF
 891:armor.c       ****       memory[--S] = A;
 1094              		.loc 1 891 0
 1095 11f7 6683ADC8 		subw	$1, -65592(%ebp)
 1095      FFFEFF01 
 1096 11ff 0FB785C8 		movzwl	-65592(%ebp), %eax
 1096      FFFEFF
 1097 1206 8B95E0FF 		movl	-65568(%ebp), %edx
 1097      FEFF
 1098 120c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1098      FFFEFF
 1099              	.L52:
 892:armor.c       ****       
 893:armor.c       ****       L016D://        LDX   $02,S                   ; 016D: AE 62         
 894:armor.c       ****       X = ((memory[(UINT16)(S + 0x0002)]<<8)|memory[(UINT16)(((UINT16)(S + 0x0002))+1)]);
 1100              		.loc 1 894 0
 1101 1213 0FB785C8 		movzwl	-65592(%ebp), %eax
 1101      FFFEFF
 1102 121a 83C002   		addl	$2, %eax
 1103 121d 0FB7C0   		movzwl	%ax, %eax
 1104 1220 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1104      F4FFFEFF 
 1105 1228 0FB6C0   		movzbl	%al, %eax
 1106 122b C1E008   		sall	$8, %eax
 1107 122e 89C2     		movl	%eax, %edx
 1108 1230 0FB785C8 		movzwl	-65592(%ebp), %eax
 1108      FFFEFF
 1109 1237 83C003   		addl	$3, %eax
 1110 123a 0FB7C0   		movzwl	%ax, %eax
 1111 123d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1111      F4FFFEFF 
 1112 1245 0FB6C0   		movzbl	%al, %eax
 1113 1248 09D0     		orl	%edx, %eax
 1114 124a 668985C6 		movw	%ax, -65594(%ebp)
 1114      FFFEFF
 895:armor.c       ****   //  Z = X;
 896:armor.c       ****   //  N = (X) >> 8;
 897:armor.c       ****   //  V = 0;
 898:armor.c       ****       
 899:armor.c       ****             //        LDA   $C8CA                   ; 016F: B6 C8 CA      
 900:armor.c       ****       A = memory[0xc8ca];
 1115              		.loc 1 900 0
 1116 1251 0FB685BE 		movzbl	-14146(%ebp), %eax
 1116      C8FFFF
GAS LISTING /tmp/ccqXEnet.s 			page 48


 1117 1258 0FB6C0   		movzbl	%al, %eax
 1118 125b 8985E0FF 		movl	%eax, -65568(%ebp)
 1118      FEFF
 901:armor.c       ****       N = A;
 1119              		.loc 1 901 0
 1120 1261 8B85E0FF 		movl	-65568(%ebp), %eax
 1120      FEFF
 1121 1267 8885C1FF 		movb	%al, -65599(%ebp)
 1121      FEFF
 902:armor.c       ****       Z = A;
 1122              		.loc 1 902 0
 1123 126d 8B85E0FF 		movl	-65568(%ebp), %eax
 1123      FEFF
 1124 1273 668985CC 		movw	%ax, -65588(%ebp)
 1124      FFFEFF
 903:armor.c       ****       V = 0;
 1125              		.loc 1 903 0
 1126 127a C685C2FF 		movb	$0, -65598(%ebp)
 1126      FEFF00
 904:armor.c       ****       
 905:armor.c       ****             //        BSR   $0153                   ; 0172: 8D DF         
 906:armor.c       ****       memory[--S] = 0x0174 & 0xff; memory[--S] = 0x0174 >> 8;
 1127              		.loc 1 906 0
 1128 1281 6683ADC8 		subw	$1, -65592(%ebp)
 1128      FFFEFF01 
 1129 1289 0FB785C8 		movzwl	-65592(%ebp), %eax
 1129      FFFEFF
 1130 1290 C68405F4 		movb	$116, -65548(%ebp,%eax)
 1130      FFFEFF74 
 1131 1298 6683ADC8 		subw	$1, -65592(%ebp)
 1131      FFFEFF01 
 1132 12a0 0FB785C8 		movzwl	-65592(%ebp), %eax
 1132      FFFEFF
 1133 12a7 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1133      FFFEFF01 
 907:armor.c       ****       PC = 0x0153;
 1134              		.loc 1 907 0
 1135 12af 66C785CA 		movw	$339, -65590(%ebp)
 1135      FFFEFF53 
 1135      01
 1136              	.L53:
 908:armor.c       ****       JUMP;
 909:armor.c       ****       
 910:armor.c       ****       L0174://        BNE   $016D                   ; 0174: 26 F7         
 911:armor.c       ****       if (Z) {
 1137              		.loc 1 911 0
 1138 12b8 6683BDCC 		cmpw	$0, -65588(%ebp)
 1138      FFFEFF00 
 1139 12c0 7409     		je	.L54
 912:armor.c       ****       PC = 0x016d;
 1140              		.loc 1 912 0
 1141 12c2 66C785CA 		movw	$365, -65590(%ebp)
 1141      FFFEFF6D 
 1141      01
 1142              	.L54:
 913:armor.c       ****       JUMP;
 914:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 49


 915:armor.c       ****       
 916:armor.c       ****             //        PULS  A,B,X,PC                ; 0176: 35 96             ;(PUL? PC=RTS)
 917:armor.c       ****       A = memory[S++];
 1143              		.loc 1 917 0
 1144 12cb 0FB785C8 		movzwl	-65592(%ebp), %eax
 1144      FFFEFF
 1145 12d2 8D5001   		leal	1(%eax), %edx
 1146 12d5 668995C8 		movw	%dx, -65592(%ebp)
 1146      FFFEFF
 1147 12dc 0FB7C0   		movzwl	%ax, %eax
 1148 12df 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1148      F4FFFEFF 
 1149 12e7 0FB6C0   		movzbl	%al, %eax
 1150 12ea 8985E0FF 		movl	%eax, -65568(%ebp)
 1150      FEFF
 918:armor.c       ****       B = memory[S++];
 1151              		.loc 1 918 0
 1152 12f0 0FB785C8 		movzwl	-65592(%ebp), %eax
 1152      FFFEFF
 1153 12f7 8D5001   		leal	1(%eax), %edx
 1154 12fa 668995C8 		movw	%dx, -65592(%ebp)
 1154      FFFEFF
 1155 1301 0FB7C0   		movzwl	%ax, %eax
 1156 1304 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1156      F4FFFEFF 
 1157 130c 0FB6C0   		movzbl	%al, %eax
 1158 130f 8985E4FF 		movl	%eax, -65564(%ebp)
 1158      FEFF
 919:armor.c       ****       X = memory[S++]<<8;
 1159              		.loc 1 919 0
 1160 1315 0FB785C8 		movzwl	-65592(%ebp), %eax
 1160      FFFEFF
 1161 131c 8D5001   		leal	1(%eax), %edx
 1162 131f 668995C8 		movw	%dx, -65592(%ebp)
 1162      FFFEFF
 1163 1326 0FB7C0   		movzwl	%ax, %eax
 1164 1329 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1164      F4FFFEFF 
 1165 1331 0FB6C0   		movzbl	%al, %eax
 1166 1334 C1E008   		sall	$8, %eax
 1167 1337 668985C6 		movw	%ax, -65594(%ebp)
 1167      FFFEFF
 920:armor.c       ****       X |= memory[S++];
 1168              		.loc 1 920 0
 1169 133e 0FB785C8 		movzwl	-65592(%ebp), %eax
 1169      FFFEFF
 1170 1345 8D5001   		leal	1(%eax), %edx
 1171 1348 668995C8 		movw	%dx, -65592(%ebp)
 1171      FFFEFF
 1172 134f 0FB7C0   		movzwl	%ax, %eax
 1173 1352 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1173      F4FFFEFF 
 1174 135a 0FB6C0   		movzbl	%al, %eax
 1175 135d 660985C6 		orw	%ax, -65594(%ebp)
 1175      FFFEFF
 921:armor.c       ****       PC = memory[S++]<<8;
 1176              		.loc 1 921 0
GAS LISTING /tmp/ccqXEnet.s 			page 50


 1177 1364 0FB785C8 		movzwl	-65592(%ebp), %eax
 1177      FFFEFF
 1178 136b 8D5001   		leal	1(%eax), %edx
 1179 136e 668995C8 		movw	%dx, -65592(%ebp)
 1179      FFFEFF
 1180 1375 0FB7C0   		movzwl	%ax, %eax
 1181 1378 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1181      F4FFFEFF 
 1182 1380 0FB6C0   		movzbl	%al, %eax
 1183 1383 C1E008   		sall	$8, %eax
 1184 1386 668985CA 		movw	%ax, -65590(%ebp)
 1184      FFFEFF
 922:armor.c       ****       PC |= memory[S++];
 1185              		.loc 1 922 0
 1186 138d 0FB785C8 		movzwl	-65592(%ebp), %eax
 1186      FFFEFF
 1187 1394 8D5001   		leal	1(%eax), %edx
 1188 1397 668995C8 		movw	%dx, -65592(%ebp)
 1188      FFFEFF
 1189 139e 0FB7C0   		movzwl	%ax, %eax
 1190 13a1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1190      F4FFFEFF 
 1191 13a9 0FB6C0   		movzbl	%al, %eax
 1192 13ac 660985CA 		orw	%ax, -65590(%ebp)
 1192      FFFEFF
 1193              	.L55:
 923:armor.c       ****       
 924:armor.c       ****       
 925:armor.c       ****       L0178://        LDD   ,U++                    ; 0178: EC C1         
 926:armor.c       ****       ea = U; U = U + 2;
 1194              		.loc 1 926 0
 1195 13b3 0FB785CE 		movzwl	-65586(%ebp), %eax
 1195      FFFEFF
 1196 13ba 668985D0 		movw	%ax, -65584(%ebp)
 1196      FFFEFF
 1197 13c1 668385CE 		addw	$2, -65586(%ebp)
 1197      FFFEFF02 
 927:armor.c       ****       A = memory[ea];
 1198              		.loc 1 927 0
 1199 13c9 0FB785D0 		movzwl	-65584(%ebp), %eax
 1199      FFFEFF
 1200 13d0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1200      F4FFFEFF 
 1201 13d8 0FB6C0   		movzbl	%al, %eax
 1202 13db 8985E0FF 		movl	%eax, -65568(%ebp)
 1202      FEFF
 928:armor.c       ****       B = memory[(UINT16)((ea)+1)];
 1203              		.loc 1 928 0
 1204 13e1 0FB785D0 		movzwl	-65584(%ebp), %eax
 1204      FFFEFF
 1205 13e8 83C001   		addl	$1, %eax
 1206 13eb 0FB7C0   		movzwl	%ax, %eax
 1207 13ee 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1207      F4FFFEFF 
 1208 13f6 0FB6C0   		movzbl	%al, %eax
 1209 13f9 8985E4FF 		movl	%eax, -65564(%ebp)
 1209      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 51


 929:armor.c       ****   //  Z = A|B;
 930:armor.c       ****   //  N = A;
 931:armor.c       ****   //  V = 0;
 932:armor.c       ****       
 933:armor.c       ****             //        PSHS  B,A                     ; 017A: 34 06         
 934:armor.c       ****       memory[--S] = B;
 1210              		.loc 1 934 0
 1211 13ff 6683ADC8 		subw	$1, -65592(%ebp)
 1211      FFFEFF01 
 1212 1407 0FB785C8 		movzwl	-65592(%ebp), %eax
 1212      FFFEFF
 1213 140e 8B95E4FF 		movl	-65564(%ebp), %edx
 1213      FEFF
 1214 1414 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1214      FFFEFF
 935:armor.c       ****       memory[--S] = A;
 1215              		.loc 1 935 0
 1216 141b 6683ADC8 		subw	$1, -65592(%ebp)
 1216      FFFEFF01 
 1217 1423 0FB785C8 		movzwl	-65592(%ebp), %eax
 1217      FFFEFF
 1218 142a 8B95E0FF 		movl	-65568(%ebp), %edx
 1218      FEFF
 1219 1430 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1219      FFFEFF
 1220              	.L56:
 936:armor.c       ****       
 937:armor.c       ****       L017C://        LDA   $C8C9                   ; 017C: B6 C8 C9      
 938:armor.c       ****       A = memory[0xc8c9];
 1221              		.loc 1 938 0
 1222 1437 0FB685BD 		movzbl	-14147(%ebp), %eax
 1222      C8FFFF
 1223 143e 0FB6C0   		movzbl	%al, %eax
 1224 1441 8985E0FF 		movl	%eax, -65568(%ebp)
 1224      FEFF
 939:armor.c       ****       N = A;
 1225              		.loc 1 939 0
 1226 1447 8B85E0FF 		movl	-65568(%ebp), %eax
 1226      FEFF
 1227 144d 8885C1FF 		movb	%al, -65599(%ebp)
 1227      FEFF
 940:armor.c       ****       Z = A;
 1228              		.loc 1 940 0
 1229 1453 8B85E0FF 		movl	-65568(%ebp), %eax
 1229      FEFF
 1230 1459 668985CC 		movw	%ax, -65588(%ebp)
 1230      FFFEFF
 941:armor.c       ****       V = 0;
 1231              		.loc 1 941 0
 1232 1460 C685C2FF 		movb	$0, -65598(%ebp)
 1232      FEFF00
 942:armor.c       ****       
 943:armor.c       ****             //        BSR   $0153                   ; 017F: 8D D2         
 944:armor.c       ****       memory[--S] = 0x0181 & 0xff; memory[--S] = 0x0181 >> 8;
 1233              		.loc 1 944 0
 1234 1467 6683ADC8 		subw	$1, -65592(%ebp)
 1234      FFFEFF01 
GAS LISTING /tmp/ccqXEnet.s 			page 52


 1235 146f 0FB785C8 		movzwl	-65592(%ebp), %eax
 1235      FFFEFF
 1236 1476 C68405F4 		movb	$-127, -65548(%ebp,%eax)
 1236      FFFEFF81 
 1237 147e 6683ADC8 		subw	$1, -65592(%ebp)
 1237      FFFEFF01 
 1238 1486 0FB785C8 		movzwl	-65592(%ebp), %eax
 1238      FFFEFF
 1239 148d C68405F4 		movb	$1, -65548(%ebp,%eax)
 1239      FFFEFF01 
 945:armor.c       ****       PC = 0x0153;
 1240              		.loc 1 945 0
 1241 1495 66C785CA 		movw	$339, -65590(%ebp)
 1241      FFFEFF53 
 1241      01
 1242              	.L57:
 946:armor.c       ****       JUMP;
 947:armor.c       ****       
 948:armor.c       ****       L0181://        BNE   $017C                   ; 0181: 26 F9         
 949:armor.c       ****       if (Z) {
 1243              		.loc 1 949 0
 1244 149e 6683BDCC 		cmpw	$0, -65588(%ebp)
 1244      FFFEFF00 
 1245 14a6 7409     		je	.L58
 950:armor.c       ****       PC = 0x017c;
 1246              		.loc 1 950 0
 1247 14a8 66C785CA 		movw	$380, -65590(%ebp)
 1247      FFFEFF7C 
 1247      01
 1248              	.L58:
 951:armor.c       ****       JUMP;
 952:armor.c       ****       }
 953:armor.c       ****       
 954:armor.c       ****             //        PULS  A,B,PC                  ; 0183: 35 86             ;(PUL? PC=RTS)
 955:armor.c       ****       A = memory[S++];
 1249              		.loc 1 955 0
 1250 14b1 0FB785C8 		movzwl	-65592(%ebp), %eax
 1250      FFFEFF
 1251 14b8 8D5001   		leal	1(%eax), %edx
 1252 14bb 668995C8 		movw	%dx, -65592(%ebp)
 1252      FFFEFF
 1253 14c2 0FB7C0   		movzwl	%ax, %eax
 1254 14c5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1254      F4FFFEFF 
 1255 14cd 0FB6C0   		movzbl	%al, %eax
 1256 14d0 8985E0FF 		movl	%eax, -65568(%ebp)
 1256      FEFF
 956:armor.c       ****       B = memory[S++];
 1257              		.loc 1 956 0
 1258 14d6 0FB785C8 		movzwl	-65592(%ebp), %eax
 1258      FFFEFF
 1259 14dd 8D5001   		leal	1(%eax), %edx
 1260 14e0 668995C8 		movw	%dx, -65592(%ebp)
 1260      FFFEFF
 1261 14e7 0FB7C0   		movzwl	%ax, %eax
 1262 14ea 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1262      F4FFFEFF 
GAS LISTING /tmp/ccqXEnet.s 			page 53


 1263 14f2 0FB6C0   		movzbl	%al, %eax
 1264 14f5 8985E4FF 		movl	%eax, -65564(%ebp)
 1264      FEFF
 957:armor.c       ****       PC = memory[S++]<<8;
 1265              		.loc 1 957 0
 1266 14fb 0FB785C8 		movzwl	-65592(%ebp), %eax
 1266      FFFEFF
 1267 1502 8D5001   		leal	1(%eax), %edx
 1268 1505 668995C8 		movw	%dx, -65592(%ebp)
 1268      FFFEFF
 1269 150c 0FB7C0   		movzwl	%ax, %eax
 1270 150f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1270      F4FFFEFF 
 1271 1517 0FB6C0   		movzbl	%al, %eax
 1272 151a C1E008   		sall	$8, %eax
 1273 151d 668985CA 		movw	%ax, -65590(%ebp)
 1273      FFFEFF
 958:armor.c       ****       PC |= memory[S++];
 1274              		.loc 1 958 0
 1275 1524 0FB785C8 		movzwl	-65592(%ebp), %eax
 1275      FFFEFF
 1276 152b 8D5001   		leal	1(%eax), %edx
 1277 152e 668995C8 		movw	%dx, -65592(%ebp)
 1277      FFFEFF
 1278 1535 0FB7C0   		movzwl	%ax, %eax
 1279 1538 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1279      F4FFFEFF 
 1280 1540 0FB6C0   		movzbl	%al, %eax
 1281 1543 660985CA 		orw	%ax, -65590(%ebp)
 1281      FFFEFF
 1282              	.L59:
 959:armor.c       ****       
 960:armor.c       ****       
 961:armor.c       ****       L0185://        INC   <$24                    ; 0185: 0C 24         
 962:armor.c       ****       res = (UINT8)((memory_DP[0x24]) + 1);
 1283              		.loc 1 962 0
 1284 154a 8B85DCFF 		movl	-65572(%ebp), %eax
 1284      FEFF
 1285 1550 83C024   		addl	$36, %eax
 1286 1553 0FB600   		movzbl	(%eax), %eax
 1287 1556 83C001   		addl	$1, %eax
 1288 1559 0FB6C0   		movzbl	%al, %eax
 1289 155c 8985E8FF 		movl	%eax, -65560(%ebp)
 1289      FEFF
 963:armor.c       ****   //  Z = res;
 964:armor.c       ****   //  N = res;
 965:armor.c       ****   //  V = res & ~(memory_DP[0x24]);
 966:armor.c       ****       memory_DP[0x24] = res;
 1290              		.loc 1 966 0
 1291 1562 8B85DCFF 		movl	-65572(%ebp), %eax
 1291      FEFF
 1292 1568 83C024   		addl	$36, %eax
 1293 156b 8B95E8FF 		movl	-65560(%ebp), %edx
 1293      FEFF
 1294 1571 8810     		movb	%dl, (%eax)
 967:armor.c       ****       
 968:armor.c       ****             //        JSR   Wait_Recal              ; 0187: BD F1 92      
GAS LISTING /tmp/ccqXEnet.s 			page 54


 969:armor.c       ****       memory[--S] = 0x018a & 0xff; memory[--S] = 0x018a >> 8;
 1295              		.loc 1 969 0
 1296 1573 6683ADC8 		subw	$1, -65592(%ebp)
 1296      FFFEFF01 
 1297 157b 0FB785C8 		movzwl	-65592(%ebp), %eax
 1297      FFFEFF
 1298 1582 C68405F4 		movb	$-118, -65548(%ebp,%eax)
 1298      FFFEFF8A 
 1299 158a 6683ADC8 		subw	$1, -65592(%ebp)
 1299      FFFEFF01 
 1300 1592 0FB785C8 		movzwl	-65592(%ebp), %eax
 1300      FFFEFF
 1301 1599 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1301      FFFEFF01 
 970:armor.c       ****       PC = 0xf192;
 1302              		.loc 1 970 0
 1303 15a1 66C785CA 		movw	$-3694, -65590(%ebp)
 1303      FFFEFF92 
 1303      F1
 971:armor.c       ****       JUMP;
 972:armor.c       ****       DP = 0xd0 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
 1304              		.loc 1 972 0
 1305 15aa 66C785C4 		movw	$-12288, -65596(%ebp)
 1305      FFFEFF00 
 1305      D0
 1306 15b3 0FB785C4 		movzwl	-65596(%ebp), %eax
 1306      FFFEFF
 1307 15ba 8D95F4FF 		leal	-65548(%ebp), %edx
 1307      FEFF
 1308 15c0 01D0     		addl	%edx, %eax
 1309 15c2 8985DCFF 		movl	%eax, -65572(%ebp)
 1309      FEFF
 1310              	.L60:
 973:armor.c       ****       
 974:armor.c       ****       L018A://        JSR   Do_Sound                ; 018A: BD F2 89      
 975:armor.c       ****       memory[--S] = 0x018d & 0xff; memory[--S] = 0x018d >> 8;
 1311              		.loc 1 975 0
 1312 15c8 6683ADC8 		subw	$1, -65592(%ebp)
 1312      FFFEFF01 
 1313 15d0 0FB785C8 		movzwl	-65592(%ebp), %eax
 1313      FFFEFF
 1314 15d7 C68405F4 		movb	$-115, -65548(%ebp,%eax)
 1314      FFFEFF8D 
 1315 15df 6683ADC8 		subw	$1, -65592(%ebp)
 1315      FFFEFF01 
 1316 15e7 0FB785C8 		movzwl	-65592(%ebp), %eax
 1316      FFFEFF
 1317 15ee C68405F4 		movb	$1, -65548(%ebp,%eax)
 1317      FFFEFF01 
 976:armor.c       ****       PC = 0xf289;
 1318              		.loc 1 976 0
 1319 15f6 66C785CA 		movw	$-3447, -65590(%ebp)
 1319      FFFEFF89 
 1319      F2
 1320              	.L61:
 977:armor.c       ****       JUMP;
 978:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 55


 979:armor.c       ****       L018D://        JSR   Intensity_5F            ; 018D: BD F2 A5      
 980:armor.c       ****       memory[--S] = 0x0190 & 0xff; memory[--S] = 0x0190 >> 8;
 1321              		.loc 1 980 0
 1322 15ff 6683ADC8 		subw	$1, -65592(%ebp)
 1322      FFFEFF01 
 1323 1607 0FB785C8 		movzwl	-65592(%ebp), %eax
 1323      FFFEFF
 1324 160e C68405F4 		movb	$-112, -65548(%ebp,%eax)
 1324      FFFEFF90 
 1325 1616 6683ADC8 		subw	$1, -65592(%ebp)
 1325      FFFEFF01 
 1326 161e 0FB785C8 		movzwl	-65592(%ebp), %eax
 1326      FFFEFF
 1327 1625 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1327      FFFEFF01 
 981:armor.c       ****       PC = 0xf2a5;
 1328              		.loc 1 981 0
 1329 162d 66C785CA 		movw	$-3419, -65590(%ebp)
 1329      FFFEFFA5 
 1329      F2
 1330              	.L62:
 982:armor.c       ****       JUMP;
 983:armor.c       ****       
 984:armor.c       ****       L0190://        LDX   #$0E18                  ; 0190: 8E 0E 18      
 985:armor.c       ****       X = 0x0e18;
 1331              		.loc 1 985 0
 1332 1636 66C785C6 		movw	$3608, -65594(%ebp)
 1332      FFFEFF18 
 1332      0E
 986:armor.c       ****   //  Z = X;
 987:armor.c       ****   //  N = (X) >> 8;
 988:armor.c       ****   //  V = 0;
 989:armor.c       ****       
 990:armor.c       ****             //        LDU   #$0EA4                  ; 0193: CE 0E A4      
 991:armor.c       ****       U = 0x0ea4;
 1333              		.loc 1 991 0
 1334 163f 66C785CE 		movw	$3748, -65586(%ebp)
 1334      FFFEFFA4 
 1334      0E
 992:armor.c       ****       Z = U;
 1335              		.loc 1 992 0
 1336 1648 0FB785CE 		movzwl	-65586(%ebp), %eax
 1336      FFFEFF
 1337 164f 668985CC 		movw	%ax, -65588(%ebp)
 1337      FFFEFF
 993:armor.c       ****       N = (U) >> 8;
 1338              		.loc 1 993 0
 1339 1656 0FB785CE 		movzwl	-65586(%ebp), %eax
 1339      FFFEFF
 1340 165d 66C1E808 		shrw	$8, %ax
 1341 1661 8885C1FF 		movb	%al, -65599(%ebp)
 1341      FEFF
 994:armor.c       ****       V = 0;
 1342              		.loc 1 994 0
 1343 1667 C685C2FF 		movb	$0, -65598(%ebp)
 1343      FEFF00
 995:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 56


 996:armor.c       ****             //        BSR   $0178                   ; 0196: 8D E0         
 997:armor.c       ****       memory[--S] = 0x0198 & 0xff; memory[--S] = 0x0198 >> 8;
 1344              		.loc 1 997 0
 1345 166e 6683ADC8 		subw	$1, -65592(%ebp)
 1345      FFFEFF01 
 1346 1676 0FB785C8 		movzwl	-65592(%ebp), %eax
 1346      FFFEFF
 1347 167d C68405F4 		movb	$-104, -65548(%ebp,%eax)
 1347      FFFEFF98 
 1348 1685 6683ADC8 		subw	$1, -65592(%ebp)
 1348      FFFEFF01 
 1349 168d 0FB785C8 		movzwl	-65592(%ebp), %eax
 1349      FFFEFF
 1350 1694 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1350      FFFEFF01 
 998:armor.c       ****       PC = 0x0178;
 1351              		.loc 1 998 0
 1352 169c 66C785CA 		movw	$376, -65590(%ebp)
 1352      FFFEFF78 
 1352      01
 1353              	.L63:
 999:armor.c       ****       JUMP;
1000:armor.c       ****       
1001:armor.c       ****       L0198://        LDX   #$0E60                  ; 0198: 8E 0E 60      
1002:armor.c       ****       X = 0x0e60;
 1354              		.loc 1 1002 0
 1355 16a5 66C785C6 		movw	$3680, -65594(%ebp)
 1355      FFFEFF60 
 1355      0E
1003:armor.c       ****       Z = X;
 1356              		.loc 1 1003 0
 1357 16ae 0FB785C6 		movzwl	-65594(%ebp), %eax
 1357      FFFEFF
 1358 16b5 668985CC 		movw	%ax, -65588(%ebp)
 1358      FFFEFF
1004:armor.c       ****       N = (X) >> 8;
 1359              		.loc 1 1004 0
 1360 16bc 0FB785C6 		movzwl	-65594(%ebp), %eax
 1360      FFFEFF
 1361 16c3 66C1E808 		shrw	$8, %ax
 1362 16c7 8885C1FF 		movb	%al, -65599(%ebp)
 1362      FEFF
1005:armor.c       ****       V = 0;
 1363              		.loc 1 1005 0
 1364 16cd C685C2FF 		movb	$0, -65598(%ebp)
 1364      FEFF00
1006:armor.c       ****       
1007:armor.c       ****             //        BSR   $0169                   ; 019B: 8D CC         
1008:armor.c       ****       memory[--S] = 0x019d & 0xff; memory[--S] = 0x019d >> 8;
 1365              		.loc 1 1008 0
 1366 16d4 6683ADC8 		subw	$1, -65592(%ebp)
 1366      FFFEFF01 
 1367 16dc 0FB785C8 		movzwl	-65592(%ebp), %eax
 1367      FFFEFF
 1368 16e3 C68405F4 		movb	$-99, -65548(%ebp,%eax)
 1368      FFFEFF9D 
 1369 16eb 6683ADC8 		subw	$1, -65592(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 57


 1369      FFFEFF01 
 1370 16f3 0FB785C8 		movzwl	-65592(%ebp), %eax
 1370      FFFEFF
 1371 16fa C68405F4 		movb	$1, -65548(%ebp,%eax)
 1371      FFFEFF01 
1009:armor.c       ****       PC = 0x0169;
 1372              		.loc 1 1009 0
 1373 1702 66C785CA 		movw	$361, -65590(%ebp)
 1373      FFFEFF69 
 1373      01
 1374              	.L64:
1010:armor.c       ****       JUMP;
1011:armor.c       ****       
1012:armor.c       ****       L019D://        LEAX  $0C,X                   ; 019D: 30 0C         
1013:armor.c       ****       X = (X + 0x000c);
 1375              		.loc 1 1013 0
 1376 170b 668385C6 		addw	$12, -65594(%ebp)
 1376      FFFEFF0C 
1014:armor.c       ****       Z = X;
 1377              		.loc 1 1014 0
 1378 1713 0FB785C6 		movzwl	-65594(%ebp), %eax
 1378      FFFEFF
 1379 171a 668985CC 		movw	%ax, -65588(%ebp)
 1379      FFFEFF
1015:armor.c       ****       
1016:armor.c       ****             //        BSR   $0169                   ; 019F: 8D C8         
1017:armor.c       ****       memory[--S] = 0x01a1 & 0xff; memory[--S] = 0x01a1 >> 8;
 1380              		.loc 1 1017 0
 1381 1721 6683ADC8 		subw	$1, -65592(%ebp)
 1381      FFFEFF01 
 1382 1729 0FB785C8 		movzwl	-65592(%ebp), %eax
 1382      FFFEFF
 1383 1730 C68405F4 		movb	$-95, -65548(%ebp,%eax)
 1383      FFFEFFA1 
 1384 1738 6683ADC8 		subw	$1, -65592(%ebp)
 1384      FFFEFF01 
 1385 1740 0FB785C8 		movzwl	-65592(%ebp), %eax
 1385      FFFEFF
 1386 1747 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1386      FFFEFF01 
1018:armor.c       ****       PC = 0x0169;
 1387              		.loc 1 1018 0
 1388 174f 66C785CA 		movw	$361, -65590(%ebp)
 1388      FFFEFF69 
 1388      01
 1389              	.L65:
1019:armor.c       ****       JUMP;
1020:armor.c       ****       
1021:armor.c       ****       L01A1://        LEAX  $08,X                   ; 01A1: 30 08         
1022:armor.c       ****       X = (X + 0x0008);
 1390              		.loc 1 1022 0
 1391 1758 668385C6 		addw	$8, -65594(%ebp)
 1391      FFFEFF08 
1023:armor.c       ****       Z = X;
 1392              		.loc 1 1023 0
 1393 1760 0FB785C6 		movzwl	-65594(%ebp), %eax
 1393      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 58


 1394 1767 668985CC 		movw	%ax, -65588(%ebp)
 1394      FFFEFF
1024:armor.c       ****       
1025:armor.c       ****             //        BSR   $0178                   ; 01A3: 8D D3         
1026:armor.c       ****       memory[--S] = 0x01a5 & 0xff; memory[--S] = 0x01a5 >> 8;
 1395              		.loc 1 1026 0
 1396 176e 6683ADC8 		subw	$1, -65592(%ebp)
 1396      FFFEFF01 
 1397 1776 0FB785C8 		movzwl	-65592(%ebp), %eax
 1397      FFFEFF
 1398 177d C68405F4 		movb	$-91, -65548(%ebp,%eax)
 1398      FFFEFFA5 
 1399 1785 6683ADC8 		subw	$1, -65592(%ebp)
 1399      FFFEFF01 
 1400 178d 0FB785C8 		movzwl	-65592(%ebp), %eax
 1400      FFFEFF
 1401 1794 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1401      FFFEFF01 
1027:armor.c       ****       PC = 0x0178;
 1402              		.loc 1 1027 0
 1403 179c 66C785CA 		movw	$376, -65590(%ebp)
 1403      FFFEFF78 
 1403      01
 1404              	.L66:
1028:armor.c       ****       JUMP;
1029:armor.c       ****       
1030:armor.c       ****       L01A5://        CLR   Vec_0Ref_Enable         ; 01A5: 7F C8 24      
1031:armor.c       ****       memory[0xc824] = 0;
 1405              		.loc 1 1031 0
 1406 17a5 C68518C8 		movb	$0, -14312(%ebp)
 1406      FFFF00
1032:armor.c       ****   //  V = 0;
1033:armor.c       ****   //  Z = 0;
1034:armor.c       ****   //  N = 0;
1035:armor.c       ****   //  C = 0;
1036:armor.c       ****       
1037:armor.c       ****             //        LEAS  $FFF6,S                 ; 01A8: 32 76         
1038:armor.c       ****       S = (S + 0xfff6);
 1407              		.loc 1 1038 0
 1408 17ac 6683ADC8 		subw	$10, -65592(%ebp)
 1408      FFFEFF0A 
1039:armor.c       ****       
1040:armor.c       ****             //        LDU   #$C900                  ; 01AA: CE C9 00      
1041:armor.c       ****       U = 0xc900;
 1409              		.loc 1 1041 0
 1410 17b4 66C785CE 		movw	$-14080, -65586(%ebp)
 1410      FFFEFF00 
 1410      C9
1042:armor.c       ****   //  Z = U;
1043:armor.c       ****   //  N = (U) >> 8;
1044:armor.c       ****   //  V = 0;
1045:armor.c       ****       
1046:armor.c       ****             //        LDD   #$038F                  ; 01AD: CC 03 8F      
1047:armor.c       ****       A = (UINT8)((0x038f) >> 8);
 1411              		.loc 1 1047 0
 1412 17bd C785E0FF 		movl	$3, -65568(%ebp)
 1412      FEFF0300 
GAS LISTING /tmp/ccqXEnet.s 			page 59


 1412      0000
1048:armor.c       ****       B = (UINT8)((0x038f) & 0xff);
 1413              		.loc 1 1048 0
 1414 17c7 C785E4FF 		movl	$143, -65564(%ebp)
 1414      FEFF8F00 
 1414      0000
1049:armor.c       ****   //  Z = A|B;
1050:armor.c       ****   //  N = A;
1051:armor.c       ****   //  V = 0;
1052:armor.c       ****       
1053:armor.c       ****             //        STD   ,S                      ; 01B0: ED E4         
1054:armor.c       ****   //  Z = A | B;
1055:armor.c       ****   //  N = A;
1056:armor.c       ****   //  V = 0;
1057:armor.c       ****       memory[S] = A;
 1415              		.loc 1 1057 0
 1416 17d1 0FB785C8 		movzwl	-65592(%ebp), %eax
 1416      FFFEFF
 1417 17d8 8B95E0FF 		movl	-65568(%ebp), %edx
 1417      FEFF
 1418 17de 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1418      FFFEFF
1058:armor.c       ****       memory[S + 1] = B;
 1419              		.loc 1 1058 0
 1420 17e5 0FB785C8 		movzwl	-65592(%ebp), %eax
 1420      FFFEFF
 1421 17ec 83C001   		addl	$1, %eax
 1422 17ef 8B95E4FF 		movl	-65564(%ebp), %edx
 1422      FEFF
 1423 17f5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1423      FFFEFF
1059:armor.c       ****       
1060:armor.c       ****             //        LDD   #$0275                  ; 01B2: CC 02 75      
1061:armor.c       ****       A = (UINT8)((0x0275) >> 8);
 1424              		.loc 1 1061 0
 1425 17fc C785E0FF 		movl	$2, -65568(%ebp)
 1425      FEFF0200 
 1425      0000
1062:armor.c       ****       B = (UINT8)((0x0275) & 0xff);
 1426              		.loc 1 1062 0
 1427 1806 C785E4FF 		movl	$117, -65564(%ebp)
 1427      FEFF7500 
 1427      0000
1063:armor.c       ****   //  Z = A|B;
1064:armor.c       ****   //  N = A;
1065:armor.c       ****   //  V = 0;
1066:armor.c       ****       
1067:armor.c       ****             //        STD   $02,S                   ; 01B5: ED 62         
1068:armor.c       ****   //  Z = A | B;
1069:armor.c       ****   //  N = A;
1070:armor.c       ****   //  V = 0;
1071:armor.c       ****       memory[(UINT16)(S + 0x0002)] = A;
 1428              		.loc 1 1071 0
 1429 1810 0FB785C8 		movzwl	-65592(%ebp), %eax
 1429      FFFEFF
 1430 1817 83C002   		addl	$2, %eax
 1431 181a 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 60


 1432 181d 8B95E0FF 		movl	-65568(%ebp), %edx
 1432      FEFF
 1433 1823 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1433      FFFEFF
1072:armor.c       ****       memory[(UINT16)(S + 0x0002) + 1] = B;
 1434              		.loc 1 1072 0
 1435 182a 0FB785C8 		movzwl	-65592(%ebp), %eax
 1435      FFFEFF
 1436 1831 83C002   		addl	$2, %eax
 1437 1834 0FB7C0   		movzwl	%ax, %eax
 1438 1837 83C001   		addl	$1, %eax
 1439 183a 8B95E4FF 		movl	-65564(%ebp), %edx
 1439      FEFF
 1440 1840 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1440      FFFEFF
1073:armor.c       ****       
1074:armor.c       ****             //        LDA   $C881                   ; 01B7: B6 C8 81      
1075:armor.c       ****       A = memory[0xc881];
 1441              		.loc 1 1075 0
 1442 1847 0FB68575 		movzbl	-14219(%ebp), %eax
 1442      C8FFFF
 1443 184e 0FB6C0   		movzbl	%al, %eax
 1444 1851 8985E0FF 		movl	%eax, -65568(%ebp)
 1444      FEFF
1076:armor.c       ****   //  N = A;
1077:armor.c       ****   //  Z = A;
1078:armor.c       ****   //  V = 0;
1079:armor.c       ****       
1080:armor.c       ****             //        LDB   #$40                    ; 01BA: C6 40         
1081:armor.c       ****       B = (SINT8)0x40;
 1445              		.loc 1 1081 0
 1446 1857 C785E4FF 		movl	$64, -65564(%ebp)
 1446      FEFF4000 
 1446      0000
1082:armor.c       ****   //  N = B;
1083:armor.c       ****   //  Z = B;
1084:armor.c       ****   //  V = 0;
1085:armor.c       ****       
1086:armor.c       ****             //        JSR   $0381                   ; 01BC: BD 03 81      
1087:armor.c       ****       memory[--S] = 0x01bf & 0xff; memory[--S] = 0x01bf >> 8;
 1447              		.loc 1 1087 0
 1448 1861 6683ADC8 		subw	$1, -65592(%ebp)
 1448      FFFEFF01 
 1449 1869 0FB785C8 		movzwl	-65592(%ebp), %eax
 1449      FFFEFF
 1450 1870 C68405F4 		movb	$-65, -65548(%ebp,%eax)
 1450      FFFEFFBF 
 1451 1878 6683ADC8 		subw	$1, -65592(%ebp)
 1451      FFFEFF01 
 1452 1880 0FB785C8 		movzwl	-65592(%ebp), %eax
 1452      FFFEFF
 1453 1887 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1453      FFFEFF01 
1088:armor.c       ****       PC = 0x0381;
 1454              		.loc 1 1088 0
 1455 188f 66C785CA 		movw	$897, -65590(%ebp)
 1455      FFFEFF81 
GAS LISTING /tmp/ccqXEnet.s 			page 61


 1455      03
 1456              	.L67:
1089:armor.c       ****       JUMP;
1090:armor.c       ****       
1091:armor.c       ****       L01BF://        LDU   #$CA00                  ; 01BF: CE CA 00      
1092:armor.c       ****       U = 0xca00;
 1457              		.loc 1 1092 0
 1458 1898 66C785CE 		movw	$-13824, -65586(%ebp)
 1458      FFFEFF00 
 1458      CA
1093:armor.c       ****   //  Z = U;
1094:armor.c       ****   //  N = (U) >> 8;
1095:armor.c       ****   //  V = 0;
1096:armor.c       ****       
1097:armor.c       ****             //        LDD   #$02E6                  ; 01C2: CC 02 E6      
1098:armor.c       ****       A = (UINT8)((0x02e6) >> 8);
 1459              		.loc 1 1098 0
 1460 18a1 C785E0FF 		movl	$2, -65568(%ebp)
 1460      FEFF0200 
 1460      0000
1099:armor.c       ****       B = (UINT8)((0x02e6) & 0xff);
 1461              		.loc 1 1099 0
 1462 18ab C785E4FF 		movl	$230, -65564(%ebp)
 1462      FEFFE600 
 1462      0000
1100:armor.c       ****   //  Z = A|B;
1101:armor.c       ****   //  N = A;
1102:armor.c       ****   //  V = 0;
1103:armor.c       ****       
1104:armor.c       ****             //        STD   $02,S                   ; 01C5: ED 62         
1105:armor.c       ****   //  Z = A | B;
1106:armor.c       ****   //  N = A;
1107:armor.c       ****   //  V = 0;
1108:armor.c       ****       memory[(UINT16)(S + 0x0002)] = A;
 1463              		.loc 1 1108 0
 1464 18b5 0FB785C8 		movzwl	-65592(%ebp), %eax
 1464      FFFEFF
 1465 18bc 83C002   		addl	$2, %eax
 1466 18bf 0FB7C0   		movzwl	%ax, %eax
 1467 18c2 8B95E0FF 		movl	-65568(%ebp), %edx
 1467      FEFF
 1468 18c8 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1468      FFFEFF
1109:armor.c       ****       memory[(UINT16)(S + 0x0002) + 1] = B;
 1469              		.loc 1 1109 0
 1470 18cf 0FB785C8 		movzwl	-65592(%ebp), %eax
 1470      FFFEFF
 1471 18d6 83C002   		addl	$2, %eax
 1472 18d9 0FB7C0   		movzwl	%ax, %eax
 1473 18dc 83C001   		addl	$1, %eax
 1474 18df 8B95E4FF 		movl	-65564(%ebp), %edx
 1474      FEFF
 1475 18e5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1475      FFFEFF
1110:armor.c       ****       
1111:armor.c       ****             //        LDA   $C8C8                   ; 01C7: B6 C8 C8      
1112:armor.c       ****       A = memory[0xc8c8];
GAS LISTING /tmp/ccqXEnet.s 			page 62


 1476              		.loc 1 1112 0
 1477 18ec 0FB685BC 		movzbl	-14148(%ebp), %eax
 1477      C8FFFF
 1478 18f3 0FB6C0   		movzbl	%al, %eax
 1479 18f6 8985E0FF 		movl	%eax, -65568(%ebp)
 1479      FEFF
1113:armor.c       ****   //  N = A;
1114:armor.c       ****   //  Z = A;
1115:armor.c       ****   //  V = 0;
1116:armor.c       ****       
1117:armor.c       ****             //        LDB   #$27                    ; 01CA: C6 27         
1118:armor.c       ****       B = (SINT8)0x27;
 1480              		.loc 1 1118 0
 1481 18fc C785E4FF 		movl	$39, -65564(%ebp)
 1481      FEFF2700 
 1481      0000
1119:armor.c       ****   //  N = B;
1120:armor.c       ****   //  Z = B;
1121:armor.c       ****   //  V = 0;
1122:armor.c       ****       
1123:armor.c       ****             //        JSR   $0381                   ; 01CC: BD 03 81      
1124:armor.c       ****       memory[--S] = 0x01cf & 0xff; memory[--S] = 0x01cf >> 8;
 1482              		.loc 1 1124 0
 1483 1906 6683ADC8 		subw	$1, -65592(%ebp)
 1483      FFFEFF01 
 1484 190e 0FB785C8 		movzwl	-65592(%ebp), %eax
 1484      FFFEFF
 1485 1915 C68405F4 		movb	$-49, -65548(%ebp,%eax)
 1485      FFFEFFCF 
 1486 191d 6683ADC8 		subw	$1, -65592(%ebp)
 1486      FFFEFF01 
 1487 1925 0FB785C8 		movzwl	-65592(%ebp), %eax
 1487      FFFEFF
 1488 192c C68405F4 		movb	$1, -65548(%ebp,%eax)
 1488      FFFEFF01 
1125:armor.c       ****       PC = 0x0381;
 1489              		.loc 1 1125 0
 1490 1934 66C785CA 		movw	$897, -65590(%ebp)
 1490      FFFEFF81 
 1490      03
 1491              	.L68:
1126:armor.c       ****       JUMP;
1127:armor.c       ****       
1128:armor.c       ****       L01CF://        LDU   #$C9C0                  ; 01CF: CE C9 C0      
1129:armor.c       ****       U = 0xc9c0;
 1492              		.loc 1 1129 0
 1493 193d 66C785CE 		movw	$-13888, -65586(%ebp)
 1493      FFFEFFC0 
 1493      C9
1130:armor.c       ****   //  Z = U;
1131:armor.c       ****   //  N = (U) >> 8;
1132:armor.c       ****   //  V = 0;
1133:armor.c       ****       
1134:armor.c       ****             //        LDD   #$02B2                  ; 01D2: CC 02 B2      
1135:armor.c       ****       A = (UINT8)((0x02b2) >> 8);
 1494              		.loc 1 1135 0
 1495 1946 C785E0FF 		movl	$2, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 63


 1495      FEFF0200 
 1495      0000
1136:armor.c       ****       B = (UINT8)((0x02b2) & 0xff);
 1496              		.loc 1 1136 0
 1497 1950 C785E4FF 		movl	$178, -65564(%ebp)
 1497      FEFFB200 
 1497      0000
1137:armor.c       ****   //  Z = A|B;
1138:armor.c       ****   //  N = A;
1139:armor.c       ****   //  V = 0;
1140:armor.c       ****       
1141:armor.c       ****             //        STD   $02,S                   ; 01D5: ED 62         
1142:armor.c       ****   //  Z = A | B;
1143:armor.c       ****   //  N = A;
1144:armor.c       ****   //  V = 0;
1145:armor.c       ****       memory[(UINT16)(S + 0x0002)] = A;
 1498              		.loc 1 1145 0
 1499 195a 0FB785C8 		movzwl	-65592(%ebp), %eax
 1499      FFFEFF
 1500 1961 83C002   		addl	$2, %eax
 1501 1964 0FB7C0   		movzwl	%ax, %eax
 1502 1967 8B95E0FF 		movl	-65568(%ebp), %edx
 1502      FEFF
 1503 196d 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1503      FFFEFF
1146:armor.c       ****       memory[(UINT16)(S + 0x0002) + 1] = B;
 1504              		.loc 1 1146 0
 1505 1974 0FB785C8 		movzwl	-65592(%ebp), %eax
 1505      FFFEFF
 1506 197b 83C002   		addl	$2, %eax
 1507 197e 0FB7C0   		movzwl	%ax, %eax
 1508 1981 83C001   		addl	$1, %eax
 1509 1984 8B95E4FF 		movl	-65564(%ebp), %edx
 1509      FEFF
 1510 198a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1510      FFFEFF
1147:armor.c       ****       
1148:armor.c       ****             //        LDY   #$CA56                  ; 01D7: 10 8E CA 56   
1149:armor.c       ****       Y = 0xca56;
 1511              		.loc 1 1149 0
 1512 1991 66C785D2 		movw	$-13738, -65582(%ebp)
 1512      FFFEFF56 
 1512      CA
1150:armor.c       ****   //  Z = Y;
1151:armor.c       ****   //  N = (Y) >> 8;
1152:armor.c       ****   //  V = 0;
1153:armor.c       ****       
1154:armor.c       ****             //        LDD   #$0807                  ; 01DB: CC 08 07      
1155:armor.c       ****       A = (UINT8)((0x0807) >> 8);
 1513              		.loc 1 1155 0
 1514 199a C785E0FF 		movl	$8, -65568(%ebp)
 1514      FEFF0800 
 1514      0000
1156:armor.c       ****       B = (UINT8)((0x0807) & 0xff);
 1515              		.loc 1 1156 0
 1516 19a4 C785E4FF 		movl	$7, -65564(%ebp)
 1516      FEFF0700 
GAS LISTING /tmp/ccqXEnet.s 			page 64


 1516      0000
1157:armor.c       ****   //  Z = A|B;
1158:armor.c       ****   //  N = A;
1159:armor.c       ****   //  V = 0;
1160:armor.c       ****       
1161:armor.c       ****             //        JSR   $0381                   ; 01DE: BD 03 81      
1162:armor.c       ****       memory[--S] = 0x01e1 & 0xff; memory[--S] = 0x01e1 >> 8;
 1517              		.loc 1 1162 0
 1518 19ae 6683ADC8 		subw	$1, -65592(%ebp)
 1518      FFFEFF01 
 1519 19b6 0FB785C8 		movzwl	-65592(%ebp), %eax
 1519      FFFEFF
 1520 19bd C68405F4 		movb	$-31, -65548(%ebp,%eax)
 1520      FFFEFFE1 
 1521 19c5 6683ADC8 		subw	$1, -65592(%ebp)
 1521      FFFEFF01 
 1522 19cd 0FB785C8 		movzwl	-65592(%ebp), %eax
 1522      FFFEFF
 1523 19d4 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1523      FFFEFF01 
1163:armor.c       ****       PC = 0x0381;
 1524              		.loc 1 1163 0
 1525 19dc 66C785CA 		movw	$897, -65590(%ebp)
 1525      FFFEFF81 
 1525      03
 1526              	.L69:
1164:armor.c       ****       JUMP;
1165:armor.c       ****       
1166:armor.c       ****       L01E1://        LDU   #$C894                  ; 01E1: CE C8 94      
1167:armor.c       ****       U = 0xc894;
 1527              		.loc 1 1167 0
 1528 19e5 66C785CE 		movw	$-14188, -65586(%ebp)
 1528      FFFEFF94 
 1528      C8
1168:armor.c       ****   //  Z = U;
1169:armor.c       ****   //  N = (U) >> 8;
1170:armor.c       ****   //  V = 0;
1171:armor.c       ****       
1172:armor.c       ****             //        LDD   #$0308                  ; 01E4: CC 03 08      
1173:armor.c       ****       A = (UINT8)((0x0308) >> 8);
 1529              		.loc 1 1173 0
 1530 19ee C785E0FF 		movl	$3, -65568(%ebp)
 1530      FEFF0300 
 1530      0000
1174:armor.c       ****       B = (UINT8)((0x0308) & 0xff);
 1531              		.loc 1 1174 0
 1532 19f8 C785E4FF 		movl	$8, -65564(%ebp)
 1532      FEFF0800 
 1532      0000
1175:armor.c       ****   //  Z = A|B;
1176:armor.c       ****   //  N = A;
1177:armor.c       ****   //  V = 0;
1178:armor.c       ****       
1179:armor.c       ****             //        STD   $02,S                   ; 01E7: ED 62         
1180:armor.c       ****   //  Z = A | B;
1181:armor.c       ****   //  N = A;
1182:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 65


1183:armor.c       ****       memory[(UINT16)(S + 0x0002)] = A;
 1533              		.loc 1 1183 0
 1534 1a02 0FB785C8 		movzwl	-65592(%ebp), %eax
 1534      FFFEFF
 1535 1a09 83C002   		addl	$2, %eax
 1536 1a0c 0FB7C0   		movzwl	%ax, %eax
 1537 1a0f 8B95E0FF 		movl	-65568(%ebp), %edx
 1537      FEFF
 1538 1a15 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1538      FFFEFF
1184:armor.c       ****       memory[(UINT16)(S + 0x0002) + 1] = B;
 1539              		.loc 1 1184 0
 1540 1a1c 0FB785C8 		movzwl	-65592(%ebp), %eax
 1540      FFFEFF
 1541 1a23 83C002   		addl	$2, %eax
 1542 1a26 0FB7C0   		movzwl	%ax, %eax
 1543 1a29 83C001   		addl	$1, %eax
 1544 1a2c 8B95E4FF 		movl	-65564(%ebp), %edx
 1544      FEFF
 1545 1a32 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1545      FFFEFF
1185:armor.c       ****       
1186:armor.c       ****             //        LDA   #$01                    ; 01E9: 86 01         
1187:armor.c       ****       A = (SINT8)0x01;
 1546              		.loc 1 1187 0
 1547 1a39 C785E0FF 		movl	$1, -65568(%ebp)
 1547      FEFF0100 
 1547      0000
1188:armor.c       ****   //  N = A;
1189:armor.c       ****   //  Z = A;
1190:armor.c       ****   //  V = 0;
1191:armor.c       ****       
1192:armor.c       ****             //        JSR   $0381                   ; 01EB: BD 03 81      
1193:armor.c       ****       memory[--S] = 0x01ee & 0xff; memory[--S] = 0x01ee >> 8;
 1548              		.loc 1 1193 0
 1549 1a43 6683ADC8 		subw	$1, -65592(%ebp)
 1549      FFFEFF01 
 1550 1a4b 0FB785C8 		movzwl	-65592(%ebp), %eax
 1550      FFFEFF
 1551 1a52 C68405F4 		movb	$-18, -65548(%ebp,%eax)
 1551      FFFEFFEE 
 1552 1a5a 6683ADC8 		subw	$1, -65592(%ebp)
 1552      FFFEFF01 
 1553 1a62 0FB785C8 		movzwl	-65592(%ebp), %eax
 1553      FFFEFF
 1554 1a69 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1554      FFFEFF01 
1194:armor.c       ****       PC = 0x0381;
 1555              		.loc 1 1194 0
 1556 1a71 66C785CA 		movw	$897, -65590(%ebp)
 1556      FFFEFF81 
 1556      03
 1557              	.L70:
1195:armor.c       ****       JUMP;
1196:armor.c       ****       
1197:armor.c       ****       L01EE://        LDD   #$0CA3                  ; 01EE: CC 0C A3      
1198:armor.c       ****       A = (UINT8)((0x0ca3) >> 8);
GAS LISTING /tmp/ccqXEnet.s 			page 66


 1558              		.loc 1 1198 0
 1559 1a7a C785E0FF 		movl	$12, -65568(%ebp)
 1559      FEFF0C00 
 1559      0000
1199:armor.c       ****       B = (UINT8)((0x0ca3) & 0xff);
 1560              		.loc 1 1199 0
 1561 1a84 C785E4FF 		movl	$163, -65564(%ebp)
 1561      FEFFA300 
 1561      0000
1200:armor.c       ****   //  Z = A|B;
1201:armor.c       ****   //  N = A;
1202:armor.c       ****   //  V = 0;
1203:armor.c       ****       
1204:armor.c       ****             //        STD   ,S                      ; 01F1: ED E4         
1205:armor.c       ****   //  Z = A | B;
1206:armor.c       ****   //  N = A;
1207:armor.c       ****   //  V = 0;
1208:armor.c       ****       memory[S] = A;
 1562              		.loc 1 1208 0
 1563 1a8e 0FB785C8 		movzwl	-65592(%ebp), %eax
 1563      FFFEFF
 1564 1a95 8B95E0FF 		movl	-65568(%ebp), %edx
 1564      FEFF
 1565 1a9b 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1565      FFFEFF
1209:armor.c       ****       memory[S + 1] = B;
 1566              		.loc 1 1209 0
 1567 1aa2 0FB785C8 		movzwl	-65592(%ebp), %eax
 1567      FFFEFF
 1568 1aa9 83C001   		addl	$1, %eax
 1569 1aac 8B95E4FF 		movl	-65564(%ebp), %edx
 1569      FEFF
 1570 1ab2 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1570      FFFEFF
1210:armor.c       ****       
1211:armor.c       ****             //        LDX   #$CA8A                  ; 01F3: 8E CA 8A      
1212:armor.c       ****       X = 0xca8a;
 1571              		.loc 1 1212 0
 1572 1ab9 66C785C6 		movw	$-13686, -65594(%ebp)
 1572      FFFEFF8A 
 1572      CA
1213:armor.c       ****   //  Z = X;
1214:armor.c       ****   //  N = (X) >> 8;
1215:armor.c       ****   //  V = 0;
1216:armor.c       ****       
1217:armor.c       ****             //        LDU   #$C8E5                  ; 01F6: CE C8 E5      
1218:armor.c       ****       U = 0xc8e5;
 1573              		.loc 1 1218 0
 1574 1ac2 66C785CE 		movw	$-14107, -65586(%ebp)
 1574      FFFEFFE5 
 1574      C8
1219:armor.c       ****   //  Z = U;
1220:armor.c       ****   //  N = (U) >> 8;
1221:armor.c       ****   //  V = 0;
1222:armor.c       ****       
1223:armor.c       ****             //        LDA   $C8C8                   ; 01F9: B6 C8 C8      
1224:armor.c       ****       A = memory[0xc8c8];
GAS LISTING /tmp/ccqXEnet.s 			page 67


 1575              		.loc 1 1224 0
 1576 1acb 0FB685BC 		movzbl	-14148(%ebp), %eax
 1576      C8FFFF
 1577 1ad2 0FB6C0   		movzbl	%al, %eax
 1578 1ad5 8985E0FF 		movl	%eax, -65568(%ebp)
 1578      FEFF
1225:armor.c       ****   //  N = A;
1226:armor.c       ****   //  Z = A;
1227:armor.c       ****   //  V = 0;
1228:armor.c       ****       
1229:armor.c       ****             //        JSR   $0381                   ; 01FC: BD 03 81      
1230:armor.c       ****       memory[--S] = 0x01ff & 0xff; memory[--S] = 0x01ff >> 8;
 1579              		.loc 1 1230 0
 1580 1adb 6683ADC8 		subw	$1, -65592(%ebp)
 1580      FFFEFF01 
 1581 1ae3 0FB785C8 		movzwl	-65592(%ebp), %eax
 1581      FFFEFF
 1582 1aea C68405F4 		movb	$-1, -65548(%ebp,%eax)
 1582      FFFEFFFF 
 1583 1af2 6683ADC8 		subw	$1, -65592(%ebp)
 1583      FFFEFF01 
 1584 1afa 0FB785C8 		movzwl	-65592(%ebp), %eax
 1584      FFFEFF
 1585 1b01 C68405F4 		movb	$1, -65548(%ebp,%eax)
 1585      FFFEFF01 
1231:armor.c       ****       PC = 0x0381;
 1586              		.loc 1 1231 0
 1587 1b09 66C785CA 		movw	$897, -65590(%ebp)
 1587      FFFEFF81 
 1587      03
 1588              	.L71:
1232:armor.c       ****       JUMP;
1233:armor.c       ****       
1234:armor.c       ****       L01FF://        LDD   #$7E7F                  ; 01FF: CC 7E 7F      
1235:armor.c       ****       A = (UINT8)((0x7e7f) >> 8);
 1589              		.loc 1 1235 0
 1590 1b12 C785E0FF 		movl	$126, -65568(%ebp)
 1590      FEFF7E00 
 1590      0000
1236:armor.c       ****       B = (UINT8)((0x7e7f) & 0xff);
 1591              		.loc 1 1236 0
 1592 1b1c C785E4FF 		movl	$127, -65564(%ebp)
 1592      FEFF7F00 
 1592      0000
1237:armor.c       ****   //  Z = A|B;
1238:armor.c       ****   //  N = A;
1239:armor.c       ****   //  V = 0;
1240:armor.c       ****       
1241:armor.c       ****             //        STB   <$04                    ; 0202: D7 04         
1242:armor.c       ****   //  Z = B;
1243:armor.c       ****   //  N = B;
1244:armor.c       ****   //  V = 0;
1245:armor.c       ****       memory_DP[0x04] = B;
 1593              		.loc 1 1245 0
 1594 1b26 8B85DCFF 		movl	-65572(%ebp), %eax
 1594      FEFF
 1595 1b2c 83C004   		addl	$4, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 68


 1596 1b2f 8B95E4FF 		movl	-65564(%ebp), %edx
 1596      FEFF
 1597 1b35 8810     		movb	%dl, (%eax)
1246:armor.c       ****       
1247:armor.c       ****             //        JSR   Intensity_a             ; 0204: BD F2 AB      
1248:armor.c       ****       memory[--S] = 0x0207 & 0xff; memory[--S] = 0x0207 >> 8;
 1598              		.loc 1 1248 0
 1599 1b37 6683ADC8 		subw	$1, -65592(%ebp)
 1599      FFFEFF01 
 1600 1b3f 0FB785C8 		movzwl	-65592(%ebp), %eax
 1600      FFFEFF
 1601 1b46 C68405F4 		movb	$7, -65548(%ebp,%eax)
 1601      FFFEFF07 
 1602 1b4e 6683ADC8 		subw	$1, -65592(%ebp)
 1602      FFFEFF01 
 1603 1b56 0FB785C8 		movzwl	-65592(%ebp), %eax
 1603      FFFEFF
 1604 1b5d C68405F4 		movb	$2, -65548(%ebp,%eax)
 1604      FFFEFF02 
1249:armor.c       ****       PC = 0xf2ab;
 1605              		.loc 1 1249 0
 1606 1b65 66C785CA 		movw	$-3413, -65590(%ebp)
 1606      FFFEFFAB 
 1606      F2
 1607              	.L72:
1250:armor.c       ****       JUMP;
1251:armor.c       ****       
1252:armor.c       ****       L0207://        LDA   $C8E9                   ; 0207: B6 C8 E9      
1253:armor.c       ****       A = memory[0xc8e9];
 1608              		.loc 1 1253 0
 1609 1b6e 0FB685DD 		movzbl	-14115(%ebp), %eax
 1609      C8FFFF
 1610 1b75 0FB6C0   		movzbl	%al, %eax
 1611 1b78 8985E0FF 		movl	%eax, -65568(%ebp)
 1611      FEFF
1254:armor.c       ****       N = A;
 1612              		.loc 1 1254 0
 1613 1b7e 8B85E0FF 		movl	-65568(%ebp), %eax
 1613      FEFF
 1614 1b84 8885C1FF 		movb	%al, -65599(%ebp)
 1614      FEFF
1255:armor.c       ****   //  Z = A;
1256:armor.c       ****   //  V = 0;
1257:armor.c       ****       
1258:armor.c       ****             //        BMI   $021A                   ; 020A: 2B 0E         
1259:armor.c       ****       if ((SINT8)N <  0) {
 1615              		.loc 1 1259 0
 1616 1b8a 0FB685C1 		movzbl	-65599(%ebp), %eax
 1616      FFFEFF
 1617 1b91 84C0     		testb	%al, %al
 1618 1b93 7909     		jns	.L73
1260:armor.c       ****       PC = 0x021a;
 1619              		.loc 1 1260 0
 1620 1b95 66C785CA 		movw	$538, -65590(%ebp)
 1620      FFFEFF1A 
 1620      02
 1621              	.L73:
GAS LISTING /tmp/ccqXEnet.s 			page 69


1261:armor.c       ****       JUMP;
1262:armor.c       ****       }
1263:armor.c       ****       
1264:armor.c       ****             //        LDA   $C8C8                   ; 020C: B6 C8 C8      
1265:armor.c       ****       A = memory[0xc8c8];
 1622              		.loc 1 1265 0
 1623 1b9e 0FB685BC 		movzbl	-14148(%ebp), %eax
 1623      C8FFFF
 1624 1ba5 0FB6C0   		movzbl	%al, %eax
 1625 1ba8 8985E0FF 		movl	%eax, -65568(%ebp)
 1625      FEFF
1266:armor.c       ****   //  N = A;
1267:armor.c       ****   //  Z = A;
1268:armor.c       ****   //  V = 0;
1269:armor.c       ****       
1270:armor.c       ****             //        LDX   #Print_Str_yx           ; 020F: 8E F3 78      
1271:armor.c       ****       X = 0xf378;
 1626              		.loc 1 1271 0
 1627 1bae 66C785C6 		movw	$-3208, -65594(%ebp)
 1627      FFFEFF78 
 1627      F3
1272:armor.c       ****   //  Z = X;
1273:armor.c       ****   //  N = (X) >> 8;
1274:armor.c       ****   //  V = 0;
1275:armor.c       ****       
1276:armor.c       ****             //        STX   ,S                      ; 0212: AF E4         
1277:armor.c       ****   //  Z = X;
1278:armor.c       ****   //  N = (X) >> 8;
1279:armor.c       ****   //  V = 0;
1280:armor.c       ****       memory[S] = (UINT8)((X) >> 8);
 1628              		.loc 1 1280 0
 1629 1bb7 0FB785C6 		movzwl	-65594(%ebp), %eax
 1629      FFFEFF
 1630 1bbe 66C1E808 		shrw	$8, %ax
 1631 1bc2 89C2     		movl	%eax, %edx
 1632 1bc4 0FB785C8 		movzwl	-65592(%ebp), %eax
 1632      FFFEFF
 1633 1bcb 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1633      FFFEFF
1281:armor.c       ****       memory[(UINT16)(S + 1)] = (UINT8)((X) & 0xff);
 1634              		.loc 1 1281 0
 1635 1bd2 0FB785C8 		movzwl	-65592(%ebp), %eax
 1635      FFFEFF
 1636 1bd9 83C001   		addl	$1, %eax
 1637 1bdc 0FB7C0   		movzwl	%ax, %eax
 1638 1bdf 0FB795C6 		movzwl	-65594(%ebp), %edx
 1638      FFFEFF
 1639 1be6 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1639      FFFEFF
1282:armor.c       ****       
1283:armor.c       ****             //        LDU   #$CA88                  ; 0214: CE CA 88      
1284:armor.c       ****       U = 0xca88;
 1640              		.loc 1 1284 0
 1641 1bed 66C785CE 		movw	$-13688, -65586(%ebp)
 1641      FFFEFF88 
 1641      CA
1285:armor.c       ****   //  Z = U;
GAS LISTING /tmp/ccqXEnet.s 			page 70


1286:armor.c       ****   //  N = (U) >> 8;
1287:armor.c       ****   //  V = 0;
1288:armor.c       ****       
1289:armor.c       ****             //        JSR   $0381                   ; 0217: BD 03 81      
1290:armor.c       ****       memory[--S] = 0x021a & 0xff; memory[--S] = 0x021a >> 8;
 1642              		.loc 1 1290 0
 1643 1bf6 6683ADC8 		subw	$1, -65592(%ebp)
 1643      FFFEFF01 
 1644 1bfe 0FB785C8 		movzwl	-65592(%ebp), %eax
 1644      FFFEFF
 1645 1c05 C68405F4 		movb	$26, -65548(%ebp,%eax)
 1645      FFFEFF1A 
 1646 1c0d 6683ADC8 		subw	$1, -65592(%ebp)
 1646      FFFEFF01 
 1647 1c15 0FB785C8 		movzwl	-65592(%ebp), %eax
 1647      FFFEFF
 1648 1c1c C68405F4 		movb	$2, -65548(%ebp,%eax)
 1648      FFFEFF02 
1291:armor.c       ****       PC = 0x0381;
 1649              		.loc 1 1291 0
 1650 1c24 66C785CA 		movw	$897, -65590(%ebp)
 1650      FFFEFF81 
 1650      03
 1651              	.L74:
1292:armor.c       ****       JUMP;
1293:armor.c       ****       
1294:armor.c       ****       L021A://        LEAS  $0A,S                   ; 021A: 32 6A         
1295:armor.c       ****       S = (S + 0x000a);
 1652              		.loc 1 1295 0
 1653 1c2d 668385C8 		addw	$10, -65592(%ebp)
 1653      FFFEFF0A 
1296:armor.c       ****       
1297:armor.c       ****             //        LDA   $C8E9                   ; 021C: B6 C8 E9      
1298:armor.c       ****       A = memory[0xc8e9];
 1654              		.loc 1 1298 0
 1655 1c35 0FB685DD 		movzbl	-14115(%ebp), %eax
 1655      C8FFFF
 1656 1c3c 0FB6C0   		movzbl	%al, %eax
 1657 1c3f 8985E0FF 		movl	%eax, -65568(%ebp)
 1657      FEFF
1299:armor.c       ****       N = A;
 1658              		.loc 1 1299 0
 1659 1c45 8B85E0FF 		movl	-65568(%ebp), %eax
 1659      FEFF
 1660 1c4b 8885C1FF 		movb	%al, -65599(%ebp)
 1660      FEFF
1300:armor.c       ****   //  Z = A;
1301:armor.c       ****   //  V = 0;
1302:armor.c       ****       
1303:armor.c       ****             //        BMI   $0237                   ; 021F: 2B 16         
1304:armor.c       ****       if ((SINT8)N <  0) {
 1661              		.loc 1 1304 0
 1662 1c51 0FB685C1 		movzbl	-65599(%ebp), %eax
 1662      FFFEFF
 1663 1c58 84C0     		testb	%al, %al
 1664 1c5a 7909     		jns	.L75
1305:armor.c       ****       PC = 0x0237;
GAS LISTING /tmp/ccqXEnet.s 			page 71


 1665              		.loc 1 1305 0
 1666 1c5c 66C785CA 		movw	$567, -65590(%ebp)
 1666      FFFEFF37 
 1666      02
 1667              	.L75:
1306:armor.c       ****       JUMP;
1307:armor.c       ****       }
1308:armor.c       ****       
1309:armor.c       ****             //        LDX   #$78EF                  ; 0221: 8E 78 EF      
1310:armor.c       ****       X = 0x78ef;
 1668              		.loc 1 1310 0
 1669 1c65 66C785C6 		movw	$30959, -65594(%ebp)
 1669      FFFEFFEF 
 1669      78
1311:armor.c       ****   //  Z = X;
1312:armor.c       ****   //  N = (X) >> 8;
1313:armor.c       ****   //  V = 0;
1314:armor.c       ****       
1315:armor.c       ****             //        LDB   $C8E2                   ; 0224: F6 C8 E2      
1316:armor.c       ****       B = memory[0xc8e2];
 1670              		.loc 1 1316 0
 1671 1c6e 0FB685D6 		movzbl	-14122(%ebp), %eax
 1671      C8FFFF
 1672 1c75 0FB6C0   		movzbl	%al, %eax
 1673 1c78 8985E4FF 		movl	%eax, -65564(%ebp)
 1673      FEFF
1317:armor.c       ****   //  N = B;
1318:armor.c       ****   //  Z = B;
1319:armor.c       ****   //  V = 0;
1320:armor.c       ****       
1321:armor.c       ****             //        LDA   #$60                    ; 0227: 86 60         
1322:armor.c       ****       A = (SINT8)0x60;
 1674              		.loc 1 1322 0
 1675 1c7e C785E0FF 		movl	$96, -65568(%ebp)
 1675      FEFF6000 
 1675      0000
1323:armor.c       ****   //  N = A;
1324:armor.c       ****   //  Z = A;
1325:armor.c       ****   //  V = 0;
1326:armor.c       ****       
1327:armor.c       ****             //        JSR   Print_Ships             ; 0229: BD F3 93      
1328:armor.c       ****       memory[--S] = 0x022c & 0xff; memory[--S] = 0x022c >> 8;
 1676              		.loc 1 1328 0
 1677 1c88 6683ADC8 		subw	$1, -65592(%ebp)
 1677      FFFEFF01 
 1678 1c90 0FB785C8 		movzwl	-65592(%ebp), %eax
 1678      FFFEFF
 1679 1c97 C68405F4 		movb	$44, -65548(%ebp,%eax)
 1679      FFFEFF2C 
 1680 1c9f 6683ADC8 		subw	$1, -65592(%ebp)
 1680      FFFEFF01 
 1681 1ca7 0FB785C8 		movzwl	-65592(%ebp), %eax
 1681      FFFEFF
 1682 1cae C68405F4 		movb	$2, -65548(%ebp,%eax)
 1682      FFFEFF02 
1329:armor.c       ****       PC = 0xf393;
 1683              		.loc 1 1329 0
GAS LISTING /tmp/ccqXEnet.s 			page 72


 1684 1cb6 66C785CA 		movw	$-3181, -65590(%ebp)
 1684      FFFEFF93 
 1684      F3
 1685              	.L76:
1330:armor.c       ****       JUMP;
1331:armor.c       ****       
1332:armor.c       ****       L022C://        LDA   $C8ED                   ; 022C: B6 C8 ED      
1333:armor.c       ****       A = memory[0xc8ed];
 1686              		.loc 1 1333 0
 1687 1cbf 0FB685E1 		movzbl	-14111(%ebp), %eax
 1687      C8FFFF
 1688 1cc6 0FB6C0   		movzbl	%al, %eax
 1689 1cc9 8985E0FF 		movl	%eax, -65568(%ebp)
 1689      FEFF
1334:armor.c       ****   //  N = A;
1335:armor.c       ****       Z = A;
 1690              		.loc 1 1335 0
 1691 1ccf 8B85E0FF 		movl	-65568(%ebp), %eax
 1691      FEFF
 1692 1cd5 668985CC 		movw	%ax, -65588(%ebp)
 1692      FFFEFF
1336:armor.c       ****   //  V = 0;
1337:armor.c       ****       
1338:armor.c       ****             //        BNE   $0237                   ; 022F: 26 06         
1339:armor.c       ****       if (Z) {
 1693              		.loc 1 1339 0
 1694 1cdc 6683BDCC 		cmpw	$0, -65588(%ebp)
 1694      FFFEFF00 
 1695 1ce4 7409     		je	.L77
1340:armor.c       ****       PC = 0x0237;
 1696              		.loc 1 1340 0
 1697 1ce6 66C785CA 		movw	$567, -65590(%ebp)
 1697      FFFEFF37 
 1697      02
 1698              	.L77:
1341:armor.c       ****       JUMP;
1342:armor.c       ****       }
1343:armor.c       ****       
1344:armor.c       ****             //        LDU   #$0FF4                  ; 0231: CE 0F F4      
1345:armor.c       ****       U = 0x0ff4;
 1699              		.loc 1 1345 0
 1700 1cef 66C785CE 		movw	$4084, -65586(%ebp)
 1700      FFFEFFF4 
 1700      0F
1346:armor.c       ****   //  Z = U;
1347:armor.c       ****   //  N = (U) >> 8;
1348:armor.c       ****   //  V = 0;
1349:armor.c       ****       
1350:armor.c       ****             //        JSR   Print_Str_yx            ; 0234: BD F3 78      
1351:armor.c       ****       memory[--S] = 0x0237 & 0xff; memory[--S] = 0x0237 >> 8;
 1701              		.loc 1 1351 0
 1702 1cf8 6683ADC8 		subw	$1, -65592(%ebp)
 1702      FFFEFF01 
 1703 1d00 0FB785C8 		movzwl	-65592(%ebp), %eax
 1703      FFFEFF
 1704 1d07 C68405F4 		movb	$55, -65548(%ebp,%eax)
 1704      FFFEFF37 
GAS LISTING /tmp/ccqXEnet.s 			page 73


 1705 1d0f 6683ADC8 		subw	$1, -65592(%ebp)
 1705      FFFEFF01 
 1706 1d17 0FB785C8 		movzwl	-65592(%ebp), %eax
 1706      FFFEFF
 1707 1d1e C68405F4 		movb	$2, -65548(%ebp,%eax)
 1707      FFFEFF02 
1352:armor.c       ****       PC = 0xf378;
 1708              		.loc 1 1352 0
 1709 1d26 66C785CA 		movw	$-3208, -65590(%ebp)
 1709      FFFEFF78 
 1709      F3
 1710              	.L78:
1353:armor.c       ****       JUMP;
1354:armor.c       ****       
1355:armor.c       ****       L0237://        LDA   $C8F0                   ; 0237: B6 C8 F0      
1356:armor.c       ****       A = memory[0xc8f0];
 1711              		.loc 1 1356 0
 1712 1d2f 0FB685E4 		movzbl	-14108(%ebp), %eax
 1712      C8FFFF
 1713 1d36 0FB6C0   		movzbl	%al, %eax
 1714 1d39 8985E0FF 		movl	%eax, -65568(%ebp)
 1714      FEFF
1357:armor.c       ****   //  N = A;
1358:armor.c       ****   //  Z = A;
1359:armor.c       ****   //  V = 0;
1360:armor.c       ****       
1361:armor.c       ****             //        JSR   Read_Btns_Mask          ; 023A: BD F1 B4      
1362:armor.c       ****       memory[--S] = 0x023d & 0xff; memory[--S] = 0x023d >> 8;
 1715              		.loc 1 1362 0
 1716 1d3f 6683ADC8 		subw	$1, -65592(%ebp)
 1716      FFFEFF01 
 1717 1d47 0FB785C8 		movzwl	-65592(%ebp), %eax
 1717      FFFEFF
 1718 1d4e C68405F4 		movb	$61, -65548(%ebp,%eax)
 1718      FFFEFF3D 
 1719 1d56 6683ADC8 		subw	$1, -65592(%ebp)
 1719      FFFEFF01 
 1720 1d5e 0FB785C8 		movzwl	-65592(%ebp), %eax
 1720      FFFEFF
 1721 1d65 C68405F4 		movb	$2, -65548(%ebp,%eax)
 1721      FFFEFF02 
1363:armor.c       ****       PC = 0xf1b4;
 1722              		.loc 1 1363 0
 1723 1d6d 66C785CA 		movw	$-3660, -65590(%ebp)
 1723      FFFEFFB4 
 1723      F1
 1724              	.L79:
1364:armor.c       ****       JUMP;
1365:armor.c       ****       
1366:armor.c       ****       L023D://        JSR   Joy_Digital             ; 023D: BD F1 F8      
1367:armor.c       ****       memory[--S] = 0x0240 & 0xff; memory[--S] = 0x0240 >> 8;
 1725              		.loc 1 1367 0
 1726 1d76 6683ADC8 		subw	$1, -65592(%ebp)
 1726      FFFEFF01 
 1727 1d7e 0FB785C8 		movzwl	-65592(%ebp), %eax
 1727      FFFEFF
 1728 1d85 C68405F4 		movb	$64, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 74


 1728      FFFEFF40 
 1729 1d8d 6683ADC8 		subw	$1, -65592(%ebp)
 1729      FFFEFF01 
 1730 1d95 0FB785C8 		movzwl	-65592(%ebp), %eax
 1730      FFFEFF
 1731 1d9c C68405F4 		movb	$2, -65548(%ebp,%eax)
 1731      FFFEFF02 
1368:armor.c       ****       PC = 0xf1f8;
 1732              		.loc 1 1368 0
 1733 1da4 66C785CA 		movw	$-3592, -65590(%ebp)
 1733      FFFEFFF8 
 1733      F1
 1734              	.L80:
1369:armor.c       ****       JUMP;
1370:armor.c       ****       
1371:armor.c       ****       L0240://        LDA   $C8C8                   ; 0240: B6 C8 C8      
1372:armor.c       ****       A = memory[0xc8c8];
 1735              		.loc 1 1372 0
 1736 1dad 0FB685BC 		movzbl	-14148(%ebp), %eax
 1736      C8FFFF
 1737 1db4 0FB6C0   		movzbl	%al, %eax
 1738 1db7 8985E0FF 		movl	%eax, -65568(%ebp)
 1738      FEFF
1373:armor.c       ****   //  N = A;
1374:armor.c       ****       Z = A;
 1739              		.loc 1 1374 0
 1740 1dbd 8B85E0FF 		movl	-65568(%ebp), %eax
 1740      FEFF
 1741 1dc3 668985CC 		movw	%ax, -65588(%ebp)
 1741      FFFEFF
1375:armor.c       ****   //  V = 0;
1376:armor.c       ****       
1377:armor.c       ****             //        BEQ   $026F                   ; 0243: 27 2A         
1378:armor.c       ****       if (!Z) {
 1742              		.loc 1 1378 0
 1743 1dca 6683BDCC 		cmpw	$0, -65588(%ebp)
 1743      FFFEFF00 
 1744 1dd2 7509     		jne	.L81
1379:armor.c       ****       PC = 0x026f;
 1745              		.loc 1 1379 0
 1746 1dd4 66C785CA 		movw	$623, -65590(%ebp)
 1746      FFFEFF6F 
 1746      02
 1747              	.L81:
1380:armor.c       ****       JUMP;
1381:armor.c       ****       }
1382:armor.c       ****       
1383:armor.c       ****             //        LDX   #$CA4E                  ; 0245: 8E CA 4E      
1384:armor.c       ****       X = 0xca4e;
 1748              		.loc 1 1384 0
 1749 1ddd 66C785C6 		movw	$-13746, -65594(%ebp)
 1749      FFFEFF4E 
 1749      CA
1385:armor.c       ****   //  Z = X;
1386:armor.c       ****   //  N = (X) >> 8;
1387:armor.c       ****   //  V = 0;
1388:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 75


1389:armor.c       ****             //        LDU   #Vec_Button_1_1         ; 0248: CE C8 12      
1390:armor.c       ****       U = 0xc812;
 1750              		.loc 1 1390 0
 1751 1de6 66C785CE 		movw	$-14318, -65586(%ebp)
 1751      FFFEFF12 
 1751      C8
1391:armor.c       ****   //  Z = U;
1392:armor.c       ****   //  N = (U) >> 8;
1393:armor.c       ****   //  V = 0;
1394:armor.c       ****       
1395:armor.c       ****             //        LDY   #Vec_Joy_1_X            ; 024B: 10 8E C8 1B   
1396:armor.c       ****       Y = 0xc81b;
 1752              		.loc 1 1396 0
 1753 1def 66C785D2 		movw	$-14309, -65582(%ebp)
 1753      FFFEFF1B 
 1753      C8
 1754              	.L82:
1397:armor.c       ****   //  Z = Y;
1398:armor.c       ****   //  N = (Y) >> 8;
1399:armor.c       ****   //  V = 0;
1400:armor.c       ****       
1401:armor.c       ****       L024F://        PSHS  X,A                     ; 024F: 34 12         
1402:armor.c       ****       memory[--S] = X & 0xff; memory[--S] = X >> 8;
 1755              		.loc 1 1402 0
 1756 1df8 6683ADC8 		subw	$1, -65592(%ebp)
 1756      FFFEFF01 
 1757 1e00 0FB785C8 		movzwl	-65592(%ebp), %eax
 1757      FFFEFF
 1758 1e07 0FB795C6 		movzwl	-65594(%ebp), %edx
 1758      FFFEFF
 1759 1e0e 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1759      FFFEFF
 1760 1e15 0FB785C6 		movzwl	-65594(%ebp), %eax
 1760      FFFEFF
 1761 1e1c 66C1E808 		shrw	$8, %ax
 1762 1e20 89C2     		movl	%eax, %edx
 1763 1e22 6683ADC8 		subw	$1, -65592(%ebp)
 1763      FFFEFF01 
 1764 1e2a 0FB785C8 		movzwl	-65592(%ebp), %eax
 1764      FFFEFF
 1765 1e31 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1765      FFFEFF
1403:armor.c       ****       memory[--S] = A;
 1766              		.loc 1 1403 0
 1767 1e38 6683ADC8 		subw	$1, -65592(%ebp)
 1767      FFFEFF01 
 1768 1e40 0FB785C8 		movzwl	-65592(%ebp), %eax
 1768      FFFEFF
 1769 1e47 8B95E0FF 		movl	-65568(%ebp), %edx
 1769      FEFF
 1770 1e4d 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1770      FFFEFF
1404:armor.c       ****       
1405:armor.c       ****             //        LDD   ,U++                    ; 0251: EC C1         
1406:armor.c       ****       ea = U; U = U + 2;
 1771              		.loc 1 1406 0
 1772 1e54 0FB785CE 		movzwl	-65586(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 76


 1772      FFFEFF
 1773 1e5b 668985D0 		movw	%ax, -65584(%ebp)
 1773      FFFEFF
 1774 1e62 668385CE 		addw	$2, -65586(%ebp)
 1774      FFFEFF02 
1407:armor.c       ****       A = memory[ea];
 1775              		.loc 1 1407 0
 1776 1e6a 0FB785D0 		movzwl	-65584(%ebp), %eax
 1776      FFFEFF
 1777 1e71 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1777      F4FFFEFF 
 1778 1e79 0FB6C0   		movzbl	%al, %eax
 1779 1e7c 8985E0FF 		movl	%eax, -65568(%ebp)
 1779      FEFF
1408:armor.c       ****       B = memory[(UINT16)((ea)+1)];
 1780              		.loc 1 1408 0
 1781 1e82 0FB785D0 		movzwl	-65584(%ebp), %eax
 1781      FFFEFF
 1782 1e89 83C001   		addl	$1, %eax
 1783 1e8c 0FB7C0   		movzwl	%ax, %eax
 1784 1e8f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1784      F4FFFEFF 
 1785 1e97 0FB6C0   		movzbl	%al, %eax
 1786 1e9a 8985E4FF 		movl	%eax, -65564(%ebp)
 1786      FEFF
1409:armor.c       ****   //  Z = A|B;
1410:armor.c       ****   //  N = A;
1411:armor.c       ****   //  V = 0;
1412:armor.c       ****       
1413:armor.c       ****             //        STD   ,X+                     ; 0253: ED 80         
1414:armor.c       ****   //  Z = A | B;
1415:armor.c       ****   //  N = A;
1416:armor.c       ****   //  V = 0;
1417:armor.c       ****       memory[X++] = A;  // 1
 1787              		.loc 1 1417 0
 1788 1ea0 0FB785C6 		movzwl	-65594(%ebp), %eax
 1788      FFFEFF
 1789 1ea7 8D5001   		leal	1(%eax), %edx
 1790 1eaa 668995C6 		movw	%dx, -65594(%ebp)
 1790      FFFEFF
 1791 1eb1 0FB7C0   		movzwl	%ax, %eax
 1792 1eb4 8B95E0FF 		movl	-65568(%ebp), %edx
 1792      FEFF
 1793 1eba 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1793      FFFEFF
1418:armor.c       ****       memory[X] = B;
 1794              		.loc 1 1418 0
 1795 1ec1 0FB785C6 		movzwl	-65594(%ebp), %eax
 1795      FFFEFF
 1796 1ec8 8B95E4FF 		movl	-65564(%ebp), %edx
 1796      FEFF
 1797 1ece 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1797      FFFEFF
1419:armor.c       ****       
1420:armor.c       ****             //        LDD   ,U++                    ; 0255: EC C1         
1421:armor.c       ****       ea = U; U = U + 2;
 1798              		.loc 1 1421 0
GAS LISTING /tmp/ccqXEnet.s 			page 77


 1799 1ed5 0FB785CE 		movzwl	-65586(%ebp), %eax
 1799      FFFEFF
 1800 1edc 668985D0 		movw	%ax, -65584(%ebp)
 1800      FFFEFF
 1801 1ee3 668385CE 		addw	$2, -65586(%ebp)
 1801      FFFEFF02 
1422:armor.c       ****       A = memory[ea];
 1802              		.loc 1 1422 0
 1803 1eeb 0FB785D0 		movzwl	-65584(%ebp), %eax
 1803      FFFEFF
 1804 1ef2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1804      F4FFFEFF 
 1805 1efa 0FB6C0   		movzbl	%al, %eax
 1806 1efd 8985E0FF 		movl	%eax, -65568(%ebp)
 1806      FEFF
1423:armor.c       ****       B = memory[(UINT16)((ea)+1)];
 1807              		.loc 1 1423 0
 1808 1f03 0FB785D0 		movzwl	-65584(%ebp), %eax
 1808      FFFEFF
 1809 1f0a 83C001   		addl	$1, %eax
 1810 1f0d 0FB7C0   		movzwl	%ax, %eax
 1811 1f10 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1811      F4FFFEFF 
 1812 1f18 0FB6C0   		movzbl	%al, %eax
 1813 1f1b 8985E4FF 		movl	%eax, -65564(%ebp)
 1813      FEFF
1424:armor.c       ****   //  Z = A|B;
1425:armor.c       ****   //  N = A;
1426:armor.c       ****   //  V = 0;
1427:armor.c       ****       
1428:armor.c       ****             //        STD   $01,X                   ; 0257: ED 01         
1429:armor.c       ****   //  Z = A | B;
1430:armor.c       ****   //  N = A;
1431:armor.c       ****   //  V = 0;
1432:armor.c       ****       memory[(UINT16)(X + 0x0001)] = A;
 1814              		.loc 1 1432 0
 1815 1f21 0FB785C6 		movzwl	-65594(%ebp), %eax
 1815      FFFEFF
 1816 1f28 83C001   		addl	$1, %eax
 1817 1f2b 0FB7C0   		movzwl	%ax, %eax
 1818 1f2e 8B95E0FF 		movl	-65568(%ebp), %edx
 1818      FEFF
 1819 1f34 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1819      FFFEFF
1433:armor.c       ****       memory[(UINT16)(X + 0x0001) + 1] = B;
 1820              		.loc 1 1433 0
 1821 1f3b 0FB785C6 		movzwl	-65594(%ebp), %eax
 1821      FFFEFF
 1822 1f42 83C001   		addl	$1, %eax
 1823 1f45 0FB7C0   		movzwl	%ax, %eax
 1824 1f48 83C001   		addl	$1, %eax
 1825 1f4b 8B95E4FF 		movl	-65564(%ebp), %edx
 1825      FEFF
 1826 1f51 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1826      FFFEFF
1434:armor.c       ****       
1435:armor.c       ****             //        CLRB                          ; 0259: 5F            
GAS LISTING /tmp/ccqXEnet.s 			page 78


1436:armor.c       ****       B = 0;
 1827              		.loc 1 1436 0
 1828 1f58 C785E4FF 		movl	$0, -65564(%ebp)
 1828      FEFF0000 
 1828      0000
1437:armor.c       ****   //  V = 0;
1438:armor.c       ****   //  Z = 0;
1439:armor.c       ****   //  N = 0;
1440:armor.c       ****       C = 0;
 1829              		.loc 1 1440 0
 1830 1f62 C785ECFF 		movl	$0, -65556(%ebp)
 1830      FEFF0000 
 1830      0000
1441:armor.c       ****       
1442:armor.c       ****             //        LDA   ,Y++                    ; 025A: A6 A1         
1443:armor.c       ****       ea = Y; Y = Y + 2;
 1831              		.loc 1 1443 0
 1832 1f6c 0FB785D2 		movzwl	-65582(%ebp), %eax
 1832      FFFEFF
 1833 1f73 668985D0 		movw	%ax, -65584(%ebp)
 1833      FFFEFF
 1834 1f7a 668385D2 		addw	$2, -65582(%ebp)
 1834      FFFEFF02 
1444:armor.c       ****       A = memory[ea];
 1835              		.loc 1 1444 0
 1836 1f82 0FB785D0 		movzwl	-65584(%ebp), %eax
 1836      FFFEFF
 1837 1f89 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1837      F4FFFEFF 
 1838 1f91 0FB6C0   		movzbl	%al, %eax
 1839 1f94 8985E0FF 		movl	%eax, -65568(%ebp)
 1839      FEFF
1445:armor.c       ****   //  N = A;
1446:armor.c       ****       Z = A;
 1840              		.loc 1 1446 0
 1841 1f9a 8B85E0FF 		movl	-65568(%ebp), %eax
 1841      FEFF
 1842 1fa0 668985CC 		movw	%ax, -65588(%ebp)
 1842      FFFEFF
1447:armor.c       ****   //  V = 0;
1448:armor.c       ****       
1449:armor.c       ****             //        BEQ   $0268                   ; 025C: 27 0A         
1450:armor.c       ****       if (!Z) {
 1843              		.loc 1 1450 0
 1844 1fa7 6683BDCC 		cmpw	$0, -65588(%ebp)
 1844      FFFEFF00 
 1845 1faf 7509     		jne	.L83
1451:armor.c       ****       PC = 0x0268;
 1846              		.loc 1 1451 0
 1847 1fb1 66C785CA 		movw	$616, -65590(%ebp)
 1847      FFFEFF68 
 1847      02
 1848              	.L83:
1452:armor.c       ****       JUMP;
1453:armor.c       ****       }
1454:armor.c       ****       
1455:armor.c       ****             //        ROLA                          ; 025E: 49            
GAS LISTING /tmp/ccqXEnet.s 			page 79


1456:armor.c       ****       res = ((A) << 1) + (C != 0);
 1849              		.loc 1 1456 0
 1850 1fba 8B85E0FF 		movl	-65568(%ebp), %eax
 1850      FEFF
 1851 1fc0 8D1400   		leal	(%eax,%eax), %edx
 1852 1fc3 83BDECFF 		cmpl	$0, -65556(%ebp)
 1852      FEFF00
 1853 1fca 0F95C0   		setne	%al
 1854 1fcd 0FB6C0   		movzbl	%al, %eax
 1855 1fd0 01D0     		addl	%edx, %eax
 1856 1fd2 8985E8FF 		movl	%eax, -65560(%ebp)
 1856      FEFF
1457:armor.c       ****       C = res & 0x100;
 1857              		.loc 1 1457 0
 1858 1fd8 8B85E8FF 		movl	-65560(%ebp), %eax
 1858      FEFF
 1859 1fde 25000100 		andl	$256, %eax
 1859      00
 1860 1fe3 8985ECFF 		movl	%eax, -65556(%ebp)
 1860      FEFF
1458:armor.c       ****       res = (UINT8)res;
 1861              		.loc 1 1458 0
 1862 1fe9 8B85E8FF 		movl	-65560(%ebp), %eax
 1862      FEFF
 1863 1fef 0FB6C0   		movzbl	%al, %eax
 1864 1ff2 8985E8FF 		movl	%eax, -65560(%ebp)
 1864      FEFF
1459:armor.c       ****   //  Z = res;
1460:armor.c       ****   //  N = res;
1461:armor.c       ****   //  V = res ^ (A);
1462:armor.c       ****       A = res;
 1865              		.loc 1 1462 0
 1866 1ff8 8B85E8FF 		movl	-65560(%ebp), %eax
 1866      FEFF
 1867 1ffe 8985E0FF 		movl	%eax, -65568(%ebp)
 1867      FEFF
1463:armor.c       ****       
1464:armor.c       ****             //        ROLB                          ; 025F: 59            
1465:armor.c       ****       res = ((B) << 1) + (C != 0);
 1868              		.loc 1 1465 0
 1869 2004 8B85E4FF 		movl	-65564(%ebp), %eax
 1869      FEFF
 1870 200a 8D1400   		leal	(%eax,%eax), %edx
 1871 200d 83BDECFF 		cmpl	$0, -65556(%ebp)
 1871      FEFF00
 1872 2014 0F95C0   		setne	%al
 1873 2017 0FB6C0   		movzbl	%al, %eax
 1874 201a 01D0     		addl	%edx, %eax
 1875 201c 8985E8FF 		movl	%eax, -65560(%ebp)
 1875      FEFF
1466:armor.c       ****   //  C = res & 0x100;
1467:armor.c       ****       res = (UINT8)res;
 1876              		.loc 1 1467 0
 1877 2022 8B85E8FF 		movl	-65560(%ebp), %eax
 1877      FEFF
 1878 2028 0FB6C0   		movzbl	%al, %eax
 1879 202b 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 80


 1879      FEFF
1468:armor.c       ****       Z = res;
 1880              		.loc 1 1468 0
 1881 2031 8B85E8FF 		movl	-65560(%ebp), %eax
 1881      FEFF
 1882 2037 668985CC 		movw	%ax, -65588(%ebp)
 1882      FFFEFF
1469:armor.c       ****   //  N = res;
1470:armor.c       ****   //  V = res ^ (B);
1471:armor.c       ****       B = res;
 1883              		.loc 1 1471 0
 1884 203e 8B85E8FF 		movl	-65560(%ebp), %eax
 1884      FEFF
 1885 2044 8985E4FF 		movl	%eax, -65564(%ebp)
 1885      FEFF
1472:armor.c       ****       
1473:armor.c       ****             //        BEQ   $0264                   ; 0260: 27 02         
1474:armor.c       ****       if (!Z) {
 1886              		.loc 1 1474 0
 1887 204a 6683BDCC 		cmpw	$0, -65588(%ebp)
 1887      FFFEFF00 
 1888 2052 7509     		jne	.L84
1475:armor.c       ****       PC = 0x0264;
 1889              		.loc 1 1475 0
 1890 2054 66C785CA 		movw	$612, -65590(%ebp)
 1890      FFFEFF64 
 1890      02
 1891              	.L84:
1476:armor.c       ****       JUMP;
1477:armor.c       ****       }
1478:armor.c       ****       
1479:armor.c       ****             //        COMA                          ; 0262: 43            
1480:armor.c       ****       A = A ^ 0xff;
 1892              		.loc 1 1480 0
 1893 205d 81B5E0FF 		xorl	$255, -65568(%ebp)
 1893      FEFFFF00 
 1893      0000
1481:armor.c       ****   //  Z = A;
1482:armor.c       ****   //  N = A;
1483:armor.c       ****   //  V = 0;
1484:armor.c       ****   //  C = 1;
1485:armor.c       ****       
1486:armor.c       ****             //        NEGB                          ; 0263: 50            
1487:armor.c       ****   //  V = (UINT8)(-B) & (B);
1488:armor.c       ****       B = (UINT8)(-B);
 1894              		.loc 1 1488 0
 1895 2067 8B85E4FF 		movl	-65564(%ebp), %eax
 1895      FEFF
 1896 206d F7D8     		negl	%eax
 1897 206f 0FB6C0   		movzbl	%al, %eax
 1898 2072 8985E4FF 		movl	%eax, -65564(%ebp)
 1898      FEFF
1489:armor.c       ****   //  Z = B;
1490:armor.c       ****   //  N = B;
1491:armor.c       ****       C = B;
 1899              		.loc 1 1491 0
 1900 2078 8B85E4FF 		movl	-65564(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 81


 1900      FEFF
 1901 207e 8985ECFF 		movl	%eax, -65556(%ebp)
 1901      FEFF
 1902              	.L85:
1492:armor.c       ****       
1493:armor.c       ****       L0264://        ORA   B,X                     ; 0264: AA 85         
1494:armor.c       ****       A = A | memory[(UINT16)(X + (SINT8)B)];
 1903              		.loc 1 1494 0
 1904 2084 8B85E4FF 		movl	-65564(%ebp), %eax
 1904      FEFF
 1905 208a 660FBED0 		movsbw	%al, %dx
 1906 208e 0FB785C6 		movzwl	-65594(%ebp), %eax
 1906      FFFEFF
 1907 2095 01D0     		addl	%edx, %eax
 1908 2097 0FB7C0   		movzwl	%ax, %eax
 1909 209a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1909      F4FFFEFF 
 1910 20a2 0FB6C0   		movzbl	%al, %eax
 1911 20a5 0985E0FF 		orl	%eax, -65568(%ebp)
 1911      FEFF
1495:armor.c       ****   //  Z = A;
1496:armor.c       ****   //  N = A;
1497:armor.c       ****   //  V = 0;
1498:armor.c       ****       
1499:armor.c       ****             //        STA   B,X                     ; 0266: A7 85         
1500:armor.c       ****   //  Z = A;
1501:armor.c       ****   //  N = A;
1502:armor.c       ****   //  V = 0;
1503:armor.c       ****       memory[(UINT16)(X + (SINT8)B)] = A;
 1912              		.loc 1 1503 0
 1913 20ab 8B85E4FF 		movl	-65564(%ebp), %eax
 1913      FEFF
 1914 20b1 660FBED0 		movsbw	%al, %dx
 1915 20b5 0FB785C6 		movzwl	-65594(%ebp), %eax
 1915      FFFEFF
 1916 20bc 01D0     		addl	%edx, %eax
 1917 20be 0FB7C0   		movzwl	%ax, %eax
 1918 20c1 8B95E0FF 		movl	-65568(%ebp), %edx
 1918      FEFF
 1919 20c7 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1919      FFFEFF
 1920              	.L86:
1504:armor.c       ****       
1505:armor.c       ****       L0268://        PULS  A,X                     ; 0268: 35 12         
1506:armor.c       ****       A = memory[S++];
 1921              		.loc 1 1506 0
 1922 20ce 0FB785C8 		movzwl	-65592(%ebp), %eax
 1922      FFFEFF
 1923 20d5 8D5001   		leal	1(%eax), %edx
 1924 20d8 668995C8 		movw	%dx, -65592(%ebp)
 1924      FFFEFF
 1925 20df 0FB7C0   		movzwl	%ax, %eax
 1926 20e2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1926      F4FFFEFF 
 1927 20ea 0FB6C0   		movzbl	%al, %eax
 1928 20ed 8985E0FF 		movl	%eax, -65568(%ebp)
 1928      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 82


1507:armor.c       ****       X = memory[S++]<<8;
 1929              		.loc 1 1507 0
 1930 20f3 0FB785C8 		movzwl	-65592(%ebp), %eax
 1930      FFFEFF
 1931 20fa 8D5001   		leal	1(%eax), %edx
 1932 20fd 668995C8 		movw	%dx, -65592(%ebp)
 1932      FFFEFF
 1933 2104 0FB7C0   		movzwl	%ax, %eax
 1934 2107 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1934      F4FFFEFF 
 1935 210f 0FB6C0   		movzbl	%al, %eax
 1936 2112 C1E008   		sall	$8, %eax
 1937 2115 668985C6 		movw	%ax, -65594(%ebp)
 1937      FFFEFF
1508:armor.c       ****       X |= memory[S++];
 1938              		.loc 1 1508 0
 1939 211c 0FB785C8 		movzwl	-65592(%ebp), %eax
 1939      FFFEFF
 1940 2123 8D5001   		leal	1(%eax), %edx
 1941 2126 668995C8 		movw	%dx, -65592(%ebp)
 1941      FFFEFF
 1942 212d 0FB7C0   		movzwl	%ax, %eax
 1943 2130 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 1943      F4FFFEFF 
 1944 2138 0FB6C0   		movzbl	%al, %eax
 1945 213b 660985C6 		orw	%ax, -65594(%ebp)
 1945      FFFEFF
1509:armor.c       ****       
1510:armor.c       ****             //        LEAX  $04,X                   ; 026A: 30 04         
1511:armor.c       ****       X = (X + 0x0004);
 1946              		.loc 1 1511 0
 1947 2142 668385C6 		addw	$4, -65594(%ebp)
 1947      FFFEFF04 
1512:armor.c       ****   //  Z = X;
1513:armor.c       ****       
1514:armor.c       ****             //        DECA                          ; 026C: 4A            
1515:armor.c       ****       res = (UINT8)(A - 1);
 1948              		.loc 1 1515 0
 1949 214a 8B85E0FF 		movl	-65568(%ebp), %eax
 1949      FEFF
 1950 2150 83E801   		subl	$1, %eax
 1951 2153 0FB6C0   		movzbl	%al, %eax
 1952 2156 8985E8FF 		movl	%eax, -65560(%ebp)
 1952      FEFF
1516:armor.c       ****       N = res;
 1953              		.loc 1 1516 0
 1954 215c 8B85E8FF 		movl	-65560(%ebp), %eax
 1954      FEFF
 1955 2162 8885C1FF 		movb	%al, -65599(%ebp)
 1955      FEFF
1517:armor.c       ****       Z = res;
 1956              		.loc 1 1517 0
 1957 2168 8B85E8FF 		movl	-65560(%ebp), %eax
 1957      FEFF
 1958 216e 668985CC 		movw	%ax, -65588(%ebp)
 1958      FFFEFF
1518:armor.c       ****       V = A & ~res;
GAS LISTING /tmp/ccqXEnet.s 			page 83


 1959              		.loc 1 1518 0
 1960 2175 8B85E8FF 		movl	-65560(%ebp), %eax
 1960      FEFF
 1961 217b F7D0     		notl	%eax
 1962 217d 89C2     		movl	%eax, %edx
 1963 217f 8B85E0FF 		movl	-65568(%ebp), %eax
 1963      FEFF
 1964 2185 21D0     		andl	%edx, %eax
 1965 2187 8885C2FF 		movb	%al, -65598(%ebp)
 1965      FEFF
1519:armor.c       ****       A = res;
 1966              		.loc 1 1519 0
 1967 218d 8B85E8FF 		movl	-65560(%ebp), %eax
 1967      FEFF
 1968 2193 8985E0FF 		movl	%eax, -65568(%ebp)
 1968      FEFF
1520:armor.c       ****       
1521:armor.c       ****             //        BNE   $024F                   ; 026D: 26 E0         
1522:armor.c       ****       if (Z) {
 1969              		.loc 1 1522 0
 1970 2199 6683BDCC 		cmpw	$0, -65588(%ebp)
 1970      FFFEFF00 
 1971 21a1 740B     		je	.L449
1523:armor.c       ****       PC = 0x024f;
 1972              		.loc 1 1523 0
 1973 21a3 66C785CA 		movw	$591, -65590(%ebp)
 1973      FFFEFF4F 
 1973      02
 1974 21ac EB01     		jmp	.L87
 1975              	.L449:
1524:armor.c       ****       JUMP;
1525:armor.c       ****       }
1526:armor.c       ****       
1527:armor.c       ****       L026F://        JSR   Reset0Ref               ; 026F: BD F3 54      
 1976              		.loc 1 1527 0
 1977 21ae 90       		nop
 1978              	.L87:
1528:armor.c       ****       memory[--S] = 0x0272 & 0xff; memory[--S] = 0x0272 >> 8;
 1979              		.loc 1 1528 0
 1980 21af 6683ADC8 		subw	$1, -65592(%ebp)
 1980      FFFEFF01 
 1981 21b7 0FB785C8 		movzwl	-65592(%ebp), %eax
 1981      FFFEFF
 1982 21be C68405F4 		movb	$114, -65548(%ebp,%eax)
 1982      FFFEFF72 
 1983 21c6 6683ADC8 		subw	$1, -65592(%ebp)
 1983      FFFEFF01 
 1984 21ce 0FB785C8 		movzwl	-65592(%ebp), %eax
 1984      FFFEFF
 1985 21d5 C68405F4 		movb	$2, -65548(%ebp,%eax)
 1985      FFFEFF02 
1529:armor.c       ****       PC = 0xf354;
 1986              		.loc 1 1529 0
 1987 21dd 66C785CA 		movw	$-3244, -65590(%ebp)
 1987      FFFEFF54 
 1987      F3
 1988              	.L88:
GAS LISTING /tmp/ccqXEnet.s 			page 84


1530:armor.c       ****       JUMP;
1531:armor.c       ****       
1532:armor.c       ****       L0272://        JMP   DP_to_C8                ; 0272: 7E F1 AF      
1533:armor.c       ****       PC = 0xf1af;
 1989              		.loc 1 1533 0
 1990 21e6 66C785CA 		movw	$-3665, -65590(%ebp)
 1990      FFFEFFAF 
 1990      F1
 1991              	.L89:
1534:armor.c       ****       JUMP;
1535:armor.c       ****       
1536:armor.c       ****       
1537:armor.c       ****       L0381://        PSHS  B,A                     ; 0381: 34 06         
1538:armor.c       ****       memory[--S] = B;
 1992              		.loc 1 1538 0
 1993 21ef 6683ADC8 		subw	$1, -65592(%ebp)
 1993      FFFEFF01 
 1994 21f7 0FB785C8 		movzwl	-65592(%ebp), %eax
 1994      FFFEFF
 1995 21fe 8B95E4FF 		movl	-65564(%ebp), %edx
 1995      FEFF
 1996 2204 889405F4 		movb	%dl, -65548(%ebp,%eax)
 1996      FFFEFF
1539:armor.c       ****       memory[--S] = A;
 1997              		.loc 1 1539 0
 1998 220b 6683ADC8 		subw	$1, -65592(%ebp)
 1998      FFFEFF01 
 1999 2213 0FB785C8 		movzwl	-65592(%ebp), %eax
 1999      FFFEFF
 2000 221a 8B95E0FF 		movl	-65568(%ebp), %edx
 2000      FEFF
 2001 2220 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2001      FFFEFF
1540:armor.c       ****       
1541:armor.c       ****             //        TSTA                          ; 0383: 4D            
1542:armor.c       ****       Z = A;
 2002              		.loc 1 1542 0
 2003 2227 8B85E0FF 		movl	-65568(%ebp), %eax
 2003      FEFF
 2004 222d 668985CC 		movw	%ax, -65588(%ebp)
 2004      FFFEFF
1543:armor.c       ****   //  N = A;
1544:armor.c       ****   //  V = 0;
1545:armor.c       ****       
1546:armor.c       ****             //        BEQ   $038D                   ; 0384: 27 07         
1547:armor.c       ****       if (!Z) {
 2005              		.loc 1 1547 0
 2006 2234 6683BDCC 		cmpw	$0, -65588(%ebp)
 2006      FFFEFF00 
 2007 223c 750B     		jne	.L450
1548:armor.c       ****       PC = 0x038d;
 2008              		.loc 1 1548 0
 2009 223e 66C785CA 		movw	$909, -65590(%ebp)
 2009      FFFEFF8D 
 2009      03
 2010 2247 EB01     		jmp	.L90
 2011              	.L450:
GAS LISTING /tmp/ccqXEnet.s 			page 85


1549:armor.c       ****       JUMP;
1550:armor.c       ****       }
1551:armor.c       ****       
1552:armor.c       ****       L0386://        JSR   [$04,S]                 ; 0386: AD F8 04      
 2012              		.loc 1 1552 0
 2013 2249 90       		nop
 2014              	.L90:
1553:armor.c       ****       memory[--S] = 0x0389 & 0xff; memory[--S] = 0x0389 >> 8;
 2015              		.loc 1 1553 0
 2016 224a 6683ADC8 		subw	$1, -65592(%ebp)
 2016      FFFEFF01 
 2017 2252 0FB785C8 		movzwl	-65592(%ebp), %eax
 2017      FFFEFF
 2018 2259 C68405F4 		movb	$-119, -65548(%ebp,%eax)
 2018      FFFEFF89 
 2019 2261 6683ADC8 		subw	$1, -65592(%ebp)
 2019      FFFEFF01 
 2020 2269 0FB785C8 		movzwl	-65592(%ebp), %eax
 2020      FFFEFF
 2021 2270 C68405F4 		movb	$3, -65548(%ebp,%eax)
 2021      FFFEFF03 
1554:armor.c       ****       PC = ((memory[(UINT16)(S + (SINT8)0x04)]<<8)|memory[(UINT16)(S + (SINT8)0x04 + 1)]);
 2022              		.loc 1 1554 0
 2023 2278 0FB785C8 		movzwl	-65592(%ebp), %eax
 2023      FFFEFF
 2024 227f 83C004   		addl	$4, %eax
 2025 2282 0FB7C0   		movzwl	%ax, %eax
 2026 2285 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2026      F4FFFEFF 
 2027 228d 0FB6C0   		movzbl	%al, %eax
 2028 2290 C1E008   		sall	$8, %eax
 2029 2293 89C2     		movl	%eax, %edx
 2030 2295 0FB785C8 		movzwl	-65592(%ebp), %eax
 2030      FFFEFF
 2031 229c 83C005   		addl	$5, %eax
 2032 229f 0FB7C0   		movzwl	%ax, %eax
 2033 22a2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2033      F4FFFEFF 
 2034 22aa 0FB6C0   		movzbl	%al, %eax
 2035 22ad 09D0     		orl	%edx, %eax
 2036 22af 668985CA 		movw	%ax, -65590(%ebp)
 2036      FFFEFF
 2037              	.L91:
1555:armor.c       ****       JUMP;
1556:armor.c       ****       
1557:armor.c       ****       L0389://        DEC   ,S                      ; 0389: 6A E4         
1558:armor.c       ****       res = (UINT8)(memory[S] - 1);
 2038              		.loc 1 1558 0
 2039 22b6 0FB785C8 		movzwl	-65592(%ebp), %eax
 2039      FFFEFF
 2040 22bd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2040      F4FFFEFF 
 2041 22c5 83E801   		subl	$1, %eax
 2042 22c8 0FB6C0   		movzbl	%al, %eax
 2043 22cb 8985E8FF 		movl	%eax, -65560(%ebp)
 2043      FEFF
1559:armor.c       ****       N = res;
GAS LISTING /tmp/ccqXEnet.s 			page 86


 2044              		.loc 1 1559 0
 2045 22d1 8B85E8FF 		movl	-65560(%ebp), %eax
 2045      FEFF
 2046 22d7 8885C1FF 		movb	%al, -65599(%ebp)
 2046      FEFF
1560:armor.c       ****       Z = res;
 2047              		.loc 1 1560 0
 2048 22dd 8B85E8FF 		movl	-65560(%ebp), %eax
 2048      FEFF
 2049 22e3 668985CC 		movw	%ax, -65588(%ebp)
 2049      FFFEFF
1561:armor.c       ****       V = memory[S] & ~res;
 2050              		.loc 1 1561 0
 2051 22ea 0FB785C8 		movzwl	-65592(%ebp), %eax
 2051      FFFEFF
 2052 22f1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2052      F4FFFEFF 
 2053 22f9 89C2     		movl	%eax, %edx
 2054 22fb 8B85E8FF 		movl	-65560(%ebp), %eax
 2054      FEFF
 2055 2301 F7D0     		notl	%eax
 2056 2303 21D0     		andl	%edx, %eax
 2057 2305 8885C2FF 		movb	%al, -65598(%ebp)
 2057      FEFF
1562:armor.c       ****       memory[S] = res;
 2058              		.loc 1 1562 0
 2059 230b 0FB785C8 		movzwl	-65592(%ebp), %eax
 2059      FFFEFF
 2060 2312 8B95E8FF 		movl	-65560(%ebp), %edx
 2060      FEFF
 2061 2318 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2061      FFFEFF
1563:armor.c       ****       
1564:armor.c       ****             //        BNE   $0386                   ; 038B: 26 F9         
1565:armor.c       ****       if (Z) {
 2062              		.loc 1 1565 0
 2063 231f 6683BDCC 		cmpw	$0, -65588(%ebp)
 2063      FFFEFF00 
 2064 2327 740B     		je	.L451
1566:armor.c       ****       PC = 0x0386;
 2065              		.loc 1 1566 0
 2066 2329 66C785CA 		movw	$902, -65590(%ebp)
 2066      FFFEFF86 
 2066      03
 2067 2332 EB01     		jmp	.L92
 2068              	.L451:
1567:armor.c       ****       JUMP;
1568:armor.c       ****       }
1569:armor.c       ****       
1570:armor.c       ****       L038D://        PULS  A,B,PC                  ; 038D: 35 86             ;(PUL? PC=RTS)
 2069              		.loc 1 1570 0
 2070 2334 90       		nop
 2071              	.L92:
1571:armor.c       ****       A = memory[S++];
 2072              		.loc 1 1571 0
 2073 2335 0FB785C8 		movzwl	-65592(%ebp), %eax
 2073      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 87


 2074 233c 8D5001   		leal	1(%eax), %edx
 2075 233f 668995C8 		movw	%dx, -65592(%ebp)
 2075      FFFEFF
 2076 2346 0FB7C0   		movzwl	%ax, %eax
 2077 2349 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2077      F4FFFEFF 
 2078 2351 0FB6C0   		movzbl	%al, %eax
 2079 2354 8985E0FF 		movl	%eax, -65568(%ebp)
 2079      FEFF
1572:armor.c       ****       B = memory[S++];
 2080              		.loc 1 1572 0
 2081 235a 0FB785C8 		movzwl	-65592(%ebp), %eax
 2081      FFFEFF
 2082 2361 8D5001   		leal	1(%eax), %edx
 2083 2364 668995C8 		movw	%dx, -65592(%ebp)
 2083      FFFEFF
 2084 236b 0FB7C0   		movzwl	%ax, %eax
 2085 236e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2085      F4FFFEFF 
 2086 2376 0FB6C0   		movzbl	%al, %eax
 2087 2379 8985E4FF 		movl	%eax, -65564(%ebp)
 2087      FEFF
1573:armor.c       ****       PC = memory[S++]<<8;
 2088              		.loc 1 1573 0
 2089 237f 0FB785C8 		movzwl	-65592(%ebp), %eax
 2089      FFFEFF
 2090 2386 8D5001   		leal	1(%eax), %edx
 2091 2389 668995C8 		movw	%dx, -65592(%ebp)
 2091      FFFEFF
 2092 2390 0FB7C0   		movzwl	%ax, %eax
 2093 2393 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2093      F4FFFEFF 
 2094 239b 0FB6C0   		movzbl	%al, %eax
 2095 239e C1E008   		sall	$8, %eax
 2096 23a1 668985CA 		movw	%ax, -65590(%ebp)
 2096      FFFEFF
1574:armor.c       ****       PC |= memory[S++];
 2097              		.loc 1 1574 0
 2098 23a8 0FB785C8 		movzwl	-65592(%ebp), %eax
 2098      FFFEFF
 2099 23af 8D5001   		leal	1(%eax), %edx
 2100 23b2 668995C8 		movw	%dx, -65592(%ebp)
 2100      FFFEFF
 2101 23b9 0FB7C0   		movzwl	%ax, %eax
 2102 23bc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2102      F4FFFEFF 
 2103 23c4 0FB6C0   		movzbl	%al, %eax
 2104 23c7 660985CA 		orw	%ax, -65590(%ebp)
 2104      FFFEFF
 2105              	.L93:
1575:armor.c       ****       
1576:armor.c       ****       
1577:armor.c       ****       L039D://        LDA   #$FC                    ; 039D: 86 FC         
1578:armor.c       ****       A = (SINT8)0xfc;
 2106              		.loc 1 1578 0
 2107 23ce C785E0FF 		movl	$-4, -65568(%ebp)
 2107      FEFFFCFF 
GAS LISTING /tmp/ccqXEnet.s 			page 88


 2107      FFFF
1579:armor.c       ****   //  N = A;
1580:armor.c       ****   //  Z = A;
1581:armor.c       ****   //  V = 0;
1582:armor.c       ****       
1583:armor.c       ****             //        ANDA  <$67                    ; 039F: 94 67         
1584:armor.c       ****       A = A & memory_DP[0x67];
 2108              		.loc 1 1584 0
 2109 23d8 8B85DCFF 		movl	-65572(%ebp), %eax
 2109      FEFF
 2110 23de 83C067   		addl	$103, %eax
 2111 23e1 0FB600   		movzbl	(%eax), %eax
 2112 23e4 0FB6C0   		movzbl	%al, %eax
 2113 23e7 2185E0FF 		andl	%eax, -65568(%ebp)
 2113      FEFF
1585:armor.c       ****   //  Z = A;
1586:armor.c       ****   //  N = A;
1587:armor.c       ****   //  V = 0;
1588:armor.c       ****       
1589:armor.c       ****             //        STA   <$67                    ; 03A1: 97 67         
1590:armor.c       ****   //  Z = A;
1591:armor.c       ****   //  N = A;
1592:armor.c       ****   //  V = 0;
1593:armor.c       ****       memory_DP[0x67] = A;
 2114              		.loc 1 1593 0
 2115 23ed 8B85DCFF 		movl	-65572(%ebp), %eax
 2115      FEFF
 2116 23f3 83C067   		addl	$103, %eax
 2117 23f6 8B95E0FF 		movl	-65568(%ebp), %edx
 2117      FEFF
 2118 23fc 8810     		movb	%dl, (%eax)
1594:armor.c       ****       
1595:armor.c       ****             //        LDA   <$2F                    ; 03A3: 96 2F         
1596:armor.c       ****       A = memory_DP[0x2f];
 2119              		.loc 1 1596 0
 2120 23fe 8B85DCFF 		movl	-65572(%ebp), %eax
 2120      FEFF
 2121 2404 83C02F   		addl	$47, %eax
 2122 2407 0FB600   		movzbl	(%eax), %eax
 2123 240a 0FB6C0   		movzbl	%al, %eax
 2124 240d 8985E0FF 		movl	%eax, -65568(%ebp)
 2124      FEFF
1597:armor.c       ****       N = A;
 2125              		.loc 1 1597 0
 2126 2413 8B85E0FF 		movl	-65568(%ebp), %eax
 2126      FEFF
 2127 2419 8885C1FF 		movb	%al, -65599(%ebp)
 2127      FEFF
1598:armor.c       ****       Z = A;
 2128              		.loc 1 1598 0
 2129 241f 8B85E0FF 		movl	-65568(%ebp), %eax
 2129      FEFF
 2130 2425 668985CC 		movw	%ax, -65588(%ebp)
 2130      FFFEFF
1599:armor.c       ****       V = 0;
 2131              		.loc 1 1599 0
 2132 242c C685C2FF 		movb	$0, -65598(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 89


 2132      FEFF00
1600:armor.c       ****       
1601:armor.c       ****             //        LBEQ  $0448                   ; 03A5: 10 27 00 9F   
1602:armor.c       ****       if (!Z) {
 2133              		.loc 1 1602 0
 2134 2433 6683BDCC 		cmpw	$0, -65588(%ebp)
 2134      FFFEFF00 
 2135 243b 7509     		jne	.L94
1603:armor.c       ****       PC = 0x0448;
 2136              		.loc 1 1603 0
 2137 243d 66C785CA 		movw	$1096, -65590(%ebp)
 2137      FFFEFF48 
 2137      04
 2138              	.L94:
1604:armor.c       ****       JUMP;
1605:armor.c       ****       }
1606:armor.c       ****       
1607:armor.c       ****             //        DEC   <$2F                    ; 03A9: 0A 2F         
1608:armor.c       ****       res = (UINT8)(memory_DP[0x2f] - 1);
 2139              		.loc 1 1608 0
 2140 2446 8B85DCFF 		movl	-65572(%ebp), %eax
 2140      FEFF
 2141 244c 83C02F   		addl	$47, %eax
 2142 244f 0FB600   		movzbl	(%eax), %eax
 2143 2452 83E801   		subl	$1, %eax
 2144 2455 0FB6C0   		movzbl	%al, %eax
 2145 2458 8985E8FF 		movl	%eax, -65560(%ebp)
 2145      FEFF
1609:armor.c       ****   //  N = res;
1610:armor.c       ****       Z = res;
 2146              		.loc 1 1610 0
 2147 245e 8B85E8FF 		movl	-65560(%ebp), %eax
 2147      FEFF
 2148 2464 668985CC 		movw	%ax, -65588(%ebp)
 2148      FFFEFF
1611:armor.c       ****   //  V = memory_DP[0x2f] & ~res;
1612:armor.c       ****       memory_DP[0x2f] = res;
 2149              		.loc 1 1612 0
 2150 246b 8B85DCFF 		movl	-65572(%ebp), %eax
 2150      FEFF
 2151 2471 83C02F   		addl	$47, %eax
 2152 2474 8B95E8FF 		movl	-65560(%ebp), %edx
 2152      FEFF
 2153 247a 8810     		movb	%dl, (%eax)
1613:armor.c       ****       
1614:armor.c       ****             //        BNE   $03E9                   ; 03AB: 26 3C         
1615:armor.c       ****       if (Z) {
 2154              		.loc 1 1615 0
 2155 247c 6683BDCC 		cmpw	$0, -65588(%ebp)
 2155      FFFEFF00 
 2156 2484 7409     		je	.L95
1616:armor.c       ****       PC = 0x03e9;
 2157              		.loc 1 1616 0
 2158 2486 66C785CA 		movw	$1001, -65590(%ebp)
 2158      FFFEFFE9 
 2158      03
 2159              	.L95:
GAS LISTING /tmp/ccqXEnet.s 			page 90


1617:armor.c       ****       JUMP;
1618:armor.c       ****       }
1619:armor.c       ****       
1620:armor.c       ****             //        COM   <$8A                    ; 03AD: 03 8A         
1621:armor.c       ****       memory_DP[0x8a] = memory_DP[0x8a] ^ 0xff;
 2160              		.loc 1 1621 0
 2161 248f 8B85DCFF 		movl	-65572(%ebp), %eax
 2161      FEFF
 2162 2495 058A0000 		addl	$138, %eax
 2162      00
 2163 249a 0FB610   		movzbl	(%eax), %edx
 2164 249d 8B85DCFF 		movl	-65572(%ebp), %eax
 2164      FEFF
 2165 24a3 058A0000 		addl	$138, %eax
 2165      00
 2166 24a8 F7D2     		notl	%edx
 2167 24aa 8810     		movb	%dl, (%eax)
1622:armor.c       ****   //  Z = memory_DP[0x8a];
1623:armor.c       ****   //  N = memory_DP[0x8a];
1624:armor.c       ****   //  V = 0;
1625:armor.c       ****   //  C = 1;
1626:armor.c       ****       
1627:armor.c       ****             //        LDX   #$CB00                  ; 03AF: 8E CB 00      
1628:armor.c       ****       X = 0xcb00;
 2168              		.loc 1 1628 0
 2169 24ac 66C785C6 		movw	$-13568, -65594(%ebp)
 2169      FFFEFF00 
 2169      CB
1629:armor.c       ****   //  Z = X;
1630:armor.c       ****   //  N = (X) >> 8;
1631:armor.c       ****   //  V = 0;
1632:armor.c       ****       
1633:armor.c       ****             //        LDU   #$0E6C                  ; 03B2: CE 0E 6C      
1634:armor.c       ****       U = 0x0e6c;
 2170              		.loc 1 1634 0
 2171 24b5 66C785CE 		movw	$3692, -65586(%ebp)
 2171      FFFEFF6C 
 2171      0E
1635:armor.c       ****   //  Z = U;
1636:armor.c       ****   //  N = (U) >> 8;
1637:armor.c       ****   //  V = 0;
1638:armor.c       ****       
1639:armor.c       ****             //        LDA   #$04                    ; 03B5: 86 04         
1640:armor.c       ****       A = (SINT8)0x04;
 2172              		.loc 1 1640 0
 2173 24be C785E0FF 		movl	$4, -65568(%ebp)
 2173      FEFF0400 
 2173      0000
1641:armor.c       ****   //  N = A;
1642:armor.c       ****   //  Z = A;
1643:armor.c       ****   //  V = 0;
1644:armor.c       ****       
1645:armor.c       ****             //        PSHS  A                       ; 03B7: 34 02         
1646:armor.c       ****       memory[--S] = A;
 2174              		.loc 1 1646 0
 2175 24c8 6683ADC8 		subw	$1, -65592(%ebp)
 2175      FFFEFF01 
GAS LISTING /tmp/ccqXEnet.s 			page 91


 2176 24d0 0FB785C8 		movzwl	-65592(%ebp), %eax
 2176      FFFEFF
 2177 24d7 8B95E0FF 		movl	-65568(%ebp), %edx
 2177      FEFF
 2178 24dd 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2178      FFFEFF
 2179              	.L96:
1647:armor.c       ****       
1648:armor.c       ****       L03B9://        LDD   #$0408                  ; 03B9: CC 04 08      
1649:armor.c       ****       A = (UINT8)((0x0408) >> 8);
 2180              		.loc 1 1649 0
 2181 24e4 C785E0FF 		movl	$4, -65568(%ebp)
 2181      FEFF0400 
 2181      0000
1650:armor.c       ****       B = (UINT8)((0x0408) & 0xff);
 2182              		.loc 1 1650 0
 2183 24ee C785E4FF 		movl	$8, -65564(%ebp)
 2183      FEFF0800 
 2183      0000
1651:armor.c       ****   //  Z = A|B;
1652:armor.c       ****   //  N = A;
1653:armor.c       ****   //  V = 0;
1654:armor.c       ****       
1655:armor.c       ****             //        JSR   $0CE1                   ; 03BC: BD 0C E1      
1656:armor.c       ****       memory[--S] = 0x03bf & 0xff; memory[--S] = 0x03bf >> 8;
 2184              		.loc 1 1656 0
 2185 24f8 6683ADC8 		subw	$1, -65592(%ebp)
 2185      FFFEFF01 
 2186 2500 0FB785C8 		movzwl	-65592(%ebp), %eax
 2186      FFFEFF
 2187 2507 C68405F4 		movb	$-65, -65548(%ebp,%eax)
 2187      FFFEFFBF 
 2188 250f 6683ADC8 		subw	$1, -65592(%ebp)
 2188      FFFEFF01 
 2189 2517 0FB785C8 		movzwl	-65592(%ebp), %eax
 2189      FFFEFF
 2190 251e C68405F4 		movb	$3, -65548(%ebp,%eax)
 2190      FFFEFF03 
1657:armor.c       ****       PC = 0x0ce1;
 2191              		.loc 1 1657 0
 2192 2526 66C785CA 		movw	$3297, -65590(%ebp)
 2192      FFFEFFE1 
 2192      0C
 2193              	.L97:
1658:armor.c       ****       JUMP;
1659:armor.c       ****       
1660:armor.c       ****       L03BF://        DEC   ,S                      ; 03BF: 6A E4         
1661:armor.c       ****       res = (UINT8)(memory[S] - 1);
 2194              		.loc 1 1661 0
 2195 252f 0FB785C8 		movzwl	-65592(%ebp), %eax
 2195      FFFEFF
 2196 2536 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2196      F4FFFEFF 
 2197 253e 83E801   		subl	$1, %eax
 2198 2541 0FB6C0   		movzbl	%al, %eax
 2199 2544 8985E8FF 		movl	%eax, -65560(%ebp)
 2199      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 92


1662:armor.c       ****   //  N = res;
1663:armor.c       ****       Z = res;
 2200              		.loc 1 1663 0
 2201 254a 8B85E8FF 		movl	-65560(%ebp), %eax
 2201      FEFF
 2202 2550 668985CC 		movw	%ax, -65588(%ebp)
 2202      FFFEFF
1664:armor.c       ****   //  V = memory[S] & ~res;
1665:armor.c       ****       memory[S] = res;
 2203              		.loc 1 1665 0
 2204 2557 0FB785C8 		movzwl	-65592(%ebp), %eax
 2204      FFFEFF
 2205 255e 8B95E8FF 		movl	-65560(%ebp), %edx
 2205      FEFF
 2206 2564 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2206      FFFEFF
1666:armor.c       ****       
1667:armor.c       ****             //        BNE   $03B9                   ; 03C1: 26 F6         
1668:armor.c       ****       if (Z) {
 2207              		.loc 1 1668 0
 2208 256b 6683BDCC 		cmpw	$0, -65588(%ebp)
 2208      FFFEFF00 
 2209 2573 7409     		je	.L98
1669:armor.c       ****       PC = 0x03b9;
 2210              		.loc 1 1669 0
 2211 2575 66C785CA 		movw	$953, -65590(%ebp)
 2211      FFFEFFB9 
 2211      03
 2212              	.L98:
1670:armor.c       ****       JUMP;
1671:armor.c       ****       }
1672:armor.c       ****       
1673:armor.c       ****             //        PULS  A                       ; 03C3: 35 02         
1674:armor.c       ****       A = memory[S++];
 2213              		.loc 1 1674 0
 2214 257e 0FB785C8 		movzwl	-65592(%ebp), %eax
 2214      FFFEFF
 2215 2585 8D5001   		leal	1(%eax), %edx
 2216 2588 668995C8 		movw	%dx, -65592(%ebp)
 2216      FFFEFF
 2217 258f 0FB7C0   		movzwl	%ax, %eax
 2218 2592 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2218      F4FFFEFF 
 2219 259a 0FB6C0   		movzbl	%al, %eax
 2220 259d 8985E0FF 		movl	%eax, -65568(%ebp)
 2220      FEFF
1675:armor.c       ****       
1676:armor.c       ****             //        LDA   <$80                    ; 03C5: 96 80         
1677:armor.c       ****       A = memory_DP[0x80];
 2221              		.loc 1 1677 0
 2222 25a3 8B85DCFF 		movl	-65572(%ebp), %eax
 2222      FEFF
 2223 25a9 83E880   		subl	$-128, %eax
 2224 25ac 0FB600   		movzbl	(%eax), %eax
 2225 25af 0FB6C0   		movzbl	%al, %eax
 2226 25b2 8985E0FF 		movl	%eax, -65568(%ebp)
 2226      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 93


1678:armor.c       ****   //  N = A;
1679:armor.c       ****   //  Z = A;
1680:armor.c       ****   //  V = 0;
1681:armor.c       ****       
1682:armor.c       ****             //        STA   <$88                    ; 03C7: 97 88         
1683:armor.c       ****   //  Z = A;
1684:armor.c       ****   //  N = A;
1685:armor.c       ****   //  V = 0;
1686:armor.c       ****       memory_DP[0x88] = A;
 2227              		.loc 1 1686 0
 2228 25b8 8B85DCFF 		movl	-65572(%ebp), %eax
 2228      FEFF
 2229 25be 05880000 		addl	$136, %eax
 2229      00
 2230 25c3 8B95E0FF 		movl	-65568(%ebp), %edx
 2230      FEFF
 2231 25c9 8810     		movb	%dl, (%eax)
1687:armor.c       ****       
1688:armor.c       ****             //        CMPA  #$01                    ; 03C9: 81 01         
1689:armor.c       ****       res = A - (SINT8)0x01;
 2232              		.loc 1 1689 0
 2233 25cb 8B85E0FF 		movl	-65568(%ebp), %eax
 2233      FEFF
 2234 25d1 83E801   		subl	$1, %eax
 2235 25d4 8985E8FF 		movl	%eax, -65560(%ebp)
 2235      FEFF
1690:armor.c       ****       C = res & 0x100;
 2236              		.loc 1 1690 0
 2237 25da 8B85E8FF 		movl	-65560(%ebp), %eax
 2237      FEFF
 2238 25e0 25000100 		andl	$256, %eax
 2238      00
 2239 25e5 8985ECFF 		movl	%eax, -65556(%ebp)
 2239      FEFF
1691:armor.c       ****       res = (UINT8)res;
 2240              		.loc 1 1691 0
 2241 25eb 8B85E8FF 		movl	-65560(%ebp), %eax
 2241      FEFF
 2242 25f1 0FB6C0   		movzbl	%al, %eax
 2243 25f4 8985E8FF 		movl	%eax, -65560(%ebp)
 2243      FEFF
1692:armor.c       ****       Z = res;
 2244              		.loc 1 1692 0
 2245 25fa 8B85E8FF 		movl	-65560(%ebp), %eax
 2245      FEFF
 2246 2600 668985CC 		movw	%ax, -65588(%ebp)
 2246      FFFEFF
1693:armor.c       ****   //  N = res;
1694:armor.c       ****   //  V = (A ^ (SINT8)0x01) & (A ^ res);
1695:armor.c       ****       
1696:armor.c       ****             //        BNE   $03D2                   ; 03CB: 26 05         
1697:armor.c       ****       if (Z) {
 2247              		.loc 1 1697 0
 2248 2607 6683BDCC 		cmpw	$0, -65588(%ebp)
 2248      FFFEFF00 
 2249 260f 7409     		je	.L99
1698:armor.c       ****       PC = 0x03d2;
GAS LISTING /tmp/ccqXEnet.s 			page 94


 2250              		.loc 1 1698 0
 2251 2611 66C785CA 		movw	$978, -65590(%ebp)
 2251      FFFEFFD2 
 2251      03
 2252              	.L99:
1699:armor.c       ****       JUMP;
1700:armor.c       ****       }
1701:armor.c       ****       
1702:armor.c       ****             //        LDD   #$01FD                  ; 03CD: CC 01 FD      
1703:armor.c       ****       A = (UINT8)((0x01fd) >> 8);
 2253              		.loc 1 1703 0
 2254 261a C785E0FF 		movl	$1, -65568(%ebp)
 2254      FEFF0100 
 2254      0000
1704:armor.c       ****       B = (UINT8)((0x01fd) & 0xff);
 2255              		.loc 1 1704 0
 2256 2624 C785E4FF 		movl	$253, -65564(%ebp)
 2256      FEFFFD00 
 2256      0000
1705:armor.c       ****       Z = A|B;
 2257              		.loc 1 1705 0
 2258 262e 8B85E0FF 		movl	-65568(%ebp), %eax
 2258      FEFF
 2259 2634 89C2     		movl	%eax, %edx
 2260 2636 8B85E4FF 		movl	-65564(%ebp), %eax
 2260      FEFF
 2261 263c 09D0     		orl	%edx, %eax
 2262 263e 668985CC 		movw	%ax, -65588(%ebp)
 2262      FFFEFF
1706:armor.c       ****       N = A;
 2263              		.loc 1 1706 0
 2264 2645 8B85E0FF 		movl	-65568(%ebp), %eax
 2264      FEFF
 2265 264b 8885C1FF 		movb	%al, -65599(%ebp)
 2265      FEFF
1707:armor.c       ****       V = 0;
 2266              		.loc 1 1707 0
 2267 2651 C685C2FF 		movb	$0, -65598(%ebp)
 2267      FEFF00
1708:armor.c       ****       
1709:armor.c       ****             //        BRA   $03D5                   ; 03D0: 20 03         
1710:armor.c       ****       PC = 0x03d5;
 2268              		.loc 1 1710 0
 2269 2658 66C785CA 		movw	$981, -65590(%ebp)
 2269      FFFEFFD5 
 2269      03
 2270              	.L100:
1711:armor.c       ****       JUMP;
1712:armor.c       ****       
1713:armor.c       ****       
1714:armor.c       ****       L03D2://        LDD   #$02FE                  ; 03D2: CC 02 FE      
1715:armor.c       ****       A = (UINT8)((0x02fe) >> 8);
 2271              		.loc 1 1715 0
 2272 2661 C785E0FF 		movl	$2, -65568(%ebp)
 2272      FEFF0200 
 2272      0000
1716:armor.c       ****       B = (UINT8)((0x02fe) & 0xff);
GAS LISTING /tmp/ccqXEnet.s 			page 95


 2273              		.loc 1 1716 0
 2274 266b C785E4FF 		movl	$254, -65564(%ebp)
 2274      FEFFFE00 
 2274      0000
 2275              	.L101:
1717:armor.c       ****   //  Z = A|B;
1718:armor.c       ****   //  N = A;
1719:armor.c       ****   //  V = 0;
1720:armor.c       ****       
1721:armor.c       ****       L03D5://        STD   <$EB                    ; 03D5: DD EB         
1722:armor.c       ****   //  Z = A | B;
1723:armor.c       ****   //  N = A;
1724:armor.c       ****   //  V = 0;
1725:armor.c       ****       memory_DP[0xeb] = A;
 2276              		.loc 1 1725 0
 2277 2675 8B85DCFF 		movl	-65572(%ebp), %eax
 2277      FEFF
 2278 267b 05EB0000 		addl	$235, %eax
 2278      00
 2279 2680 8B95E0FF 		movl	-65568(%ebp), %edx
 2279      FEFF
 2280 2686 8810     		movb	%dl, (%eax)
1726:armor.c       ****       memory_DP[0xeb + 1] = B;
 2281              		.loc 1 1726 0
 2282 2688 8B85DCFF 		movl	-65572(%ebp), %eax
 2282      FEFF
 2283 268e 05EC0000 		addl	$236, %eax
 2283      00
 2284 2693 8B95E4FF 		movl	-65564(%ebp), %edx
 2284      FEFF
 2285 2699 8810     		movb	%dl, (%eax)
1727:armor.c       ****       
1728:armor.c       ****             //        JSR   $0CD4                   ; 03D7: BD 0C D4      
1729:armor.c       ****       memory[--S] = 0x03da & 0xff; memory[--S] = 0x03da >> 8;
 2286              		.loc 1 1729 0
 2287 269b 6683ADC8 		subw	$1, -65592(%ebp)
 2287      FFFEFF01 
 2288 26a3 0FB785C8 		movzwl	-65592(%ebp), %eax
 2288      FFFEFF
 2289 26aa C68405F4 		movb	$-38, -65548(%ebp,%eax)
 2289      FFFEFFDA 
 2290 26b2 6683ADC8 		subw	$1, -65592(%ebp)
 2290      FFFEFF01 
 2291 26ba 0FB785C8 		movzwl	-65592(%ebp), %eax
 2291      FFFEFF
 2292 26c1 C68405F4 		movb	$3, -65548(%ebp,%eax)
 2292      FFFEFF03 
1730:armor.c       ****       PC = 0x0cd4;
 2293              		.loc 1 1730 0
 2294 26c9 66C785CA 		movw	$3284, -65590(%ebp)
 2294      FFFEFFD4 
 2294      0C
 2295              	.L102:
1731:armor.c       ****       JUMP;
1732:armor.c       ****       
1733:armor.c       ****       L03DA://        LDA   <$82                    ; 03DA: 96 82         
1734:armor.c       ****       A = memory_DP[0x82];
GAS LISTING /tmp/ccqXEnet.s 			page 96


 2296              		.loc 1 1734 0
 2297 26d2 8B85DCFF 		movl	-65572(%ebp), %eax
 2297      FEFF
 2298 26d8 05820000 		addl	$130, %eax
 2298      00
 2299 26dd 0FB600   		movzbl	(%eax), %eax
 2300 26e0 0FB6C0   		movzbl	%al, %eax
 2301 26e3 8985E0FF 		movl	%eax, -65568(%ebp)
 2301      FEFF
1735:armor.c       ****   //  N = A;
1736:armor.c       ****   //  Z = A;
1737:armor.c       ****   //  V = 0;
1738:armor.c       ****       
1739:armor.c       ****             //        STA   <$89                    ; 03DC: 97 89         
1740:armor.c       ****   //  Z = A;
1741:armor.c       ****   //  N = A;
1742:armor.c       ****   //  V = 0;
1743:armor.c       ****       memory_DP[0x89] = A;
 2302              		.loc 1 1743 0
 2303 26e9 8B85DCFF 		movl	-65572(%ebp), %eax
 2303      FEFF
 2304 26ef 05890000 		addl	$137, %eax
 2304      00
 2305 26f4 8B95E0FF 		movl	-65568(%ebp), %edx
 2305      FEFF
 2306 26fa 8810     		movb	%dl, (%eax)
1744:armor.c       ****       
1745:armor.c       ****             //        LDX   #$C900                  ; 03DE: 8E C9 00      
1746:armor.c       ****       X = 0xc900;
 2307              		.loc 1 1746 0
 2308 26fc 66C785C6 		movw	$-14080, -65594(%ebp)
 2308      FFFEFF00 
 2308      C9
1747:armor.c       ****   //  Z = X;
1748:armor.c       ****   //  N = (X) >> 8;
1749:armor.c       ****   //  V = 0;
1750:armor.c       ****       
1751:armor.c       ****             //        LDB   <$81                    ; 03E1: D6 81         
1752:armor.c       ****       B = memory_DP[0x81];
 2309              		.loc 1 1752 0
 2310 2705 8B85DCFF 		movl	-65572(%ebp), %eax
 2310      FEFF
 2311 270b 05810000 		addl	$129, %eax
 2311      00
 2312 2710 0FB600   		movzbl	(%eax), %eax
 2313 2713 0FB6C0   		movzbl	%al, %eax
 2314 2716 8985E4FF 		movl	%eax, -65564(%ebp)
 2314      FEFF
1753:armor.c       ****   //  N = B;
1754:armor.c       ****   //  Z = B;
1755:armor.c       ****   //  V = 0;
1756:armor.c       ****       
1757:armor.c       ****             //        STB   <$8B                    ; 03E3: D7 8B         
1758:armor.c       ****   //  Z = B;
1759:armor.c       ****   //  N = B;
1760:armor.c       ****   //  V = 0;
1761:armor.c       ****       memory_DP[0x8b] = B;
GAS LISTING /tmp/ccqXEnet.s 			page 97


 2315              		.loc 1 1761 0
 2316 271c 8B85DCFF 		movl	-65572(%ebp), %eax
 2316      FEFF
 2317 2722 058B0000 		addl	$139, %eax
 2317      00
 2318 2727 8B95E4FF 		movl	-65564(%ebp), %edx
 2318      FEFF
 2319 272d 8810     		movb	%dl, (%eax)
 2320              	.L103:
1762:armor.c       ****       
1763:armor.c       ****       L03E5://        STB   <$CD                    ; 03E5: D7 CD         
1764:armor.c       ****       Z = B;
 2321              		.loc 1 1764 0
 2322 272f 8B85E4FF 		movl	-65564(%ebp), %eax
 2322      FEFF
 2323 2735 668985CC 		movw	%ax, -65588(%ebp)
 2323      FFFEFF
1765:armor.c       ****       N = B;
 2324              		.loc 1 1765 0
 2325 273c 8B85E4FF 		movl	-65564(%ebp), %eax
 2325      FEFF
 2326 2742 8885C1FF 		movb	%al, -65599(%ebp)
 2326      FEFF
1766:armor.c       ****       V = 0;
 2327              		.loc 1 1766 0
 2328 2748 C685C2FF 		movb	$0, -65598(%ebp)
 2328      FEFF00
1767:armor.c       ****       memory_DP[0xcd] = B;
 2329              		.loc 1 1767 0
 2330 274f 8B85DCFF 		movl	-65572(%ebp), %eax
 2330      FEFF
 2331 2755 05CD0000 		addl	$205, %eax
 2331      00
 2332 275a 8B95E4FF 		movl	-65564(%ebp), %edx
 2332      FEFF
 2333 2760 8810     		movb	%dl, (%eax)
1768:armor.c       ****       
1769:armor.c       ****             //        BNE   $03EA                   ; 03E7: 26 01         
1770:armor.c       ****       if (Z) {
 2334              		.loc 1 1770 0
 2335 2762 6683BDCC 		cmpw	$0, -65588(%ebp)
 2335      FFFEFF00 
 2336 276a 740B     		je	.L452
1771:armor.c       ****       PC = 0x03ea;
 2337              		.loc 1 1771 0
 2338 276c 66C785CA 		movw	$1002, -65590(%ebp)
 2338      FFFEFFEA 
 2338      03
 2339 2775 EB01     		jmp	.L104
 2340              	.L452:
1772:armor.c       ****       JUMP;
1773:armor.c       ****       }
1774:armor.c       ****       
1775:armor.c       ****       L03E9://        RTS                           ; 03E9: 39            
 2341              		.loc 1 1775 0
 2342 2777 90       		nop
 2343              	.L104:
GAS LISTING /tmp/ccqXEnet.s 			page 98


1776:armor.c       ****       PC = memory[S++]<<8;
 2344              		.loc 1 1776 0
 2345 2778 0FB785C8 		movzwl	-65592(%ebp), %eax
 2345      FFFEFF
 2346 277f 8D5001   		leal	1(%eax), %edx
 2347 2782 668995C8 		movw	%dx, -65592(%ebp)
 2347      FFFEFF
 2348 2789 0FB7C0   		movzwl	%ax, %eax
 2349 278c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2349      F4FFFEFF 
 2350 2794 0FB6C0   		movzbl	%al, %eax
 2351 2797 C1E008   		sall	$8, %eax
 2352 279a 668985CA 		movw	%ax, -65590(%ebp)
 2352      FFFEFF
1777:armor.c       ****       PC |= memory[S++];
 2353              		.loc 1 1777 0
 2354 27a1 0FB785C8 		movzwl	-65592(%ebp), %eax
 2354      FFFEFF
 2355 27a8 8D5001   		leal	1(%eax), %edx
 2356 27ab 668995C8 		movw	%dx, -65592(%ebp)
 2356      FFFEFF
 2357 27b2 0FB7C0   		movzwl	%ax, %eax
 2358 27b5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2358      F4FFFEFF 
 2359 27bd 0FB6C0   		movzbl	%al, %eax
 2360 27c0 660985CA 		orw	%ax, -65590(%ebp)
 2360      FFFEFF
 2361              	.L105:
1778:armor.c       ****       JUMP;
1779:armor.c       ****       
1780:armor.c       ****       
1781:armor.c       ****       L03EA://        LDA   #$09                    ; 03EA: 86 09         
1782:armor.c       ****       A = (SINT8)0x09;
 2362              		.loc 1 1782 0
 2363 27c7 C785E0FF 		movl	$9, -65568(%ebp)
 2363      FEFF0900 
 2363      0000
1783:armor.c       ****   //  N = A;
1784:armor.c       ****   //  Z = A;
1785:armor.c       ****   //  V = 0;
1786:armor.c       ****       
1787:armor.c       ****             //        MUL                           ; 03EC: 3D            
1788:armor.c       ****       res = (UINT16)(A * B);
 2364              		.loc 1 1788 0
 2365 27d1 8B85E0FF 		movl	-65568(%ebp), %eax
 2365      FEFF
 2366 27d7 89C2     		movl	%eax, %edx
 2367 27d9 8B85E4FF 		movl	-65564(%ebp), %eax
 2367      FEFF
 2368 27df 0FAFC2   		imull	%edx, %eax
 2369 27e2 0FB7C0   		movzwl	%ax, %eax
 2370 27e5 8985E8FF 		movl	%eax, -65560(%ebp)
 2370      FEFF
1789:armor.c       ****   //  Z = res;
1790:armor.c       ****   //  C = res & 0x80; /* ??? 8000 ??? */
1791:armor.c       ****       A = res >> 8;
 2371              		.loc 1 1791 0
GAS LISTING /tmp/ccqXEnet.s 			page 99


 2372 27eb 8B85E8FF 		movl	-65560(%ebp), %eax
 2372      FEFF
 2373 27f1 C1F808   		sarl	$8, %eax
 2374 27f4 8985E0FF 		movl	%eax, -65568(%ebp)
 2374      FEFF
1792:armor.c       ****       B = (UINT8)res;
 2375              		.loc 1 1792 0
 2376 27fa 8B85E8FF 		movl	-65560(%ebp), %eax
 2376      FEFF
 2377 2800 0FB6C0   		movzbl	%al, %eax
 2378 2803 8985E4FF 		movl	%eax, -65564(%ebp)
 2378      FEFF
1793:armor.c       ****       
1794:armor.c       ****             //        LDU   #$0D7C                  ; 03ED: CE 0D 7C      
1795:armor.c       ****       U = 0x0d7c;
 2379              		.loc 1 1795 0
 2380 2809 66C785CE 		movw	$3452, -65586(%ebp)
 2380      FFFEFF7C 
 2380      0D
1796:armor.c       ****   //  Z = U;
1797:armor.c       ****   //  N = (U) >> 8;
1798:armor.c       ****   //  V = 0;
1799:armor.c       ****       
1800:armor.c       ****             //        LEAU  B,U                     ; 03F0: 33 C5         
1801:armor.c       ****       U = (U + (SINT8)B);
 2381              		.loc 1 1801 0
 2382 2812 8B85E4FF 		movl	-65564(%ebp), %eax
 2382      FEFF
 2383 2818 6698     		cbtw
 2384 281a 660185CE 		addw	%ax, -65586(%ebp)
 2384      FFFEFF
1802:armor.c       ****       
1803:armor.c       ****             //        INCA                          ; 03F2: 4C            
1804:armor.c       ****       res = (UINT8)((A) + 1);
 2385              		.loc 1 1804 0
 2386 2821 8B85E0FF 		movl	-65568(%ebp), %eax
 2386      FEFF
 2387 2827 83C001   		addl	$1, %eax
 2388 282a 0FB6C0   		movzbl	%al, %eax
 2389 282d 8985E8FF 		movl	%eax, -65560(%ebp)
 2389      FEFF
1805:armor.c       ****   //  Z = res;
1806:armor.c       ****   //  N = res;
1807:armor.c       ****   //  V = res & ~(A);
1808:armor.c       ****       A = res;
 2390              		.loc 1 1808 0
 2391 2833 8B85E8FF 		movl	-65560(%ebp), %eax
 2391      FEFF
 2392 2839 8985E0FF 		movl	%eax, -65568(%ebp)
 2392      FEFF
1809:armor.c       ****       
1810:armor.c       ****             //        STA   ,X+                     ; 03F3: A7 80         
1811:armor.c       ****   //  Z = A;
1812:armor.c       ****   //  N = A;
1813:armor.c       ****   //  V = 0;
1814:armor.c       ****       memory[X++] = A;
 2393              		.loc 1 1814 0
GAS LISTING /tmp/ccqXEnet.s 			page 100


 2394 283f 0FB785C6 		movzwl	-65594(%ebp), %eax
 2394      FFFEFF
 2395 2846 8D5001   		leal	1(%eax), %edx
 2396 2849 668995C6 		movw	%dx, -65594(%ebp)
 2396      FFFEFF
 2397 2850 0FB7C0   		movzwl	%ax, %eax
 2398 2853 8B95E0FF 		movl	-65568(%ebp), %edx
 2398      FEFF
 2399 2859 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2399      FFFEFF
1815:armor.c       ****       
1816:armor.c       ****             //        LDA   #$08                    ; 03F5: 86 08         
1817:armor.c       ****       A = (SINT8)0x08;
 2400              		.loc 1 1817 0
 2401 2860 C785E0FF 		movl	$8, -65568(%ebp)
 2401      FEFF0800 
 2401      0000
 2402              	.L106:
1818:armor.c       ****   //  N = A;
1819:armor.c       ****   //  Z = A;
1820:armor.c       ****   //  V = 0;
1821:armor.c       ****       
1822:armor.c       ****       L03F7://        CLR   ,X+                     ; 03F7: 6F 80         
1823:armor.c       ****       memory[X++] = 0;
 2403              		.loc 1 1823 0
 2404 286a 0FB785C6 		movzwl	-65594(%ebp), %eax
 2404      FFFEFF
 2405 2871 8D5001   		leal	1(%eax), %edx
 2406 2874 668995C6 		movw	%dx, -65594(%ebp)
 2406      FFFEFF
 2407 287b 0FB7C0   		movzwl	%ax, %eax
 2408 287e C68405F4 		movb	$0, -65548(%ebp,%eax)
 2408      FFFEFF00 
1824:armor.c       ****   //  V = 0;
1825:armor.c       ****   //  Z = 0;
1826:armor.c       ****   //  N = 0;
1827:armor.c       ****   //  C = 0;
1828:armor.c       ****       
1829:armor.c       ****             //        DECA                          ; 03F9: 4A            
1830:armor.c       ****       res = (UINT8)(A - 1);
 2409              		.loc 1 1830 0
 2410 2886 8B85E0FF 		movl	-65568(%ebp), %eax
 2410      FEFF
 2411 288c 83E801   		subl	$1, %eax
 2412 288f 0FB6C0   		movzbl	%al, %eax
 2413 2892 8985E8FF 		movl	%eax, -65560(%ebp)
 2413      FEFF
1831:armor.c       ****   //  N = res;
1832:armor.c       ****       Z = res;
 2414              		.loc 1 1832 0
 2415 2898 8B85E8FF 		movl	-65560(%ebp), %eax
 2415      FEFF
 2416 289e 668985CC 		movw	%ax, -65588(%ebp)
 2416      FFFEFF
1833:armor.c       ****   //  V = A & ~res;
1834:armor.c       ****       A = res;
 2417              		.loc 1 1834 0
GAS LISTING /tmp/ccqXEnet.s 			page 101


 2418 28a5 8B85E8FF 		movl	-65560(%ebp), %eax
 2418      FEFF
 2419 28ab 8985E0FF 		movl	%eax, -65568(%ebp)
 2419      FEFF
1835:armor.c       ****       
1836:armor.c       ****             //        BNE   $03F7                   ; 03FA: 26 FB         
1837:armor.c       ****       if (Z) {
 2420              		.loc 1 1837 0
 2421 28b1 6683BDCC 		cmpw	$0, -65588(%ebp)
 2421      FFFEFF00 
 2422 28b9 7409     		je	.L107
1838:armor.c       ****       PC = 0x03f7;
 2423              		.loc 1 1838 0
 2424 28bb 66C785CA 		movw	$1015, -65590(%ebp)
 2424      FFFEFFF7 
 2424      03
 2425              	.L107:
1839:armor.c       ****       JUMP;
1840:armor.c       ****       }
1841:armor.c       ****       
1842:armor.c       ****             //        JSR   Random_3                ; 03FC: BD F5 11      
1843:armor.c       ****       memory[--S] = 0x03ff & 0xff; memory[--S] = 0x03ff >> 8;
 2426              		.loc 1 1843 0
 2427 28c4 6683ADC8 		subw	$1, -65592(%ebp)
 2427      FFFEFF01 
 2428 28cc 0FB785C8 		movzwl	-65592(%ebp), %eax
 2428      FFFEFF
 2429 28d3 C68405F4 		movb	$-1, -65548(%ebp,%eax)
 2429      FFFEFFFF 
 2430 28db 6683ADC8 		subw	$1, -65592(%ebp)
 2430      FFFEFF01 
 2431 28e3 0FB785C8 		movzwl	-65592(%ebp), %eax
 2431      FFFEFF
 2432 28ea C68405F4 		movb	$3, -65548(%ebp,%eax)
 2432      FFFEFF03 
1844:armor.c       ****       PC = 0xf511;
 2433              		.loc 1 1844 0
 2434 28f2 66C785CA 		movw	$-2799, -65590(%ebp)
 2434      FFFEFF11 
 2434      F5
 2435              	.L108:
1845:armor.c       ****       JUMP;
1846:armor.c       ****       
1847:armor.c       ****       L03FF://        ANDA  #$03                    ; 03FF: 84 03         
1848:armor.c       ****       A = A & (SINT8)0x03;
 2436              		.loc 1 1848 0
 2437 28fb 83A5E0FF 		andl	$3, -65568(%ebp)
 2437      FEFF03
1849:armor.c       ****   //  Z = A;
1850:armor.c       ****   //  N = A;
1851:armor.c       ****   //  V = 0;
1852:armor.c       ****       
1853:armor.c       ****             //        STA   ,X+                     ; 0401: A7 80         
1854:armor.c       ****   //  Z = A;
1855:armor.c       ****   //  N = A;
1856:armor.c       ****   //  V = 0;
1857:armor.c       ****       memory[X++] = A;
GAS LISTING /tmp/ccqXEnet.s 			page 102


 2438              		.loc 1 1857 0
 2439 2902 0FB785C6 		movzwl	-65594(%ebp), %eax
 2439      FFFEFF
 2440 2909 8D5001   		leal	1(%eax), %edx
 2441 290c 668995C6 		movw	%dx, -65594(%ebp)
 2441      FFFEFF
 2442 2913 0FB7C0   		movzwl	%ax, %eax
 2443 2916 8B95E0FF 		movl	-65568(%ebp), %edx
 2443      FEFF
 2444 291c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2444      FFFEFF
1858:armor.c       ****       
1859:armor.c       ****             //        LDA   #$09                    ; 0403: 86 09         
1860:armor.c       ****       A = (SINT8)0x09;
 2445              		.loc 1 1860 0
 2446 2923 C785E0FF 		movl	$9, -65568(%ebp)
 2446      FEFF0900 
 2446      0000
1861:armor.c       ****   //  N = A;
1862:armor.c       ****   //  Z = A;
1863:armor.c       ****   //  V = 0;
1864:armor.c       ****       
1865:armor.c       ****             //        JSR   $0CF6                   ; 0405: BD 0C F6      
1866:armor.c       ****       memory[--S] = 0x0408 & 0xff; memory[--S] = 0x0408 >> 8;
 2447              		.loc 1 1866 0
 2448 292d 6683ADC8 		subw	$1, -65592(%ebp)
 2448      FFFEFF01 
 2449 2935 0FB785C8 		movzwl	-65592(%ebp), %eax
 2449      FFFEFF
 2450 293c C68405F4 		movb	$8, -65548(%ebp,%eax)
 2450      FFFEFF08 
 2451 2944 6683ADC8 		subw	$1, -65592(%ebp)
 2451      FFFEFF01 
 2452 294c 0FB785C8 		movzwl	-65592(%ebp), %eax
 2452      FFFEFF
 2453 2953 C68405F4 		movb	$4, -65548(%ebp,%eax)
 2453      FFFEFF04 
1867:armor.c       ****       PC = 0x0cf6;
 2454              		.loc 1 1867 0
 2455 295b 66C785CA 		movw	$3318, -65590(%ebp)
 2455      FFFEFFF6 
 2455      0C
 2456              	.L109:
1868:armor.c       ****       JUMP;
1869:armor.c       ****       
1870:armor.c       ****       L0408://        LEAU  $FFFE,X                 ; 0408: 33 1E         
1871:armor.c       ****       U = (X + 0xfffe);
 2457              		.loc 1 1871 0
 2458 2964 0FB785C6 		movzwl	-65594(%ebp), %eax
 2458      FFFEFF
 2459 296b 83E802   		subl	$2, %eax
 2460 296e 668985CE 		movw	%ax, -65586(%ebp)
 2460      FFFEFF
1872:armor.c       ****       
1873:armor.c       ****             //        LDA   ,U                      ; 040A: A6 C4         
1874:armor.c       ****       A = memory[U];
 2461              		.loc 1 1874 0
GAS LISTING /tmp/ccqXEnet.s 			page 103


 2462 2975 0FB785CE 		movzwl	-65586(%ebp), %eax
 2462      FFFEFF
 2463 297c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2463      F4FFFEFF 
 2464 2984 0FB6C0   		movzbl	%al, %eax
 2465 2987 8985E0FF 		movl	%eax, -65568(%ebp)
 2465      FEFF
1875:armor.c       ****   //  N = A;
1876:armor.c       ****       Z = A;
 2466              		.loc 1 1876 0
 2467 298d 8B85E0FF 		movl	-65568(%ebp), %eax
 2467      FEFF
 2468 2993 668985CC 		movw	%ax, -65588(%ebp)
 2468      FFFEFF
1877:armor.c       ****   //  V = 0;
1878:armor.c       ****       
1879:armor.c       ****             //        BNE   $0410                   ; 040C: 26 02         
1880:armor.c       ****       if (Z) {
 2469              		.loc 1 1880 0
 2470 299a 6683BDCC 		cmpw	$0, -65588(%ebp)
 2470      FFFEFF00 
 2471 29a2 7409     		je	.L110
1881:armor.c       ****       PC = 0x0410;
 2472              		.loc 1 1881 0
 2473 29a4 66C785CA 		movw	$1040, -65590(%ebp)
 2473      FFFEFF10 
 2473      04
 2474              	.L110:
1882:armor.c       ****       JUMP;
1883:armor.c       ****       }
1884:armor.c       ****       
1885:armor.c       ****             //        LDA   ,-U                     ; 040E: A6 C2         
1886:armor.c       ****       A = memory[--U];
 2475              		.loc 1 1886 0
 2476 29ad 6683ADCE 		subw	$1, -65586(%ebp)
 2476      FFFEFF01 
 2477 29b5 0FB785CE 		movzwl	-65586(%ebp), %eax
 2477      FFFEFF
 2478 29bc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2478      F4FFFEFF 
 2479 29c4 0FB6C0   		movzbl	%al, %eax
 2480 29c7 8985E0FF 		movl	%eax, -65568(%ebp)
 2480      FEFF
 2481              	.L111:
1887:armor.c       ****   //  N = A;
1888:armor.c       ****   //  Z = A;
1889:armor.c       ****   //  V = 0;
1890:armor.c       ****       
1891:armor.c       ****       L0410://        LDB   <$88                    ; 0410: D6 88         
1892:armor.c       ****       B = memory_DP[0x88];
 2482              		.loc 1 1892 0
 2483 29cd 8B85DCFF 		movl	-65572(%ebp), %eax
 2483      FEFF
 2484 29d3 05880000 		addl	$136, %eax
 2484      00
 2485 29d8 0FB600   		movzbl	(%eax), %eax
 2486 29db 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 104


 2487 29de 8985E4FF 		movl	%eax, -65564(%ebp)
 2487      FEFF
1893:armor.c       ****   //  N = B;
1894:armor.c       ****   //  Z = B;
1895:armor.c       ****   //  V = 0;
1896:armor.c       ****       
1897:armor.c       ****             //        MUL                           ; 0412: 3D            
1898:armor.c       ****       res = (UINT16)(A * B);
 2488              		.loc 1 1898 0
 2489 29e4 8B85E0FF 		movl	-65568(%ebp), %eax
 2489      FEFF
 2490 29ea 89C2     		movl	%eax, %edx
 2491 29ec 8B85E4FF 		movl	-65564(%ebp), %eax
 2491      FEFF
 2492 29f2 0FAFC2   		imull	%edx, %eax
 2493 29f5 0FB7C0   		movzwl	%ax, %eax
 2494 29f8 8985E8FF 		movl	%eax, -65560(%ebp)
 2494      FEFF
1899:armor.c       ****   //  Z = res;
1900:armor.c       ****   //  C = res & 0x80; /* ??? 8000 ??? */
1901:armor.c       ****       A = res >> 8;
 2495              		.loc 1 1901 0
 2496 29fe 8B85E8FF 		movl	-65560(%ebp), %eax
 2496      FEFF
 2497 2a04 C1F808   		sarl	$8, %eax
 2498 2a07 8985E0FF 		movl	%eax, -65568(%ebp)
 2498      FEFF
1902:armor.c       ****       B = (UINT8)res;
 2499              		.loc 1 1902 0
 2500 2a0d 8B85E8FF 		movl	-65560(%ebp), %eax
 2500      FEFF
 2501 2a13 0FB6C0   		movzbl	%al, %eax
 2502 2a16 8985E4FF 		movl	%eax, -65564(%ebp)
 2502      FEFF
1903:armor.c       ****       
1904:armor.c       ****             //        NEGB                          ; 0413: 50            
1905:armor.c       ****   //  V = (UINT8)(-B) & (B);
1906:armor.c       ****       B = (UINT8)(-B);
 2503              		.loc 1 1906 0
 2504 2a1c 8B85E4FF 		movl	-65564(%ebp), %eax
 2504      FEFF
 2505 2a22 F7D8     		negl	%eax
 2506 2a24 0FB6C0   		movzbl	%al, %eax
 2507 2a27 8985E4FF 		movl	%eax, -65564(%ebp)
 2507      FEFF
1907:armor.c       ****   //  Z = B;
1908:armor.c       ****   //  N = B;
1909:armor.c       ****   //  C = B;
1910:armor.c       ****       
1911:armor.c       ****             //        STB   ,U                      ; 0414: E7 C4         
1912:armor.c       ****   //  Z = B;
1913:armor.c       ****   //  N = B;
1914:armor.c       ****   //  V = 0;
1915:armor.c       ****       memory[U] = B;
 2508              		.loc 1 1915 0
 2509 2a2d 0FB785CE 		movzwl	-65586(%ebp), %eax
 2509      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 105


 2510 2a34 8B95E4FF 		movl	-65564(%ebp), %edx
 2510      FEFF
 2511 2a3a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2511      FFFEFF
1916:armor.c       ****       
1917:armor.c       ****             //        LDB   $FFF6,X                 ; 0416: E6 16         
1918:armor.c       ****       B = memory[(UINT16)(X + 0xfff6)];
 2512              		.loc 1 1918 0
 2513 2a41 0FB785C6 		movzwl	-65594(%ebp), %eax
 2513      FFFEFF
 2514 2a48 83E80A   		subl	$10, %eax
 2515 2a4b 0FB7C0   		movzwl	%ax, %eax
 2516 2a4e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2516      F4FFFEFF 
 2517 2a56 0FB6C0   		movzbl	%al, %eax
 2518 2a59 8985E4FF 		movl	%eax, -65564(%ebp)
 2518      FEFF
1919:armor.c       ****   //  N = B;
1920:armor.c       ****       Z = B;
 2519              		.loc 1 1920 0
 2520 2a5f 8B85E4FF 		movl	-65564(%ebp), %eax
 2520      FEFF
 2521 2a65 668985CC 		movw	%ax, -65588(%ebp)
 2521      FFFEFF
1921:armor.c       ****   //  V = 0;
1922:armor.c       ****       
1923:armor.c       ****             //        BEQ   $0427                   ; 0418: 27 0D         
1924:armor.c       ****       if (!Z) {
 2522              		.loc 1 1924 0
 2523 2a6c 6683BDCC 		cmpw	$0, -65588(%ebp)
 2523      FFFEFF00 
 2524 2a74 7509     		jne	.L112
1925:armor.c       ****       PC = 0x0427;
 2525              		.loc 1 1925 0
 2526 2a76 66C785CA 		movw	$1063, -65590(%ebp)
 2526      FFFEFF27 
 2526      04
 2527              	.L112:
1926:armor.c       ****       JUMP;
1927:armor.c       ****       }
1928:armor.c       ****       
1929:armor.c       ****             //        LEAU  $FFFB,X                 ; 041A: 33 1B         
1930:armor.c       ****       U = (X + 0xfffb);
 2528              		.loc 1 1930 0
 2529 2a7f 0FB785C6 		movzwl	-65594(%ebp), %eax
 2529      FFFEFF
 2530 2a86 83E805   		subl	$5, %eax
 2531 2a89 668985CE 		movw	%ax, -65586(%ebp)
 2531      FFFEFF
1931:armor.c       ****       
1932:armor.c       ****             //        COMA                          ; 041C: 43            
1933:armor.c       ****       A = A ^ 0xff;
 2532              		.loc 1 1933 0
 2533 2a90 81B5E0FF 		xorl	$255, -65568(%ebp)
 2533      FEFFFF00 
 2533      0000
 2534              	.L113:
GAS LISTING /tmp/ccqXEnet.s 			page 106


1934:armor.c       ****   //  Z = A;
1935:armor.c       ****   //  N = A;
1936:armor.c       ****   //  V = 0;
1937:armor.c       ****   //  C = 1;
1938:armor.c       ****       
1939:armor.c       ****       L041D://        NEGA                          ; 041D: 40            
1940:armor.c       ****   //  V = (UINT8)(-A) & (A);
1941:armor.c       ****       A = (UINT8)(-A);
 2535              		.loc 1 1941 0
 2536 2a9a 8B85E0FF 		movl	-65568(%ebp), %eax
 2536      FEFF
 2537 2aa0 F7D8     		negl	%eax
 2538 2aa2 0FB6C0   		movzbl	%al, %eax
 2539 2aa5 8985E0FF 		movl	%eax, -65568(%ebp)
 2539      FEFF
1942:armor.c       ****   //  Z = A;
1943:armor.c       ****   //  N = A;
1944:armor.c       ****   //  C = A;
1945:armor.c       ****       
1946:armor.c       ****             //        LEAU  A,U                     ; 041E: 33 C6         
1947:armor.c       ****       U = (U + (SINT8)A);
 2540              		.loc 1 1947 0
 2541 2aab 8B85E0FF 		movl	-65568(%ebp), %eax
 2541      FEFF
 2542 2ab1 6698     		cbtw
 2543 2ab3 660185CE 		addw	%ax, -65586(%ebp)
 2543      FFFEFF
1948:armor.c       ****       
1949:armor.c       ****             //        NEG   ,U                      ; 0420: 60 C4         
1950:armor.c       ****   //  V = (UINT8)(-memory[U]) & (memory[U]);
1951:armor.c       ****       memory[U] = (UINT8)(-memory[U]);
 2544              		.loc 1 1951 0
 2545 2aba 0FB785CE 		movzwl	-65586(%ebp), %eax
 2545      FFFEFF
 2546 2ac1 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
 2546      F4FFFEFF 
 2547 2ac9 0FB785CE 		movzwl	-65586(%ebp), %eax
 2547      FFFEFF
 2548 2ad0 F7DA     		negl	%edx
 2549 2ad2 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2549      FFFEFF
1952:armor.c       ****   //  Z = memory[U];
1953:armor.c       ****   //  N = memory[U];
1954:armor.c       ****   //  C = memory[U];
1955:armor.c       ****       
1956:armor.c       ****             //        NEG   $02,U                   ; 0422: 60 42         
1957:armor.c       ****   //  V = (UINT8)(-memory[(UINT16)(U + 0x0002)]) & (memory[(UINT16)(U + 0x0002)]);
1958:armor.c       ****       memory[(UINT16)(U + 0x0002)] = (UINT8)(-memory[(UINT16)(U + 0x0002)]);
 2550              		.loc 1 1958 0
 2551 2ad9 0FB785CE 		movzwl	-65586(%ebp), %eax
 2551      FFFEFF
 2552 2ae0 83C002   		addl	$2, %eax
 2553 2ae3 0FB7C0   		movzwl	%ax, %eax
 2554 2ae6 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
 2554      F4FFFEFF 
 2555 2aee 0FB785CE 		movzwl	-65586(%ebp), %eax
 2555      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 107


 2556 2af5 83C002   		addl	$2, %eax
 2557 2af8 0FB7C0   		movzwl	%ax, %eax
 2558 2afb F7DA     		negl	%edx
 2559 2afd 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2559      FFFEFF
1959:armor.c       ****   //  Z = memory[(UINT16)(U + 0x0002)];
1960:armor.c       ****   //  N = memory[(UINT16)(U + 0x0002)];
1961:armor.c       ****   //  C = memory[(UINT16)(U + 0x0002)];
1962:armor.c       ****       
1963:armor.c       ****             //        DECB                          ; 0424: 5A            
1964:armor.c       ****       res = (UINT8)(B - 1);
 2560              		.loc 1 1964 0
 2561 2b04 8B85E4FF 		movl	-65564(%ebp), %eax
 2561      FEFF
 2562 2b0a 83E801   		subl	$1, %eax
 2563 2b0d 0FB6C0   		movzbl	%al, %eax
 2564 2b10 8985E8FF 		movl	%eax, -65560(%ebp)
 2564      FEFF
1965:armor.c       ****   //  N = res;
1966:armor.c       ****       Z = res;
 2565              		.loc 1 1966 0
 2566 2b16 8B85E8FF 		movl	-65560(%ebp), %eax
 2566      FEFF
 2567 2b1c 668985CC 		movw	%ax, -65588(%ebp)
 2567      FFFEFF
1967:armor.c       ****   //  V = B & ~res;
1968:armor.c       ****       B = res;
 2568              		.loc 1 1968 0
 2569 2b23 8B85E8FF 		movl	-65560(%ebp), %eax
 2569      FEFF
 2570 2b29 8985E4FF 		movl	%eax, -65564(%ebp)
 2570      FEFF
1969:armor.c       ****       
1970:armor.c       ****             //        BNE   $041D                   ; 0425: 26 F6         
1971:armor.c       ****       if (Z) {
 2571              		.loc 1 1971 0
 2572 2b2f 6683BDCC 		cmpw	$0, -65588(%ebp)
 2572      FFFEFF00 
 2573 2b37 740B     		je	.L453
1972:armor.c       ****       PC = 0x041d;
 2574              		.loc 1 1972 0
 2575 2b39 66C785CA 		movw	$1053, -65590(%ebp)
 2575      FFFEFF1D 
 2575      04
 2576 2b42 EB01     		jmp	.L114
 2577              	.L453:
1973:armor.c       ****       JUMP;
1974:armor.c       ****       }
1975:armor.c       ****       
1976:armor.c       ****       L0427://        CLRA                          ; 0427: 4F            
 2578              		.loc 1 1976 0
 2579 2b44 90       		nop
 2580              	.L114:
1977:armor.c       ****       A = 0;
 2581              		.loc 1 1977 0
 2582 2b45 C785E0FF 		movl	$0, -65568(%ebp)
 2582      FEFF0000 
GAS LISTING /tmp/ccqXEnet.s 			page 108


 2582      0000
1978:armor.c       ****   //  V = 0;
1979:armor.c       ****   //  Z = 0;
1980:armor.c       ****   //  N = 0;
1981:armor.c       ****       C = 0;
 2583              		.loc 1 1981 0
 2584 2b4f C785ECFF 		movl	$0, -65556(%ebp)
 2584      FEFF0000 
 2584      0000
1982:armor.c       ****       
1983:armor.c       ****             //        TFR   D,Y                     ; 0428: 1F 02         
1984:armor.c       ****       Y = ((A << 8) | B);
 2585              		.loc 1 1984 0
 2586 2b59 8B85E0FF 		movl	-65568(%ebp), %eax
 2586      FEFF
 2587 2b5f C1E008   		sall	$8, %eax
 2588 2b62 89C2     		movl	%eax, %edx
 2589 2b64 8B85E4FF 		movl	-65564(%ebp), %eax
 2589      FEFF
 2590 2b6a 09D0     		orl	%edx, %eax
 2591 2b6c 668985D2 		movw	%ax, -65582(%ebp)
 2591      FFFEFF
1985:armor.c       ****       
1986:armor.c       ****             //        LDD   $FFFB,X                 ; 042A: EC 1B         
1987:armor.c       ****       A = memory[(UINT16)(X + 0xfffb)];
 2592              		.loc 1 1987 0
 2593 2b73 0FB785C6 		movzwl	-65594(%ebp), %eax
 2593      FFFEFF
 2594 2b7a 83E805   		subl	$5, %eax
 2595 2b7d 0FB7C0   		movzwl	%ax, %eax
 2596 2b80 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2596      F4FFFEFF 
 2597 2b88 0FB6C0   		movzbl	%al, %eax
 2598 2b8b 8985E0FF 		movl	%eax, -65568(%ebp)
 2598      FEFF
1988:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0xfffb))+1)];
 2599              		.loc 1 1988 0
 2600 2b91 0FB785C6 		movzwl	-65594(%ebp), %eax
 2600      FFFEFF
 2601 2b98 83E804   		subl	$4, %eax
 2602 2b9b 0FB7C0   		movzwl	%ax, %eax
 2603 2b9e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2603      F4FFFEFF 
 2604 2ba6 0FB6C0   		movzbl	%al, %eax
 2605 2ba9 8985E4FF 		movl	%eax, -65564(%ebp)
 2605      FEFF
1989:armor.c       ****   //  Z = A|B;
1990:armor.c       ****   //  N = A;
1991:armor.c       ****   //  V = 0;
1992:armor.c       ****       
1993:armor.c       ****             //        JSR   $0C80                   ; 042C: BD 0C 80      
1994:armor.c       ****       memory[--S] = 0x042f & 0xff; memory[--S] = 0x042f >> 8;
 2606              		.loc 1 1994 0
 2607 2baf 6683ADC8 		subw	$1, -65592(%ebp)
 2607      FFFEFF01 
 2608 2bb7 0FB785C8 		movzwl	-65592(%ebp), %eax
 2608      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 109


 2609 2bbe C68405F4 		movb	$47, -65548(%ebp,%eax)
 2609      FFFEFF2F 
 2610 2bc6 6683ADC8 		subw	$1, -65592(%ebp)
 2610      FFFEFF01 
 2611 2bce 0FB785C8 		movzwl	-65592(%ebp), %eax
 2611      FFFEFF
 2612 2bd5 C68405F4 		movb	$4, -65548(%ebp,%eax)
 2612      FFFEFF04 
1995:armor.c       ****       PC = 0x0c80;
 2613              		.loc 1 1995 0
 2614 2bdd 66C785CA 		movw	$3200, -65590(%ebp)
 2614      FFFEFF80 
 2614      0C
 2615              	.L115:
1996:armor.c       ****       JUMP;
1997:armor.c       ****       
1998:armor.c       ****       L042F://        STA   $FFF3,X                 ; 042F: A7 13         
1999:armor.c       ****   //  Z = A;
2000:armor.c       ****   //  N = A;
2001:armor.c       ****   //  V = 0;
2002:armor.c       ****       memory[(UINT16)(X + 0xfff3)] = A;
 2616              		.loc 1 2002 0
 2617 2be6 0FB785C6 		movzwl	-65594(%ebp), %eax
 2617      FFFEFF
 2618 2bed 83E80D   		subl	$13, %eax
 2619 2bf0 0FB7C0   		movzwl	%ax, %eax
 2620 2bf3 8B95E0FF 		movl	-65568(%ebp), %edx
 2620      FEFF
 2621 2bf9 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2621      FFFEFF
2003:armor.c       ****       
2004:armor.c       ****             //        LDA   $FFFF,X                 ; 0431: A6 1F         
2005:armor.c       ****       A = memory[(UINT16)(X + 0xffff)];
 2622              		.loc 1 2005 0
 2623 2c00 0FB785C6 		movzwl	-65594(%ebp), %eax
 2623      FFFEFF
 2624 2c07 83E801   		subl	$1, %eax
 2625 2c0a 0FB7C0   		movzwl	%ax, %eax
 2626 2c0d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2626      F4FFFEFF 
 2627 2c15 0FB6C0   		movzbl	%al, %eax
 2628 2c18 8985E0FF 		movl	%eax, -65568(%ebp)
 2628      FEFF
2006:armor.c       ****   //  N = A;
2007:armor.c       ****   //  Z = A;
2008:armor.c       ****   //  V = 0;
2009:armor.c       ****       
2010:armor.c       ****             //        LEAU  ,X                      ; 0433: 33 84         
2011:armor.c       ****       U = X;
 2629              		.loc 1 2011 0
 2630 2c1e 0FB785C6 		movzwl	-65594(%ebp), %eax
 2630      FFFEFF
 2631 2c25 668985CE 		movw	%ax, -65586(%ebp)
 2631      FFFEFF
2012:armor.c       ****       
2013:armor.c       ****             //        LDX   #$0EC8                  ; 0435: 8E 0E C8      
2014:armor.c       ****       X = 0x0ec8;
GAS LISTING /tmp/ccqXEnet.s 			page 110


 2632              		.loc 1 2014 0
 2633 2c2c 66C785C6 		movw	$3784, -65594(%ebp)
 2633      FFFEFFC8 
 2633      0E
2015:armor.c       ****   //  Z = X;
2016:armor.c       ****   //  N = (X) >> 8;
2017:armor.c       ****   //  V = 0;
2018:armor.c       ****       
2019:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 0438: BD F6 1F      
2020:armor.c       ****       memory[--S] = 0x043b & 0xff; memory[--S] = 0x043b >> 8;
 2634              		.loc 1 2020 0
 2635 2c35 6683ADC8 		subw	$1, -65592(%ebp)
 2635      FFFEFF01 
 2636 2c3d 0FB785C8 		movzwl	-65592(%ebp), %eax
 2636      FFFEFF
 2637 2c44 C68405F4 		movb	$59, -65548(%ebp,%eax)
 2637      FFFEFF3B 
 2638 2c4c 6683ADC8 		subw	$1, -65592(%ebp)
 2638      FFFEFF01 
 2639 2c54 0FB785C8 		movzwl	-65592(%ebp), %eax
 2639      FFFEFF
 2640 2c5b C68405F4 		movb	$4, -65548(%ebp,%eax)
 2640      FFFEFF04 
2021:armor.c       ****       PC = 0xf61f;
 2641              		.loc 1 2021 0
 2642 2c63 66C785CA 		movw	$-2529, -65590(%ebp)
 2642      FFFEFF1F 
 2642      F6
 2643              	.L116:
2022:armor.c       ****       JUMP;
2023:armor.c       ****       
2024:armor.c       ****       L043B://        LDA   -$20,U                  ; 043B: A6 C8 E0      
2025:armor.c       ****       A = memory[(UINT16)(U + (SINT8)0xe0)];
 2644              		.loc 1 2025 0
 2645 2c6c 0FB785CE 		movzwl	-65586(%ebp), %eax
 2645      FFFEFF
 2646 2c73 83E820   		subl	$32, %eax
 2647 2c76 0FB7C0   		movzwl	%ax, %eax
 2648 2c79 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2648      F4FFFEFF 
 2649 2c81 0FB6C0   		movzbl	%al, %eax
 2650 2c84 8985E0FF 		movl	%eax, -65568(%ebp)
 2650      FEFF
2026:armor.c       ****   //  N = A;
2027:armor.c       ****   //  Z = A;
2028:armor.c       ****   //  V = 0;
2029:armor.c       ****       
2030:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 043E: BD F6 1F      
2031:armor.c       ****       memory[--S] = 0x0441 & 0xff; memory[--S] = 0x0441 >> 8;
 2651              		.loc 1 2031 0
 2652 2c8a 6683ADC8 		subw	$1, -65592(%ebp)
 2652      FFFEFF01 
 2653 2c92 0FB785C8 		movzwl	-65592(%ebp), %eax
 2653      FFFEFF
 2654 2c99 C68405F4 		movb	$65, -65548(%ebp,%eax)
 2654      FFFEFF41 
 2655 2ca1 6683ADC8 		subw	$1, -65592(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 111


 2655      FFFEFF01 
 2656 2ca9 0FB785C8 		movzwl	-65592(%ebp), %eax
 2656      FFFEFF
 2657 2cb0 C68405F4 		movb	$4, -65548(%ebp,%eax)
 2657      FFFEFF04 
2032:armor.c       ****       PC = 0xf61f;
 2658              		.loc 1 2032 0
 2659 2cb8 66C785CA 		movw	$-2529, -65590(%ebp)
 2659      FFFEFF1F 
 2659      F6
 2660              	.L117:
2033:armor.c       ****       JUMP;
2034:armor.c       ****       
2035:armor.c       ****       L0441://        LEAX  $01,U                   ; 0441: 30 41         
2036:armor.c       ****       X = (U + 0x0001);
 2661              		.loc 1 2036 0
 2662 2cc1 0FB785CE 		movzwl	-65586(%ebp), %eax
 2662      FFFEFF
 2663 2cc8 83C001   		addl	$1, %eax
 2664 2ccb 668985C6 		movw	%ax, -65594(%ebp)
 2664      FFFEFF
2037:armor.c       ****   //  Z = X;
2038:armor.c       ****       
2039:armor.c       ****             //        LDB   <$CD                    ; 0443: D6 CD         
2040:armor.c       ****       B = memory_DP[0xcd];
 2665              		.loc 1 2040 0
 2666 2cd2 8B85DCFF 		movl	-65572(%ebp), %eax
 2666      FEFF
 2667 2cd8 05CD0000 		addl	$205, %eax
 2667      00
 2668 2cdd 0FB600   		movzbl	(%eax), %eax
 2669 2ce0 0FB6C0   		movzbl	%al, %eax
 2670 2ce3 8985E4FF 		movl	%eax, -65564(%ebp)
 2670      FEFF
2041:armor.c       ****   //  N = B;
2042:armor.c       ****   //  Z = B;
2043:armor.c       ****   //  V = 0;
2044:armor.c       ****       
2045:armor.c       ****             //        DECB                          ; 0445: 5A            
2046:armor.c       ****       res = (UINT8)(B - 1);
 2671              		.loc 1 2046 0
 2672 2ce9 8B85E4FF 		movl	-65564(%ebp), %eax
 2672      FEFF
 2673 2cef 83E801   		subl	$1, %eax
 2674 2cf2 0FB6C0   		movzbl	%al, %eax
 2675 2cf5 8985E8FF 		movl	%eax, -65560(%ebp)
 2675      FEFF
2047:armor.c       ****       N = res;
 2676              		.loc 1 2047 0
 2677 2cfb 8B85E8FF 		movl	-65560(%ebp), %eax
 2677      FEFF
 2678 2d01 8885C1FF 		movb	%al, -65599(%ebp)
 2678      FEFF
2048:armor.c       ****       Z = res;
 2679              		.loc 1 2048 0
 2680 2d07 8B85E8FF 		movl	-65560(%ebp), %eax
 2680      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 112


 2681 2d0d 668985CC 		movw	%ax, -65588(%ebp)
 2681      FFFEFF
2049:armor.c       ****       V = B & ~res;
 2682              		.loc 1 2049 0
 2683 2d14 8B85E8FF 		movl	-65560(%ebp), %eax
 2683      FEFF
 2684 2d1a F7D0     		notl	%eax
 2685 2d1c 89C2     		movl	%eax, %edx
 2686 2d1e 8B85E4FF 		movl	-65564(%ebp), %eax
 2686      FEFF
 2687 2d24 21D0     		andl	%edx, %eax
 2688 2d26 8885C2FF 		movb	%al, -65598(%ebp)
 2688      FEFF
2050:armor.c       ****       B = res;
 2689              		.loc 1 2050 0
 2690 2d2c 8B85E8FF 		movl	-65560(%ebp), %eax
 2690      FEFF
 2691 2d32 8985E4FF 		movl	%eax, -65564(%ebp)
 2691      FEFF
2051:armor.c       ****       
2052:armor.c       ****             //        BRA   $03E5                   ; 0446: 20 9D         
2053:armor.c       ****       PC = 0x03e5;
 2692              		.loc 1 2053 0
 2693 2d38 66C785CA 		movw	$997, -65590(%ebp)
 2693      FFFEFFE5 
 2693      03
 2694              	.L118:
2054:armor.c       ****       JUMP;
2055:armor.c       ****       
2056:armor.c       ****       
2057:armor.c       ****       L0448://        LDA   <$8B                    ; 0448: 96 8B         
2058:armor.c       ****       A = memory_DP[0x8b];
 2695              		.loc 1 2058 0
 2696 2d41 8B85DCFF 		movl	-65572(%ebp), %eax
 2696      FEFF
 2697 2d47 058B0000 		addl	$139, %eax
 2697      00
 2698 2d4c 0FB600   		movzbl	(%eax), %eax
 2699 2d4f 0FB6C0   		movzbl	%al, %eax
 2700 2d52 8985E0FF 		movl	%eax, -65568(%ebp)
 2700      FEFF
2059:armor.c       ****   //  N = A;
2060:armor.c       ****       Z = A;
 2701              		.loc 1 2060 0
 2702 2d58 8B85E0FF 		movl	-65568(%ebp), %eax
 2702      FEFF
 2703 2d5e 668985CC 		movw	%ax, -65588(%ebp)
 2703      FFFEFF
2061:armor.c       ****   //  V = 0;
2062:armor.c       ****       
2063:armor.c       ****             //        BNE   $0451                   ; 044A: 26 05         
2064:armor.c       ****       if (Z) {
 2704              		.loc 1 2064 0
 2705 2d65 6683BDCC 		cmpw	$0, -65588(%ebp)
 2705      FFFEFF00 
 2706 2d6d 7409     		je	.L119
2065:armor.c       ****       PC = 0x0451;
GAS LISTING /tmp/ccqXEnet.s 			page 113


 2707              		.loc 1 2065 0
 2708 2d6f 66C785CA 		movw	$1105, -65590(%ebp)
 2708      FFFEFF51 
 2708      04
 2709              	.L119:
2066:armor.c       ****       JUMP;
2067:armor.c       ****       }
2068:armor.c       ****       
2069:armor.c       ****             //        LDA   <$E0                    ; 044C: 96 E0         
2070:armor.c       ****       A = memory_DP[0xe0];
 2710              		.loc 1 2070 0
 2711 2d78 8B85DCFF 		movl	-65572(%ebp), %eax
 2711      FEFF
 2712 2d7e 05E00000 		addl	$224, %eax
 2712      00
 2713 2d83 0FB600   		movzbl	(%eax), %eax
 2714 2d86 0FB6C0   		movzbl	%al, %eax
 2715 2d89 8985E0FF 		movl	%eax, -65568(%ebp)
 2715      FEFF
2071:armor.c       ****   //  N = A;
2072:armor.c       ****   //  Z = A;
2073:armor.c       ****   //  V = 0;
2074:armor.c       ****       
2075:armor.c       ****             //        STA   <$2F                    ; 044E: 97 2F         
2076:armor.c       ****       Z = A;
 2716              		.loc 1 2076 0
 2717 2d8f 8B85E0FF 		movl	-65568(%ebp), %eax
 2717      FEFF
 2718 2d95 668985CC 		movw	%ax, -65588(%ebp)
 2718      FFFEFF
2077:armor.c       ****       N = A;
 2719              		.loc 1 2077 0
 2720 2d9c 8B85E0FF 		movl	-65568(%ebp), %eax
 2720      FEFF
 2721 2da2 8885C1FF 		movb	%al, -65599(%ebp)
 2721      FEFF
2078:armor.c       ****       V = 0;
 2722              		.loc 1 2078 0
 2723 2da8 C685C2FF 		movb	$0, -65598(%ebp)
 2723      FEFF00
2079:armor.c       ****       memory_DP[0x2f] = A;
 2724              		.loc 1 2079 0
 2725 2daf 8B85DCFF 		movl	-65572(%ebp), %eax
 2725      FEFF
 2726 2db5 83C02F   		addl	$47, %eax
 2727 2db8 8B95E0FF 		movl	-65568(%ebp), %edx
 2727      FEFF
 2728 2dbe 8810     		movb	%dl, (%eax)
2080:armor.c       ****       
2081:armor.c       ****             //        RTS                           ; 0450: 39            
2082:armor.c       ****       PC = memory[S++]<<8;
 2729              		.loc 1 2082 0
 2730 2dc0 0FB785C8 		movzwl	-65592(%ebp), %eax
 2730      FFFEFF
 2731 2dc7 8D5001   		leal	1(%eax), %edx
 2732 2dca 668995C8 		movw	%dx, -65592(%ebp)
 2732      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 114


 2733 2dd1 0FB7C0   		movzwl	%ax, %eax
 2734 2dd4 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2734      F4FFFEFF 
 2735 2ddc 0FB6C0   		movzbl	%al, %eax
 2736 2ddf C1E008   		sall	$8, %eax
 2737 2de2 668985CA 		movw	%ax, -65590(%ebp)
 2737      FFFEFF
2083:armor.c       ****       PC |= memory[S++];
 2738              		.loc 1 2083 0
 2739 2de9 0FB785C8 		movzwl	-65592(%ebp), %eax
 2739      FFFEFF
 2740 2df0 8D5001   		leal	1(%eax), %edx
 2741 2df3 668995C8 		movw	%dx, -65592(%ebp)
 2741      FFFEFF
 2742 2dfa 0FB7C0   		movzwl	%ax, %eax
 2743 2dfd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2743      F4FFFEFF 
 2744 2e05 0FB6C0   		movzbl	%al, %eax
 2745 2e08 660985CA 		orw	%ax, -65590(%ebp)
 2745      FFFEFF
 2746              	.L120:
2084:armor.c       ****       JUMP;
2085:armor.c       ****       
2086:armor.c       ****       
2087:armor.c       ****       L0451://        LDB   $C900                   ; 0451: F6 C9 00      
2088:armor.c       ****       B = memory[0xc900];
 2747              		.loc 1 2088 0
 2748 2e0f 0FB685F4 		movzbl	-14092(%ebp), %eax
 2748      C8FFFF
 2749 2e16 0FB6C0   		movzbl	%al, %eax
 2750 2e19 8985E4FF 		movl	%eax, -65564(%ebp)
 2750      FEFF
2089:armor.c       ****       N = B;
 2751              		.loc 1 2089 0
 2752 2e1f 8B85E4FF 		movl	-65564(%ebp), %eax
 2752      FEFF
 2753 2e25 8885C1FF 		movb	%al, -65599(%ebp)
 2753      FEFF
2090:armor.c       ****       Z = B;
 2754              		.loc 1 2090 0
 2755 2e2b 8B85E4FF 		movl	-65564(%ebp), %eax
 2755      FEFF
 2756 2e31 668985CC 		movw	%ax, -65588(%ebp)
 2756      FFFEFF
2091:armor.c       ****       V = 0;
 2757              		.loc 1 2091 0
 2758 2e38 C685C2FF 		movb	$0, -65598(%ebp)
 2758      FEFF00
2092:armor.c       ****       
2093:armor.c       ****             //        BGT   $0464                   ; 0454: 2E 0E         
2094:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 2759              		.loc 1 2094 0
 2760 2e3f 0FB685C1 		movzbl	-65599(%ebp), %eax
 2760      FFFEFF
 2761 2e46 3285C2FF 		xorb	-65598(%ebp), %al
 2761      FEFF
 2762 2e4c 84C0     		testb	%al, %al
GAS LISTING /tmp/ccqXEnet.s 			page 115


 2763 2e4e 7813     		js	.L121
 2764              		.loc 1 2094 0 is_stmt 0 discriminator 1
 2765 2e50 6683BDCC 		cmpw	$0, -65588(%ebp)
 2765      FFFEFF00 
 2766 2e58 7409     		je	.L121
2095:armor.c       ****       PC = 0x0464;
 2767              		.loc 1 2095 0 is_stmt 1
 2768 2e5a 66C785CA 		movw	$1124, -65590(%ebp)
 2768      FFFEFF64 
 2768      04
 2769              	.L121:
2096:armor.c       ****       JUMP;
2097:armor.c       ****       }
2098:armor.c       ****       
2099:armor.c       ****             //        LDB   $C940                   ; 0456: F6 C9 40      
2100:armor.c       ****       B = memory[0xc940];
 2770              		.loc 1 2100 0
 2771 2e63 0FB68534 		movzbl	-14028(%ebp), %eax
 2771      C9FFFF
 2772 2e6a 0FB6C0   		movzbl	%al, %eax
 2773 2e6d 8985E4FF 		movl	%eax, -65564(%ebp)
 2773      FEFF
2101:armor.c       ****       N = B;
 2774              		.loc 1 2101 0
 2775 2e73 8B85E4FF 		movl	-65564(%ebp), %eax
 2775      FEFF
 2776 2e79 8885C1FF 		movb	%al, -65599(%ebp)
 2776      FEFF
2102:armor.c       ****       Z = B;
 2777              		.loc 1 2102 0
 2778 2e7f 8B85E4FF 		movl	-65564(%ebp), %eax
 2778      FEFF
 2779 2e85 668985CC 		movw	%ax, -65588(%ebp)
 2779      FFFEFF
2103:armor.c       ****       V = 0;
 2780              		.loc 1 2103 0
 2781 2e8c C685C2FF 		movb	$0, -65598(%ebp)
 2781      FEFF00
2104:armor.c       ****       
2105:armor.c       ****             //        BGT   $0464                   ; 0459: 2E 09         
2106:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 2782              		.loc 1 2106 0
 2783 2e93 0FB685C1 		movzbl	-65599(%ebp), %eax
 2783      FFFEFF
 2784 2e9a 3285C2FF 		xorb	-65598(%ebp), %al
 2784      FEFF
 2785 2ea0 84C0     		testb	%al, %al
 2786 2ea2 7813     		js	.L122
 2787              		.loc 1 2106 0 is_stmt 0 discriminator 1
 2788 2ea4 6683BDCC 		cmpw	$0, -65588(%ebp)
 2788      FFFEFF00 
 2789 2eac 7409     		je	.L122
2107:armor.c       ****       PC = 0x0464;
 2790              		.loc 1 2107 0 is_stmt 1
 2791 2eae 66C785CA 		movw	$1124, -65590(%ebp)
 2791      FFFEFF64 
 2791      04
GAS LISTING /tmp/ccqXEnet.s 			page 116


 2792              	.L122:
2108:armor.c       ****       JUMP;
2109:armor.c       ****       }
2110:armor.c       ****       
2111:armor.c       ****             //        LDB   $C980                   ; 045B: F6 C9 80      
2112:armor.c       ****       B = memory[0xc980];
 2793              		.loc 1 2112 0
 2794 2eb7 0FB68574 		movzbl	-13964(%ebp), %eax
 2794      C9FFFF
 2795 2ebe 0FB6C0   		movzbl	%al, %eax
 2796 2ec1 8985E4FF 		movl	%eax, -65564(%ebp)
 2796      FEFF
2113:armor.c       ****       N = B;
 2797              		.loc 1 2113 0
 2798 2ec7 8B85E4FF 		movl	-65564(%ebp), %eax
 2798      FEFF
 2799 2ecd 8885C1FF 		movb	%al, -65599(%ebp)
 2799      FEFF
2114:armor.c       ****       Z = B;
 2800              		.loc 1 2114 0
 2801 2ed3 8B85E4FF 		movl	-65564(%ebp), %eax
 2801      FEFF
 2802 2ed9 668985CC 		movw	%ax, -65588(%ebp)
 2802      FFFEFF
2115:armor.c       ****       V = 0;
 2803              		.loc 1 2115 0
 2804 2ee0 C685C2FF 		movb	$0, -65598(%ebp)
 2804      FEFF00
2116:armor.c       ****       
2117:armor.c       ****             //        BGT   $0464                   ; 045E: 2E 04         
2118:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 2805              		.loc 1 2118 0
 2806 2ee7 0FB685C1 		movzbl	-65599(%ebp), %eax
 2806      FFFEFF
 2807 2eee 3285C2FF 		xorb	-65598(%ebp), %al
 2807      FEFF
 2808 2ef4 84C0     		testb	%al, %al
 2809 2ef6 7813     		js	.L123
 2810              		.loc 1 2118 0 is_stmt 0 discriminator 1
 2811 2ef8 6683BDCC 		cmpw	$0, -65588(%ebp)
 2811      FFFEFF00 
 2812 2f00 7409     		je	.L123
2119:armor.c       ****       PC = 0x0464;
 2813              		.loc 1 2119 0 is_stmt 1
 2814 2f02 66C785CA 		movw	$1124, -65590(%ebp)
 2814      FFFEFF64 
 2814      04
 2815              	.L123:
2120:armor.c       ****       JUMP;
2121:armor.c       ****       }
2122:armor.c       ****       
2123:armor.c       ****             //        LDA   #$FC                    ; 0460: 86 FC         
2124:armor.c       ****       A = (SINT8)0xfc;
 2816              		.loc 1 2124 0
 2817 2f0b C785E0FF 		movl	$-4, -65568(%ebp)
 2817      FEFFFCFF 
 2817      FFFF
GAS LISTING /tmp/ccqXEnet.s 			page 117


2125:armor.c       ****   //  N = A;
2126:armor.c       ****   //  Z = A;
2127:armor.c       ****   //  V = 0;
2128:armor.c       ****       
2129:armor.c       ****             //        STA   <$EC                    ; 0462: 97 EC         
2130:armor.c       ****   //  Z = A;
2131:armor.c       ****   //  N = A;
2132:armor.c       ****   //  V = 0;
2133:armor.c       ****       memory_DP[0xec] = A;
 2818              		.loc 1 2133 0
 2819 2f15 8B85DCFF 		movl	-65572(%ebp), %eax
 2819      FEFF
 2820 2f1b 05EC0000 		addl	$236, %eax
 2820      00
 2821 2f20 8B95E0FF 		movl	-65568(%ebp), %edx
 2821      FEFF
 2822 2f26 8810     		movb	%dl, (%eax)
 2823              	.L124:
2134:armor.c       ****       
2135:armor.c       ****       L0464://        LDA   <$67                    ; 0464: 96 67         
2136:armor.c       ****       A = memory_DP[0x67];
 2824              		.loc 1 2136 0
 2825 2f28 8B85DCFF 		movl	-65572(%ebp), %eax
 2825      FEFF
 2826 2f2e 83C067   		addl	$103, %eax
 2827 2f31 0FB600   		movzbl	(%eax), %eax
 2828 2f34 0FB6C0   		movzbl	%al, %eax
 2829 2f37 8985E0FF 		movl	%eax, -65568(%ebp)
 2829      FEFF
2137:armor.c       ****   //  N = A;
2138:armor.c       ****   //  Z = A;
2139:armor.c       ****   //  V = 0;
2140:armor.c       ****       
2141:armor.c       ****             //        ORA   <$EB                    ; 0466: 9A EB         
2142:armor.c       ****       A = A | memory_DP[0xeb];
 2830              		.loc 1 2142 0
 2831 2f3d 8B85DCFF 		movl	-65572(%ebp), %eax
 2831      FEFF
 2832 2f43 05EB0000 		addl	$235, %eax
 2832      00
 2833 2f48 0FB600   		movzbl	(%eax), %eax
 2834 2f4b 0FB6C0   		movzbl	%al, %eax
 2835 2f4e 0985E0FF 		orl	%eax, -65568(%ebp)
 2835      FEFF
2143:armor.c       ****   //  Z = A;
2144:armor.c       ****   //  N = A;
2145:armor.c       ****   //  V = 0;
2146:armor.c       ****       
2147:armor.c       ****             //        ANDA  <$EC                    ; 0468: 94 EC         
2148:armor.c       ****       A = A & memory_DP[0xec];
 2836              		.loc 1 2148 0
 2837 2f54 8B85DCFF 		movl	-65572(%ebp), %eax
 2837      FEFF
 2838 2f5a 05EC0000 		addl	$236, %eax
 2838      00
 2839 2f5f 0FB600   		movzbl	(%eax), %eax
 2840 2f62 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 118


 2841 2f65 2185E0FF 		andl	%eax, -65568(%ebp)
 2841      FEFF
2149:armor.c       ****   //  Z = A;
2150:armor.c       ****   //  N = A;
2151:armor.c       ****   //  V = 0;
2152:armor.c       ****       
2153:armor.c       ****             //        STA   <$67                    ; 046A: 97 67         
2154:armor.c       ****   //  Z = A;
2155:armor.c       ****   //  N = A;
2156:armor.c       ****   //  V = 0;
2157:armor.c       ****       memory_DP[0x67] = A;
 2842              		.loc 1 2157 0
 2843 2f6b 8B85DCFF 		movl	-65572(%ebp), %eax
 2843      FEFF
 2844 2f71 83C067   		addl	$103, %eax
 2845 2f74 8B95E0FF 		movl	-65568(%ebp), %edx
 2845      FEFF
 2846 2f7a 8810     		movb	%dl, (%eax)
2158:armor.c       ****       
2159:armor.c       ****             //        LDX   #$C8C8                  ; 046C: 8E C8 C8      
2160:armor.c       ****       X = 0xc8c8;
 2847              		.loc 1 2160 0
 2848 2f7c 66C785C6 		movw	$-14136, -65594(%ebp)
 2848      FFFEFFC8 
 2848      C8
2161:armor.c       ****   //  Z = X;
2162:armor.c       ****   //  N = (X) >> 8;
2163:armor.c       ****   //  V = 0;
2164:armor.c       ****       
2165:armor.c       ****             //        LDB   <$8E                    ; 046F: D6 8E         
2166:armor.c       ****       B = memory_DP[0x8e];
 2849              		.loc 1 2166 0
 2850 2f85 8B85DCFF 		movl	-65572(%ebp), %eax
 2850      FEFF
 2851 2f8b 058E0000 		addl	$142, %eax
 2851      00
 2852 2f90 0FB600   		movzbl	(%eax), %eax
 2853 2f93 0FB6C0   		movzbl	%al, %eax
 2854 2f96 8985E4FF 		movl	%eax, -65564(%ebp)
 2854      FEFF
 2855              	.L125:
2167:armor.c       ****   //  N = B;
2168:armor.c       ****   //  Z = B;
2169:armor.c       ****   //  V = 0;
2170:armor.c       ****       
2171:armor.c       ****       L0471://        INCB                          ; 0471: 5C            
2172:armor.c       ****       res = (UINT8)((B) + 1);
 2856              		.loc 1 2172 0
 2857 2f9c 8B85E4FF 		movl	-65564(%ebp), %eax
 2857      FEFF
 2858 2fa2 83C001   		addl	$1, %eax
 2859 2fa5 0FB6C0   		movzbl	%al, %eax
 2860 2fa8 8985E8FF 		movl	%eax, -65560(%ebp)
 2860      FEFF
2173:armor.c       ****   //  Z = res;
2174:armor.c       ****   //  N = res;
2175:armor.c       ****   //  V = res & ~(B);
GAS LISTING /tmp/ccqXEnet.s 			page 119


2176:armor.c       ****       B = res;
 2861              		.loc 1 2176 0
 2862 2fae 8B85E8FF 		movl	-65560(%ebp), %eax
 2862      FEFF
 2863 2fb4 8985E4FF 		movl	%eax, -65564(%ebp)
 2863      FEFF
2177:armor.c       ****       
2178:armor.c       ****             //        ANDB  #$03                    ; 0472: C4 03         
2179:armor.c       ****       B = B & (SINT8)0x03;
 2864              		.loc 1 2179 0
 2865 2fba 83A5E4FF 		andl	$3, -65564(%ebp)
 2865      FEFF03
2180:armor.c       ****   //  Z = B;
2181:armor.c       ****   //  N = B;
2182:armor.c       ****   //  V = 0;
2183:armor.c       ****       
2184:armor.c       ****             //        STB   <$8E                    ; 0474: D7 8E         
2185:armor.c       ****       Z = B;
 2866              		.loc 1 2185 0
 2867 2fc1 8B85E4FF 		movl	-65564(%ebp), %eax
 2867      FEFF
 2868 2fc7 668985CC 		movw	%ax, -65588(%ebp)
 2868      FFFEFF
2186:armor.c       ****   //  N = B;
2187:armor.c       ****   //  V = 0;
2188:armor.c       ****       memory_DP[0x8e] = B;
 2869              		.loc 1 2188 0
 2870 2fce 8B85DCFF 		movl	-65572(%ebp), %eax
 2870      FEFF
 2871 2fd4 058E0000 		addl	$142, %eax
 2871      00
 2872 2fd9 8B95E4FF 		movl	-65564(%ebp), %edx
 2872      FEFF
 2873 2fdf 8810     		movb	%dl, (%eax)
2189:armor.c       ****       
2190:armor.c       ****             //        BEQ   $0471                   ; 0476: 27 F9         
2191:armor.c       ****       if (!Z) {
 2874              		.loc 1 2191 0
 2875 2fe1 6683BDCC 		cmpw	$0, -65588(%ebp)
 2875      FFFEFF00 
 2876 2fe9 7509     		jne	.L126
2192:armor.c       ****       PC = 0x0471;
 2877              		.loc 1 2192 0
 2878 2feb 66C785CA 		movw	$1137, -65590(%ebp)
 2878      FFFEFF71 
 2878      04
 2879              	.L126:
2193:armor.c       ****       JUMP;
2194:armor.c       ****       }
2195:armor.c       ****       
2196:armor.c       ****             //        LDA   #$40                    ; 0478: 86 40         
2197:armor.c       ****       A = (SINT8)0x40;
 2880              		.loc 1 2197 0
 2881 2ff4 C785E0FF 		movl	$64, -65568(%ebp)
 2881      FEFF4000 
 2881      0000
2198:armor.c       ****   //  N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 120


2199:armor.c       ****   //  Z = A;
2200:armor.c       ****   //  V = 0;
2201:armor.c       ****       
2202:armor.c       ****             //        MUL                           ; 047A: 3D            
2203:armor.c       ****       res = (UINT16)(A * B);
 2882              		.loc 1 2203 0
 2883 2ffe 8B85E0FF 		movl	-65568(%ebp), %eax
 2883      FEFF
 2884 3004 89C2     		movl	%eax, %edx
 2885 3006 8B85E4FF 		movl	-65564(%ebp), %eax
 2885      FEFF
 2886 300c 0FAFC2   		imull	%edx, %eax
 2887 300f 0FB7C0   		movzwl	%ax, %eax
 2888 3012 8985E8FF 		movl	%eax, -65560(%ebp)
 2888      FEFF
2204:armor.c       ****   //  Z = res;
2205:armor.c       ****       C = res & 0x80; /* ??? 8000 ??? */
 2889              		.loc 1 2205 0
 2890 3018 8B85E8FF 		movl	-65560(%ebp), %eax
 2890      FEFF
 2891 301e 25800000 		andl	$128, %eax
 2891      00
 2892 3023 8985ECFF 		movl	%eax, -65556(%ebp)
 2892      FEFF
2206:armor.c       ****       A = res >> 8;
 2893              		.loc 1 2206 0
 2894 3029 8B85E8FF 		movl	-65560(%ebp), %eax
 2894      FEFF
 2895 302f C1F808   		sarl	$8, %eax
 2896 3032 8985E0FF 		movl	%eax, -65568(%ebp)
 2896      FEFF
2207:armor.c       ****       B = (UINT8)res;
 2897              		.loc 1 2207 0
 2898 3038 8B85E8FF 		movl	-65560(%ebp), %eax
 2898      FEFF
 2899 303e 0FB6C0   		movzbl	%al, %eax
 2900 3041 8985E4FF 		movl	%eax, -65564(%ebp)
 2900      FEFF
2208:armor.c       ****       
2209:armor.c       ****             //        ABX                           ; 047B: 3A            
2210:armor.c       ****       X = X + B;
 2901              		.loc 1 2210 0
 2902 3047 8B85E4FF 		movl	-65564(%ebp), %eax
 2902      FEFF
 2903 304d 660185C6 		addw	%ax, -65594(%ebp)
 2903      FFFEFF
2211:armor.c       ****       
2212:armor.c       ****             //        LDA   $FFF8,X                 ; 047C: A6 18         
2213:armor.c       ****       A = memory[(UINT16)(X + 0xfff8)];
 2904              		.loc 1 2213 0
 2905 3054 0FB785C6 		movzwl	-65594(%ebp), %eax
 2905      FFFEFF
 2906 305b 83E808   		subl	$8, %eax
 2907 305e 0FB7C0   		movzwl	%ax, %eax
 2908 3061 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2908      F4FFFEFF 
 2909 3069 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 121


 2910 306c 8985E0FF 		movl	%eax, -65568(%ebp)
 2910      FEFF
2214:armor.c       ****       N = A;
 2911              		.loc 1 2214 0
 2912 3072 8B85E0FF 		movl	-65568(%ebp), %eax
 2912      FEFF
 2913 3078 8885C1FF 		movb	%al, -65599(%ebp)
 2913      FEFF
2215:armor.c       ****       Z = A;
 2914              		.loc 1 2215 0
 2915 307e 8B85E0FF 		movl	-65568(%ebp), %eax
 2915      FEFF
 2916 3084 668985CC 		movw	%ax, -65588(%ebp)
 2916      FFFEFF
2216:armor.c       ****   //  V = 0;
2217:armor.c       ****       
2218:armor.c       ****             //        BEQ   $048B                   ; 047E: 27 0B         
2219:armor.c       ****       if (!Z) {
 2917              		.loc 1 2219 0
 2918 308b 6683BDCC 		cmpw	$0, -65588(%ebp)
 2918      FFFEFF00 
 2919 3093 7509     		jne	.L127
2220:armor.c       ****       PC = 0x048b;
 2920              		.loc 1 2220 0
 2921 3095 66C785CA 		movw	$1163, -65590(%ebp)
 2921      FFFEFF8B 
 2921      04
 2922              	.L127:
2221:armor.c       ****       JUMP;
2222:armor.c       ****       }
2223:armor.c       ****       
2224:armor.c       ****             //        BMI   $04A5                   ; 0480: 2B 23         
2225:armor.c       ****       if ((SINT8)N <  0) {
 2923              		.loc 1 2225 0
 2924 309e 0FB685C1 		movzbl	-65599(%ebp), %eax
 2924      FFFEFF
 2925 30a5 84C0     		testb	%al, %al
 2926 30a7 7909     		jns	.L128
2226:armor.c       ****       PC = 0x04a5;
 2927              		.loc 1 2226 0
 2928 30a9 66C785CA 		movw	$1189, -65590(%ebp)
 2928      FFFEFFA5 
 2928      04
 2929              	.L128:
2227:armor.c       ****       JUMP;
2228:armor.c       ****       }
2229:armor.c       ****       
2230:armor.c       ****             //        LDB   $FFF9,X                 ; 0482: E6 19         
2231:armor.c       ****       B = memory[(UINT16)(X + 0xfff9)];
 2930              		.loc 1 2231 0
 2931 30b2 0FB785C6 		movzwl	-65594(%ebp), %eax
 2931      FFFEFF
 2932 30b9 83E807   		subl	$7, %eax
 2933 30bc 0FB7C0   		movzwl	%ax, %eax
 2934 30bf 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2934      F4FFFEFF 
 2935 30c7 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 122


 2936 30ca 8985E4FF 		movl	%eax, -65564(%ebp)
 2936      FEFF
2232:armor.c       ****   //  N = B;
2233:armor.c       ****       Z = B;
 2937              		.loc 1 2233 0
 2938 30d0 8B85E4FF 		movl	-65564(%ebp), %eax
 2938      FEFF
 2939 30d6 668985CC 		movw	%ax, -65588(%ebp)
 2939      FFFEFF
2234:armor.c       ****   //  V = 0;
2235:armor.c       ****       
2236:armor.c       ****             //        BNE   $048C                   ; 0484: 26 06         
2237:armor.c       ****       if (Z) {
 2940              		.loc 1 2237 0
 2941 30dd 6683BDCC 		cmpw	$0, -65588(%ebp)
 2941      FFFEFF00 
 2942 30e5 7409     		je	.L129
2238:armor.c       ****       PC = 0x048c;
 2943              		.loc 1 2238 0
 2944 30e7 66C785CA 		movw	$1164, -65590(%ebp)
 2944      FFFEFF8C 
 2944      04
 2945              	.L129:
2239:armor.c       ****       JUMP;
2240:armor.c       ****       }
2241:armor.c       ****       
2242:armor.c       ****             //        TSTA                          ; 0486: 4D            
2243:armor.c       ****       Z = A;
 2946              		.loc 1 2243 0
 2947 30f0 8B85E0FF 		movl	-65568(%ebp), %eax
 2947      FEFF
 2948 30f6 668985CC 		movw	%ax, -65588(%ebp)
 2948      FFFEFF
2244:armor.c       ****       N = A;
 2949              		.loc 1 2244 0
 2950 30fd 8B85E0FF 		movl	-65568(%ebp), %eax
 2950      FEFF
 2951 3103 8885C1FF 		movb	%al, -65599(%ebp)
 2951      FEFF
2245:armor.c       ****       V = 0;
 2952              		.loc 1 2245 0
 2953 3109 C685C2FF 		movb	$0, -65598(%ebp)
 2953      FEFF00
2246:armor.c       ****       
2247:armor.c       ****             //        LBNE  $0552                   ; 0487: 10 26 00 C7   
2248:armor.c       ****       if (Z) {
 2954              		.loc 1 2248 0
 2955 3110 6683BDCC 		cmpw	$0, -65588(%ebp)
 2955      FFFEFF00 
 2956 3118 740B     		je	.L454
2249:armor.c       ****       PC = 0x0552;
 2957              		.loc 1 2249 0
 2958 311a 66C785CA 		movw	$1362, -65590(%ebp)
 2958      FFFEFF52 
 2958      05
 2959 3123 EB01     		jmp	.L130
 2960              	.L454:
GAS LISTING /tmp/ccqXEnet.s 			page 123


2250:armor.c       ****       JUMP;
2251:armor.c       ****       }
2252:armor.c       ****       
2253:armor.c       ****       L048B://        RTS                           ; 048B: 39            
 2961              		.loc 1 2253 0
 2962 3125 90       		nop
 2963              	.L130:
2254:armor.c       ****       PC = memory[S++]<<8;
 2964              		.loc 1 2254 0
 2965 3126 0FB785C8 		movzwl	-65592(%ebp), %eax
 2965      FFFEFF
 2966 312d 8D5001   		leal	1(%eax), %edx
 2967 3130 668995C8 		movw	%dx, -65592(%ebp)
 2967      FFFEFF
 2968 3137 0FB7C0   		movzwl	%ax, %eax
 2969 313a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2969      F4FFFEFF 
 2970 3142 0FB6C0   		movzbl	%al, %eax
 2971 3145 C1E008   		sall	$8, %eax
 2972 3148 668985CA 		movw	%ax, -65590(%ebp)
 2972      FFFEFF
2255:armor.c       ****       PC |= memory[S++];
 2973              		.loc 1 2255 0
 2974 314f 0FB785C8 		movzwl	-65592(%ebp), %eax
 2974      FFFEFF
 2975 3156 8D5001   		leal	1(%eax), %edx
 2976 3159 668995C8 		movw	%dx, -65592(%ebp)
 2976      FFFEFF
 2977 3160 0FB7C0   		movzwl	%ax, %eax
 2978 3163 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 2978      F4FFFEFF 
 2979 316b 0FB6C0   		movzbl	%al, %eax
 2980 316e 660985CA 		orw	%ax, -65590(%ebp)
 2980      FFFEFF
 2981              	.L131:
2256:armor.c       ****       JUMP;
2257:armor.c       ****       
2258:armor.c       ****       
2259:armor.c       ****       L048C://        LDA   #$80                    ; 048C: 86 80         
2260:armor.c       ****       A = (SINT8)0x80;
 2982              		.loc 1 2260 0
 2983 3175 C785E0FF 		movl	$-128, -65568(%ebp)
 2983      FEFF80FF 
 2983      FFFF
2261:armor.c       ****   //  N = A;
2262:armor.c       ****   //  Z = A;
2263:armor.c       ****   //  V = 0;
2264:armor.c       ****       
2265:armor.c       ****             //        STA   $FFF8,X                 ; 048E: A7 18         
2266:armor.c       ****   //  Z = A;
2267:armor.c       ****   //  N = A;
2268:armor.c       ****   //  V = 0;
2269:armor.c       ****       memory[(UINT16)(X + 0xfff8)] = A;
 2984              		.loc 1 2269 0
 2985 317f 0FB785C6 		movzwl	-65594(%ebp), %eax
 2985      FFFEFF
 2986 3186 83E808   		subl	$8, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 124


 2987 3189 0FB7C0   		movzwl	%ax, %eax
 2988 318c 8B95E0FF 		movl	-65568(%ebp), %edx
 2988      FEFF
 2989 3192 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2989      FFFEFF
2270:armor.c       ****       
2271:armor.c       ****             //        LDU   #$CB00                  ; 0490: CE CB 00      
2272:armor.c       ****       U = 0xcb00;
 2990              		.loc 1 2272 0
 2991 3199 66C785CE 		movw	$-13568, -65586(%ebp)
 2991      FFFEFF00 
 2991      CB
2273:armor.c       ****   //  Z = U;
2274:armor.c       ****   //  N = (U) >> 8;
2275:armor.c       ****   //  V = 0;
2276:armor.c       ****       
2277:armor.c       ****             //        STU   $02,X                   ; 0493: EF 02         
2278:armor.c       ****   //  Z = U;
2279:armor.c       ****   //  N = (U) >> 8;
2280:armor.c       ****   //  V = 0;
2281:armor.c       ****       memory[(UINT16)(X + 0x0002)] = (UINT8)((U) >> 8);
 2992              		.loc 1 2281 0
 2993 31a2 0FB785CE 		movzwl	-65586(%ebp), %eax
 2993      FFFEFF
 2994 31a9 66C1E808 		shrw	$8, %ax
 2995 31ad 89C2     		movl	%eax, %edx
 2996 31af 0FB785C6 		movzwl	-65594(%ebp), %eax
 2996      FFFEFF
 2997 31b6 83C002   		addl	$2, %eax
 2998 31b9 0FB7C0   		movzwl	%ax, %eax
 2999 31bc 889405F4 		movb	%dl, -65548(%ebp,%eax)
 2999      FFFEFF
2282:armor.c       ****       memory[(UINT16)((X + 0x0002) + 1)] = (UINT8)((U) & 0xff);
 3000              		.loc 1 2282 0
 3001 31c3 0FB785C6 		movzwl	-65594(%ebp), %eax
 3001      FFFEFF
 3002 31ca 83C003   		addl	$3, %eax
 3003 31cd 0FB7C0   		movzwl	%ax, %eax
 3004 31d0 0FB795CE 		movzwl	-65586(%ebp), %edx
 3004      FFFEFF
 3005 31d7 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3005      FFFEFF
2283:armor.c       ****       
2284:armor.c       ****             //        LDB   #$10                    ; 0495: C6 10         
2285:armor.c       ****       B = (SINT8)0x10;
 3006              		.loc 1 2285 0
 3007 31de C785E4FF 		movl	$16, -65564(%ebp)
 3007      FEFF1000 
 3007      0000
2286:armor.c       ****   //  N = B;
2287:armor.c       ****   //  Z = B;
2288:armor.c       ****   //  V = 0;
2289:armor.c       ****       
2290:armor.c       ****             //        LDA   $0A,X                   ; 0497: A6 0A         
2291:armor.c       ****       A = memory[(UINT16)(X + 0x000a)];
 3008              		.loc 1 2291 0
 3009 31e8 0FB785C6 		movzwl	-65594(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 125


 3009      FFFEFF
 3010 31ef 83C00A   		addl	$10, %eax
 3011 31f2 0FB7C0   		movzwl	%ax, %eax
 3012 31f5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3012      F4FFFEFF 
 3013 31fd 0FB6C0   		movzbl	%al, %eax
 3014 3200 8985E0FF 		movl	%eax, -65568(%ebp)
 3014      FEFF
2292:armor.c       ****   //  N = A;
2293:armor.c       ****   //  Z = A;
2294:armor.c       ****   //  V = 0;
2295:armor.c       ****       
2296:armor.c       ****             //        STB   $04,X                   ; 0499: E7 04         
2297:armor.c       ****   //  Z = B;
2298:armor.c       ****   //  N = B;
2299:armor.c       ****   //  V = 0;
2300:armor.c       ****       memory[(UINT16)(X + 0x0004)] = B;
 3015              		.loc 1 2300 0
 3016 3206 0FB785C6 		movzwl	-65594(%ebp), %eax
 3016      FFFEFF
 3017 320d 83C004   		addl	$4, %eax
 3018 3210 0FB7C0   		movzwl	%ax, %eax
 3019 3213 8B95E4FF 		movl	-65564(%ebp), %edx
 3019      FEFF
 3020 3219 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3020      FFFEFF
2301:armor.c       ****       
2302:armor.c       ****             //        CLR   $05,X                   ; 049B: 6F 05         
2303:armor.c       ****       memory[(UINT16)(X + 0x0005)] = 0;
 3021              		.loc 1 2303 0
 3022 3220 0FB785C6 		movzwl	-65594(%ebp), %eax
 3022      FFFEFF
 3023 3227 83C005   		addl	$5, %eax
 3024 322a 0FB7C0   		movzwl	%ax, %eax
 3025 322d C68405F4 		movb	$0, -65548(%ebp,%eax)
 3025      FFFEFF00 
2304:armor.c       ****   //  V = 0;
2305:armor.c       ****   //  Z = 0;
2306:armor.c       ****   //  N = 0;
2307:armor.c       ****       C = 0;
 3026              		.loc 1 2307 0
 3027 3235 C785ECFF 		movl	$0, -65556(%ebp)
 3027      FEFF0000 
 3027      0000
2308:armor.c       ****       
2309:armor.c       ****             //        LEAU  $0B,X                   ; 049D: 33 0B         
2310:armor.c       ****       U = (X + 0x000b);
 3028              		.loc 1 2310 0
 3029 323f 0FB785C6 		movzwl	-65594(%ebp), %eax
 3029      FFFEFF
 3030 3246 83C00B   		addl	$11, %eax
 3031 3249 668985CE 		movw	%ax, -65586(%ebp)
 3031      FFFEFF
2311:armor.c       ****       
2312:armor.c       ****             //        LDX   #$0EF4                  ; 049F: 8E 0E F4      
2313:armor.c       ****       X = 0x0ef4;
 3032              		.loc 1 2313 0
GAS LISTING /tmp/ccqXEnet.s 			page 126


 3033 3250 66C785C6 		movw	$3828, -65594(%ebp)
 3033      FFFEFFF4 
 3033      0E
2314:armor.c       ****       Z = X;
 3034              		.loc 1 2314 0
 3035 3259 0FB785C6 		movzwl	-65594(%ebp), %eax
 3035      FFFEFF
 3036 3260 668985CC 		movw	%ax, -65588(%ebp)
 3036      FFFEFF
2315:armor.c       ****       N = (X) >> 8;
 3037              		.loc 1 2315 0
 3038 3267 0FB785C6 		movzwl	-65594(%ebp), %eax
 3038      FFFEFF
 3039 326e 66C1E808 		shrw	$8, %ax
 3040 3272 8885C1FF 		movb	%al, -65599(%ebp)
 3040      FEFF
2316:armor.c       ****       V = 0;
 3041              		.loc 1 2316 0
 3042 3278 C685C2FF 		movb	$0, -65598(%ebp)
 3042      FEFF00
2317:armor.c       ****       
2318:armor.c       ****             //        JMP   Rot_VL_Mode_a           ; 04A2: 7E F6 1F      
2319:armor.c       ****       PC = 0xf61f;
 3043              		.loc 1 2319 0
 3044 327f 66C785CA 		movw	$-2529, -65590(%ebp)
 3044      FFFEFF1F 
 3044      F6
 3045              	.L132:
2320:armor.c       ****       JUMP;
2321:armor.c       ****       
2322:armor.c       ****       
2323:armor.c       ****       L04A5://        INC   $FFF8,X                 ; 04A5: 6C 18         
2324:armor.c       ****       res = (UINT8)((memory[(UINT16)(X + 0xfff8)]) + 1);
 3046              		.loc 1 2324 0
 3047 3288 0FB785C6 		movzwl	-65594(%ebp), %eax
 3047      FFFEFF
 3048 328f 83E808   		subl	$8, %eax
 3049 3292 0FB7C0   		movzwl	%ax, %eax
 3050 3295 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3050      F4FFFEFF 
 3051 329d 83C001   		addl	$1, %eax
 3052 32a0 0FB6C0   		movzbl	%al, %eax
 3053 32a3 8985E8FF 		movl	%eax, -65560(%ebp)
 3053      FEFF
2325:armor.c       ****       Z = res;
 3054              		.loc 1 2325 0
 3055 32a9 8B85E8FF 		movl	-65560(%ebp), %eax
 3055      FEFF
 3056 32af 668985CC 		movw	%ax, -65588(%ebp)
 3056      FFFEFF
2326:armor.c       ****   //  N = res;
2327:armor.c       ****   //  V = res & ~(memory[(UINT16)(X + 0xfff8)]);
2328:armor.c       ****       memory[(UINT16)(X + 0xfff8)] = res;
 3057              		.loc 1 2328 0
 3058 32b6 0FB785C6 		movzwl	-65594(%ebp), %eax
 3058      FFFEFF
 3059 32bd 83E808   		subl	$8, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 127


 3060 32c0 0FB7C0   		movzwl	%ax, %eax
 3061 32c3 8B95E8FF 		movl	-65560(%ebp), %edx
 3061      FEFF
 3062 32c9 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3062      FFFEFF
2329:armor.c       ****       
2330:armor.c       ****             //        BNE   $04B2                   ; 04A7: 26 09         
2331:armor.c       ****       if (Z) {
 3063              		.loc 1 2331 0
 3064 32d0 6683BDCC 		cmpw	$0, -65588(%ebp)
 3064      FFFEFF00 
 3065 32d8 7409     		je	.L133
2332:armor.c       ****       PC = 0x04b2;
 3066              		.loc 1 2332 0
 3067 32da 66C785CA 		movw	$1202, -65590(%ebp)
 3067      FFFEFFB2 
 3067      04
 3068              	.L133:
2333:armor.c       ****       JUMP;
2334:armor.c       ****       }
2335:armor.c       ****       
2336:armor.c       ****             //        CLR   $FFF9,X                 ; 04A9: 6F 19         
2337:armor.c       ****       memory[(UINT16)(X + 0xfff9)] = 0;
 3069              		.loc 1 2337 0
 3070 32e3 0FB785C6 		movzwl	-65594(%ebp), %eax
 3070      FFFEFF
 3071 32ea 83E807   		subl	$7, %eax
 3072 32ed 0FB7C0   		movzwl	%ax, %eax
 3073 32f0 C68405F4 		movb	$0, -65548(%ebp,%eax)
 3073      FFFEFF00 
2338:armor.c       ****   //  V = 0;
2339:armor.c       ****   //  Z = 0;
2340:armor.c       ****   //  N = 0;
2341:armor.c       ****   //  C = 0;
2342:armor.c       ****       
2343:armor.c       ****             //        DEC   <$8B                    ; 04AB: 0A 8B         
2344:armor.c       ****       res = (UINT8)(memory_DP[0x8b] - 1);
 3074              		.loc 1 2344 0
 3075 32f8 8B85DCFF 		movl	-65572(%ebp), %eax
 3075      FEFF
 3076 32fe 058B0000 		addl	$139, %eax
 3076      00
 3077 3303 0FB600   		movzbl	(%eax), %eax
 3078 3306 83E801   		subl	$1, %eax
 3079 3309 0FB6C0   		movzbl	%al, %eax
 3080 330c 8985E8FF 		movl	%eax, -65560(%ebp)
 3080      FEFF
2345:armor.c       ****   //  N = res;
2346:armor.c       ****       Z = res;
 3081              		.loc 1 2346 0
 3082 3312 8B85E8FF 		movl	-65560(%ebp), %eax
 3082      FEFF
 3083 3318 668985CC 		movw	%ax, -65588(%ebp)
 3083      FFFEFF
2347:armor.c       ****   //  V = memory_DP[0x8b] & ~res;
2348:armor.c       ****       memory_DP[0x8b] = res;
 3084              		.loc 1 2348 0
GAS LISTING /tmp/ccqXEnet.s 			page 128


 3085 331f 8B85DCFF 		movl	-65572(%ebp), %eax
 3085      FEFF
 3086 3325 058B0000 		addl	$139, %eax
 3086      00
 3087 332a 8B95E8FF 		movl	-65560(%ebp), %edx
 3087      FEFF
 3088 3330 8810     		movb	%dl, (%eax)
2349:armor.c       ****       
2350:armor.c       ****             //        BNE   $04B1                   ; 04AD: 26 02         
2351:armor.c       ****       if (Z) {
 3089              		.loc 1 2351 0
 3090 3332 6683BDCC 		cmpw	$0, -65588(%ebp)
 3090      FFFEFF00 
 3091 333a 7409     		je	.L134
2352:armor.c       ****       PC = 0x04b1;
 3092              		.loc 1 2352 0
 3093 333c 66C785CA 		movw	$1201, -65590(%ebp)
 3093      FFFEFFB1 
 3093      04
 3094              	.L134:
2353:armor.c       ****       JUMP;
2354:armor.c       ****       }
2355:armor.c       ****       
2356:armor.c       ****             //        CLR   <$EB                    ; 04AF: 0F EB         
2357:armor.c       ****       memory_DP[0xeb] = 0;
 3095              		.loc 1 2357 0
 3096 3345 8B85DCFF 		movl	-65572(%ebp), %eax
 3096      FEFF
 3097 334b 05EB0000 		addl	$235, %eax
 3097      00
 3098 3350 C60000   		movb	$0, (%eax)
2358:armor.c       ****       V = 0;
 3099              		.loc 1 2358 0
 3100 3353 C685C2FF 		movb	$0, -65598(%ebp)
 3100      FEFF00
2359:armor.c       ****       Z = 0;
 3101              		.loc 1 2359 0
 3102 335a 66C785CC 		movw	$0, -65588(%ebp)
 3102      FFFEFF00 
 3102      00
2360:armor.c       ****       N = 0;
 3103              		.loc 1 2360 0
 3104 3363 C685C1FF 		movb	$0, -65599(%ebp)
 3104      FEFF00
2361:armor.c       ****       C = 0;
 3105              		.loc 1 2361 0
 3106 336a C785ECFF 		movl	$0, -65556(%ebp)
 3106      FEFF0000 
 3106      0000
 3107              	.L135:
2362:armor.c       ****       
2363:armor.c       ****       L04B1://        RTS                           ; 04B1: 39            
2364:armor.c       ****       PC = memory[S++]<<8;
 3108              		.loc 1 2364 0
 3109 3374 0FB785C8 		movzwl	-65592(%ebp), %eax
 3109      FFFEFF
 3110 337b 8D5001   		leal	1(%eax), %edx
GAS LISTING /tmp/ccqXEnet.s 			page 129


 3111 337e 668995C8 		movw	%dx, -65592(%ebp)
 3111      FFFEFF
 3112 3385 0FB7C0   		movzwl	%ax, %eax
 3113 3388 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3113      F4FFFEFF 
 3114 3390 0FB6C0   		movzbl	%al, %eax
 3115 3393 C1E008   		sall	$8, %eax
 3116 3396 668985CA 		movw	%ax, -65590(%ebp)
 3116      FFFEFF
2365:armor.c       ****       PC |= memory[S++];
 3117              		.loc 1 2365 0
 3118 339d 0FB785C8 		movzwl	-65592(%ebp), %eax
 3118      FFFEFF
 3119 33a4 8D5001   		leal	1(%eax), %edx
 3120 33a7 668995C8 		movw	%dx, -65592(%ebp)
 3120      FFFEFF
 3121 33ae 0FB7C0   		movzwl	%ax, %eax
 3122 33b1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3122      F4FFFEFF 
 3123 33b9 0FB6C0   		movzbl	%al, %eax
 3124 33bc 660985CA 		orw	%ax, -65590(%ebp)
 3124      FFFEFF
 3125              	.L136:
2366:armor.c       ****       JUMP;
2367:armor.c       ****       
2368:armor.c       ****       
2369:armor.c       ****       L04B2://        CMPA  #$F8                    ; 04B2: 81 F8         
2370:armor.c       ****       res = A - (SINT8)0xf8;
 3126              		.loc 1 2370 0
 3127 33c3 8B85E0FF 		movl	-65568(%ebp), %eax
 3127      FEFF
 3128 33c9 83C008   		addl	$8, %eax
 3129 33cc 8985E8FF 		movl	%eax, -65560(%ebp)
 3129      FEFF
2371:armor.c       ****   //  C = res & 0x100;
2372:armor.c       ****       res = (UINT8)res;
 3130              		.loc 1 2372 0
 3131 33d2 8B85E8FF 		movl	-65560(%ebp), %eax
 3131      FEFF
 3132 33d8 0FB6C0   		movzbl	%al, %eax
 3133 33db 8985E8FF 		movl	%eax, -65560(%ebp)
 3133      FEFF
2373:armor.c       ****   //  Z = res;
2374:armor.c       ****       N = res;
 3134              		.loc 1 2374 0
 3135 33e1 8B85E8FF 		movl	-65560(%ebp), %eax
 3135      FEFF
 3136 33e7 8885C1FF 		movb	%al, -65599(%ebp)
 3136      FEFF
2375:armor.c       ****       V = (A ^ (SINT8)0xf8) & (A ^ res);
 3137              		.loc 1 2375 0
 3138 33ed 8B85E0FF 		movl	-65568(%ebp), %eax
 3138      FEFF
 3139 33f3 83F0F8   		xorl	$-8, %eax
 3140 33f6 89C2     		movl	%eax, %edx
 3141 33f8 8B85E0FF 		movl	-65568(%ebp), %eax
 3141      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 130


 3142 33fe 89C1     		movl	%eax, %ecx
 3143 3400 8B85E8FF 		movl	-65560(%ebp), %eax
 3143      FEFF
 3144 3406 31C8     		xorl	%ecx, %eax
 3145 3408 21D0     		andl	%edx, %eax
 3146 340a 8885C2FF 		movb	%al, -65598(%ebp)
 3146      FEFF
2376:armor.c       ****       
2377:armor.c       ****             //        BLT   $04BC                   ; 04B4: 2D 06         
2378:armor.c       ****       if ((SINT8)(N^V) <  0) {
 3147              		.loc 1 2378 0
 3148 3410 0FB685C1 		movzbl	-65599(%ebp), %eax
 3148      FFFEFF
 3149 3417 3285C2FF 		xorb	-65598(%ebp), %al
 3149      FEFF
 3150 341d 84C0     		testb	%al, %al
 3151 341f 7909     		jns	.L137
2379:armor.c       ****       PC = 0x04bc;
 3152              		.loc 1 2379 0
 3153 3421 66C785CA 		movw	$1212, -65590(%ebp)
 3153      FFFEFFBC 
 3153      04
 3154              	.L137:
2380:armor.c       ****       JUMP;
2381:armor.c       ****       }
2382:armor.c       ****       
2383:armor.c       ****             //        LDA   #$02                    ; 04B6: 86 02         
2384:armor.c       ****       A = (SINT8)0x02;
 3155              		.loc 1 2384 0
 3156 342a C785E0FF 		movl	$2, -65568(%ebp)
 3156      FEFF0200 
 3156      0000
2385:armor.c       ****   //  N = A;
2386:armor.c       ****   //  Z = A;
2387:armor.c       ****   //  V = 0;
2388:armor.c       ****       
2389:armor.c       ****             //        ADDA  $04,X                   ; 04B8: AB 04         
2390:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(X + 0x0004)]);
 3157              		.loc 1 2390 0
 3158 3434 8B85E0FF 		movl	-65568(%ebp), %eax
 3158      FEFF
 3159 343a 89C2     		movl	%eax, %edx
 3160 343c 0FB785C6 		movzwl	-65594(%ebp), %eax
 3160      FFFEFF
 3161 3443 83C004   		addl	$4, %eax
 3162 3446 0FB7C0   		movzwl	%ax, %eax
 3163 3449 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3163      F4FFFEFF 
 3164 3451 01D0     		addl	%edx, %eax
 3165 3453 0FB6C0   		movzbl	%al, %eax
 3166 3456 8985E0FF 		movl	%eax, -65568(%ebp)
 3166      FEFF
2391:armor.c       ****       res = A + memory[(UINT16)(X + 0x0004)];
 3167              		.loc 1 2391 0
 3168 345c 0FB785C6 		movzwl	-65594(%ebp), %eax
 3168      FFFEFF
 3169 3463 83C004   		addl	$4, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 131


 3170 3466 0FB7C0   		movzwl	%ax, %eax
 3171 3469 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3171      F4FFFEFF 
 3172 3471 0FB6D0   		movzbl	%al, %edx
 3173 3474 8B85E0FF 		movl	-65568(%ebp), %eax
 3173      FEFF
 3174 347a 01D0     		addl	%edx, %eax
 3175 347c 8985E8FF 		movl	%eax, -65560(%ebp)
 3175      FEFF
2392:armor.c       ****       C = res & 0x100;
 3176              		.loc 1 2392 0
 3177 3482 8B85E8FF 		movl	-65560(%ebp), %eax
 3177      FEFF
 3178 3488 25000100 		andl	$256, %eax
 3178      00
 3179 348d 8985ECFF 		movl	%eax, -65556(%ebp)
 3179      FEFF
2393:armor.c       ****       res = (UINT8)res;
 3180              		.loc 1 2393 0
 3181 3493 8B85E8FF 		movl	-65560(%ebp), %eax
 3181      FEFF
 3182 3499 0FB6C0   		movzbl	%al, %eax
 3183 349c 8985E8FF 		movl	%eax, -65560(%ebp)
 3183      FEFF
2394:armor.c       ****   //  Z = res;
2395:armor.c       ****   //  N = res;
2396:armor.c       ****       res = A ^ memory[(UINT16)(X + 0x0004)] ^ res ^ C;
 3184              		.loc 1 2396 0
 3185 34a2 0FB785C6 		movzwl	-65594(%ebp), %eax
 3185      FFFEFF
 3186 34a9 83C004   		addl	$4, %eax
 3187 34ac 0FB7C0   		movzwl	%ax, %eax
 3188 34af 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3188      F4FFFEFF 
 3189 34b7 0FB6C0   		movzbl	%al, %eax
 3190 34ba 3385E0FF 		xorl	-65568(%ebp), %eax
 3190      FEFF
 3191 34c0 3385E8FF 		xorl	-65560(%ebp), %eax
 3191      FEFF
 3192 34c6 3385ECFF 		xorl	-65556(%ebp), %eax
 3192      FEFF
 3193 34cc 8985E8FF 		movl	%eax, -65560(%ebp)
 3193      FEFF
2397:armor.c       ****       H = res;
 3194              		.loc 1 2397 0
 3195 34d2 8B85E8FF 		movl	-65560(%ebp), %eax
 3195      FEFF
 3196 34d8 8885C3FF 		movb	%al, -65597(%ebp)
 3196      FEFF
2398:armor.c       ****   //  V = res;
2399:armor.c       ****       
2400:armor.c       ****             //        STA   $04,X                   ; 04BA: A7 04         
2401:armor.c       ****   //  Z = A;
2402:armor.c       ****   //  N = A;
2403:armor.c       ****   //  V = 0;
2404:armor.c       ****       memory[(UINT16)(X + 0x0004)] = A;
 3197              		.loc 1 2404 0
GAS LISTING /tmp/ccqXEnet.s 			page 132


 3198 34de 0FB785C6 		movzwl	-65594(%ebp), %eax
 3198      FFFEFF
 3199 34e5 83C004   		addl	$4, %eax
 3200 34e8 0FB7C0   		movzwl	%ax, %eax
 3201 34eb 8B95E0FF 		movl	-65568(%ebp), %edx
 3201      FEFF
 3202 34f1 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3202      FFFEFF
 3203              	.L138:
2405:armor.c       ****       
2406:armor.c       ****       L04BC://        JSR   $0709                   ; 04BC: BD 07 09      
2407:armor.c       ****       memory[--S] = 0x04bf & 0xff; memory[--S] = 0x04bf >> 8;
 3204              		.loc 1 2407 0
 3205 34f8 6683ADC8 		subw	$1, -65592(%ebp)
 3205      FFFEFF01 
 3206 3500 0FB785C8 		movzwl	-65592(%ebp), %eax
 3206      FFFEFF
 3207 3507 C68405F4 		movb	$-65, -65548(%ebp,%eax)
 3207      FFFEFFBF 
 3208 350f 6683ADC8 		subw	$1, -65592(%ebp)
 3208      FFFEFF01 
 3209 3517 0FB785C8 		movzwl	-65592(%ebp), %eax
 3209      FFFEFF
 3210 351e C68405F4 		movb	$4, -65548(%ebp,%eax)
 3210      FFFEFF04 
2408:armor.c       ****       PC = 0x0709;
 3211              		.loc 1 2408 0
 3212 3526 66C785CA 		movw	$1801, -65590(%ebp)
 3212      FFFEFF09 
 3212      07
 3213              	.L139:
2409:armor.c       ****       JUMP;
2410:armor.c       ****       
2411:armor.c       ****       L04BF://        LDB   $FFF9,X                 ; 04BF: E6 19         
2412:armor.c       ****       B = memory[(UINT16)(X + 0xfff9)];
 3214              		.loc 1 2412 0
 3215 352f 0FB785C6 		movzwl	-65594(%ebp), %eax
 3215      FFFEFF
 3216 3536 83E807   		subl	$7, %eax
 3217 3539 0FB7C0   		movzwl	%ax, %eax
 3218 353c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3218      F4FFFEFF 
 3219 3544 0FB6C0   		movzbl	%al, %eax
 3220 3547 8985E4FF 		movl	%eax, -65564(%ebp)
 3220      FEFF
2413:armor.c       ****   //  N = B;
2414:armor.c       ****   //  Z = B;
2415:armor.c       ****   //  V = 0;
2416:armor.c       ****       
2417:armor.c       ****             //        DECB                          ; 04C1: 5A            
2418:armor.c       ****       res = (UINT8)(B - 1);
 3221              		.loc 1 2418 0
 3222 354d 8B85E4FF 		movl	-65564(%ebp), %eax
 3222      FEFF
 3223 3553 83E801   		subl	$1, %eax
 3224 3556 0FB6C0   		movzbl	%al, %eax
 3225 3559 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 133


 3225      FEFF
2419:armor.c       ****   //  N = res;
2420:armor.c       ****       Z = res;
 3226              		.loc 1 2420 0
 3227 355f 8B85E8FF 		movl	-65560(%ebp), %eax
 3227      FEFF
 3228 3565 668985CC 		movw	%ax, -65588(%ebp)
 3228      FFFEFF
2421:armor.c       ****   //  V = B & ~res;
2422:armor.c       ****       B = res;
 3229              		.loc 1 2422 0
 3230 356c 8B85E8FF 		movl	-65560(%ebp), %eax
 3230      FEFF
 3231 3572 8985E4FF 		movl	%eax, -65564(%ebp)
 3231      FEFF
2423:armor.c       ****       
2424:armor.c       ****             //        BEQ   $04CF                   ; 04C2: 27 0B         
2425:armor.c       ****       if (!Z) {
 3232              		.loc 1 2425 0
 3233 3578 6683BDCC 		cmpw	$0, -65588(%ebp)
 3233      FFFEFF00 
 3234 3580 7509     		jne	.L140
2426:armor.c       ****       PC = 0x04cf;
 3235              		.loc 1 2426 0
 3236 3582 66C785CA 		movw	$1231, -65590(%ebp)
 3236      FFFEFFCF 
 3236      04
 3237              	.L140:
2427:armor.c       ****       JUMP;
2428:armor.c       ****       }
2429:armor.c       ****       
2430:armor.c       ****             //        LDU   #$0F07                  ; 04C4: CE 0F 07      
2431:armor.c       ****       U = 0x0f07;
 3238              		.loc 1 2431 0
 3239 358b 66C785CE 		movw	$3847, -65586(%ebp)
 3239      FFFEFF07 
 3239      0F
2432:armor.c       ****   //  Z = U;
2433:armor.c       ****   //  N = (U) >> 8;
2434:armor.c       ****   //  V = 0;
2435:armor.c       ****       
2436:armor.c       ****             //        LEAX  $1E,X                   ; 04C7: 30 88 1E      
2437:armor.c       ****       X = (X + (SINT8)0x1e);
 3240              		.loc 1 2437 0
 3241 3594 668385C6 		addw	$30, -65594(%ebp)
 3241      FFFEFF1E 
2438:armor.c       ****   //  Z = X;
2439:armor.c       ****       
2440:armor.c       ****             //        LDA   #$19                    ; 04CA: 86 19         
2441:armor.c       ****       A = (SINT8)0x19;
 3242              		.loc 1 2441 0
 3243 359c C785E0FF 		movl	$25, -65568(%ebp)
 3243      FEFF1900 
 3243      0000
2442:armor.c       ****       N = A;
 3244              		.loc 1 2442 0
 3245 35a6 8B85E0FF 		movl	-65568(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 134


 3245      FEFF
 3246 35ac 8885C1FF 		movb	%al, -65599(%ebp)
 3246      FEFF
2443:armor.c       ****       Z = A;
 3247              		.loc 1 2443 0
 3248 35b2 8B85E0FF 		movl	-65568(%ebp), %eax
 3248      FEFF
 3249 35b8 668985CC 		movw	%ax, -65588(%ebp)
 3249      FFFEFF
2444:armor.c       ****       V = 0;
 3250              		.loc 1 2444 0
 3251 35bf C685C2FF 		movb	$0, -65598(%ebp)
 3251      FEFF00
2445:armor.c       ****       
2446:armor.c       ****             //        JMP   $0CF6                   ; 04CC: 7E 0C F6      
2447:armor.c       ****       PC = 0x0cf6;
 3252              		.loc 1 2447 0
 3253 35c6 66C785CA 		movw	$3318, -65590(%ebp)
 3253      FFFEFFF6 
 3253      0C
 3254              	.L141:
2448:armor.c       ****       JUMP;
2449:armor.c       ****       
2450:armor.c       ****       
2451:armor.c       ****       L04CF://        DEC   $FFFA,X                 ; 04CF: 6A 1A         
2452:armor.c       ****       res = (UINT8)(memory[(UINT16)(X + 0xfffa)] - 1);
 3255              		.loc 1 2452 0
 3256 35cf 0FB785C6 		movzwl	-65594(%ebp), %eax
 3256      FFFEFF
 3257 35d6 83E806   		subl	$6, %eax
 3258 35d9 0FB7C0   		movzwl	%ax, %eax
 3259 35dc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3259      F4FFFEFF 
 3260 35e4 83E801   		subl	$1, %eax
 3261 35e7 0FB6C0   		movzbl	%al, %eax
 3262 35ea 8985E8FF 		movl	%eax, -65560(%ebp)
 3262      FEFF
2453:armor.c       ****       N = res;
 3263              		.loc 1 2453 0
 3264 35f0 8B85E8FF 		movl	-65560(%ebp), %eax
 3264      FEFF
 3265 35f6 8885C1FF 		movb	%al, -65599(%ebp)
 3265      FEFF
2454:armor.c       ****       Z = res;
 3266              		.loc 1 2454 0
 3267 35fc 8B85E8FF 		movl	-65560(%ebp), %eax
 3267      FEFF
 3268 3602 668985CC 		movw	%ax, -65588(%ebp)
 3268      FFFEFF
2455:armor.c       ****       V = memory[(UINT16)(X + 0xfffa)] & ~res;
 3269              		.loc 1 2455 0
 3270 3609 0FB785C6 		movzwl	-65594(%ebp), %eax
 3270      FFFEFF
 3271 3610 83E806   		subl	$6, %eax
 3272 3613 0FB7C0   		movzwl	%ax, %eax
 3273 3616 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3273      F4FFFEFF 
GAS LISTING /tmp/ccqXEnet.s 			page 135


 3274 361e 89C2     		movl	%eax, %edx
 3275 3620 8B85E8FF 		movl	-65560(%ebp), %eax
 3275      FEFF
 3276 3626 F7D0     		notl	%eax
 3277 3628 21D0     		andl	%edx, %eax
 3278 362a 8885C2FF 		movb	%al, -65598(%ebp)
 3278      FEFF
2456:armor.c       ****       memory[(UINT16)(X + 0xfffa)] = res;
 3279              		.loc 1 2456 0
 3280 3630 0FB785C6 		movzwl	-65594(%ebp), %eax
 3280      FFFEFF
 3281 3637 83E806   		subl	$6, %eax
 3282 363a 0FB7C0   		movzwl	%ax, %eax
 3283 363d 8B95E8FF 		movl	-65560(%ebp), %edx
 3283      FEFF
 3284 3643 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3284      FFFEFF
2457:armor.c       ****       
2458:armor.c       ****             //        BGT   $0501                   ; 04D1: 2E 2E         
2459:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 3285              		.loc 1 2459 0
 3286 364a 0FB685C1 		movzbl	-65599(%ebp), %eax
 3286      FFFEFF
 3287 3651 3285C2FF 		xorb	-65598(%ebp), %al
 3287      FEFF
 3288 3657 84C0     		testb	%al, %al
 3289 3659 7813     		js	.L142
 3290              		.loc 1 2459 0 is_stmt 0 discriminator 1
 3291 365b 6683BDCC 		cmpw	$0, -65588(%ebp)
 3291      FFFEFF00 
 3292 3663 7409     		je	.L142
2460:armor.c       ****       PC = 0x0501;
 3293              		.loc 1 2460 0 is_stmt 1
 3294 3665 66C785CA 		movw	$1281, -65590(%ebp)
 3294      FFFEFF01 
 3294      05
 3295              	.L142:
2461:armor.c       ****       JUMP;
2462:armor.c       ****       }
2463:armor.c       ****       
2464:armor.c       ****             //        LDU   #$C9DC                  ; 04D3: CE C9 DC      
2465:armor.c       ****       U = 0xc9dc;
 3296              		.loc 1 2465 0
 3297 366e 66C785CE 		movw	$-13860, -65586(%ebp)
 3297      FFFEFFDC 
 3297      C9
2466:armor.c       ****   //  Z = U;
2467:armor.c       ****   //  N = (U) >> 8;
2468:armor.c       ****   //  V = 0;
2469:armor.c       ****       
2470:armor.c       ****             //        LDB   <$8E                    ; 04D6: D6 8E         
2471:armor.c       ****       B = memory_DP[0x8e];
 3298              		.loc 1 2471 0
 3299 3677 8B85DCFF 		movl	-65572(%ebp), %eax
 3299      FEFF
 3300 367d 058E0000 		addl	$142, %eax
 3300      00
GAS LISTING /tmp/ccqXEnet.s 			page 136


 3301 3682 0FB600   		movzbl	(%eax), %eax
 3302 3685 0FB6C0   		movzbl	%al, %eax
 3303 3688 8985E4FF 		movl	%eax, -65564(%ebp)
 3303      FEFF
2472:armor.c       ****   //  N = B;
2473:armor.c       ****   //  Z = B;
2474:armor.c       ****   //  V = 0;
2475:armor.c       ****       
2476:armor.c       ****             //        LDA   #$07                    ; 04D8: 86 07         
2477:armor.c       ****       A = (SINT8)0x07;
 3304              		.loc 1 2477 0
 3305 368e C785E0FF 		movl	$7, -65568(%ebp)
 3305      FEFF0700 
 3305      0000
2478:armor.c       ****   //  N = A;
2479:armor.c       ****   //  Z = A;
2480:armor.c       ****   //  V = 0;
2481:armor.c       ****       
2482:armor.c       ****             //        MUL                           ; 04DA: 3D            
2483:armor.c       ****       res = (UINT16)(A * B);
 3306              		.loc 1 2483 0
 3307 3698 8B85E0FF 		movl	-65568(%ebp), %eax
 3307      FEFF
 3308 369e 89C2     		movl	%eax, %edx
 3309 36a0 8B85E4FF 		movl	-65564(%ebp), %eax
 3309      FEFF
 3310 36a6 0FAFC2   		imull	%edx, %eax
 3311 36a9 0FB7C0   		movzwl	%ax, %eax
 3312 36ac 8985E8FF 		movl	%eax, -65560(%ebp)
 3312      FEFF
2484:armor.c       ****   //  Z = res;
2485:armor.c       ****   //  C = res & 0x80; /* ??? 8000 ??? */
2486:armor.c       ****       A = res >> 8;
 3313              		.loc 1 2486 0
 3314 36b2 8B85E8FF 		movl	-65560(%ebp), %eax
 3314      FEFF
 3315 36b8 C1F808   		sarl	$8, %eax
 3316 36bb 8985E0FF 		movl	%eax, -65568(%ebp)
 3316      FEFF
2487:armor.c       ****       B = (UINT8)res;
 3317              		.loc 1 2487 0
 3318 36c1 8B85E8FF 		movl	-65560(%ebp), %eax
 3318      FEFF
 3319 36c7 0FB6C0   		movzbl	%al, %eax
 3320 36ca 8985E4FF 		movl	%eax, -65564(%ebp)
 3320      FEFF
2488:armor.c       ****       
2489:armor.c       ****             //        LEAU  B,U                     ; 04DB: 33 C5         
2490:armor.c       ****       U = (U + (SINT8)B);
 3321              		.loc 1 2490 0
 3322 36d0 8B85E4FF 		movl	-65564(%ebp), %eax
 3322      FEFF
 3323 36d6 6698     		cbtw
 3324 36d8 660185CE 		addw	%ax, -65586(%ebp)
 3324      FFFEFF
2491:armor.c       ****       
2492:armor.c       ****             //        LDB   ,U                      ; 04DD: E6 C4         
GAS LISTING /tmp/ccqXEnet.s 			page 137


2493:armor.c       ****       B = memory[U];
 3325              		.loc 1 2493 0
 3326 36df 0FB785CE 		movzwl	-65586(%ebp), %eax
 3326      FFFEFF
 3327 36e6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3327      F4FFFEFF 
 3328 36ee 0FB6C0   		movzbl	%al, %eax
 3329 36f1 8985E4FF 		movl	%eax, -65564(%ebp)
 3329      FEFF
2494:armor.c       ****   //  N = B;
2495:armor.c       ****       Z = B;
 3330              		.loc 1 2495 0
 3331 36f7 8B85E4FF 		movl	-65564(%ebp), %eax
 3331      FEFF
 3332 36fd 668985CC 		movw	%ax, -65588(%ebp)
 3332      FFFEFF
2496:armor.c       ****   //  V = 0;
2497:armor.c       ****       
2498:armor.c       ****             //        BNE   $0501                   ; 04DF: 26 20         
2499:armor.c       ****       if (Z) {
 3333              		.loc 1 2499 0
 3334 3704 6683BDCC 		cmpw	$0, -65588(%ebp)
 3334      FFFEFF00 
 3335 370c 7409     		je	.L143
2500:armor.c       ****       PC = 0x0501;
 3336              		.loc 1 2500 0
 3337 370e 66C785CA 		movw	$1281, -65590(%ebp)
 3337      FFFEFF01 
 3337      05
 3338              	.L143:
2501:armor.c       ****       JUMP;
2502:armor.c       ****       }
2503:armor.c       ****       
2504:armor.c       ****             //        LDD   $06,X                   ; 04E1: EC 06         
2505:armor.c       ****       A = memory[(UINT16)(X + 0x0006)];
 3339              		.loc 1 2505 0
 3340 3717 0FB785C6 		movzwl	-65594(%ebp), %eax
 3340      FFFEFF
 3341 371e 83C006   		addl	$6, %eax
 3342 3721 0FB7C0   		movzwl	%ax, %eax
 3343 3724 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3343      F4FFFEFF 
 3344 372c 0FB6C0   		movzbl	%al, %eax
 3345 372f 8985E0FF 		movl	%eax, -65568(%ebp)
 3345      FEFF
2506:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0006))+1)];
 3346              		.loc 1 2506 0
 3347 3735 0FB785C6 		movzwl	-65594(%ebp), %eax
 3347      FFFEFF
 3348 373c 83C007   		addl	$7, %eax
 3349 373f 0FB7C0   		movzwl	%ax, %eax
 3350 3742 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3350      F4FFFEFF 
 3351 374a 0FB6C0   		movzbl	%al, %eax
 3352 374d 8985E4FF 		movl	%eax, -65564(%ebp)
 3352      FEFF
2507:armor.c       ****   //  Z = A|B;
GAS LISTING /tmp/ccqXEnet.s 			page 138


2508:armor.c       ****   //  N = A;
2509:armor.c       ****   //  V = 0;
2510:armor.c       ****       
2511:armor.c       ****             //        STD   $01,U                   ; 04E3: ED 41         
2512:armor.c       ****   //  Z = A | B;
2513:armor.c       ****   //  N = A;
2514:armor.c       ****   //  V = 0;
2515:armor.c       ****       memory[(UINT16)(U + 0x0001)] = A;
 3353              		.loc 1 2515 0
 3354 3753 0FB785CE 		movzwl	-65586(%ebp), %eax
 3354      FFFEFF
 3355 375a 83C001   		addl	$1, %eax
 3356 375d 0FB7C0   		movzwl	%ax, %eax
 3357 3760 8B95E0FF 		movl	-65568(%ebp), %edx
 3357      FEFF
 3358 3766 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3358      FFFEFF
2516:armor.c       ****       memory[(UINT16)(U + 0x0001) + 1] = B;
 3359              		.loc 1 2516 0
 3360 376d 0FB785CE 		movzwl	-65586(%ebp), %eax
 3360      FFFEFF
 3361 3774 83C001   		addl	$1, %eax
 3362 3777 0FB7C0   		movzwl	%ax, %eax
 3363 377a 83C001   		addl	$1, %eax
 3364 377d 8B95E4FF 		movl	-65564(%ebp), %edx
 3364      FEFF
 3365 3783 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3365      FFFEFF
2517:armor.c       ****       
2518:armor.c       ****             //        LDB   $FFFE,X                 ; 04E5: E6 1E         
2519:armor.c       ****       B = memory[(UINT16)(X + 0xfffe)];
 3366              		.loc 1 2519 0
 3367 378a 0FB785C6 		movzwl	-65594(%ebp), %eax
 3367      FFFEFF
 3368 3791 83E802   		subl	$2, %eax
 3369 3794 0FB7C0   		movzwl	%ax, %eax
 3370 3797 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3370      F4FFFEFF 
 3371 379f 0FB6C0   		movzbl	%al, %eax
 3372 37a2 8985E4FF 		movl	%eax, -65564(%ebp)
 3372      FEFF
2520:armor.c       ****   //  N = B;
2521:armor.c       ****   //  Z = B;
2522:armor.c       ****   //  V = 0;
2523:armor.c       ****       
2524:armor.c       ****             //        LDA   <$86                    ; 04E7: 96 86         
2525:armor.c       ****       A = memory_DP[0x86];
 3373              		.loc 1 2525 0
 3374 37a8 8B85DCFF 		movl	-65572(%ebp), %eax
 3374      FEFF
 3375 37ae 05860000 		addl	$134, %eax
 3375      00
 3376 37b3 0FB600   		movzbl	(%eax), %eax
 3377 37b6 0FB6C0   		movzbl	%al, %eax
 3378 37b9 8985E0FF 		movl	%eax, -65568(%ebp)
 3378      FEFF
2526:armor.c       ****   //  N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 139


2527:armor.c       ****   //  Z = A;
2528:armor.c       ****   //  V = 0;
2529:armor.c       ****       
2530:armor.c       ****             //        STA   $FFFA,X                 ; 04E9: A7 1A         
2531:armor.c       ****   //  Z = A;
2532:armor.c       ****   //  N = A;
2533:armor.c       ****   //  V = 0;
2534:armor.c       ****       memory[(UINT16)(X + 0xfffa)] = A;
 3379              		.loc 1 2534 0
 3380 37bf 0FB785C6 		movzwl	-65594(%ebp), %eax
 3380      FFFEFF
 3381 37c6 83E806   		subl	$6, %eax
 3382 37c9 0FB7C0   		movzwl	%ax, %eax
 3383 37cc 8B95E0FF 		movl	-65568(%ebp), %edx
 3383      FEFF
 3384 37d2 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3384      FFFEFF
 3385              	.L144:
2535:armor.c       ****       
2536:armor.c       ****       L04EB://        LDA   #$07                    ; 04EB: 86 07         
2537:armor.c       ****       A = (SINT8)0x07;
 3386              		.loc 1 2537 0
 3387 37d9 C785E0FF 		movl	$7, -65568(%ebp)
 3387      FEFF0700 
 3387      0000
2538:armor.c       ****   //  N = A;
2539:armor.c       ****   //  Z = A;
2540:armor.c       ****   //  V = 0;
2541:armor.c       ****       
2542:armor.c       ****             //        JSR   Rise_Run_X              ; 04ED: BD F5 FF      
2543:armor.c       ****       memory[--S] = 0x04f0 & 0xff; memory[--S] = 0x04f0 >> 8;
 3388              		.loc 1 2543 0
 3389 37e3 6683ADC8 		subw	$1, -65592(%ebp)
 3389      FFFEFF01 
 3390 37eb 0FB785C8 		movzwl	-65592(%ebp), %eax
 3390      FFFEFF
 3391 37f2 C68405F4 		movb	$-16, -65548(%ebp,%eax)
 3391      FFFEFFF0 
 3392 37fa 6683ADC8 		subw	$1, -65592(%ebp)
 3392      FFFEFF01 
 3393 3802 0FB785C8 		movzwl	-65592(%ebp), %eax
 3393      FFFEFF
 3394 3809 C68405F4 		movb	$4, -65548(%ebp,%eax)
 3394      FFFEFF04 
2544:armor.c       ****       PC = 0xf5ff;
 3395              		.loc 1 2544 0
 3396 3811 66C785CA 		movw	$-2561, -65590(%ebp)
 3396      FFFEFFFF 
 3396      F5
 3397              	.L145:
2545:armor.c       ****       JUMP;
2546:armor.c       ****       
2547:armor.c       ****       L04F0://        STD   $03,U                   ; 04F0: ED 43         
2548:armor.c       ****   //  Z = A | B;
2549:armor.c       ****   //  N = A;
2550:armor.c       ****   //  V = 0;
2551:armor.c       ****       memory[(UINT16)(U + 0x0003)] = A;
GAS LISTING /tmp/ccqXEnet.s 			page 140


 3398              		.loc 1 2551 0
 3399 381a 0FB785CE 		movzwl	-65586(%ebp), %eax
 3399      FFFEFF
 3400 3821 83C003   		addl	$3, %eax
 3401 3824 0FB7C0   		movzwl	%ax, %eax
 3402 3827 8B95E0FF 		movl	-65568(%ebp), %edx
 3402      FEFF
 3403 382d 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3403      FFFEFF
2552:armor.c       ****       memory[(UINT16)(U + 0x0003) + 1] = B;
 3404              		.loc 1 2552 0
 3405 3834 0FB785CE 		movzwl	-65586(%ebp), %eax
 3405      FFFEFF
 3406 383b 83C003   		addl	$3, %eax
 3407 383e 0FB7C0   		movzwl	%ax, %eax
 3408 3841 83C001   		addl	$1, %eax
 3409 3844 8B95E4FF 		movl	-65564(%ebp), %edx
 3409      FEFF
 3410 384a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3410      FFFEFF
2553:armor.c       ****       
2554:armor.c       ****             //        ASRA                          ; 04F2: 47            
2555:armor.c       ****   //  C = A & 1;
2556:armor.c       ****       A = (UINT8)(A >> 1);
 3411              		.loc 1 2556 0
 3412 3851 8B85E0FF 		movl	-65568(%ebp), %eax
 3412      FEFF
 3413 3857 D1F8     		sarl	%eax
 3414 3859 0FB6C0   		movzbl	%al, %eax
 3415 385c 8985E0FF 		movl	%eax, -65568(%ebp)
 3415      FEFF
2557:armor.c       ****   //  Z = A;
2558:armor.c       ****   //  N = A;
2559:armor.c       ****       
2560:armor.c       ****             //        ASRB                          ; 04F3: 57            
2561:armor.c       ****   //  C = B & 1;
2562:armor.c       ****       B = (UINT8)(B >> 1);
 3416              		.loc 1 2562 0
 3417 3862 8B85E4FF 		movl	-65564(%ebp), %eax
 3417      FEFF
 3418 3868 D1F8     		sarl	%eax
 3419 386a 0FB6C0   		movzbl	%al, %eax
 3420 386d 8985E4FF 		movl	%eax, -65564(%ebp)
 3420      FEFF
2563:armor.c       ****   //  Z = B;
2564:armor.c       ****   //  N = B;
2565:armor.c       ****       
2566:armor.c       ****             //        STD   $05,U                   ; 04F4: ED 45         
2567:armor.c       ****   //  Z = A | B;
2568:armor.c       ****   //  N = A;
2569:armor.c       ****   //  V = 0;
2570:armor.c       ****       memory[(UINT16)(U + 0x0005)] = A;
 3421              		.loc 1 2570 0
 3422 3873 0FB785CE 		movzwl	-65586(%ebp), %eax
 3422      FFFEFF
 3423 387a 83C005   		addl	$5, %eax
 3424 387d 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 141


 3425 3880 8B95E0FF 		movl	-65568(%ebp), %edx
 3425      FEFF
 3426 3886 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3426      FFFEFF
2571:armor.c       ****       memory[(UINT16)(U + 0x0005) + 1] = B;
 3427              		.loc 1 2571 0
 3428 388d 0FB785CE 		movzwl	-65586(%ebp), %eax
 3428      FFFEFF
 3429 3894 83C005   		addl	$5, %eax
 3430 3897 0FB7C0   		movzwl	%ax, %eax
 3431 389a 83C001   		addl	$1, %eax
 3432 389d 8B95E4FF 		movl	-65564(%ebp), %edx
 3432      FEFF
 3433 38a3 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3433      FFFEFF
2572:armor.c       ****       
2573:armor.c       ****             //        LDD   $03,U                   ; 04F6: EC 43         
2574:armor.c       ****       A = memory[(UINT16)(U + 0x0003)];
 3434              		.loc 1 2574 0
 3435 38aa 0FB785CE 		movzwl	-65586(%ebp), %eax
 3435      FFFEFF
 3436 38b1 83C003   		addl	$3, %eax
 3437 38b4 0FB7C0   		movzwl	%ax, %eax
 3438 38b7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3438      F4FFFEFF 
 3439 38bf 0FB6C0   		movzbl	%al, %eax
 3440 38c2 8985E0FF 		movl	%eax, -65568(%ebp)
 3440      FEFF
2575:armor.c       ****       B = memory[(UINT16)(((UINT16)(U + 0x0003))+1)];
 3441              		.loc 1 2575 0
 3442 38c8 0FB785CE 		movzwl	-65586(%ebp), %eax
 3442      FFFEFF
 3443 38cf 83C004   		addl	$4, %eax
 3444 38d2 0FB7C0   		movzwl	%ax, %eax
 3445 38d5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3445      F4FFFEFF 
 3446 38dd 0FB6C0   		movzbl	%al, %eax
 3447 38e0 8985E4FF 		movl	%eax, -65564(%ebp)
 3447      FEFF
2576:armor.c       ****   //  Z = A|B;
2577:armor.c       ****   //  N = A;
2578:armor.c       ****   //  V = 0;
2579:armor.c       ****       
2580:armor.c       ****             //        SUBA  $05,U                   ; 04F8: A0 45         
2581:armor.c       ****       A = (UINT8)(A - memory[(UINT16)(U + 0x0005)]);
 3448              		.loc 1 2581 0
 3449 38e6 8B85E0FF 		movl	-65568(%ebp), %eax
 3449      FEFF
 3450 38ec 89C2     		movl	%eax, %edx
 3451 38ee 0FB785CE 		movzwl	-65586(%ebp), %eax
 3451      FFFEFF
 3452 38f5 83C005   		addl	$5, %eax
 3453 38f8 0FB7C0   		movzwl	%ax, %eax
 3454 38fb 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3454      F4FFFEFF 
 3455 3903 29C2     		subl	%eax, %edx
 3456 3905 89D0     		movl	%edx, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 142


 3457 3907 0FB6C0   		movzbl	%al, %eax
 3458 390a 8985E0FF 		movl	%eax, -65568(%ebp)
 3458      FEFF
2582:armor.c       ****   //  res = A - memory[(UINT16)(U + 0x0005)];
2583:armor.c       ****   //  C = res & 0x100;
2584:armor.c       ****   //  res = (UINT8)res;
2585:armor.c       ****   //  Z = res;
2586:armor.c       ****   //  N = res;
2587:armor.c       ****   //  V = ((A) ^ (memory[(UINT16)(U + 0x0005)])) & ((A) ^ res);
2588:armor.c       ****       
2589:armor.c       ****             //        SUBB  $06,U                   ; 04FA: E0 46         
2590:armor.c       ****       B = (UINT8)(B - memory[(UINT16)(U + 0x0006)]);
 3459              		.loc 1 2590 0
 3460 3910 8B85E4FF 		movl	-65564(%ebp), %eax
 3460      FEFF
 3461 3916 89C2     		movl	%eax, %edx
 3462 3918 0FB785CE 		movzwl	-65586(%ebp), %eax
 3462      FFFEFF
 3463 391f 83C006   		addl	$6, %eax
 3464 3922 0FB7C0   		movzwl	%ax, %eax
 3465 3925 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3465      F4FFFEFF 
 3466 392d 29C2     		subl	%eax, %edx
 3467 392f 89D0     		movl	%edx, %eax
 3468 3931 0FB6C0   		movzbl	%al, %eax
 3469 3934 8985E4FF 		movl	%eax, -65564(%ebp)
 3469      FEFF
2591:armor.c       ****       res = B - memory[(UINT16)(U + 0x0006)];
 3470              		.loc 1 2591 0
 3471 393a 0FB785CE 		movzwl	-65586(%ebp), %eax
 3471      FFFEFF
 3472 3941 83C006   		addl	$6, %eax
 3473 3944 0FB7C0   		movzwl	%ax, %eax
 3474 3947 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3474      F4FFFEFF 
 3475 394f 0FB6C0   		movzbl	%al, %eax
 3476 3952 8B95E4FF 		movl	-65564(%ebp), %edx
 3476      FEFF
 3477 3958 29C2     		subl	%eax, %edx
 3478 395a 89D0     		movl	%edx, %eax
 3479 395c 8985E8FF 		movl	%eax, -65560(%ebp)
 3479      FEFF
2592:armor.c       ****       C = res & 0x100;
 3480              		.loc 1 2592 0
 3481 3962 8B85E8FF 		movl	-65560(%ebp), %eax
 3481      FEFF
 3482 3968 25000100 		andl	$256, %eax
 3482      00
 3483 396d 8985ECFF 		movl	%eax, -65556(%ebp)
 3483      FEFF
2593:armor.c       ****   //  res = (UINT8)res;
2594:armor.c       ****   //  Z = res;
2595:armor.c       ****   //  N = res;
2596:armor.c       ****   //  V = ((B) ^ (memory[(UINT16)(U + 0x0006)])) & ((B) ^ res);
2597:armor.c       ****       
2598:armor.c       ****             //        STD   $03,U                   ; 04FC: ED 43         
2599:armor.c       ****   //  Z = A | B;
GAS LISTING /tmp/ccqXEnet.s 			page 143


2600:armor.c       ****   //  N = A;
2601:armor.c       ****   //  V = 0;
2602:armor.c       ****       memory[(UINT16)(U + 0x0003)] = A;
 3484              		.loc 1 2602 0
 3485 3973 0FB785CE 		movzwl	-65586(%ebp), %eax
 3485      FFFEFF
 3486 397a 83C003   		addl	$3, %eax
 3487 397d 0FB7C0   		movzwl	%ax, %eax
 3488 3980 8B95E0FF 		movl	-65568(%ebp), %edx
 3488      FEFF
 3489 3986 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3489      FFFEFF
2603:armor.c       ****       memory[(UINT16)(U + 0x0003) + 1] = B;
 3490              		.loc 1 2603 0
 3491 398d 0FB785CE 		movzwl	-65586(%ebp), %eax
 3491      FFFEFF
 3492 3994 83C003   		addl	$3, %eax
 3493 3997 0FB7C0   		movzwl	%ax, %eax
 3494 399a 83C001   		addl	$1, %eax
 3495 399d 8B95E4FF 		movl	-65564(%ebp), %edx
 3495      FEFF
 3496 39a3 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3496      FFFEFF
2604:armor.c       ****       
2605:armor.c       ****             //        DEC   ,U                      ; 04FE: 6A C4         
2606:armor.c       ****       res = (UINT8)(memory[U] - 1);
 3497              		.loc 1 2606 0
 3498 39aa 0FB785CE 		movzwl	-65586(%ebp), %eax
 3498      FFFEFF
 3499 39b1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3499      F4FFFEFF 
 3500 39b9 83E801   		subl	$1, %eax
 3501 39bc 0FB6C0   		movzbl	%al, %eax
 3502 39bf 8985E8FF 		movl	%eax, -65560(%ebp)
 3502      FEFF
2607:armor.c       ****       N = res;
 3503              		.loc 1 2607 0
 3504 39c5 8B85E8FF 		movl	-65560(%ebp), %eax
 3504      FEFF
 3505 39cb 8885C1FF 		movb	%al, -65599(%ebp)
 3505      FEFF
2608:armor.c       ****       Z = res;
 3506              		.loc 1 2608 0
 3507 39d1 8B85E8FF 		movl	-65560(%ebp), %eax
 3507      FEFF
 3508 39d7 668985CC 		movw	%ax, -65588(%ebp)
 3508      FFFEFF
2609:armor.c       ****       V = memory[U] & ~res;
 3509              		.loc 1 2609 0
 3510 39de 0FB785CE 		movzwl	-65586(%ebp), %eax
 3510      FFFEFF
 3511 39e5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3511      F4FFFEFF 
 3512 39ed 89C2     		movl	%eax, %edx
 3513 39ef 8B85E8FF 		movl	-65560(%ebp), %eax
 3513      FEFF
 3514 39f5 F7D0     		notl	%eax
GAS LISTING /tmp/ccqXEnet.s 			page 144


 3515 39f7 21D0     		andl	%edx, %eax
 3516 39f9 8885C2FF 		movb	%al, -65598(%ebp)
 3516      FEFF
2610:armor.c       ****       memory[U] = res;
 3517              		.loc 1 2610 0
 3518 39ff 0FB785CE 		movzwl	-65586(%ebp), %eax
 3518      FFFEFF
 3519 3a06 8B95E8FF 		movl	-65560(%ebp), %edx
 3519      FEFF
 3520 3a0c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3520      FFFEFF
 3521              	.L146:
2611:armor.c       ****       
2612:armor.c       ****       L0500://        RTS                           ; 0500: 39            
2613:armor.c       ****       PC = memory[S++]<<8;
 3522              		.loc 1 2613 0
 3523 3a13 0FB785C8 		movzwl	-65592(%ebp), %eax
 3523      FFFEFF
 3524 3a1a 8D5001   		leal	1(%eax), %edx
 3525 3a1d 668995C8 		movw	%dx, -65592(%ebp)
 3525      FFFEFF
 3526 3a24 0FB7C0   		movzwl	%ax, %eax
 3527 3a27 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3527      F4FFFEFF 
 3528 3a2f 0FB6C0   		movzbl	%al, %eax
 3529 3a32 C1E008   		sall	$8, %eax
 3530 3a35 668985CA 		movw	%ax, -65590(%ebp)
 3530      FFFEFF
2614:armor.c       ****       PC |= memory[S++];
 3531              		.loc 1 2614 0
 3532 3a3c 0FB785C8 		movzwl	-65592(%ebp), %eax
 3532      FFFEFF
 3533 3a43 8D5001   		leal	1(%eax), %edx
 3534 3a46 668995C8 		movw	%dx, -65592(%ebp)
 3534      FFFEFF
 3535 3a4d 0FB7C0   		movzwl	%ax, %eax
 3536 3a50 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3536      F4FFFEFF 
 3537 3a58 0FB6C0   		movzbl	%al, %eax
 3538 3a5b 660985CA 		orw	%ax, -65590(%ebp)
 3538      FFFEFF
 3539              	.L147:
2615:armor.c       ****       JUMP;
2616:armor.c       ****       
2617:armor.c       ****       
2618:armor.c       ****       L0501://        LDA   #$7F                    ; 0501: 86 7F         
2619:armor.c       ****       A = (SINT8)0x7f;
 3540              		.loc 1 2619 0
 3541 3a62 C785E0FF 		movl	$127, -65568(%ebp)
 3541      FEFF7F00 
 3541      0000
2620:armor.c       ****   //  N = A;
2621:armor.c       ****   //  Z = A;
2622:armor.c       ****   //  V = 0;
2623:armor.c       ****       
2624:armor.c       ****             //        STA   <$D0                    ; 0503: 97 D0         
2625:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 145


2626:armor.c       ****   //  N = A;
2627:armor.c       ****   //  V = 0;
2628:armor.c       ****       memory_DP[0xd0] = A;
 3542              		.loc 1 2628 0
 3543 3a6c 8B85DCFF 		movl	-65572(%ebp), %eax
 3543      FEFF
 3544 3a72 05D00000 		addl	$208, %eax
 3544      00
 3545 3a77 8B95E0FF 		movl	-65568(%ebp), %edx
 3545      FEFF
 3546 3a7d 8810     		movb	%dl, (%eax)
2629:armor.c       ****       
2630:armor.c       ****             //        LDU   #$CA06                  ; 0505: CE CA 06      
2631:armor.c       ****       U = 0xca06;
 3547              		.loc 1 2631 0
 3548 3a7f 66C785CE 		movw	$-13818, -65586(%ebp)
 3548      FFFEFF06 
 3548      CA
2632:armor.c       ****   //  Z = U;
2633:armor.c       ****   //  N = (U) >> 8;
2634:armor.c       ****   //  V = 0;
2635:armor.c       ****       
2636:armor.c       ****             //        LDA   $FFFA,U                 ; 0508: A6 5A         
2637:armor.c       ****       A = memory[(UINT16)(U + 0xfffa)];
 3549              		.loc 1 2637 0
 3550 3a88 0FB785CE 		movzwl	-65586(%ebp), %eax
 3550      FFFEFF
 3551 3a8f 83E806   		subl	$6, %eax
 3552 3a92 0FB7C0   		movzwl	%ax, %eax
 3553 3a95 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3553      F4FFFEFF 
 3554 3a9d 0FB6C0   		movzbl	%al, %eax
 3555 3aa0 8985E0FF 		movl	%eax, -65568(%ebp)
 3555      FEFF
2638:armor.c       ****       N = A;
 3556              		.loc 1 2638 0
 3557 3aa6 8B85E0FF 		movl	-65568(%ebp), %eax
 3557      FEFF
 3558 3aac 8885C1FF 		movb	%al, -65599(%ebp)
 3558      FEFF
2639:armor.c       ****       Z = A;
 3559              		.loc 1 2639 0
 3560 3ab2 8B85E0FF 		movl	-65568(%ebp), %eax
 3560      FEFF
 3561 3ab8 668985CC 		movw	%ax, -65588(%ebp)
 3561      FFFEFF
2640:armor.c       ****       V = 0;
 3562              		.loc 1 2640 0
 3563 3abf C685C2FF 		movb	$0, -65598(%ebp)
 3563      FEFF00
2641:armor.c       ****       
2642:armor.c       ****             //        BLE   $0517                   ; 050A: 2F 0B         
2643:armor.c       ****       if (((SINT8)(N^V) <  0) || (!Z)) {
 3564              		.loc 1 2643 0
 3565 3ac6 0FB685C1 		movzbl	-65599(%ebp), %eax
 3565      FFFEFF
 3566 3acd 3285C2FF 		xorb	-65598(%ebp), %al
GAS LISTING /tmp/ccqXEnet.s 			page 146


 3566      FEFF
 3567 3ad3 84C0     		testb	%al, %al
 3568 3ad5 780A     		js	.L148
 3569              		.loc 1 2643 0 is_stmt 0 discriminator 1
 3570 3ad7 6683BDCC 		cmpw	$0, -65588(%ebp)
 3570      FFFEFF00 
 3571 3adf 7509     		jne	.L149
 3572              	.L148:
2644:armor.c       ****       PC = 0x0517;
 3573              		.loc 1 2644 0 is_stmt 1
 3574 3ae1 66C785CA 		movw	$1303, -65590(%ebp)
 3574      FFFEFF17 
 3574      05
 3575              	.L149:
2645:armor.c       ****       JUMP;
2646:armor.c       ****       }
2647:armor.c       ****       
2648:armor.c       ****             //        LDD   $06,X                   ; 050C: EC 06         
2649:armor.c       ****       A = memory[(UINT16)(X + 0x0006)];
 3576              		.loc 1 2649 0
 3577 3aea 0FB785C6 		movzwl	-65594(%ebp), %eax
 3577      FFFEFF
 3578 3af1 83C006   		addl	$6, %eax
 3579 3af4 0FB7C0   		movzwl	%ax, %eax
 3580 3af7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3580      F4FFFEFF 
 3581 3aff 0FB6C0   		movzbl	%al, %eax
 3582 3b02 8985E0FF 		movl	%eax, -65568(%ebp)
 3582      FEFF
2650:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0006))+1)];
 3583              		.loc 1 2650 0
 3584 3b08 0FB785C6 		movzwl	-65594(%ebp), %eax
 3584      FFFEFF
 3585 3b0f 83C007   		addl	$7, %eax
 3586 3b12 0FB7C0   		movzwl	%ax, %eax
 3587 3b15 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3587      F4FFFEFF 
 3588 3b1d 0FB6C0   		movzbl	%al, %eax
 3589 3b20 8985E4FF 		movl	%eax, -65564(%ebp)
 3589      FEFF
2651:armor.c       ****   //  Z = A|B;
2652:armor.c       ****   //  N = A;
2653:armor.c       ****   //  V = 0;
2654:armor.c       ****       
2655:armor.c       ****             //        JSR   $0C76                   ; 050E: BD 0C 76      
2656:armor.c       ****       memory[--S] = 0x0511 & 0xff; memory[--S] = 0x0511 >> 8;
 3590              		.loc 1 2656 0
 3591 3b26 6683ADC8 		subw	$1, -65592(%ebp)
 3591      FFFEFF01 
 3592 3b2e 0FB785C8 		movzwl	-65592(%ebp), %eax
 3592      FFFEFF
 3593 3b35 C68405F4 		movb	$17, -65548(%ebp,%eax)
 3593      FFFEFF11 
 3594 3b3d 6683ADC8 		subw	$1, -65592(%ebp)
 3594      FFFEFF01 
 3595 3b45 0FB785C8 		movzwl	-65592(%ebp), %eax
 3595      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 147


 3596 3b4c C68405F4 		movb	$5, -65548(%ebp,%eax)
 3596      FFFEFF05 
2657:armor.c       ****       PC = 0x0c76;
 3597              		.loc 1 2657 0
 3598 3b54 66C785CA 		movw	$3190, -65590(%ebp)
 3598      FFFEFF76 
 3598      0C
 3599              	.L150:
2658:armor.c       ****       JUMP;
2659:armor.c       ****       
2660:armor.c       ****       L0511://        CMPB  #$04                    ; 0511: C1 04         
2661:armor.c       ****       res = B - (SINT8)0x04;
 3600              		.loc 1 2661 0
 3601 3b5d 8B85E4FF 		movl	-65564(%ebp), %eax
 3601      FEFF
 3602 3b63 83E804   		subl	$4, %eax
 3603 3b66 8985E8FF 		movl	%eax, -65560(%ebp)
 3603      FEFF
2662:armor.c       ****   //  C = res & 0x100;
2663:armor.c       ****       res = (UINT8)res;
 3604              		.loc 1 2663 0
 3605 3b6c 8B85E8FF 		movl	-65560(%ebp), %eax
 3605      FEFF
 3606 3b72 0FB6C0   		movzbl	%al, %eax
 3607 3b75 8985E8FF 		movl	%eax, -65560(%ebp)
 3607      FEFF
2664:armor.c       ****   //  Z = res;
2665:armor.c       ****       N = res;
 3608              		.loc 1 2665 0
 3609 3b7b 8B85E8FF 		movl	-65560(%ebp), %eax
 3609      FEFF
 3610 3b81 8885C1FF 		movb	%al, -65599(%ebp)
 3610      FEFF
2666:armor.c       ****       V = (B ^ (SINT8)0x04) & (B ^ res);
 3611              		.loc 1 2666 0
 3612 3b87 8B85E4FF 		movl	-65564(%ebp), %eax
 3612      FEFF
 3613 3b8d 83F004   		xorl	$4, %eax
 3614 3b90 89C2     		movl	%eax, %edx
 3615 3b92 8B85E4FF 		movl	-65564(%ebp), %eax
 3615      FEFF
 3616 3b98 89C1     		movl	%eax, %ecx
 3617 3b9a 8B85E8FF 		movl	-65560(%ebp), %eax
 3617      FEFF
 3618 3ba0 31C8     		xorl	%ecx, %eax
 3619 3ba2 21D0     		andl	%edx, %eax
 3620 3ba4 8885C2FF 		movb	%al, -65598(%ebp)
 3620      FEFF
2667:armor.c       ****       
2668:armor.c       ****             //        BLT   $0549                   ; 0513: 2D 34         
2669:armor.c       ****       if ((SINT8)(N^V) <  0) {
 3621              		.loc 1 2669 0
 3622 3baa 0FB685C1 		movzbl	-65599(%ebp), %eax
 3622      FFFEFF
 3623 3bb1 3285C2FF 		xorb	-65598(%ebp), %al
 3623      FEFF
 3624 3bb7 84C0     		testb	%al, %al
GAS LISTING /tmp/ccqXEnet.s 			page 148


 3625 3bb9 7909     		jns	.L151
2670:armor.c       ****       PC = 0x0549;
 3626              		.loc 1 2670 0
 3627 3bbb 66C785CA 		movw	$1353, -65590(%ebp)
 3627      FFFEFF49 
 3627      05
 3628              	.L151:
2671:armor.c       ****       JUMP;
2672:armor.c       ****       }
2673:armor.c       ****       
2674:armor.c       ****             //        STD   <$CF                    ; 0515: DD CF         
2675:armor.c       ****   //  Z = A | B;
2676:armor.c       ****   //  N = A;
2677:armor.c       ****   //  V = 0;
2678:armor.c       ****       memory_DP[0xcf] = A;
 3629              		.loc 1 2678 0
 3630 3bc4 8B85DCFF 		movl	-65572(%ebp), %eax
 3630      FEFF
 3631 3bca 05CF0000 		addl	$207, %eax
 3631      00
 3632 3bcf 8B95E0FF 		movl	-65568(%ebp), %edx
 3632      FEFF
 3633 3bd5 8810     		movb	%dl, (%eax)
2679:armor.c       ****       memory_DP[0xcf + 1] = B;
 3634              		.loc 1 2679 0
 3635 3bd7 8B85DCFF 		movl	-65572(%ebp), %eax
 3635      FEFF
 3636 3bdd 05D00000 		addl	$208, %eax
 3636      00
 3637 3be2 8B95E4FF 		movl	-65564(%ebp), %edx
 3637      FEFF
 3638 3be8 8810     		movb	%dl, (%eax)
 3639              	.L152:
2680:armor.c       ****       
2681:armor.c       ****       L0517://        LDA   <$C8                    ; 0517: 96 C8         
2682:armor.c       ****       A = memory_DP[0xc8];
 3640              		.loc 1 2682 0
 3641 3bea 8B85DCFF 		movl	-65572(%ebp), %eax
 3641      FEFF
 3642 3bf0 05C80000 		addl	$200, %eax
 3642      00
 3643 3bf5 0FB600   		movzbl	(%eax), %eax
 3644 3bf8 0FB6C0   		movzbl	%al, %eax
 3645 3bfb 8985E0FF 		movl	%eax, -65568(%ebp)
 3645      FEFF
2683:armor.c       ****   //  N = A;
2684:armor.c       ****   //  Z = A;
2685:armor.c       ****   //  V = 0;
2686:armor.c       ****       
2687:armor.c       ****             //        DECA                          ; 0519: 4A            
2688:armor.c       ****       res = (UINT8)(A - 1);
 3646              		.loc 1 2688 0
 3647 3c01 8B85E0FF 		movl	-65568(%ebp), %eax
 3647      FEFF
 3648 3c07 83E801   		subl	$1, %eax
 3649 3c0a 0FB6C0   		movzbl	%al, %eax
 3650 3c0d 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 149


 3650      FEFF
2689:armor.c       ****   //  N = res;
2690:armor.c       ****       Z = res;
 3651              		.loc 1 2690 0
 3652 3c13 8B85E8FF 		movl	-65560(%ebp), %eax
 3652      FEFF
 3653 3c19 668985CC 		movw	%ax, -65588(%ebp)
 3653      FFFEFF
2691:armor.c       ****   //  V = A & ~res;
2692:armor.c       ****       A = res;
 3654              		.loc 1 2692 0
 3655 3c20 8B85E8FF 		movl	-65560(%ebp), %eax
 3655      FEFF
 3656 3c26 8985E0FF 		movl	%eax, -65568(%ebp)
 3656      FEFF
2693:armor.c       ****       
2694:armor.c       ****             //        BEQ   $0530                   ; 051A: 27 14         
2695:armor.c       ****       if (!Z) {
 3657              		.loc 1 2695 0
 3658 3c2c 6683BDCC 		cmpw	$0, -65588(%ebp)
 3658      FFFEFF00 
 3659 3c34 7509     		jne	.L153
2696:armor.c       ****       PC = 0x0530;
 3660              		.loc 1 2696 0
 3661 3c36 66C785CA 		movw	$1328, -65590(%ebp)
 3661      FFFEFF30 
 3661      05
 3662              	.L153:
2697:armor.c       ****       JUMP;
2698:armor.c       ****       }
2699:armor.c       ****       
2700:armor.c       ****             //        LEAU  $27,U                   ; 051C: 33 C8 27      
2701:armor.c       ****       U = (U + (SINT8)0x27);
 3663              		.loc 1 2701 0
 3664 3c3f 668385CE 		addw	$39, -65586(%ebp)
 3664      FFFEFF27 
2702:armor.c       ****       
2703:armor.c       ****             //        LDA   $FFFA,U                 ; 051F: A6 5A         
2704:armor.c       ****       A = memory[(UINT16)(U + 0xfffa)];
 3665              		.loc 1 2704 0
 3666 3c47 0FB785CE 		movzwl	-65586(%ebp), %eax
 3666      FFFEFF
 3667 3c4e 83E806   		subl	$6, %eax
 3668 3c51 0FB7C0   		movzwl	%ax, %eax
 3669 3c54 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3669      F4FFFEFF 
 3670 3c5c 0FB6C0   		movzbl	%al, %eax
 3671 3c5f 8985E0FF 		movl	%eax, -65568(%ebp)
 3671      FEFF
2705:armor.c       ****       N = A;
 3672              		.loc 1 2705 0
 3673 3c65 8B85E0FF 		movl	-65568(%ebp), %eax
 3673      FEFF
 3674 3c6b 8885C1FF 		movb	%al, -65599(%ebp)
 3674      FEFF
2706:armor.c       ****   //  Z = A;
2707:armor.c       ****       V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 150


 3675              		.loc 1 2707 0
 3676 3c71 C685C2FF 		movb	$0, -65598(%ebp)
 3676      FEFF00
2708:armor.c       ****       
2709:armor.c       ****             //        BLT   $0530                   ; 0521: 2D 0D         
2710:armor.c       ****       if ((SINT8)(N^V) <  0) {
 3677              		.loc 1 2710 0
 3678 3c78 0FB685C1 		movzbl	-65599(%ebp), %eax
 3678      FFFEFF
 3679 3c7f 3285C2FF 		xorb	-65598(%ebp), %al
 3679      FEFF
 3680 3c85 84C0     		testb	%al, %al
 3681 3c87 7909     		jns	.L154
2711:armor.c       ****       PC = 0x0530;
 3682              		.loc 1 2711 0
 3683 3c89 66C785CA 		movw	$1328, -65590(%ebp)
 3683      FFFEFF30 
 3683      05
 3684              	.L154:
2712:armor.c       ****       JUMP;
2713:armor.c       ****       }
2714:armor.c       ****       
2715:armor.c       ****             //        LDD   $06,X                   ; 0523: EC 06         
2716:armor.c       ****       A = memory[(UINT16)(X + 0x0006)];
 3685              		.loc 1 2716 0
 3686 3c92 0FB785C6 		movzwl	-65594(%ebp), %eax
 3686      FFFEFF
 3687 3c99 83C006   		addl	$6, %eax
 3688 3c9c 0FB7C0   		movzwl	%ax, %eax
 3689 3c9f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3689      F4FFFEFF 
 3690 3ca7 0FB6C0   		movzbl	%al, %eax
 3691 3caa 8985E0FF 		movl	%eax, -65568(%ebp)
 3691      FEFF
2717:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0006))+1)];
 3692              		.loc 1 2717 0
 3693 3cb0 0FB785C6 		movzwl	-65594(%ebp), %eax
 3693      FFFEFF
 3694 3cb7 83C007   		addl	$7, %eax
 3695 3cba 0FB7C0   		movzwl	%ax, %eax
 3696 3cbd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3696      F4FFFEFF 
 3697 3cc5 0FB6C0   		movzbl	%al, %eax
 3698 3cc8 8985E4FF 		movl	%eax, -65564(%ebp)
 3698      FEFF
2718:armor.c       ****   //  Z = A|B;
2719:armor.c       ****   //  N = A;
2720:armor.c       ****   //  V = 0;
2721:armor.c       ****       
2722:armor.c       ****             //        JSR   $0C76                   ; 0525: BD 0C 76      
2723:armor.c       ****       memory[--S] = 0x0528 & 0xff; memory[--S] = 0x0528 >> 8;
 3699              		.loc 1 2723 0
 3700 3cce 6683ADC8 		subw	$1, -65592(%ebp)
 3700      FFFEFF01 
 3701 3cd6 0FB785C8 		movzwl	-65592(%ebp), %eax
 3701      FFFEFF
 3702 3cdd C68405F4 		movb	$40, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 151


 3702      FFFEFF28 
 3703 3ce5 6683ADC8 		subw	$1, -65592(%ebp)
 3703      FFFEFF01 
 3704 3ced 0FB785C8 		movzwl	-65592(%ebp), %eax
 3704      FFFEFF
 3705 3cf4 C68405F4 		movb	$5, -65548(%ebp,%eax)
 3705      FFFEFF05 
2724:armor.c       ****       PC = 0x0c76;
 3706              		.loc 1 2724 0
 3707 3cfc 66C785CA 		movw	$3190, -65590(%ebp)
 3707      FFFEFF76 
 3707      0C
 3708              	.L155:
2725:armor.c       ****       JUMP;
2726:armor.c       ****       
2727:armor.c       ****       L0528://        CMPB  #$04                    ; 0528: C1 04         
2728:armor.c       ****       res = B - (SINT8)0x04;
 3709              		.loc 1 2728 0
 3710 3d05 8B85E4FF 		movl	-65564(%ebp), %eax
 3710      FEFF
 3711 3d0b 83E804   		subl	$4, %eax
 3712 3d0e 8985E8FF 		movl	%eax, -65560(%ebp)
 3712      FEFF
2729:armor.c       ****   //  C = res & 0x100;
2730:armor.c       ****       res = (UINT8)res;
 3713              		.loc 1 2730 0
 3714 3d14 8B85E8FF 		movl	-65560(%ebp), %eax
 3714      FEFF
 3715 3d1a 0FB6C0   		movzbl	%al, %eax
 3716 3d1d 8985E8FF 		movl	%eax, -65560(%ebp)
 3716      FEFF
2731:armor.c       ****   //  Z = res;
2732:armor.c       ****       N = res;
 3717              		.loc 1 2732 0
 3718 3d23 8B85E8FF 		movl	-65560(%ebp), %eax
 3718      FEFF
 3719 3d29 8885C1FF 		movb	%al, -65599(%ebp)
 3719      FEFF
2733:armor.c       ****       V = (B ^ (SINT8)0x04) & (B ^ res);
 3720              		.loc 1 2733 0
 3721 3d2f 8B85E4FF 		movl	-65564(%ebp), %eax
 3721      FEFF
 3722 3d35 83F004   		xorl	$4, %eax
 3723 3d38 89C2     		movl	%eax, %edx
 3724 3d3a 8B85E4FF 		movl	-65564(%ebp), %eax
 3724      FEFF
 3725 3d40 89C1     		movl	%eax, %ecx
 3726 3d42 8B85E8FF 		movl	-65560(%ebp), %eax
 3726      FEFF
 3727 3d48 31C8     		xorl	%ecx, %eax
 3728 3d4a 21D0     		andl	%edx, %eax
 3729 3d4c 8885C2FF 		movb	%al, -65598(%ebp)
 3729      FEFF
2734:armor.c       ****       
2735:armor.c       ****             //        BLT   $0549                   ; 052A: 2D 1D         
2736:armor.c       ****       if ((SINT8)(N^V) <  0) {
 3730              		.loc 1 2736 0
GAS LISTING /tmp/ccqXEnet.s 			page 152


 3731 3d52 0FB685C1 		movzbl	-65599(%ebp), %eax
 3731      FFFEFF
 3732 3d59 3285C2FF 		xorb	-65598(%ebp), %al
 3732      FEFF
 3733 3d5f 84C0     		testb	%al, %al
 3734 3d61 7909     		jns	.L156
2737:armor.c       ****       PC = 0x0549;
 3735              		.loc 1 2737 0
 3736 3d63 66C785CA 		movw	$1353, -65590(%ebp)
 3736      FFFEFF49 
 3736      05
 3737              	.L156:
2738:armor.c       ****       JUMP;
2739:armor.c       ****       }
2740:armor.c       ****       
2741:armor.c       ****             //        CMPB  <$D0                    ; 052C: D1 D0         
2742:armor.c       ****       res = B - memory_DP[0xd0];
 3738              		.loc 1 2742 0
 3739 3d6c 8B85DCFF 		movl	-65572(%ebp), %eax
 3739      FEFF
 3740 3d72 05D00000 		addl	$208, %eax
 3740      00
 3741 3d77 0FB600   		movzbl	(%eax), %eax
 3742 3d7a 0FB6C0   		movzbl	%al, %eax
 3743 3d7d 8B95E4FF 		movl	-65564(%ebp), %edx
 3743      FEFF
 3744 3d83 29C2     		subl	%eax, %edx
 3745 3d85 89D0     		movl	%edx, %eax
 3746 3d87 8985E8FF 		movl	%eax, -65560(%ebp)
 3746      FEFF
2743:armor.c       ****   //  C = res & 0x100;
2744:armor.c       ****       res = (UINT8)res;
 3747              		.loc 1 2744 0
 3748 3d8d 8B85E8FF 		movl	-65560(%ebp), %eax
 3748      FEFF
 3749 3d93 0FB6C0   		movzbl	%al, %eax
 3750 3d96 8985E8FF 		movl	%eax, -65560(%ebp)
 3750      FEFF
2745:armor.c       ****   //  Z = res;
2746:armor.c       ****       N = res;
 3751              		.loc 1 2746 0
 3752 3d9c 8B85E8FF 		movl	-65560(%ebp), %eax
 3752      FEFF
 3753 3da2 8885C1FF 		movb	%al, -65599(%ebp)
 3753      FEFF
2747:armor.c       ****       V = (B ^ memory_DP[0xd0]) & (B ^ res);
 3754              		.loc 1 2747 0
 3755 3da8 8B85DCFF 		movl	-65572(%ebp), %eax
 3755      FEFF
 3756 3dae 05D00000 		addl	$208, %eax
 3756      00
 3757 3db3 0FB600   		movzbl	(%eax), %eax
 3758 3db6 89C2     		movl	%eax, %edx
 3759 3db8 8B85E4FF 		movl	-65564(%ebp), %eax
 3759      FEFF
 3760 3dbe 31C2     		xorl	%eax, %edx
 3761 3dc0 8B85E4FF 		movl	-65564(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 153


 3761      FEFF
 3762 3dc6 89C1     		movl	%eax, %ecx
 3763 3dc8 8B85E8FF 		movl	-65560(%ebp), %eax
 3763      FEFF
 3764 3dce 31C8     		xorl	%ecx, %eax
 3765 3dd0 21D0     		andl	%edx, %eax
 3766 3dd2 8885C2FF 		movb	%al, -65598(%ebp)
 3766      FEFF
2748:armor.c       ****       
2749:armor.c       ****             //        BLT   $0532                   ; 052E: 2D 02         
2750:armor.c       ****       if ((SINT8)(N^V) <  0) {
 3767              		.loc 1 2750 0
 3768 3dd8 0FB685C1 		movzbl	-65599(%ebp), %eax
 3768      FFFEFF
 3769 3ddf 3285C2FF 		xorb	-65598(%ebp), %al
 3769      FEFF
 3770 3de5 84C0     		testb	%al, %al
 3771 3de7 790B     		jns	.L455
2751:armor.c       ****       PC = 0x0532;
 3772              		.loc 1 2751 0
 3773 3de9 66C785CA 		movw	$1330, -65590(%ebp)
 3773      FFFEFF32 
 3773      05
 3774 3df2 EB01     		jmp	.L157
 3775              	.L455:
2752:armor.c       ****       JUMP;
2753:armor.c       ****       }
2754:armor.c       ****       
2755:armor.c       ****       L0530://        LDA   <$CF                    ; 0530: 96 CF         
 3776              		.loc 1 2755 0
 3777 3df4 90       		nop
 3778              	.L157:
2756:armor.c       ****       A = memory_DP[0xcf];
 3779              		.loc 1 2756 0
 3780 3df5 8B85DCFF 		movl	-65572(%ebp), %eax
 3780      FEFF
 3781 3dfb 05CF0000 		addl	$207, %eax
 3781      00
 3782 3e00 0FB600   		movzbl	(%eax), %eax
 3783 3e03 0FB6C0   		movzbl	%al, %eax
 3784 3e06 8985E0FF 		movl	%eax, -65568(%ebp)
 3784      FEFF
 3785              	.L158:
2757:armor.c       ****   //  N = A;
2758:armor.c       ****   //  Z = A;
2759:armor.c       ****   //  V = 0;
2760:armor.c       ****       
2761:armor.c       ****       L0532://        ANDA  <$84                    ; 0532: 94 84         
2762:armor.c       ****       A = A & memory_DP[0x84];
 3786              		.loc 1 2762 0
 3787 3e0c 8B85DCFF 		movl	-65572(%ebp), %eax
 3787      FEFF
 3788 3e12 05840000 		addl	$132, %eax
 3788      00
 3789 3e17 0FB600   		movzbl	(%eax), %eax
 3790 3e1a 0FB6C0   		movzbl	%al, %eax
 3791 3e1d 2185E0FF 		andl	%eax, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 154


 3791      FEFF
2763:armor.c       ****   //  Z = A;
2764:armor.c       ****   //  N = A;
2765:armor.c       ****   //  V = 0;
2766:armor.c       ****       
2767:armor.c       ****             //        CMPA  $FFFE,X                 ; 0534: A1 1E         
2768:armor.c       ****       res = A - memory[(UINT16)(X + 0xfffe)];
 3792              		.loc 1 2768 0
 3793 3e23 0FB785C6 		movzwl	-65594(%ebp), %eax
 3793      FFFEFF
 3794 3e2a 83E802   		subl	$2, %eax
 3795 3e2d 0FB7C0   		movzwl	%ax, %eax
 3796 3e30 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3796      F4FFFEFF 
 3797 3e38 0FB6C0   		movzbl	%al, %eax
 3798 3e3b 8B95E0FF 		movl	-65568(%ebp), %edx
 3798      FEFF
 3799 3e41 29C2     		subl	%eax, %edx
 3800 3e43 89D0     		movl	%edx, %eax
 3801 3e45 8985E8FF 		movl	%eax, -65560(%ebp)
 3801      FEFF
2769:armor.c       ****       C = res & 0x100;
 3802              		.loc 1 2769 0
 3803 3e4b 8B85E8FF 		movl	-65560(%ebp), %eax
 3803      FEFF
 3804 3e51 25000100 		andl	$256, %eax
 3804      00
 3805 3e56 8985ECFF 		movl	%eax, -65556(%ebp)
 3805      FEFF
2770:armor.c       ****       res = (UINT8)res;
 3806              		.loc 1 2770 0
 3807 3e5c 8B85E8FF 		movl	-65560(%ebp), %eax
 3807      FEFF
 3808 3e62 0FB6C0   		movzbl	%al, %eax
 3809 3e65 8985E8FF 		movl	%eax, -65560(%ebp)
 3809      FEFF
2771:armor.c       ****       Z = res;
 3810              		.loc 1 2771 0
 3811 3e6b 8B85E8FF 		movl	-65560(%ebp), %eax
 3811      FEFF
 3812 3e71 668985CC 		movw	%ax, -65588(%ebp)
 3812      FFFEFF
2772:armor.c       ****   //  N = res;
2773:armor.c       ****   //  V = (A ^ memory[(UINT16)(X + 0xfffe)]) & (A ^ res);
2774:armor.c       ****       
2775:armor.c       ****             //        BEQ   $0500                   ; 0536: 27 C8         
2776:armor.c       ****       if (!Z) {
 3813              		.loc 1 2776 0
 3814 3e78 6683BDCC 		cmpw	$0, -65588(%ebp)
 3814      FFFEFF00 
 3815 3e80 7509     		jne	.L159
2777:armor.c       ****       PC = 0x0500;
 3816              		.loc 1 2777 0
 3817 3e82 66C785CA 		movw	$1280, -65590(%ebp)
 3817      FFFEFF00 
 3817      05
 3818              	.L159:
GAS LISTING /tmp/ccqXEnet.s 			page 155


2778:armor.c       ****       JUMP;
2779:armor.c       ****       }
2780:armor.c       ****       
2781:armor.c       ****             //        LDB   <$EE                    ; 0538: D6 EE         
2782:armor.c       ****       B = memory_DP[0xee];
 3819              		.loc 1 2782 0
 3820 3e8b 8B85DCFF 		movl	-65572(%ebp), %eax
 3820      FEFF
 3821 3e91 05EE0000 		addl	$238, %eax
 3821      00
 3822 3e96 0FB600   		movzbl	(%eax), %eax
 3823 3e99 0FB6C0   		movzbl	%al, %eax
 3824 3e9c 8985E4FF 		movl	%eax, -65564(%ebp)
 3824      FEFF
2783:armor.c       ****   //  N = B;
2784:armor.c       ****   //  Z = B;
2785:armor.c       ****   //  V = 0;
2786:armor.c       ****       
2787:armor.c       ****             //        BITB  #$01                    ; 053A: C5 01         
2788:armor.c       ****       res = B & (SINT8)0x01;
 3825              		.loc 1 2788 0
 3826 3ea2 8B85E4FF 		movl	-65564(%ebp), %eax
 3826      FEFF
 3827 3ea8 83E001   		andl	$1, %eax
 3828 3eab 8985E8FF 		movl	%eax, -65560(%ebp)
 3828      FEFF
2789:armor.c       ****       Z = res;
 3829              		.loc 1 2789 0
 3830 3eb1 8B85E8FF 		movl	-65560(%ebp), %eax
 3830      FEFF
 3831 3eb7 668985CC 		movw	%ax, -65588(%ebp)
 3831      FFFEFF
2790:armor.c       ****   //  N = res;
2791:armor.c       ****   //  V = 0;
2792:armor.c       ****       
2793:armor.c       ****             //        BEQ   $0500                   ; 053C: 27 C2         
2794:armor.c       ****       if (!Z) {
 3832              		.loc 1 2794 0
 3833 3ebe 6683BDCC 		cmpw	$0, -65588(%ebp)
 3833      FFFEFF00 
 3834 3ec6 7509     		jne	.L160
2795:armor.c       ****       PC = 0x0500;
 3835              		.loc 1 2795 0
 3836 3ec8 66C785CA 		movw	$1280, -65590(%ebp)
 3836      FFFEFF00 
 3836      05
 3837              	.L160:
2796:armor.c       ****       JUMP;
2797:armor.c       ****       }
2798:armor.c       ****       
2799:armor.c       ****             //        STA   $FFFE,X                 ; 053E: A7 1E         
2800:armor.c       ****   //  Z = A;
2801:armor.c       ****   //  N = A;
2802:armor.c       ****   //  V = 0;
2803:armor.c       ****       memory[(UINT16)(X + 0xfffe)] = A;
 3838              		.loc 1 2803 0
 3839 3ed1 0FB785C6 		movzwl	-65594(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 156


 3839      FFFEFF
 3840 3ed8 83E802   		subl	$2, %eax
 3841 3edb 0FB7C0   		movzwl	%ax, %eax
 3842 3ede 8B95E0FF 		movl	-65568(%ebp), %edx
 3842      FEFF
 3843 3ee4 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3843      FFFEFF
2804:armor.c       ****       
2805:armor.c       ****             //        LEAU  $1E,X                   ; 0540: 33 88 1E      
2806:armor.c       ****       U = (X + (SINT8)0x1e);
 3844              		.loc 1 2806 0
 3845 3eeb 0FB785C6 		movzwl	-65594(%ebp), %eax
 3845      FFFEFF
 3846 3ef2 83C01E   		addl	$30, %eax
 3847 3ef5 668985CE 		movw	%ax, -65586(%ebp)
 3847      FFFEFF
2807:armor.c       ****       
2808:armor.c       ****             //        LDX   #$0EDB                  ; 0543: 8E 0E DB      
2809:armor.c       ****       X = 0x0edb;
 3848              		.loc 1 2809 0
 3849 3efc 66C785C6 		movw	$3803, -65594(%ebp)
 3849      FFFEFFDB 
 3849      0E
2810:armor.c       ****       Z = X;
 3850              		.loc 1 2810 0
 3851 3f05 0FB785C6 		movzwl	-65594(%ebp), %eax
 3851      FFFEFF
 3852 3f0c 668985CC 		movw	%ax, -65588(%ebp)
 3852      FFFEFF
2811:armor.c       ****       N = (X) >> 8;
 3853              		.loc 1 2811 0
 3854 3f13 0FB785C6 		movzwl	-65594(%ebp), %eax
 3854      FFFEFF
 3855 3f1a 66C1E808 		shrw	$8, %ax
 3856 3f1e 8885C1FF 		movb	%al, -65599(%ebp)
 3856      FEFF
2812:armor.c       ****       V = 0;
 3857              		.loc 1 2812 0
 3858 3f24 C685C2FF 		movb	$0, -65598(%ebp)
 3858      FEFF00
2813:armor.c       ****       
2814:armor.c       ****             //        JMP   Rot_VL_Mode_a           ; 0546: 7E F6 1F      
2815:armor.c       ****       PC = 0xf61f;
 3859              		.loc 1 2815 0
 3860 3f2b 66C785CA 		movw	$-2529, -65590(%ebp)
 3860      FFFEFF1F 
 3860      F6
 3861              	.L161:
2816:armor.c       ****       JUMP;
2817:armor.c       ****       
2818:armor.c       ****       
2819:armor.c       ****       L0549://        LDA   #$02                    ; 0549: 86 02         
2820:armor.c       ****       A = (SINT8)0x02;
 3862              		.loc 1 2820 0
 3863 3f34 C785E0FF 		movl	$2, -65568(%ebp)
 3863      FEFF0200 
 3863      0000
GAS LISTING /tmp/ccqXEnet.s 			page 157


2821:armor.c       ****   //  N = A;
2822:armor.c       ****   //  Z = A;
2823:armor.c       ****   //  V = 0;
2824:armor.c       ****       
2825:armor.c       ****             //        STA   $FFF9,X                 ; 054B: A7 19         
2826:armor.c       ****   //  Z = A;
2827:armor.c       ****   //  N = A;
2828:armor.c       ****   //  V = 0;
2829:armor.c       ****       memory[(UINT16)(X + 0xfff9)] = A;
 3864              		.loc 1 2829 0
 3865 3f3e 0FB785C6 		movzwl	-65594(%ebp), %eax
 3865      FFFEFF
 3866 3f45 83E807   		subl	$7, %eax
 3867 3f48 0FB7C0   		movzwl	%ax, %eax
 3868 3f4b 8B95E0FF 		movl	-65568(%ebp), %edx
 3868      FEFF
 3869 3f51 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3869      FFFEFF
2830:armor.c       ****       
2831:armor.c       ****             //        LDA   #$80                    ; 054D: 86 80         
2832:armor.c       ****       A = (SINT8)0x80;
 3870              		.loc 1 2832 0
 3871 3f58 C785E0FF 		movl	$-128, -65568(%ebp)
 3871      FEFF80FF 
 3871      FFFF
2833:armor.c       ****   //  N = A;
2834:armor.c       ****   //  Z = A;
2835:armor.c       ****   //  V = 0;
2836:armor.c       ****       
2837:armor.c       ****             //        STA   $FFFA,U                 ; 054F: A7 5A         
2838:armor.c       ****       Z = A;
 3872              		.loc 1 2838 0
 3873 3f62 8B85E0FF 		movl	-65568(%ebp), %eax
 3873      FEFF
 3874 3f68 668985CC 		movw	%ax, -65588(%ebp)
 3874      FFFEFF
2839:armor.c       ****       N = A;
 3875              		.loc 1 2839 0
 3876 3f6f 8B85E0FF 		movl	-65568(%ebp), %eax
 3876      FEFF
 3877 3f75 8885C1FF 		movb	%al, -65599(%ebp)
 3877      FEFF
2840:armor.c       ****       V = 0;
 3878              		.loc 1 2840 0
 3879 3f7b C685C2FF 		movb	$0, -65598(%ebp)
 3879      FEFF00
2841:armor.c       ****       memory[(UINT16)(U + 0xfffa)] = A;
 3880              		.loc 1 2841 0
 3881 3f82 0FB785CE 		movzwl	-65586(%ebp), %eax
 3881      FFFEFF
 3882 3f89 83E806   		subl	$6, %eax
 3883 3f8c 0FB7C0   		movzwl	%ax, %eax
 3884 3f8f 8B95E0FF 		movl	-65568(%ebp), %edx
 3884      FEFF
 3885 3f95 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3885      FFFEFF
2842:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 158


2843:armor.c       ****             //        RTS                           ; 0551: 39            
2844:armor.c       ****       PC = memory[S++]<<8;
 3886              		.loc 1 2844 0
 3887 3f9c 0FB785C8 		movzwl	-65592(%ebp), %eax
 3887      FFFEFF
 3888 3fa3 8D5001   		leal	1(%eax), %edx
 3889 3fa6 668995C8 		movw	%dx, -65592(%ebp)
 3889      FFFEFF
 3890 3fad 0FB7C0   		movzwl	%ax, %eax
 3891 3fb0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3891      F4FFFEFF 
 3892 3fb8 0FB6C0   		movzbl	%al, %eax
 3893 3fbb C1E008   		sall	$8, %eax
 3894 3fbe 668985CA 		movw	%ax, -65590(%ebp)
 3894      FFFEFF
2845:armor.c       ****       PC |= memory[S++];
 3895              		.loc 1 2845 0
 3896 3fc5 0FB785C8 		movzwl	-65592(%ebp), %eax
 3896      FFFEFF
 3897 3fcc 8D5001   		leal	1(%eax), %edx
 3898 3fcf 668995C8 		movw	%dx, -65592(%ebp)
 3898      FFFEFF
 3899 3fd6 0FB7C0   		movzwl	%ax, %eax
 3900 3fd9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3900      F4FFFEFF 
 3901 3fe1 0FB6C0   		movzbl	%al, %eax
 3902 3fe4 660985CA 		orw	%ax, -65590(%ebp)
 3902      FFFEFF
 3903              	.L162:
2846:armor.c       ****       JUMP;
2847:armor.c       ****       
2848:armor.c       ****       
2849:armor.c       ****       L0552://        LDA   ,X                      ; 0552: A6 84         
2850:armor.c       ****       A = memory[X];
 3904              		.loc 1 2850 0
 3905 3feb 0FB785C6 		movzwl	-65594(%ebp), %eax
 3905      FFFEFF
 3906 3ff2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3906      F4FFFEFF 
 3907 3ffa 0FB6C0   		movzbl	%al, %eax
 3908 3ffd 8985E0FF 		movl	%eax, -65568(%ebp)
 3908      FEFF
2851:armor.c       ****   //  N = A;
2852:armor.c       ****       Z = A;
 3909              		.loc 1 2852 0
 3910 4003 8B85E0FF 		movl	-65568(%ebp), %eax
 3910      FEFF
 3911 4009 668985CC 		movw	%ax, -65588(%ebp)
 3911      FFFEFF
2853:armor.c       ****   //  V = 0;
2854:armor.c       ****       
2855:armor.c       ****             //        BEQ   $0568                   ; 0554: 27 12         
2856:armor.c       ****       if (!Z) {
 3912              		.loc 1 2856 0
 3913 4010 6683BDCC 		cmpw	$0, -65588(%ebp)
 3913      FFFEFF00 
 3914 4018 7509     		jne	.L163
GAS LISTING /tmp/ccqXEnet.s 			page 159


2857:armor.c       ****       PC = 0x0568;
 3915              		.loc 1 2857 0
 3916 401a 66C785CA 		movw	$1384, -65590(%ebp)
 3916      FFFEFF68 
 3916      05
 3917              	.L163:
2858:armor.c       ****       JUMP;
2859:armor.c       ****       }
2860:armor.c       ****       
2861:armor.c       ****             //        SUBA  <$89                    ; 0556: 90 89         
2862:armor.c       ****       A = (UINT8)(A - memory_DP[0x89]);
 3918              		.loc 1 2862 0
 3919 4023 8B85E0FF 		movl	-65568(%ebp), %eax
 3919      FEFF
 3920 4029 89C2     		movl	%eax, %edx
 3921 402b 8B85DCFF 		movl	-65572(%ebp), %eax
 3921      FEFF
 3922 4031 05890000 		addl	$137, %eax
 3922      00
 3923 4036 0FB600   		movzbl	(%eax), %eax
 3924 4039 29C2     		subl	%eax, %edx
 3925 403b 89D0     		movl	%edx, %eax
 3926 403d 0FB6C0   		movzbl	%al, %eax
 3927 4040 8985E0FF 		movl	%eax, -65568(%ebp)
 3927      FEFF
2863:armor.c       ****   //  res = A - memory_DP[0x89];
2864:armor.c       ****   //  C = res & 0x100;
2865:armor.c       ****   //  res = (UINT8)res;
2866:armor.c       ****   //  Z = res;
2867:armor.c       ****   //  N = res;
2868:armor.c       ****   //  V = ((A) ^ (memory_DP[0x89])) & ((A) ^ res);
2869:armor.c       ****       
2870:armor.c       ****             //        STA   ,X                      ; 0558: A7 84         
2871:armor.c       ****   //  Z = A;
2872:armor.c       ****   //  N = A;
2873:armor.c       ****   //  V = 0;
2874:armor.c       ****       memory[X] = A;
 3928              		.loc 1 2874 0
 3929 4046 0FB785C6 		movzwl	-65594(%ebp), %eax
 3929      FFFEFF
 3930 404d 8B95E0FF 		movl	-65568(%ebp), %edx
 3930      FEFF
 3931 4053 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3931      FFFEFF
2875:armor.c       ****       
2876:armor.c       ****             //        LDA   $0A,X                   ; 055A: A6 0A         
2877:armor.c       ****       A = memory[(UINT16)(X + 0x000a)];
 3932              		.loc 1 2877 0
 3933 405a 0FB785C6 		movzwl	-65594(%ebp), %eax
 3933      FFFEFF
 3934 4061 83C00A   		addl	$10, %eax
 3935 4064 0FB7C0   		movzwl	%ax, %eax
 3936 4067 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3936      F4FFFEFF 
 3937 406f 0FB6C0   		movzbl	%al, %eax
 3938 4072 8985E0FF 		movl	%eax, -65568(%ebp)
 3938      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 160


2878:armor.c       ****   //  N = A;
2879:armor.c       ****   //  Z = A;
2880:armor.c       ****   //  V = 0;
2881:armor.c       ****       
2882:armor.c       ****             //        ADDA  $FFFD,X                 ; 055C: AB 1D         
2883:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(X + 0xfffd)]);
 3939              		.loc 1 2883 0
 3940 4078 8B85E0FF 		movl	-65568(%ebp), %eax
 3940      FEFF
 3941 407e 89C2     		movl	%eax, %edx
 3942 4080 0FB785C6 		movzwl	-65594(%ebp), %eax
 3942      FFFEFF
 3943 4087 83E803   		subl	$3, %eax
 3944 408a 0FB7C0   		movzwl	%ax, %eax
 3945 408d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3945      F4FFFEFF 
 3946 4095 01D0     		addl	%edx, %eax
 3947 4097 0FB6C0   		movzbl	%al, %eax
 3948 409a 8985E0FF 		movl	%eax, -65568(%ebp)
 3948      FEFF
2884:armor.c       ****       res = A + memory[(UINT16)(X + 0xfffd)];
 3949              		.loc 1 2884 0
 3950 40a0 0FB785C6 		movzwl	-65594(%ebp), %eax
 3950      FFFEFF
 3951 40a7 83E803   		subl	$3, %eax
 3952 40aa 0FB7C0   		movzwl	%ax, %eax
 3953 40ad 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3953      F4FFFEFF 
 3954 40b5 0FB6D0   		movzbl	%al, %edx
 3955 40b8 8B85E0FF 		movl	-65568(%ebp), %eax
 3955      FEFF
 3956 40be 01D0     		addl	%edx, %eax
 3957 40c0 8985E8FF 		movl	%eax, -65560(%ebp)
 3957      FEFF
2885:armor.c       ****       C = res & 0x100;
 3958              		.loc 1 2885 0
 3959 40c6 8B85E8FF 		movl	-65560(%ebp), %eax
 3959      FEFF
 3960 40cc 25000100 		andl	$256, %eax
 3960      00
 3961 40d1 8985ECFF 		movl	%eax, -65556(%ebp)
 3961      FEFF
2886:armor.c       ****       res = (UINT8)res;
 3962              		.loc 1 2886 0
 3963 40d7 8B85E8FF 		movl	-65560(%ebp), %eax
 3963      FEFF
 3964 40dd 0FB6C0   		movzbl	%al, %eax
 3965 40e0 8985E8FF 		movl	%eax, -65560(%ebp)
 3965      FEFF
2887:armor.c       ****   //  Z = res;
2888:armor.c       ****   //  N = res;
2889:armor.c       ****       res = A ^ memory[(UINT16)(X + 0xfffd)] ^ res ^ C;
 3966              		.loc 1 2889 0
 3967 40e6 0FB785C6 		movzwl	-65594(%ebp), %eax
 3967      FFFEFF
 3968 40ed 83E803   		subl	$3, %eax
 3969 40f0 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 161


 3970 40f3 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 3970      F4FFFEFF 
 3971 40fb 0FB6C0   		movzbl	%al, %eax
 3972 40fe 3385E0FF 		xorl	-65568(%ebp), %eax
 3972      FEFF
 3973 4104 3385E8FF 		xorl	-65560(%ebp), %eax
 3973      FEFF
 3974 410a 3385ECFF 		xorl	-65556(%ebp), %eax
 3974      FEFF
 3975 4110 8985E8FF 		movl	%eax, -65560(%ebp)
 3975      FEFF
2890:armor.c       ****       H = res;
 3976              		.loc 1 2890 0
 3977 4116 8B85E8FF 		movl	-65560(%ebp), %eax
 3977      FEFF
 3978 411c 8885C3FF 		movb	%al, -65597(%ebp)
 3978      FEFF
2891:armor.c       ****   //  V = res;
2892:armor.c       ****       
2893:armor.c       ****             //        STA   $0A,X                   ; 055E: A7 0A         
2894:armor.c       ****   //  Z = A;
2895:armor.c       ****   //  N = A;
2896:armor.c       ****   //  V = 0;
2897:armor.c       ****       memory[(UINT16)(X + 0x000a)] = A;
 3979              		.loc 1 2897 0
 3980 4122 0FB785C6 		movzwl	-65594(%ebp), %eax
 3980      FFFEFF
 3981 4129 83C00A   		addl	$10, %eax
 3982 412c 0FB7C0   		movzwl	%ax, %eax
 3983 412f 8B95E0FF 		movl	-65568(%ebp), %edx
 3983      FEFF
 3984 4135 889405F4 		movb	%dl, -65548(%ebp,%eax)
 3984      FFFEFF
2898:armor.c       ****       
2899:armor.c       ****             //        LEAU  $0B,X                   ; 0560: 33 0B         
2900:armor.c       ****       U = (X + 0x000b);
 3985              		.loc 1 2900 0
 3986 413c 0FB785C6 		movzwl	-65594(%ebp), %eax
 3986      FFFEFF
 3987 4143 83C00B   		addl	$11, %eax
 3988 4146 668985CE 		movw	%ax, -65586(%ebp)
 3988      FFFEFF
2901:armor.c       ****       
2902:armor.c       ****             //        LDX   #$0EC8                  ; 0562: 8E 0E C8      
2903:armor.c       ****       X = 0x0ec8;
 3989              		.loc 1 2903 0
 3990 414d 66C785C6 		movw	$3784, -65594(%ebp)
 3990      FFFEFFC8 
 3990      0E
2904:armor.c       ****       Z = X;
 3991              		.loc 1 2904 0
 3992 4156 0FB785C6 		movzwl	-65594(%ebp), %eax
 3992      FFFEFF
 3993 415d 668985CC 		movw	%ax, -65588(%ebp)
 3993      FFFEFF
2905:armor.c       ****       N = (X) >> 8;
 3994              		.loc 1 2905 0
GAS LISTING /tmp/ccqXEnet.s 			page 162


 3995 4164 0FB785C6 		movzwl	-65594(%ebp), %eax
 3995      FFFEFF
 3996 416b 66C1E808 		shrw	$8, %ax
 3997 416f 8885C1FF 		movb	%al, -65599(%ebp)
 3997      FEFF
2906:armor.c       ****       V = 0;
 3998              		.loc 1 2906 0
 3999 4175 C685C2FF 		movb	$0, -65598(%ebp)
 3999      FEFF00
2907:armor.c       ****       
2908:armor.c       ****             //        JMP   Rot_VL_Mode_a           ; 0565: 7E F6 1F      
2909:armor.c       ****       PC = 0xf61f;
 4000              		.loc 1 2909 0
 4001 417c 66C785CA 		movw	$-2529, -65590(%ebp)
 4001      FFFEFF1F 
 4001      F6
 4002              	.L164:
2910:armor.c       ****       JUMP;
2911:armor.c       ****       
2912:armor.c       ****       
2913:armor.c       ****       L0568://        LDY   #$0DA0                  ; 0568: 10 8E 0D A0   
2914:armor.c       ****       Y = 0x0da0;
 4003              		.loc 1 2914 0
 4004 4185 66C785D2 		movw	$3488, -65582(%ebp)
 4004      FFFEFFA0 
 4004      0D
2915:armor.c       ****   //  Z = Y;
2916:armor.c       ****   //  N = (Y) >> 8;
2917:armor.c       ****   //  V = 0;
2918:armor.c       ****       
2919:armor.c       ****             //        LDA   $05,X                   ; 056C: A6 05         
2920:armor.c       ****       A = memory[(UINT16)(X + 0x0005)];
 4005              		.loc 1 2920 0
 4006 418e 0FB785C6 		movzwl	-65594(%ebp), %eax
 4006      FFFEFF
 4007 4195 83C005   		addl	$5, %eax
 4008 4198 0FB7C0   		movzwl	%ax, %eax
 4009 419b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4009      F4FFFEFF 
 4010 41a3 0FB6C0   		movzbl	%al, %eax
 4011 41a6 8985E0FF 		movl	%eax, -65568(%ebp)
 4011      FEFF
2921:armor.c       ****       N = A;
 4012              		.loc 1 2921 0
 4013 41ac 8B85E0FF 		movl	-65568(%ebp), %eax
 4013      FEFF
 4014 41b2 8885C1FF 		movb	%al, -65599(%ebp)
 4014      FEFF
2922:armor.c       ****       Z = A;
 4015              		.loc 1 2922 0
 4016 41b8 8B85E0FF 		movl	-65568(%ebp), %eax
 4016      FEFF
 4017 41be 668985CC 		movw	%ax, -65588(%ebp)
 4017      FFFEFF
2923:armor.c       ****       V = 0;
 4018              		.loc 1 2923 0
 4019 41c5 C685C2FF 		movb	$0, -65598(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 163


 4019      FEFF00
2924:armor.c       ****       
2925:armor.c       ****             //        LBEQ  $0600                   ; 056E: 10 27 00 8E   
2926:armor.c       ****       if (!Z) {
 4020              		.loc 1 2926 0
 4021 41cc 6683BDCC 		cmpw	$0, -65588(%ebp)
 4021      FFFEFF00 
 4022 41d4 7509     		jne	.L165
2927:armor.c       ****       PC = 0x0600;
 4023              		.loc 1 2927 0
 4024 41d6 66C785CA 		movw	$1536, -65590(%ebp)
 4024      FFFEFF00 
 4024      06
 4025              	.L165:
2928:armor.c       ****       JUMP;
2929:armor.c       ****       }
2930:armor.c       ****       
2931:armor.c       ****             //        LEAU  $40,X                   ; 0572: 33 88 40      
2932:armor.c       ****       U = (X + (SINT8)0x40);
 4026              		.loc 1 2932 0
 4027 41df 0FB785C6 		movzwl	-65594(%ebp), %eax
 4027      FFFEFF
 4028 41e6 83C040   		addl	$64, %eax
 4029 41e9 668985CE 		movw	%ax, -65586(%ebp)
 4029      FFFEFF
2933:armor.c       ****       
2934:armor.c       ****             //        CMPU  #$C9C8                  ; 0575: 11 83 C9 C8   
2935:armor.c       ****       res = (U) - (0xc9c8);
 4030              		.loc 1 2935 0
 4031 41f0 0FB785CE 		movzwl	-65586(%ebp), %eax
 4031      FFFEFF
 4032 41f7 2DC8C900 		subl	$51656, %eax
 4032      00
 4033 41fc 8985E8FF 		movl	%eax, -65560(%ebp)
 4033      FEFF
2936:armor.c       ****   //  C = res & 0x10000;
2937:armor.c       ****       res = (UINT16)res;
 4034              		.loc 1 2937 0
 4035 4202 8B85E8FF 		movl	-65560(%ebp), %eax
 4035      FEFF
 4036 4208 0FB7C0   		movzwl	%ax, %eax
 4037 420b 8985E8FF 		movl	%eax, -65560(%ebp)
 4037      FEFF
2938:armor.c       ****       Z = res;
 4038              		.loc 1 2938 0
 4039 4211 8B85E8FF 		movl	-65560(%ebp), %eax
 4039      FEFF
 4040 4217 668985CC 		movw	%ax, -65588(%ebp)
 4040      FFFEFF
2939:armor.c       ****   //  N = res >> 8;
2940:armor.c       ****   //  V = (((U) ^ (0xc9c8)) & ((U) ^ res)) >> 8;
2941:armor.c       ****       
2942:armor.c       ****             //        BNE   $057E                   ; 0579: 26 03         
2943:armor.c       ****       if (Z) {
 4041              		.loc 1 2943 0
 4042 421e 6683BDCC 		cmpw	$0, -65588(%ebp)
 4042      FFFEFF00 
GAS LISTING /tmp/ccqXEnet.s 			page 164


 4043 4226 7409     		je	.L166
2944:armor.c       ****       PC = 0x057e;
 4044              		.loc 1 2944 0
 4045 4228 66C785CA 		movw	$1406, -65590(%ebp)
 4045      FFFEFF7E 
 4045      05
 4046              	.L166:
2945:armor.c       ****       JUMP;
2946:armor.c       ****       }
2947:armor.c       ****       
2948:armor.c       ****             //        LDU   #$C908                  ; 057B: CE C9 08      
2949:armor.c       ****       U = 0xc908;
 4047              		.loc 1 2949 0
 4048 4231 66C785CE 		movw	$-14072, -65586(%ebp)
 4048      FFFEFF08 
 4048      C9
 4049              	.L167:
2950:armor.c       ****   //  Z = U;
2951:armor.c       ****   //  N = (U) >> 8;
2952:armor.c       ****   //  V = 0;
2953:armor.c       ****       
2954:armor.c       ****       L057E://        LDA   $FFF8,U                 ; 057E: A6 58         
2955:armor.c       ****       A = memory[(UINT16)(U + 0xfff8)];
 4050              		.loc 1 2955 0
 4051 423a 0FB785CE 		movzwl	-65586(%ebp), %eax
 4051      FFFEFF
 4052 4241 83E808   		subl	$8, %eax
 4053 4244 0FB7C0   		movzwl	%ax, %eax
 4054 4247 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4054      F4FFFEFF 
 4055 424f 0FB6C0   		movzbl	%al, %eax
 4056 4252 8985E0FF 		movl	%eax, -65568(%ebp)
 4056      FEFF
2956:armor.c       ****       N = A;
 4057              		.loc 1 2956 0
 4058 4258 8B85E0FF 		movl	-65568(%ebp), %eax
 4058      FEFF
 4059 425e 8885C1FF 		movb	%al, -65599(%ebp)
 4059      FEFF
2957:armor.c       ****       Z = A;
 4060              		.loc 1 2957 0
 4061 4264 8B85E0FF 		movl	-65568(%ebp), %eax
 4061      FEFF
 4062 426a 668985CC 		movw	%ax, -65588(%ebp)
 4062      FFFEFF
2958:armor.c       ****       V = 0;
 4063              		.loc 1 2958 0
 4064 4271 C685C2FF 		movb	$0, -65598(%ebp)
 4064      FEFF00
2959:armor.c       ****       
2960:armor.c       ****             //        BLE   $05DD                   ; 0580: 2F 5B         
2961:armor.c       ****       if (((SINT8)(N^V) <  0) || (!Z)) {
 4065              		.loc 1 2961 0
 4066 4278 0FB685C1 		movzbl	-65599(%ebp), %eax
 4066      FFFEFF
 4067 427f 3285C2FF 		xorb	-65598(%ebp), %al
 4067      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 165


 4068 4285 84C0     		testb	%al, %al
 4069 4287 780A     		js	.L168
 4070              		.loc 1 2961 0 is_stmt 0 discriminator 1
 4071 4289 6683BDCC 		cmpw	$0, -65588(%ebp)
 4071      FFFEFF00 
 4072 4291 7509     		jne	.L169
 4073              	.L168:
2962:armor.c       ****       PC = 0x05dd;
 4074              		.loc 1 2962 0 is_stmt 1
 4075 4293 66C785CA 		movw	$1501, -65590(%ebp)
 4075      FFFEFFDD 
 4075      05
 4076              	.L169:
2963:armor.c       ****       JUMP;
2964:armor.c       ****       }
2965:armor.c       ****       
2966:armor.c       ****             //        LDD   $06,U                   ; 0582: EC 46         
2967:armor.c       ****       A = memory[(UINT16)(U + 0x0006)];
 4077              		.loc 1 2967 0
 4078 429c 0FB785CE 		movzwl	-65586(%ebp), %eax
 4078      FFFEFF
 4079 42a3 83C006   		addl	$6, %eax
 4080 42a6 0FB7C0   		movzwl	%ax, %eax
 4081 42a9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4081      F4FFFEFF 
 4082 42b1 0FB6C0   		movzbl	%al, %eax
 4083 42b4 8985E0FF 		movl	%eax, -65568(%ebp)
 4083      FEFF
2968:armor.c       ****       B = memory[(UINT16)(((UINT16)(U + 0x0006))+1)];
 4084              		.loc 1 2968 0
 4085 42ba 0FB785CE 		movzwl	-65586(%ebp), %eax
 4085      FFFEFF
 4086 42c1 83C007   		addl	$7, %eax
 4087 42c4 0FB7C0   		movzwl	%ax, %eax
 4088 42c7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4088      F4FFFEFF 
 4089 42cf 0FB6C0   		movzbl	%al, %eax
 4090 42d2 8985E4FF 		movl	%eax, -65564(%ebp)
 4090      FEFF
2969:armor.c       ****   //  Z = A|B;
2970:armor.c       ****   //  N = A;
2971:armor.c       ****   //  V = 0;
2972:armor.c       ****       
2973:armor.c       ****             //        SUBA  $06,X                   ; 0584: A0 06         
2974:armor.c       ****       A = (UINT8)(A - memory[(UINT16)(X + 0x0006)]);
 4091              		.loc 1 2974 0
 4092 42d8 8B85E0FF 		movl	-65568(%ebp), %eax
 4092      FEFF
 4093 42de 89C2     		movl	%eax, %edx
 4094 42e0 0FB785C6 		movzwl	-65594(%ebp), %eax
 4094      FFFEFF
 4095 42e7 83C006   		addl	$6, %eax
 4096 42ea 0FB7C0   		movzwl	%ax, %eax
 4097 42ed 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4097      F4FFFEFF 
 4098 42f5 29C2     		subl	%eax, %edx
 4099 42f7 89D0     		movl	%edx, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 166


 4100 42f9 0FB6C0   		movzbl	%al, %eax
 4101 42fc 8985E0FF 		movl	%eax, -65568(%ebp)
 4101      FEFF
2975:armor.c       ****       res = A - memory[(UINT16)(X + 0x0006)];
 4102              		.loc 1 2975 0
 4103 4302 0FB785C6 		movzwl	-65594(%ebp), %eax
 4103      FFFEFF
 4104 4309 83C006   		addl	$6, %eax
 4105 430c 0FB7C0   		movzwl	%ax, %eax
 4106 430f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4106      F4FFFEFF 
 4107 4317 0FB6C0   		movzbl	%al, %eax
 4108 431a 8B95E0FF 		movl	-65568(%ebp), %edx
 4108      FEFF
 4109 4320 29C2     		subl	%eax, %edx
 4110 4322 89D0     		movl	%edx, %eax
 4111 4324 8985E8FF 		movl	%eax, -65560(%ebp)
 4111      FEFF
2976:armor.c       ****   //  C = res & 0x100;
2977:armor.c       ****       res = (UINT8)res;
 4112              		.loc 1 2977 0
 4113 432a 8B85E8FF 		movl	-65560(%ebp), %eax
 4113      FEFF
 4114 4330 0FB6C0   		movzbl	%al, %eax
 4115 4333 8985E8FF 		movl	%eax, -65560(%ebp)
 4115      FEFF
2978:armor.c       ****   //  Z = res;
2979:armor.c       ****   //  N = res;
2980:armor.c       ****       V = ((A) ^ (memory[(UINT16)(X + 0x0006)])) & ((A) ^ res);
 4116              		.loc 1 2980 0
 4117 4339 0FB785C6 		movzwl	-65594(%ebp), %eax
 4117      FFFEFF
 4118 4340 83C006   		addl	$6, %eax
 4119 4343 0FB7C0   		movzwl	%ax, %eax
 4120 4346 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4120      F4FFFEFF 
 4121 434e 89C2     		movl	%eax, %edx
 4122 4350 8B85E0FF 		movl	-65568(%ebp), %eax
 4122      FEFF
 4123 4356 31C2     		xorl	%eax, %edx
 4124 4358 8B85E0FF 		movl	-65568(%ebp), %eax
 4124      FEFF
 4125 435e 89C1     		movl	%eax, %ecx
 4126 4360 8B85E8FF 		movl	-65560(%ebp), %eax
 4126      FEFF
 4127 4366 31C8     		xorl	%ecx, %eax
 4128 4368 21D0     		andl	%edx, %eax
 4129 436a 8885C2FF 		movb	%al, -65598(%ebp)
 4129      FEFF
2981:armor.c       ****       
2982:armor.c       ****             //        BVS   $05DD                   ; 0586: 29 55         
2983:armor.c       ****       if ((SINT8)V <  0) {
 4130              		.loc 1 2983 0
 4131 4370 0FB685C2 		movzbl	-65598(%ebp), %eax
 4131      FFFEFF
 4132 4377 84C0     		testb	%al, %al
 4133 4379 7909     		jns	.L170
GAS LISTING /tmp/ccqXEnet.s 			page 167


2984:armor.c       ****       PC = 0x05dd;
 4134              		.loc 1 2984 0
 4135 437b 66C785CA 		movw	$1501, -65590(%ebp)
 4135      FFFEFFDD 
 4135      05
 4136              	.L170:
2985:armor.c       ****       JUMP;
2986:armor.c       ****       }
2987:armor.c       ****       
2988:armor.c       ****             //        SUBB  $07,X                   ; 0588: E0 07         
2989:armor.c       ****       B = (UINT8)(B - memory[(UINT16)(X + 0x0007)]);
 4137              		.loc 1 2989 0
 4138 4384 8B85E4FF 		movl	-65564(%ebp), %eax
 4138      FEFF
 4139 438a 89C2     		movl	%eax, %edx
 4140 438c 0FB785C6 		movzwl	-65594(%ebp), %eax
 4140      FFFEFF
 4141 4393 83C007   		addl	$7, %eax
 4142 4396 0FB7C0   		movzwl	%ax, %eax
 4143 4399 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4143      F4FFFEFF 
 4144 43a1 29C2     		subl	%eax, %edx
 4145 43a3 89D0     		movl	%edx, %eax
 4146 43a5 0FB6C0   		movzbl	%al, %eax
 4147 43a8 8985E4FF 		movl	%eax, -65564(%ebp)
 4147      FEFF
2990:armor.c       ****       res = B - memory[(UINT16)(X + 0x0007)];
 4148              		.loc 1 2990 0
 4149 43ae 0FB785C6 		movzwl	-65594(%ebp), %eax
 4149      FFFEFF
 4150 43b5 83C007   		addl	$7, %eax
 4151 43b8 0FB7C0   		movzwl	%ax, %eax
 4152 43bb 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4152      F4FFFEFF 
 4153 43c3 0FB6C0   		movzbl	%al, %eax
 4154 43c6 8B95E4FF 		movl	-65564(%ebp), %edx
 4154      FEFF
 4155 43cc 29C2     		subl	%eax, %edx
 4156 43ce 89D0     		movl	%edx, %eax
 4157 43d0 8985E8FF 		movl	%eax, -65560(%ebp)
 4157      FEFF
2991:armor.c       ****   //  C = res & 0x100;
2992:armor.c       ****       res = (UINT8)res;
 4158              		.loc 1 2992 0
 4159 43d6 8B85E8FF 		movl	-65560(%ebp), %eax
 4159      FEFF
 4160 43dc 0FB6C0   		movzbl	%al, %eax
 4161 43df 8985E8FF 		movl	%eax, -65560(%ebp)
 4161      FEFF
2993:armor.c       ****   //  Z = res;
2994:armor.c       ****   //  N = res;
2995:armor.c       ****       V = ((B) ^ (memory[(UINT16)(X + 0x0007)])) & ((B) ^ res);
 4162              		.loc 1 2995 0
 4163 43e5 0FB785C6 		movzwl	-65594(%ebp), %eax
 4163      FFFEFF
 4164 43ec 83C007   		addl	$7, %eax
 4165 43ef 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 168


 4166 43f2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4166      F4FFFEFF 
 4167 43fa 89C2     		movl	%eax, %edx
 4168 43fc 8B85E4FF 		movl	-65564(%ebp), %eax
 4168      FEFF
 4169 4402 31C2     		xorl	%eax, %edx
 4170 4404 8B85E4FF 		movl	-65564(%ebp), %eax
 4170      FEFF
 4171 440a 89C1     		movl	%eax, %ecx
 4172 440c 8B85E8FF 		movl	-65560(%ebp), %eax
 4172      FEFF
 4173 4412 31C8     		xorl	%ecx, %eax
 4174 4414 21D0     		andl	%edx, %eax
 4175 4416 8885C2FF 		movb	%al, -65598(%ebp)
 4175      FEFF
2996:armor.c       ****       
2997:armor.c       ****             //        BVS   $05DD                   ; 058A: 29 51         
2998:armor.c       ****       if ((SINT8)V <  0) {
 4176              		.loc 1 2998 0
 4177 441c 0FB685C2 		movzbl	-65598(%ebp), %eax
 4177      FFFEFF
 4178 4423 84C0     		testb	%al, %al
 4179 4425 7909     		jns	.L171
2999:armor.c       ****       PC = 0x05dd;
 4180              		.loc 1 2999 0
 4181 4427 66C785CA 		movw	$1501, -65590(%ebp)
 4181      FFFEFFDD 
 4181      05
 4182              	.L171:
3000:armor.c       ****       JUMP;
3001:armor.c       ****       }
3002:armor.c       ****       
3003:armor.c       ****             //        JSR   Abs_a_b                 ; 058C: BD F5 84      
3004:armor.c       ****       memory[--S] = 0x058f & 0xff; memory[--S] = 0x058f >> 8;
 4183              		.loc 1 3004 0
 4184 4430 6683ADC8 		subw	$1, -65592(%ebp)
 4184      FFFEFF01 
 4185 4438 0FB785C8 		movzwl	-65592(%ebp), %eax
 4185      FFFEFF
 4186 443f C68405F4 		movb	$-113, -65548(%ebp,%eax)
 4186      FFFEFF8F 
 4187 4447 6683ADC8 		subw	$1, -65592(%ebp)
 4187      FFFEFF01 
 4188 444f 0FB785C8 		movzwl	-65592(%ebp), %eax
 4188      FFFEFF
 4189 4456 C68405F4 		movb	$5, -65548(%ebp,%eax)
 4189      FFFEFF05 
3005:armor.c       ****       PC = 0xf584;
 4190              		.loc 1 3005 0
 4191 445e 66C785CA 		movw	$-2684, -65590(%ebp)
 4191      FFFEFF84 
 4191      F5
 4192              	.L172:
3006:armor.c       ****       JUMP;
3007:armor.c       ****       
3008:armor.c       ****       L058F://        STD   <$CB                    ; 058F: DD CB         
3009:armor.c       ****   //  Z = A | B;
GAS LISTING /tmp/ccqXEnet.s 			page 169


3010:armor.c       ****   //  N = A;
3011:armor.c       ****   //  V = 0;
3012:armor.c       ****       memory_DP[0xcb] = A;
 4193              		.loc 1 3012 0
 4194 4467 8B85DCFF 		movl	-65572(%ebp), %eax
 4194      FEFF
 4195 446d 05CB0000 		addl	$203, %eax
 4195      00
 4196 4472 8B95E0FF 		movl	-65568(%ebp), %edx
 4196      FEFF
 4197 4478 8810     		movb	%dl, (%eax)
3013:armor.c       ****       memory_DP[0xcb + 1] = B;
 4198              		.loc 1 3013 0
 4199 447a 8B85DCFF 		movl	-65572(%ebp), %eax
 4199      FEFF
 4200 4480 05CC0000 		addl	$204, %eax
 4200      00
 4201 4485 8B95E4FF 		movl	-65564(%ebp), %edx
 4201      FEFF
 4202 448b 8810     		movb	%dl, (%eax)
3014:armor.c       ****       
3015:armor.c       ****             //        TSTA                          ; 0591: 4D            
3016:armor.c       ****       Z = A;
 4203              		.loc 1 3016 0
 4204 448d 8B85E0FF 		movl	-65568(%ebp), %eax
 4204      FEFF
 4205 4493 668985CC 		movw	%ax, -65588(%ebp)
 4205      FFFEFF
3017:armor.c       ****   //  N = A;
3018:armor.c       ****   //  V = 0;
3019:armor.c       ****       
3020:armor.c       ****             //        BEQ   $0597                   ; 0592: 27 03         
3021:armor.c       ****       if (!Z) {
 4206              		.loc 1 3021 0
 4207 449a 6683BDCC 		cmpw	$0, -65588(%ebp)
 4207      FFFEFF00 
 4208 44a2 7509     		jne	.L173
3022:armor.c       ****       PC = 0x0597;
 4209              		.loc 1 3022 0
 4210 44a4 66C785CA 		movw	$1431, -65590(%ebp)
 4210      FFFEFF97 
 4210      05
 4211              	.L173:
3023:armor.c       ****       JUMP;
3024:armor.c       ****       }
3025:armor.c       ****       
3026:armor.c       ****             //        TSTB                          ; 0594: 5D            
3027:armor.c       ****       Z = B;
 4212              		.loc 1 3027 0
 4213 44ad 8B85E4FF 		movl	-65564(%ebp), %eax
 4213      FEFF
 4214 44b3 668985CC 		movw	%ax, -65588(%ebp)
 4214      FFFEFF
3028:armor.c       ****   //  N = B;
3029:armor.c       ****   //  V = 0;
3030:armor.c       ****       
3031:armor.c       ****             //        BNE   $05DD                   ; 0595: 26 46         
GAS LISTING /tmp/ccqXEnet.s 			page 170


3032:armor.c       ****       if (Z) {
 4215              		.loc 1 3032 0
 4216 44ba 6683BDCC 		cmpw	$0, -65588(%ebp)
 4216      FFFEFF00 
 4217 44c2 740B     		je	.L456
3033:armor.c       ****       PC = 0x05dd;
 4218              		.loc 1 3033 0
 4219 44c4 66C785CA 		movw	$1501, -65590(%ebp)
 4219      FFFEFFDD 
 4219      05
 4220 44cd EB01     		jmp	.L174
 4221              	.L456:
3034:armor.c       ****       JUMP;
3035:armor.c       ****       }
3036:armor.c       ****       
3037:armor.c       ****       L0597://        ADDA  <$CC                    ; 0597: 9B CC         
 4222              		.loc 1 3037 0
 4223 44cf 90       		nop
 4224              	.L174:
3038:armor.c       ****       A = (UINT8)(A + memory_DP[0xcc]);
 4225              		.loc 1 3038 0
 4226 44d0 8B85E0FF 		movl	-65568(%ebp), %eax
 4226      FEFF
 4227 44d6 89C2     		movl	%eax, %edx
 4228 44d8 8B85DCFF 		movl	-65572(%ebp), %eax
 4228      FEFF
 4229 44de 05CC0000 		addl	$204, %eax
 4229      00
 4230 44e3 0FB600   		movzbl	(%eax), %eax
 4231 44e6 01D0     		addl	%edx, %eax
 4232 44e8 0FB6C0   		movzbl	%al, %eax
 4233 44eb 8985E0FF 		movl	%eax, -65568(%ebp)
 4233      FEFF
3039:armor.c       ****   //  res = A + memory_DP[0xcc];
3040:armor.c       ****   //  C = res & 0x100;
3041:armor.c       ****   //  res = (UINT8)res;
3042:armor.c       ****   //  Z = res;
3043:armor.c       ****   //  N = res;
3044:armor.c       ****   //  res = A ^ memory_DP[0xcc] ^ res ^ C;
3045:armor.c       ****   //  H = res;
3046:armor.c       ****   //  V = res;
3047:armor.c       ****       
3048:armor.c       ****             //        CMPA  #$0C                    ; 0599: 81 0C         
3049:armor.c       ****       res = A - (SINT8)0x0c;
 4234              		.loc 1 3049 0
 4235 44f1 8B85E0FF 		movl	-65568(%ebp), %eax
 4235      FEFF
 4236 44f7 83E80C   		subl	$12, %eax
 4237 44fa 8985E8FF 		movl	%eax, -65560(%ebp)
 4237      FEFF
3050:armor.c       ****   //  C = res & 0x100;
3051:armor.c       ****       res = (UINT8)res;
 4238              		.loc 1 3051 0
 4239 4500 8B85E8FF 		movl	-65560(%ebp), %eax
 4239      FEFF
 4240 4506 0FB6C0   		movzbl	%al, %eax
 4241 4509 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 171


 4241      FEFF
3052:armor.c       ****       Z = res;
 4242              		.loc 1 3052 0
 4243 450f 8B85E8FF 		movl	-65560(%ebp), %eax
 4243      FEFF
 4244 4515 668985CC 		movw	%ax, -65588(%ebp)
 4244      FFFEFF
3053:armor.c       ****       N = res;
 4245              		.loc 1 3053 0
 4246 451c 8B85E8FF 		movl	-65560(%ebp), %eax
 4246      FEFF
 4247 4522 8885C1FF 		movb	%al, -65599(%ebp)
 4247      FEFF
3054:armor.c       ****       V = (A ^ (SINT8)0x0c) & (A ^ res);
 4248              		.loc 1 3054 0
 4249 4528 8B85E0FF 		movl	-65568(%ebp), %eax
 4249      FEFF
 4250 452e 83F00C   		xorl	$12, %eax
 4251 4531 89C2     		movl	%eax, %edx
 4252 4533 8B85E0FF 		movl	-65568(%ebp), %eax
 4252      FEFF
 4253 4539 89C1     		movl	%eax, %ecx
 4254 453b 8B85E8FF 		movl	-65560(%ebp), %eax
 4254      FEFF
 4255 4541 31C8     		xorl	%ecx, %eax
 4256 4543 21D0     		andl	%edx, %eax
 4257 4545 8885C2FF 		movb	%al, -65598(%ebp)
 4257      FEFF
3055:armor.c       ****       
3056:armor.c       ****             //        BGT   $05DD                   ; 059B: 2E 40         
3057:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 4258              		.loc 1 3057 0
 4259 454b 0FB685C1 		movzbl	-65599(%ebp), %eax
 4259      FFFEFF
 4260 4552 3285C2FF 		xorb	-65598(%ebp), %al
 4260      FEFF
 4261 4558 84C0     		testb	%al, %al
 4262 455a 7813     		js	.L175
 4263              		.loc 1 3057 0 is_stmt 0 discriminator 1
 4264 455c 6683BDCC 		cmpw	$0, -65588(%ebp)
 4264      FFFEFF00 
 4265 4564 7409     		je	.L175
3058:armor.c       ****       PC = 0x05dd;
 4266              		.loc 1 3058 0 is_stmt 1
 4267 4566 66C785CA 		movw	$1501, -65590(%ebp)
 4267      FFFEFFDD 
 4267      05
 4268              	.L175:
3059:armor.c       ****       JUMP;
3060:armor.c       ****       }
3061:armor.c       ****       
3062:armor.c       ****             //        LDA   $03,X                   ; 059D: A6 03         
3063:armor.c       ****       A = memory[(UINT16)(X + 0x0003)];
 4269              		.loc 1 3063 0
 4270 456f 0FB785C6 		movzwl	-65594(%ebp), %eax
 4270      FFFEFF
 4271 4576 83C003   		addl	$3, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 172


 4272 4579 0FB7C0   		movzwl	%ax, %eax
 4273 457c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4273      F4FFFEFF 
 4274 4584 0FB6C0   		movzbl	%al, %eax
 4275 4587 8985E0FF 		movl	%eax, -65568(%ebp)
 4275      FEFF
3064:armor.c       ****   //  N = A;
3065:armor.c       ****   //  Z = A;
3066:armor.c       ****   //  V = 0;
3067:armor.c       ****       
3068:armor.c       ****             //        CMPA  $02,X                   ; 059F: A1 02         
3069:armor.c       ****       res = A - memory[(UINT16)(X + 0x0002)];
 4276              		.loc 1 3069 0
 4277 458d 0FB785C6 		movzwl	-65594(%ebp), %eax
 4277      FFFEFF
 4278 4594 83C002   		addl	$2, %eax
 4279 4597 0FB7C0   		movzwl	%ax, %eax
 4280 459a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4280      F4FFFEFF 
 4281 45a2 0FB6C0   		movzbl	%al, %eax
 4282 45a5 8B95E0FF 		movl	-65568(%ebp), %edx
 4282      FEFF
 4283 45ab 29C2     		subl	%eax, %edx
 4284 45ad 89D0     		movl	%edx, %eax
 4285 45af 8985E8FF 		movl	%eax, -65560(%ebp)
 4285      FEFF
3070:armor.c       ****   //  C = res & 0x100;
3071:armor.c       ****       res = (UINT8)res;
 4286              		.loc 1 3071 0
 4287 45b5 8B85E8FF 		movl	-65560(%ebp), %eax
 4287      FEFF
 4288 45bb 0FB6C0   		movzbl	%al, %eax
 4289 45be 8985E8FF 		movl	%eax, -65560(%ebp)
 4289      FEFF
3072:armor.c       ****       Z = res;
 4290              		.loc 1 3072 0
 4291 45c4 8B85E8FF 		movl	-65560(%ebp), %eax
 4291      FEFF
 4292 45ca 668985CC 		movw	%ax, -65588(%ebp)
 4292      FFFEFF
3073:armor.c       ****   //  N = res;
3074:armor.c       ****   //  V = (A ^ memory[(UINT16)(X + 0x0002)]) & (A ^ res);
3075:armor.c       ****       
3076:armor.c       ****             //        BEQ   $05DD                   ; 05A1: 27 3A         
3077:armor.c       ****       if (!Z) {
 4293              		.loc 1 3077 0
 4294 45d1 6683BDCC 		cmpw	$0, -65588(%ebp)
 4294      FFFEFF00 
 4295 45d9 7509     		jne	.L176
3078:armor.c       ****       PC = 0x05dd;
 4296              		.loc 1 3078 0
 4297 45db 66C785CA 		movw	$1501, -65590(%ebp)
 4297      FFFEFFDD 
 4297      05
 4298              	.L176:
3079:armor.c       ****       JUMP;
3080:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 173


3081:armor.c       ****       
3082:armor.c       ****             //        DECA                          ; 05A3: 4A            
3083:armor.c       ****       res = (UINT8)(A - 1);
 4299              		.loc 1 3083 0
 4300 45e4 8B85E0FF 		movl	-65568(%ebp), %eax
 4300      FEFF
 4301 45ea 83E801   		subl	$1, %eax
 4302 45ed 0FB6C0   		movzbl	%al, %eax
 4303 45f0 8985E8FF 		movl	%eax, -65560(%ebp)
 4303      FEFF
3084:armor.c       ****   //  N = res;
3085:armor.c       ****   //  Z = res;
3086:armor.c       ****   //  V = A & ~res;
3087:armor.c       ****       A = res;
 4304              		.loc 1 3087 0
 4305 45f6 8B85E8FF 		movl	-65560(%ebp), %eax
 4305      FEFF
 4306 45fc 8985E0FF 		movl	%eax, -65568(%ebp)
 4306      FEFF
3088:armor.c       ****       
3089:armor.c       ****             //        LDB   #$08                    ; 05A4: C6 08         
3090:armor.c       ****       B = (SINT8)0x08;
 4307              		.loc 1 3090 0
 4308 4602 C785E4FF 		movl	$8, -65564(%ebp)
 4308      FEFF0800 
 4308      0000
3091:armor.c       ****   //  N = B;
3092:armor.c       ****   //  Z = B;
3093:armor.c       ****   //  V = 0;
3094:armor.c       ****       
3095:armor.c       ****             //        MUL                           ; 05A6: 3D            
3096:armor.c       ****       res = (UINT16)(A * B);
 4309              		.loc 1 3096 0
 4310 460c 8B85E0FF 		movl	-65568(%ebp), %eax
 4310      FEFF
 4311 4612 89C2     		movl	%eax, %edx
 4312 4614 8B85E4FF 		movl	-65564(%ebp), %eax
 4312      FEFF
 4313 461a 0FAFC2   		imull	%edx, %eax
 4314 461d 0FB7C0   		movzwl	%ax, %eax
 4315 4620 8985E8FF 		movl	%eax, -65560(%ebp)
 4315      FEFF
3097:armor.c       ****   //  Z = res;
3098:armor.c       ****   //  C = res & 0x80; /* ??? 8000 ??? */
3099:armor.c       ****       A = res >> 8;
 4316              		.loc 1 3099 0
 4317 4626 8B85E8FF 		movl	-65560(%ebp), %eax
 4317      FEFF
 4318 462c C1F808   		sarl	$8, %eax
 4319 462f 8985E0FF 		movl	%eax, -65568(%ebp)
 4319      FEFF
3100:armor.c       ****       B = (UINT8)res;
 4320              		.loc 1 3100 0
 4321 4635 8B85E8FF 		movl	-65560(%ebp), %eax
 4321      FEFF
 4322 463b 0FB6C0   		movzbl	%al, %eax
 4323 463e 8985E4FF 		movl	%eax, -65564(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 174


 4323      FEFF
3101:armor.c       ****       
3102:armor.c       ****             //        LEAY  $04,Y                   ; 05A7: 31 24         
3103:armor.c       ****       Y = (Y + 0x0004);
 4324              		.loc 1 3103 0
 4325 4644 668385D2 		addw	$4, -65582(%ebp)
 4325      FFFEFF04 
3104:armor.c       ****   //  Z = Y;
3105:armor.c       ****       
3106:armor.c       ****             //        LEAY  D,Y                     ; 05A9: 31 AB         
3107:armor.c       ****       Y = (Y + D);
 4326              		.loc 1 3107 0
 4327 464c 8B85F0FF 		movl	-65552(%ebp), %eax
 4327      FEFF
 4328 4652 660185D2 		addw	%ax, -65582(%ebp)
 4328      FFFEFF
3108:armor.c       ****   //  Z = Y;
3109:armor.c       ****       
3110:armor.c       ****             //        LDB   $04,X                   ; 05AB: E6 04         
3111:armor.c       ****       B = memory[(UINT16)(X + 0x0004)];
 4329              		.loc 1 3111 0
 4330 4659 0FB785C6 		movzwl	-65594(%ebp), %eax
 4330      FFFEFF
 4331 4660 83C004   		addl	$4, %eax
 4332 4663 0FB7C0   		movzwl	%ax, %eax
 4333 4666 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4333      F4FFFEFF 
 4334 466e 0FB6C0   		movzbl	%al, %eax
 4335 4671 8985E4FF 		movl	%eax, -65564(%ebp)
 4335      FEFF
3112:armor.c       ****   //  N = B;
3113:armor.c       ****   //  Z = B;
3114:armor.c       ****   //  V = 0;
3115:armor.c       ****       
3116:armor.c       ****             //        LDA   B,Y                     ; 05AD: A6 A5         
3117:armor.c       ****       A = memory[(UINT16)(Y + (SINT8)B)];
 4336              		.loc 1 3117 0
 4337 4677 8B85E4FF 		movl	-65564(%ebp), %eax
 4337      FEFF
 4338 467d 660FBED0 		movsbw	%al, %dx
 4339 4681 0FB785D2 		movzwl	-65582(%ebp), %eax
 4339      FFFEFF
 4340 4688 01D0     		addl	%edx, %eax
 4341 468a 0FB7C0   		movzwl	%ax, %eax
 4342 468d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4342      F4FFFEFF 
 4343 4695 0FB6C0   		movzbl	%al, %eax
 4344 4698 8985E0FF 		movl	%eax, -65568(%ebp)
 4344      FEFF
3118:armor.c       ****   //  N = A;
3119:armor.c       ****   //  Z = A;
3120:armor.c       ****   //  V = 0;
3121:armor.c       ****       
3122:armor.c       ****             //        SUBA  $05,X                   ; 05AF: A0 05         
3123:armor.c       ****       A = (UINT8)(A - memory[(UINT16)(X + 0x0005)]);
 4345              		.loc 1 3123 0
 4346 469e 8B85E0FF 		movl	-65568(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 175


 4346      FEFF
 4347 46a4 89C2     		movl	%eax, %edx
 4348 46a6 0FB785C6 		movzwl	-65594(%ebp), %eax
 4348      FFFEFF
 4349 46ad 83C005   		addl	$5, %eax
 4350 46b0 0FB7C0   		movzwl	%ax, %eax
 4351 46b3 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4351      F4FFFEFF 
 4352 46bb 29C2     		subl	%eax, %edx
 4353 46bd 89D0     		movl	%edx, %eax
 4354 46bf 0FB6C0   		movzbl	%al, %eax
 4355 46c2 8985E0FF 		movl	%eax, -65568(%ebp)
 4355      FEFF
3124:armor.c       ****       res = A - memory[(UINT16)(X + 0x0005)];
 4356              		.loc 1 3124 0
 4357 46c8 0FB785C6 		movzwl	-65594(%ebp), %eax
 4357      FFFEFF
 4358 46cf 83C005   		addl	$5, %eax
 4359 46d2 0FB7C0   		movzwl	%ax, %eax
 4360 46d5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4360      F4FFFEFF 
 4361 46dd 0FB6C0   		movzbl	%al, %eax
 4362 46e0 8B95E0FF 		movl	-65568(%ebp), %edx
 4362      FEFF
 4363 46e6 29C2     		subl	%eax, %edx
 4364 46e8 89D0     		movl	%edx, %eax
 4365 46ea 8985E8FF 		movl	%eax, -65560(%ebp)
 4365      FEFF
3125:armor.c       ****   //  C = res & 0x100;
3126:armor.c       ****       res = (UINT8)res;
 4366              		.loc 1 3126 0
 4367 46f0 8B85E8FF 		movl	-65560(%ebp), %eax
 4367      FEFF
 4368 46f6 0FB6C0   		movzbl	%al, %eax
 4369 46f9 8985E8FF 		movl	%eax, -65560(%ebp)
 4369      FEFF
3127:armor.c       ****       Z = res;
 4370              		.loc 1 3127 0
 4371 46ff 8B85E8FF 		movl	-65560(%ebp), %eax
 4371      FEFF
 4372 4705 668985CC 		movw	%ax, -65588(%ebp)
 4372      FFFEFF
3128:armor.c       ****   //  N = res;
3129:armor.c       ****   //  V = ((A) ^ (memory[(UINT16)(X + 0x0005)])) & ((A) ^ res);
3130:armor.c       ****       
3131:armor.c       ****             //        BEQ   $05DD                   ; 05B1: 27 2A         
3132:armor.c       ****       if (!Z) {
 4373              		.loc 1 3132 0
 4374 470c 6683BDCC 		cmpw	$0, -65588(%ebp)
 4374      FFFEFF00 
 4375 4714 7509     		jne	.L177
3133:armor.c       ****       PC = 0x05dd;
 4376              		.loc 1 3133 0
 4377 4716 66C785CA 		movw	$1501, -65590(%ebp)
 4377      FFFEFFDD 
 4377      05
 4378              	.L177:
GAS LISTING /tmp/ccqXEnet.s 			page 176


3134:armor.c       ****       JUMP;
3135:armor.c       ****       }
3136:armor.c       ****       
3137:armor.c       ****             //        STA   $05,X                   ; 05B3: A7 05         
3138:armor.c       ****   //  Z = A;
3139:armor.c       ****   //  N = A;
3140:armor.c       ****   //  V = 0;
3141:armor.c       ****       memory[(UINT16)(X + 0x0005)] = A;
 4379              		.loc 1 3141 0
 4380 471f 0FB785C6 		movzwl	-65594(%ebp), %eax
 4380      FFFEFF
 4381 4726 83C005   		addl	$5, %eax
 4382 4729 0FB7C0   		movzwl	%ax, %eax
 4383 472c 8B95E0FF 		movl	-65568(%ebp), %edx
 4383      FEFF
 4384 4732 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4384      FFFEFF
3142:armor.c       ****       
3143:armor.c       ****             //        ADDB  #$02                    ; 05B5: CB 02         
3144:armor.c       ****       B = (UINT8)(B + (SINT8)0x02);
 4385              		.loc 1 3144 0
 4386 4739 8B85E4FF 		movl	-65564(%ebp), %eax
 4386      FEFF
 4387 473f 83C002   		addl	$2, %eax
 4388 4742 0FB6C0   		movzbl	%al, %eax
 4389 4745 8985E4FF 		movl	%eax, -65564(%ebp)
 4389      FEFF
3145:armor.c       ****   //  res = B + (SINT8)0x02;
3146:armor.c       ****   //  C = res & 0x100;
3147:armor.c       ****   //  res = (UINT8)res;
3148:armor.c       ****   //  Z = res;
3149:armor.c       ****   //  N = res;
3150:armor.c       ****   //  res = B ^ (SINT8)0x02 ^ res ^ C;
3151:armor.c       ****   //  H = res;
3152:armor.c       ****   //  V = res;
3153:armor.c       ****       
3154:armor.c       ****             //        ANDB  #$03                    ; 05B7: C4 03         
3155:armor.c       ****       B = B & (SINT8)0x03;
 4390              		.loc 1 3155 0
 4391 474b 83A5E4FF 		andl	$3, -65564(%ebp)
 4391      FEFF03
3156:armor.c       ****   //  Z = B;
3157:armor.c       ****   //  N = B;
3158:armor.c       ****   //  V = 0;
3159:armor.c       ****       
3160:armor.c       ****             //        STB   $04,X                   ; 05B9: E7 04         
3161:armor.c       ****   //  Z = B;
3162:armor.c       ****   //  N = B;
3163:armor.c       ****   //  V = 0;
3164:armor.c       ****       memory[(UINT16)(X + 0x0004)] = B;
 4392              		.loc 1 3164 0
 4393 4752 0FB785C6 		movzwl	-65594(%ebp), %eax
 4393      FFFEFF
 4394 4759 83C004   		addl	$4, %eax
 4395 475c 0FB7C0   		movzwl	%ax, %eax
 4396 475f 8B95E4FF 		movl	-65564(%ebp), %edx
 4396      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 177


 4397 4765 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4397      FFFEFF
3165:armor.c       ****       
3166:armor.c       ****             //        LEAY  $FFFC,Y                 ; 05BB: 31 3C         
3167:armor.c       ****       Y = (Y + 0xfffc);
 4398              		.loc 1 3167 0
 4399 476c 6683ADD2 		subw	$4, -65582(%ebp)
 4399      FFFEFF04 
3168:armor.c       ****   //  Z = Y;
3169:armor.c       ****       
3170:armor.c       ****             //        INCB                          ; 05BD: 5C            
3171:armor.c       ****       res = (UINT8)((B) + 1);
 4400              		.loc 1 3171 0
 4401 4774 8B85E4FF 		movl	-65564(%ebp), %eax
 4401      FEFF
 4402 477a 83C001   		addl	$1, %eax
 4403 477d 0FB6C0   		movzbl	%al, %eax
 4404 4780 8985E8FF 		movl	%eax, -65560(%ebp)
 4404      FEFF
3172:armor.c       ****   //  Z = res;
3173:armor.c       ****   //  N = res;
3174:armor.c       ****   //  V = res & ~(B);
3175:armor.c       ****       B = res;
 4405              		.loc 1 3175 0
 4406 4786 8B85E8FF 		movl	-65560(%ebp), %eax
 4406      FEFF
 4407 478c 8985E4FF 		movl	%eax, -65564(%ebp)
 4407      FEFF
3176:armor.c       ****       
3177:armor.c       ****             //        ANDB  #$03                    ; 05BE: C4 03         
3178:armor.c       ****       B = B & (SINT8)0x03;
 4408              		.loc 1 3178 0
 4409 4792 83A5E4FF 		andl	$3, -65564(%ebp)
 4409      FEFF03
3179:armor.c       ****   //  Z = B;
3180:armor.c       ****   //  N = B;
3181:armor.c       ****   //  V = 0;
3182:armor.c       ****       
3183:armor.c       ****             //        LDA   B,Y                     ; 05C0: A6 A5         
3184:armor.c       ****       A = memory[(UINT16)(Y + (SINT8)B)];
 4410              		.loc 1 3184 0
 4411 4799 8B85E4FF 		movl	-65564(%ebp), %eax
 4411      FEFF
 4412 479f 660FBED0 		movsbw	%al, %dx
 4413 47a3 0FB785D2 		movzwl	-65582(%ebp), %eax
 4413      FFFEFF
 4414 47aa 01D0     		addl	%edx, %eax
 4415 47ac 0FB7C0   		movzwl	%ax, %eax
 4416 47af 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4416      F4FFFEFF 
 4417 47b7 0FB6C0   		movzbl	%al, %eax
 4418 47ba 8985E0FF 		movl	%eax, -65568(%ebp)
 4418      FEFF
3185:armor.c       ****   //  N = A;
3186:armor.c       ****       Z = A;
 4419              		.loc 1 3186 0
 4420 47c0 8B85E0FF 		movl	-65568(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 178


 4420      FEFF
 4421 47c6 668985CC 		movw	%ax, -65588(%ebp)
 4421      FFFEFF
3187:armor.c       ****   //  V = 0;
3188:armor.c       ****       
3189:armor.c       ****             //        BNE   $05CF                   ; 05C2: 26 0B         
3190:armor.c       ****       if (Z) {
 4422              		.loc 1 3190 0
 4423 47cd 6683BDCC 		cmpw	$0, -65588(%ebp)
 4423      FFFEFF00 
 4424 47d5 7409     		je	.L178
3191:armor.c       ****       PC = 0x05cf;
 4425              		.loc 1 3191 0
 4426 47d7 66C785CA 		movw	$1487, -65590(%ebp)
 4426      FFFEFFCF 
 4426      05
 4427              	.L178:
3192:armor.c       ****       JUMP;
3193:armor.c       ****       }
3194:armor.c       ****       
3195:armor.c       ****             //        INCB                          ; 05C4: 5C            
3196:armor.c       ****       res = (UINT8)((B) + 1);
 4428              		.loc 1 3196 0
 4429 47e0 8B85E4FF 		movl	-65564(%ebp), %eax
 4429      FEFF
 4430 47e6 83C001   		addl	$1, %eax
 4431 47e9 0FB6C0   		movzbl	%al, %eax
 4432 47ec 8985E8FF 		movl	%eax, -65560(%ebp)
 4432      FEFF
3197:armor.c       ****   //  Z = res;
3198:armor.c       ****   //  N = res;
3199:armor.c       ****   //  V = res & ~(B);
3200:armor.c       ****       B = res;
 4433              		.loc 1 3200 0
 4434 47f2 8B85E8FF 		movl	-65560(%ebp), %eax
 4434      FEFF
 4435 47f8 8985E4FF 		movl	%eax, -65564(%ebp)
 4435      FEFF
3201:armor.c       ****       
3202:armor.c       ****             //        INCB                          ; 05C5: 5C            
3203:armor.c       ****       res = (UINT8)((B) + 1);
 4436              		.loc 1 3203 0
 4437 47fe 8B85E4FF 		movl	-65564(%ebp), %eax
 4437      FEFF
 4438 4804 83C001   		addl	$1, %eax
 4439 4807 0FB6C0   		movzbl	%al, %eax
 4440 480a 8985E8FF 		movl	%eax, -65560(%ebp)
 4440      FEFF
3204:armor.c       ****   //  Z = res;
3205:armor.c       ****   //  N = res;
3206:armor.c       ****   //  V = res & ~(B);
3207:armor.c       ****       B = res;
 4441              		.loc 1 3207 0
 4442 4810 8B85E8FF 		movl	-65560(%ebp), %eax
 4442      FEFF
 4443 4816 8985E4FF 		movl	%eax, -65564(%ebp)
 4443      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 179


3208:armor.c       ****       
3209:armor.c       ****             //        ANDB  #$03                    ; 05C6: C4 03         
3210:armor.c       ****       B = B & (SINT8)0x03;
 4444              		.loc 1 3210 0
 4445 481c 83A5E4FF 		andl	$3, -65564(%ebp)
 4445      FEFF03
3211:armor.c       ****   //  Z = B;
3212:armor.c       ****   //  N = B;
3213:armor.c       ****   //  V = 0;
3214:armor.c       ****       
3215:armor.c       ****             //        LDA   B,Y                     ; 05C8: A6 A5         
3216:armor.c       ****       A = memory[(UINT16)(Y + (SINT8)B)];
 4446              		.loc 1 3216 0
 4447 4823 8B85E4FF 		movl	-65564(%ebp), %eax
 4447      FEFF
 4448 4829 660FBED0 		movsbw	%al, %dx
 4449 482d 0FB785D2 		movzwl	-65582(%ebp), %eax
 4449      FFFEFF
 4450 4834 01D0     		addl	%edx, %eax
 4451 4836 0FB7C0   		movzwl	%ax, %eax
 4452 4839 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4452      F4FFFEFF 
 4453 4841 0FB6C0   		movzbl	%al, %eax
 4454 4844 8985E0FF 		movl	%eax, -65568(%ebp)
 4454      FEFF
3217:armor.c       ****   //  N = A;
3218:armor.c       ****       Z = A;
 4455              		.loc 1 3218 0
 4456 484a 8B85E0FF 		movl	-65568(%ebp), %eax
 4456      FEFF
 4457 4850 668985CC 		movw	%ax, -65588(%ebp)
 4457      FFFEFF
3219:armor.c       ****   //  V = 0;
3220:armor.c       ****       
3221:armor.c       ****             //        BNE   $05CF                   ; 05CA: 26 03         
3222:armor.c       ****       if (Z) {
 4458              		.loc 1 3222 0
 4459 4857 6683BDCC 		cmpw	$0, -65588(%ebp)
 4459      FFFEFF00 
 4460 485f 7409     		je	.L179
3223:armor.c       ****       PC = 0x05cf;
 4461              		.loc 1 3223 0
 4462 4861 66C785CA 		movw	$1487, -65590(%ebp)
 4462      FFFEFFCF 
 4462      05
 4463              	.L179:
3224:armor.c       ****       JUMP;
3225:armor.c       ****       }
3226:armor.c       ****       
3227:armor.c       ****             //        INCB                          ; 05CC: 5C            
3228:armor.c       ****       res = (UINT8)((B) + 1);
 4464              		.loc 1 3228 0
 4465 486a 8B85E4FF 		movl	-65564(%ebp), %eax
 4465      FEFF
 4466 4870 83C001   		addl	$1, %eax
 4467 4873 0FB6C0   		movzbl	%al, %eax
 4468 4876 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 180


 4468      FEFF
3229:armor.c       ****   //  Z = res;
3230:armor.c       ****   //  N = res;
3231:armor.c       ****   //  V = res & ~(B);
3232:armor.c       ****       B = res;
 4469              		.loc 1 3232 0
 4470 487c 8B85E8FF 		movl	-65560(%ebp), %eax
 4470      FEFF
 4471 4882 8985E4FF 		movl	%eax, -65564(%ebp)
 4471      FEFF
3233:armor.c       ****       
3234:armor.c       ****             //        ANDB  #$03                    ; 05CD: C4 03         
3235:armor.c       ****       B = B & (SINT8)0x03;
 4472              		.loc 1 3235 0
 4473 4888 83A5E4FF 		andl	$3, -65564(%ebp)
 4473      FEFF03
 4474              	.L180:
3236:armor.c       ****   //  Z = B;
3237:armor.c       ****   //  N = B;
3238:armor.c       ****   //  V = 0;
3239:armor.c       ****       
3240:armor.c       ****       L05CF://        STB   $FFFC,X                 ; 05CF: E7 1C         
3241:armor.c       ****   //  Z = B;
3242:armor.c       ****   //  N = B;
3243:armor.c       ****   //  V = 0;
3244:armor.c       ****       memory[(UINT16)(X + 0xfffc)] = B;
 4475              		.loc 1 3244 0
 4476 488f 0FB785C6 		movzwl	-65594(%ebp), %eax
 4476      FFFEFF
 4477 4896 83E804   		subl	$4, %eax
 4478 4899 0FB7C0   		movzwl	%ax, %eax
 4479 489c 8B95E4FF 		movl	-65564(%ebp), %edx
 4479      FEFF
 4480 48a2 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4480      FFFEFF
3245:armor.c       ****       
3246:armor.c       ****             //        NEG   $08,X                   ; 05D1: 60 08         
3247:armor.c       ****   //  V = (UINT8)(-memory[(UINT16)(X + 0x0008)]) & (memory[(UINT16)(X + 0x0008)]);
3248:armor.c       ****       memory[(UINT16)(X + 0x0008)] = (UINT8)(-memory[(UINT16)(X + 0x0008)]);
 4481              		.loc 1 3248 0
 4482 48a9 0FB785C6 		movzwl	-65594(%ebp), %eax
 4482      FFFEFF
 4483 48b0 83C008   		addl	$8, %eax
 4484 48b3 0FB7C0   		movzwl	%ax, %eax
 4485 48b6 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
 4485      F4FFFEFF 
 4486 48be 0FB785C6 		movzwl	-65594(%ebp), %eax
 4486      FFFEFF
 4487 48c5 83C008   		addl	$8, %eax
 4488 48c8 0FB7C0   		movzwl	%ax, %eax
 4489 48cb F7DA     		negl	%edx
 4490 48cd 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4490      FFFEFF
3249:armor.c       ****   //  Z = memory[(UINT16)(X + 0x0008)];
3250:armor.c       ****   //  N = memory[(UINT16)(X + 0x0008)];
3251:armor.c       ****   //  C = memory[(UINT16)(X + 0x0008)];
3252:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 181


3253:armor.c       ****             //        NEG   $09,X                   ; 05D3: 60 09         
3254:armor.c       ****   //  V = (UINT8)(-memory[(UINT16)(X + 0x0009)]) & (memory[(UINT16)(X + 0x0009)]);
3255:armor.c       ****       memory[(UINT16)(X + 0x0009)] = (UINT8)(-memory[(UINT16)(X + 0x0009)]);
 4491              		.loc 1 3255 0
 4492 48d4 0FB785C6 		movzwl	-65594(%ebp), %eax
 4492      FFFEFF
 4493 48db 83C009   		addl	$9, %eax
 4494 48de 0FB7C0   		movzwl	%ax, %eax
 4495 48e1 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
 4495      F4FFFEFF 
 4496 48e9 0FB785C6 		movzwl	-65594(%ebp), %eax
 4496      FFFEFF
 4497 48f0 83C009   		addl	$9, %eax
 4498 48f3 0FB7C0   		movzwl	%ax, %eax
 4499 48f6 F7DA     		negl	%edx
 4500 48f8 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4500      FFFEFF
3256:armor.c       ****   //  Z = memory[(UINT16)(X + 0x0009)];
3257:armor.c       ****   //  N = memory[(UINT16)(X + 0x0009)];
3258:armor.c       ****   //  C = memory[(UINT16)(X + 0x0009)];
3259:armor.c       ****       
3260:armor.c       ****             //        CLR   $FFFF,X                 ; 05D5: 6F 1F         
3261:armor.c       ****       memory[(UINT16)(X + 0xffff)] = 0;
 4501              		.loc 1 3261 0
 4502 48ff 0FB785C6 		movzwl	-65594(%ebp), %eax
 4502      FFFEFF
 4503 4906 83E801   		subl	$1, %eax
 4504 4909 0FB7C0   		movzwl	%ax, %eax
 4505 490c C68405F4 		movb	$0, -65548(%ebp,%eax)
 4505      FFFEFF00 
3262:armor.c       ****   //  V = 0;
3263:armor.c       ****   //  Z = 0;
3264:armor.c       ****   //  N = 0;
3265:armor.c       ****   //  C = 0;
3266:armor.c       ****       
3267:armor.c       ****             //        LDD   $02,X                   ; 05D7: EC 02         
3268:armor.c       ****       A = memory[(UINT16)(X + 0x0002)];
 4506              		.loc 1 3268 0
 4507 4914 0FB785C6 		movzwl	-65594(%ebp), %eax
 4507      FFFEFF
 4508 491b 83C002   		addl	$2, %eax
 4509 491e 0FB7C0   		movzwl	%ax, %eax
 4510 4921 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4510      F4FFFEFF 
 4511 4929 0FB6C0   		movzbl	%al, %eax
 4512 492c 8985E0FF 		movl	%eax, -65568(%ebp)
 4512      FEFF
3269:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0002))+1)];
 4513              		.loc 1 3269 0
 4514 4932 0FB785C6 		movzwl	-65594(%ebp), %eax
 4514      FFFEFF
 4515 4939 83C003   		addl	$3, %eax
 4516 493c 0FB7C0   		movzwl	%ax, %eax
 4517 493f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4517      F4FFFEFF 
 4518 4947 0FB6C0   		movzbl	%al, %eax
 4519 494a 8985E4FF 		movl	%eax, -65564(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 182


 4519      FEFF
3270:armor.c       ****   //  Z = A|B;
3271:armor.c       ****   //  N = A;
3272:armor.c       ****   //  V = 0;
3273:armor.c       ****       
3274:armor.c       ****             //        STA   $03,X                   ; 05D9: A7 03         
3275:armor.c       ****   //  Z = A;
3276:armor.c       ****   //  N = A;
3277:armor.c       ****   //  V = 0;
3278:armor.c       ****       memory[(UINT16)(X + 0x0003)] = A;
 4520              		.loc 1 3278 0
 4521 4950 0FB785C6 		movzwl	-65594(%ebp), %eax
 4521      FFFEFF
 4522 4957 83C003   		addl	$3, %eax
 4523 495a 0FB7C0   		movzwl	%ax, %eax
 4524 495d 8B95E0FF 		movl	-65568(%ebp), %edx
 4524      FEFF
 4525 4963 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4525      FFFEFF
3279:armor.c       ****       
3280:armor.c       ****             //        STB   $02,X                   ; 05DB: E7 02         
3281:armor.c       ****   //  Z = B;
3282:armor.c       ****   //  N = B;
3283:armor.c       ****   //  V = 0;
3284:armor.c       ****       memory[(UINT16)(X + 0x0002)] = B;
 4526              		.loc 1 3284 0
 4527 496a 0FB785C6 		movzwl	-65594(%ebp), %eax
 4527      FFFEFF
 4528 4971 83C002   		addl	$2, %eax
 4529 4974 0FB7C0   		movzwl	%ax, %eax
 4530 4977 8B95E4FF 		movl	-65564(%ebp), %edx
 4530      FEFF
 4531 497d 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4531      FFFEFF
 4532              	.L181:
3285:armor.c       ****       
3286:armor.c       ****       L05DD://        LDA   $05,X                   ; 05DD: A6 05         
3287:armor.c       ****       A = memory[(UINT16)(X + 0x0005)];
 4533              		.loc 1 3287 0
 4534 4984 0FB785C6 		movzwl	-65594(%ebp), %eax
 4534      FFFEFF
 4535 498b 83C005   		addl	$5, %eax
 4536 498e 0FB7C0   		movzwl	%ax, %eax
 4537 4991 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4537      F4FFFEFF 
 4538 4999 0FB6C0   		movzbl	%al, %eax
 4539 499c 8985E0FF 		movl	%eax, -65568(%ebp)
 4539      FEFF
3288:armor.c       ****   //  N = A;
3289:armor.c       ****   //  Z = A;
3290:armor.c       ****   //  V = 0;
3291:armor.c       ****       
3292:armor.c       ****             //        SUBA  <$88                    ; 05DF: 90 88         
3293:armor.c       ****       A = (UINT8)(A - memory_DP[0x88]);
 4540              		.loc 1 3293 0
 4541 49a2 8B85E0FF 		movl	-65568(%ebp), %eax
 4541      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 183


 4542 49a8 89C2     		movl	%eax, %edx
 4543 49aa 8B85DCFF 		movl	-65572(%ebp), %eax
 4543      FEFF
 4544 49b0 05880000 		addl	$136, %eax
 4544      00
 4545 49b5 0FB600   		movzbl	(%eax), %eax
 4546 49b8 29C2     		subl	%eax, %edx
 4547 49ba 89D0     		movl	%edx, %eax
 4548 49bc 0FB6C0   		movzbl	%al, %eax
 4549 49bf 8985E0FF 		movl	%eax, -65568(%ebp)
 4549      FEFF
3294:armor.c       ****       res = A - memory_DP[0x88];
 4550              		.loc 1 3294 0
 4551 49c5 8B85DCFF 		movl	-65572(%ebp), %eax
 4551      FEFF
 4552 49cb 05880000 		addl	$136, %eax
 4552      00
 4553 49d0 0FB600   		movzbl	(%eax), %eax
 4554 49d3 0FB6C0   		movzbl	%al, %eax
 4555 49d6 8B95E0FF 		movl	-65568(%ebp), %edx
 4555      FEFF
 4556 49dc 29C2     		subl	%eax, %edx
 4557 49de 89D0     		movl	%edx, %eax
 4558 49e0 8985E8FF 		movl	%eax, -65560(%ebp)
 4558      FEFF
3295:armor.c       ****   //  C = res & 0x100;
3296:armor.c       ****       res = (UINT8)res;
 4559              		.loc 1 3296 0
 4560 49e6 8B85E8FF 		movl	-65560(%ebp), %eax
 4560      FEFF
 4561 49ec 0FB6C0   		movzbl	%al, %eax
 4562 49ef 8985E8FF 		movl	%eax, -65560(%ebp)
 4562      FEFF
3297:armor.c       ****   //  Z = res;
3298:armor.c       ****       N = res;
 4563              		.loc 1 3298 0
 4564 49f5 8B85E8FF 		movl	-65560(%ebp), %eax
 4564      FEFF
 4565 49fb 8885C1FF 		movb	%al, -65599(%ebp)
 4565      FEFF
3299:armor.c       ****   //  V = ((A) ^ (memory_DP[0x88])) & ((A) ^ res);
3300:armor.c       ****       
3301:armor.c       ****             //        BPL   $05F3                   ; 05E1: 2A 10         
3302:armor.c       ****       if ((SINT8)N >= 0) {
 4566              		.loc 1 3302 0
 4567 4a01 0FB685C1 		movzbl	-65599(%ebp), %eax
 4567      FFFEFF
 4568 4a08 84C0     		testb	%al, %al
 4569 4a0a 7809     		js	.L182
3303:armor.c       ****       PC = 0x05f3;
 4570              		.loc 1 3303 0
 4571 4a0c 66C785CA 		movw	$1523, -65590(%ebp)
 4571      FFFEFFF3 
 4571      05
 4572              	.L182:
3304:armor.c       ****       JUMP;
3305:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 184


3306:armor.c       ****       
3307:armor.c       ****             //        LEAY  $09,X                   ; 05E3: 31 09         
3308:armor.c       ****       Y = (X + 0x0009);
 4573              		.loc 1 3308 0
 4574 4a15 0FB785C6 		movzwl	-65594(%ebp), %eax
 4574      FFFEFF
 4575 4a1c 83C009   		addl	$9, %eax
 4576 4a1f 668985D2 		movw	%ax, -65582(%ebp)
 4576      FFFEFF
3309:armor.c       ****   //  Z = Y;
3310:armor.c       ****       
3311:armor.c       ****             //        LDB   ,Y                      ; 05E5: E6 A4         
3312:armor.c       ****       B = memory[Y];
 4577              		.loc 1 3312 0
 4578 4a26 0FB785D2 		movzwl	-65582(%ebp), %eax
 4578      FFFEFF
 4579 4a2d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4579      F4FFFEFF 
 4580 4a35 0FB6C0   		movzbl	%al, %eax
 4581 4a38 8985E4FF 		movl	%eax, -65564(%ebp)
 4581      FEFF
3313:armor.c       ****   //  N = B;
3314:armor.c       ****       Z = B;
 4582              		.loc 1 3314 0
 4583 4a3e 8B85E4FF 		movl	-65564(%ebp), %eax
 4583      FEFF
 4584 4a44 668985CC 		movw	%ax, -65588(%ebp)
 4584      FFFEFF
3315:armor.c       ****   //  V = 0;
3316:armor.c       ****       
3317:armor.c       ****             //        BNE   $05EB                   ; 05E7: 26 02         
3318:armor.c       ****       if (Z) {
 4585              		.loc 1 3318 0
 4586 4a4b 6683BDCC 		cmpw	$0, -65588(%ebp)
 4586      FFFEFF00 
 4587 4a53 7409     		je	.L183
3319:armor.c       ****       PC = 0x05eb;
 4588              		.loc 1 3319 0
 4589 4a55 66C785CA 		movw	$1515, -65590(%ebp)
 4589      FFFEFFEB 
 4589      05
 4590              	.L183:
3320:armor.c       ****       JUMP;
3321:armor.c       ****       }
3322:armor.c       ****       
3323:armor.c       ****             //        LDB   ,-Y                     ; 05E9: E6 A2         
3324:armor.c       ****       B = memory[--Y];
 4591              		.loc 1 3324 0
 4592 4a5e 6683ADD2 		subw	$1, -65582(%ebp)
 4592      FFFEFF01 
 4593 4a66 0FB785D2 		movzwl	-65582(%ebp), %eax
 4593      FFFEFF
 4594 4a6d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4594      F4FFFEFF 
 4595 4a75 0FB6C0   		movzbl	%al, %eax
 4596 4a78 8985E4FF 		movl	%eax, -65564(%ebp)
 4596      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 185


3325:armor.c       ****       N = B;
 4597              		.loc 1 3325 0
 4598 4a7e 8B85E4FF 		movl	-65564(%ebp), %eax
 4598      FEFF
 4599 4a84 8885C1FF 		movb	%al, -65599(%ebp)
 4599      FEFF
 4600              	.L184:
3326:armor.c       ****   //  Z = B;
3327:armor.c       ****   //  V = 0;
3328:armor.c       ****       
3329:armor.c       ****       L05EB://        BPL   $05EE                   ; 05EB: 2A 01         
3330:armor.c       ****       if ((SINT8)N >= 0) {
 4601              		.loc 1 3330 0
 4602 4a8a 0FB685C1 		movzbl	-65599(%ebp), %eax
 4602      FFFEFF
 4603 4a91 84C0     		testb	%al, %al
 4604 4a93 7809     		js	.L185
3331:armor.c       ****       PC = 0x05ee;
 4605              		.loc 1 3331 0
 4606 4a95 66C785CA 		movw	$1518, -65590(%ebp)
 4606      FFFEFFEE 
 4606      05
 4607              	.L185:
3332:armor.c       ****       JUMP;
3333:armor.c       ****       }
3334:armor.c       ****       
3335:armor.c       ****             //        NEGA                          ; 05ED: 40            
3336:armor.c       ****   //  V = (UINT8)(-A) & (A);
3337:armor.c       ****       A = (UINT8)(-A);
 4608              		.loc 1 3337 0
 4609 4a9e 8B85E0FF 		movl	-65568(%ebp), %eax
 4609      FEFF
 4610 4aa4 F7D8     		negl	%eax
 4611 4aa6 0FB6C0   		movzbl	%al, %eax
 4612 4aa9 8985E0FF 		movl	%eax, -65568(%ebp)
 4612      FEFF
 4613              	.L186:
3338:armor.c       ****   //  Z = A;
3339:armor.c       ****   //  N = A;
3340:armor.c       ****   //  C = A;
3341:armor.c       ****       
3342:armor.c       ****       L05EE://        ADDA  ,--Y                    ; 05EE: AB A3         
3343:armor.c       ****       Y = Y - 2;
 4614              		.loc 1 3343 0
 4615 4aaf 6683ADD2 		subw	$2, -65582(%ebp)
 4615      FFFEFF02 
3344:armor.c       ****       A = (UINT8)(A + memory[Y]);
 4616              		.loc 1 3344 0
 4617 4ab7 8B85E0FF 		movl	-65568(%ebp), %eax
 4617      FEFF
 4618 4abd 89C2     		movl	%eax, %edx
 4619 4abf 0FB785D2 		movzwl	-65582(%ebp), %eax
 4619      FFFEFF
 4620 4ac6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4620      F4FFFEFF 
 4621 4ace 01D0     		addl	%edx, %eax
 4622 4ad0 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 186


 4623 4ad3 8985E0FF 		movl	%eax, -65568(%ebp)
 4623      FEFF
3345:armor.c       ****   //  res = A + memory[Y];
3346:armor.c       ****   //  C = res & 0x100;
3347:armor.c       ****   //  res = (UINT8)res;
3348:armor.c       ****   //  Z = res;
3349:armor.c       ****   //  N = res;
3350:armor.c       ****   //  res = A ^ memory[Y] ^ res ^ C;
3351:armor.c       ****   //  H = res;
3352:armor.c       ****   //  V = res;
3353:armor.c       ****       
3354:armor.c       ****             //        STA   ,Y                      ; 05F0: A7 A4         
3355:armor.c       ****   //  Z = A;
3356:armor.c       ****   //  N = A;
3357:armor.c       ****   //  V = 0;
3358:armor.c       ****       memory[Y] = A;
 4624              		.loc 1 3358 0
 4625 4ad9 0FB785D2 		movzwl	-65582(%ebp), %eax
 4625      FFFEFF
 4626 4ae0 8B95E0FF 		movl	-65568(%ebp), %edx
 4626      FEFF
 4627 4ae6 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4627      FFFEFF
3359:armor.c       ****       
3360:armor.c       ****             //        CLRA                          ; 05F2: 4F            
3361:armor.c       ****       A = 0;
 4628              		.loc 1 3361 0
 4629 4aed C785E0FF 		movl	$0, -65568(%ebp)
 4629      FEFF0000 
 4629      0000
 4630              	.L187:
3362:armor.c       ****   //  V = 0;
3363:armor.c       ****   //  Z = 0;
3364:armor.c       ****   //  N = 0;
3365:armor.c       ****   //  C = 0;
3366:armor.c       ****       
3367:armor.c       ****       L05F3://        STA   $05,X                   ; 05F3: A7 05         
3368:armor.c       ****   //  Z = A;
3369:armor.c       ****   //  N = A;
3370:armor.c       ****   //  V = 0;
3371:armor.c       ****       memory[(UINT16)(X + 0x0005)] = A;
 4631              		.loc 1 3371 0
 4632 4af7 0FB785C6 		movzwl	-65594(%ebp), %eax
 4632      FFFEFF
 4633 4afe 83C005   		addl	$5, %eax
 4634 4b01 0FB7C0   		movzwl	%ax, %eax
 4635 4b04 8B95E0FF 		movl	-65568(%ebp), %edx
 4635      FEFF
 4636 4b0a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4636      FFFEFF
3372:armor.c       ****       
3373:armor.c       ****             //        LDD   $06,X                   ; 05F5: EC 06         
3374:armor.c       ****       A = memory[(UINT16)(X + 0x0006)];
 4637              		.loc 1 3374 0
 4638 4b11 0FB785C6 		movzwl	-65594(%ebp), %eax
 4638      FFFEFF
 4639 4b18 83C006   		addl	$6, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 187


 4640 4b1b 0FB7C0   		movzwl	%ax, %eax
 4641 4b1e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4641      F4FFFEFF 
 4642 4b26 0FB6C0   		movzbl	%al, %eax
 4643 4b29 8985E0FF 		movl	%eax, -65568(%ebp)
 4643      FEFF
3375:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0006))+1)];
 4644              		.loc 1 3375 0
 4645 4b2f 0FB785C6 		movzwl	-65594(%ebp), %eax
 4645      FFFEFF
 4646 4b36 83C007   		addl	$7, %eax
 4647 4b39 0FB7C0   		movzwl	%ax, %eax
 4648 4b3c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4648      F4FFFEFF 
 4649 4b44 0FB6C0   		movzbl	%al, %eax
 4650 4b47 8985E4FF 		movl	%eax, -65564(%ebp)
 4650      FEFF
3376:armor.c       ****   //  Z = A|B;
3377:armor.c       ****   //  N = A;
3378:armor.c       ****   //  V = 0;
3379:armor.c       ****       
3380:armor.c       ****             //        ADDA  $08,X                   ; 05F7: AB 08         
3381:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(X + 0x0008)]);
 4651              		.loc 1 3381 0
 4652 4b4d 8B85E0FF 		movl	-65568(%ebp), %eax
 4652      FEFF
 4653 4b53 89C2     		movl	%eax, %edx
 4654 4b55 0FB785C6 		movzwl	-65594(%ebp), %eax
 4654      FFFEFF
 4655 4b5c 83C008   		addl	$8, %eax
 4656 4b5f 0FB7C0   		movzwl	%ax, %eax
 4657 4b62 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4657      F4FFFEFF 
 4658 4b6a 01D0     		addl	%edx, %eax
 4659 4b6c 0FB6C0   		movzbl	%al, %eax
 4660 4b6f 8985E0FF 		movl	%eax, -65568(%ebp)
 4660      FEFF
3382:armor.c       ****   //  res = A + memory[(UINT16)(X + 0x0008)];
3383:armor.c       ****   //  C = res & 0x100;
3384:armor.c       ****   //  res = (UINT8)res;
3385:armor.c       ****   //  Z = res;
3386:armor.c       ****   //  N = res;
3387:armor.c       ****   //  res = A ^ memory[(UINT16)(X + 0x0008)] ^ res ^ C;
3388:armor.c       ****   //  H = res;
3389:armor.c       ****   //  V = res;
3390:armor.c       ****       
3391:armor.c       ****             //        ADDB  $09,X                   ; 05F9: EB 09         
3392:armor.c       ****       B = (UINT8)(B + memory[(UINT16)(X + 0x0009)]);
 4661              		.loc 1 3392 0
 4662 4b75 8B85E4FF 		movl	-65564(%ebp), %eax
 4662      FEFF
 4663 4b7b 89C2     		movl	%eax, %edx
 4664 4b7d 0FB785C6 		movzwl	-65594(%ebp), %eax
 4664      FFFEFF
 4665 4b84 83C009   		addl	$9, %eax
 4666 4b87 0FB7C0   		movzwl	%ax, %eax
 4667 4b8a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 188


 4667      F4FFFEFF 
 4668 4b92 01D0     		addl	%edx, %eax
 4669 4b94 0FB6C0   		movzbl	%al, %eax
 4670 4b97 8985E4FF 		movl	%eax, -65564(%ebp)
 4670      FEFF
3393:armor.c       ****       res = B + memory[(UINT16)(X + 0x0009)];
 4671              		.loc 1 3393 0
 4672 4b9d 0FB785C6 		movzwl	-65594(%ebp), %eax
 4672      FFFEFF
 4673 4ba4 83C009   		addl	$9, %eax
 4674 4ba7 0FB7C0   		movzwl	%ax, %eax
 4675 4baa 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4675      F4FFFEFF 
 4676 4bb2 0FB6D0   		movzbl	%al, %edx
 4677 4bb5 8B85E4FF 		movl	-65564(%ebp), %eax
 4677      FEFF
 4678 4bbb 01D0     		addl	%edx, %eax
 4679 4bbd 8985E8FF 		movl	%eax, -65560(%ebp)
 4679      FEFF
3394:armor.c       ****       C = res & 0x100;
 4680              		.loc 1 3394 0
 4681 4bc3 8B85E8FF 		movl	-65560(%ebp), %eax
 4681      FEFF
 4682 4bc9 25000100 		andl	$256, %eax
 4682      00
 4683 4bce 8985ECFF 		movl	%eax, -65556(%ebp)
 4683      FEFF
3395:armor.c       ****       res = (UINT8)res;
 4684              		.loc 1 3395 0
 4685 4bd4 8B85E8FF 		movl	-65560(%ebp), %eax
 4685      FEFF
 4686 4bda 0FB6C0   		movzbl	%al, %eax
 4687 4bdd 8985E8FF 		movl	%eax, -65560(%ebp)
 4687      FEFF
3396:armor.c       ****   //  Z = res;
3397:armor.c       ****   //  N = res;
3398:armor.c       ****       res = B ^ memory[(UINT16)(X + 0x0009)] ^ res ^ C;
 4688              		.loc 1 3398 0
 4689 4be3 0FB785C6 		movzwl	-65594(%ebp), %eax
 4689      FFFEFF
 4690 4bea 83C009   		addl	$9, %eax
 4691 4bed 0FB7C0   		movzwl	%ax, %eax
 4692 4bf0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4692      F4FFFEFF 
 4693 4bf8 0FB6C0   		movzbl	%al, %eax
 4694 4bfb 3385E4FF 		xorl	-65564(%ebp), %eax
 4694      FEFF
 4695 4c01 3385E8FF 		xorl	-65560(%ebp), %eax
 4695      FEFF
 4696 4c07 3385ECFF 		xorl	-65556(%ebp), %eax
 4696      FEFF
 4697 4c0d 8985E8FF 		movl	%eax, -65560(%ebp)
 4697      FEFF
3399:armor.c       ****       H = res;
 4698              		.loc 1 3399 0
 4699 4c13 8B85E8FF 		movl	-65560(%ebp), %eax
 4699      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 189


 4700 4c19 8885C3FF 		movb	%al, -65597(%ebp)
 4700      FEFF
3400:armor.c       ****   //  V = res;
3401:armor.c       ****       
3402:armor.c       ****             //        STD   $06,X                   ; 05FB: ED 06         
3403:armor.c       ****       Z = A | B;
 4701              		.loc 1 3403 0
 4702 4c1f 8B85E0FF 		movl	-65568(%ebp), %eax
 4702      FEFF
 4703 4c25 89C2     		movl	%eax, %edx
 4704 4c27 8B85E4FF 		movl	-65564(%ebp), %eax
 4704      FEFF
 4705 4c2d 09D0     		orl	%edx, %eax
 4706 4c2f 668985CC 		movw	%ax, -65588(%ebp)
 4706      FFFEFF
3404:armor.c       ****       N = A;
 4707              		.loc 1 3404 0
 4708 4c36 8B85E0FF 		movl	-65568(%ebp), %eax
 4708      FEFF
 4709 4c3c 8885C1FF 		movb	%al, -65599(%ebp)
 4709      FEFF
3405:armor.c       ****       V = 0;
 4710              		.loc 1 3405 0
 4711 4c42 C685C2FF 		movb	$0, -65598(%ebp)
 4711      FEFF00
3406:armor.c       ****       memory[(UINT16)(X + 0x0006)] = A;
 4712              		.loc 1 3406 0
 4713 4c49 0FB785C6 		movzwl	-65594(%ebp), %eax
 4713      FFFEFF
 4714 4c50 83C006   		addl	$6, %eax
 4715 4c53 0FB7C0   		movzwl	%ax, %eax
 4716 4c56 8B95E0FF 		movl	-65568(%ebp), %edx
 4716      FEFF
 4717 4c5c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4717      FFFEFF
3407:armor.c       ****       memory[(UINT16)(X + 0x0006) + 1] = B;
 4718              		.loc 1 3407 0
 4719 4c63 0FB785C6 		movzwl	-65594(%ebp), %eax
 4719      FFFEFF
 4720 4c6a 83C006   		addl	$6, %eax
 4721 4c6d 0FB7C0   		movzwl	%ax, %eax
 4722 4c70 83C001   		addl	$1, %eax
 4723 4c73 8B95E4FF 		movl	-65564(%ebp), %edx
 4723      FEFF
 4724 4c79 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4724      FFFEFF
3408:armor.c       ****       
3409:armor.c       ****             //        JMP   $04CF                   ; 05FD: 7E 04 CF      
3410:armor.c       ****       PC = 0x04cf;
 4725              		.loc 1 3410 0
 4726 4c80 66C785CA 		movw	$1231, -65590(%ebp)
 4726      FFFEFFCF 
 4726      04
 4727              	.L188:
3411:armor.c       ****       JUMP;
3412:armor.c       ****       
3413:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 190


3414:armor.c       ****       L0600://        LDA   $FFFB,X                 ; 0600: A6 1B         
3415:armor.c       ****       A = memory[(UINT16)(X + 0xfffb)];
 4728              		.loc 1 3415 0
 4729 4c89 0FB785C6 		movzwl	-65594(%ebp), %eax
 4729      FFFEFF
 4730 4c90 83E805   		subl	$5, %eax
 4731 4c93 0FB7C0   		movzwl	%ax, %eax
 4732 4c96 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4732      F4FFFEFF 
 4733 4c9e 0FB6C0   		movzbl	%al, %eax
 4734 4ca1 8985E0FF 		movl	%eax, -65568(%ebp)
 4734      FEFF
3416:armor.c       ****   //  N = A;
3417:armor.c       ****       Z = A;
 4735              		.loc 1 3417 0
 4736 4ca7 8B85E0FF 		movl	-65568(%ebp), %eax
 4736      FEFF
 4737 4cad 668985CC 		movw	%ax, -65588(%ebp)
 4737      FFFEFF
3418:armor.c       ****   //  V = 0;
3419:armor.c       ****       
3420:armor.c       ****             //        BEQ   $0618                   ; 0602: 27 14         
3421:armor.c       ****       if (!Z) {
 4738              		.loc 1 3421 0
 4739 4cb4 6683BDCC 		cmpw	$0, -65588(%ebp)
 4739      FFFEFF00 
 4740 4cbc 7509     		jne	.L189
3422:armor.c       ****       PC = 0x0618;
 4741              		.loc 1 3422 0
 4742 4cbe 66C785CA 		movw	$1560, -65590(%ebp)
 4742      FFFEFF18 
 4742      06
 4743              	.L189:
3423:armor.c       ****       JUMP;
3424:armor.c       ****       }
3425:armor.c       ****       
3426:armor.c       ****             //        LDB   #$08                    ; 0604: C6 08         
3427:armor.c       ****       B = (SINT8)0x08;
 4744              		.loc 1 3427 0
 4745 4cc7 C785E4FF 		movl	$8, -65564(%ebp)
 4745      FEFF0800 
 4745      0000
3428:armor.c       ****   //  N = B;
3429:armor.c       ****   //  Z = B;
3430:armor.c       ****   //  V = 0;
3431:armor.c       ****       
3432:armor.c       ****             //        STB   $05,X                   ; 0606: E7 05         
3433:armor.c       ****   //  Z = B;
3434:armor.c       ****   //  N = B;
3435:armor.c       ****   //  V = 0;
3436:armor.c       ****       memory[(UINT16)(X + 0x0005)] = B;
 4746              		.loc 1 3436 0
 4747 4cd1 0FB785C6 		movzwl	-65594(%ebp), %eax
 4747      FFFEFF
 4748 4cd8 83C005   		addl	$5, %eax
 4749 4cdb 0FB7C0   		movzwl	%ax, %eax
 4750 4cde 8B95E4FF 		movl	-65564(%ebp), %edx
GAS LISTING /tmp/ccqXEnet.s 			page 191


 4750      FEFF
 4751 4ce4 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4751      FFFEFF
3437:armor.c       ****       
3438:armor.c       ****             //        SUBA  $01,X                   ; 0608: A0 01         
3439:armor.c       ****       A = (UINT8)(A - memory[(UINT16)(X + 0x0001)]);
 4752              		.loc 1 3439 0
 4753 4ceb 8B85E0FF 		movl	-65568(%ebp), %eax
 4753      FEFF
 4754 4cf1 89C2     		movl	%eax, %edx
 4755 4cf3 0FB785C6 		movzwl	-65594(%ebp), %eax
 4755      FFFEFF
 4756 4cfa 83C001   		addl	$1, %eax
 4757 4cfd 0FB7C0   		movzwl	%ax, %eax
 4758 4d00 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4758      F4FFFEFF 
 4759 4d08 29C2     		subl	%eax, %edx
 4760 4d0a 89D0     		movl	%edx, %eax
 4761 4d0c 0FB6C0   		movzbl	%al, %eax
 4762 4d0f 8985E0FF 		movl	%eax, -65568(%ebp)
 4762      FEFF
3440:armor.c       ****       res = A - memory[(UINT16)(X + 0x0001)];
 4763              		.loc 1 3440 0
 4764 4d15 0FB785C6 		movzwl	-65594(%ebp), %eax
 4764      FFFEFF
 4765 4d1c 83C001   		addl	$1, %eax
 4766 4d1f 0FB7C0   		movzwl	%ax, %eax
 4767 4d22 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4767      F4FFFEFF 
 4768 4d2a 0FB6C0   		movzbl	%al, %eax
 4769 4d2d 8B95E0FF 		movl	-65568(%ebp), %edx
 4769      FEFF
 4770 4d33 29C2     		subl	%eax, %edx
 4771 4d35 89D0     		movl	%edx, %eax
 4772 4d37 8985E8FF 		movl	%eax, -65560(%ebp)
 4772      FEFF
3441:armor.c       ****   //  C = res & 0x100;
3442:armor.c       ****       res = (UINT8)res;
 4773              		.loc 1 3442 0
 4774 4d3d 8B85E8FF 		movl	-65560(%ebp), %eax
 4774      FEFF
 4775 4d43 0FB6C0   		movzbl	%al, %eax
 4776 4d46 8985E8FF 		movl	%eax, -65560(%ebp)
 4776      FEFF
3443:armor.c       ****   //  Z = res;
3444:armor.c       ****   //  N = res;
3445:armor.c       ****   //  V = ((A) ^ (memory[(UINT16)(X + 0x0001)])) & ((A) ^ res);
3446:armor.c       ****       
3447:armor.c       ****             //        ANDA  #$03                    ; 060A: 84 03         
3448:armor.c       ****       A = A & (SINT8)0x03;
 4777              		.loc 1 3448 0
 4778 4d4c 83A5E0FF 		andl	$3, -65568(%ebp)
 4778      FEFF03
3449:armor.c       ****   //  Z = A;
3450:armor.c       ****   //  N = A;
3451:armor.c       ****   //  V = 0;
3452:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 192


3453:armor.c       ****             //        STA   $01,X                   ; 060C: A7 01         
3454:armor.c       ****   //  Z = A;
3455:armor.c       ****   //  N = A;
3456:armor.c       ****   //  V = 0;
3457:armor.c       ****       memory[(UINT16)(X + 0x0001)] = A;
 4779              		.loc 1 3457 0
 4780 4d53 0FB785C6 		movzwl	-65594(%ebp), %eax
 4780      FFFEFF
 4781 4d5a 83C001   		addl	$1, %eax
 4782 4d5d 0FB7C0   		movzwl	%ax, %eax
 4783 4d60 8B95E0FF 		movl	-65568(%ebp), %edx
 4783      FEFF
 4784 4d66 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4784      FFFEFF
3458:armor.c       ****       
3459:armor.c       ****             //        LDA   $FFFB,X                 ; 060E: A6 1B         
3460:armor.c       ****       A = memory[(UINT16)(X + 0xfffb)];
 4785              		.loc 1 3460 0
 4786 4d6d 0FB785C6 		movzwl	-65594(%ebp), %eax
 4786      FFFEFF
 4787 4d74 83E805   		subl	$5, %eax
 4788 4d77 0FB7C0   		movzwl	%ax, %eax
 4789 4d7a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4789      F4FFFEFF 
 4790 4d82 0FB6C0   		movzbl	%al, %eax
 4791 4d85 8985E0FF 		movl	%eax, -65568(%ebp)
 4791      FEFF
3461:armor.c       ****   //  N = A;
3462:armor.c       ****   //  Z = A;
3463:armor.c       ****   //  V = 0;
3464:armor.c       ****       
3465:armor.c       ****             //        ANDA  #$02                    ; 0610: 84 02         
3466:armor.c       ****       A = A & (SINT8)0x02;
 4792              		.loc 1 3466 0
 4793 4d8b 83A5E0FF 		andl	$2, -65568(%ebp)
 4793      FEFF02
3467:armor.c       ****   //  Z = A;
3468:armor.c       ****   //  N = A;
3469:armor.c       ****   //  V = 0;
3470:armor.c       ****       
3471:armor.c       ****             //        ASRA                          ; 0612: 47            
3472:armor.c       ****   //  C = A & 1;
3473:armor.c       ****       A = (UINT8)(A >> 1);
 4794              		.loc 1 3473 0
 4795 4d92 8B85E0FF 		movl	-65568(%ebp), %eax
 4795      FEFF
 4796 4d98 D1F8     		sarl	%eax
 4797 4d9a 0FB6C0   		movzbl	%al, %eax
 4798 4d9d 8985E0FF 		movl	%eax, -65568(%ebp)
 4798      FEFF
3474:armor.c       ****   //  Z = A;
3475:armor.c       ****   //  N = A;
3476:armor.c       ****       
3477:armor.c       ****             //        STA   $04,X                   ; 0613: A7 04         
3478:armor.c       ****   //  Z = A;
3479:armor.c       ****   //  N = A;
3480:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 193


3481:armor.c       ****       memory[(UINT16)(X + 0x0004)] = A;
 4799              		.loc 1 3481 0
 4800 4da3 0FB785C6 		movzwl	-65594(%ebp), %eax
 4800      FFFEFF
 4801 4daa 83C004   		addl	$4, %eax
 4802 4dad 0FB7C0   		movzwl	%ax, %eax
 4803 4db0 8B95E0FF 		movl	-65568(%ebp), %edx
 4803      FEFF
 4804 4db6 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4804      FFFEFF
3482:armor.c       ****       
3483:armor.c       ****             //        CLR   $FFFB,X                 ; 0615: 6F 1B         
3484:armor.c       ****       memory[(UINT16)(X + 0xfffb)] = 0;
 4805              		.loc 1 3484 0
 4806 4dbd 0FB785C6 		movzwl	-65594(%ebp), %eax
 4806      FFFEFF
 4807 4dc4 83E805   		subl	$5, %eax
 4808 4dc7 0FB7C0   		movzwl	%ax, %eax
 4809 4dca C68405F4 		movb	$0, -65548(%ebp,%eax)
 4809      FFFEFF00 
3485:armor.c       ****       V = 0;
 4810              		.loc 1 3485 0
 4811 4dd2 C685C2FF 		movb	$0, -65598(%ebp)
 4811      FEFF00
3486:armor.c       ****       Z = 0;
 4812              		.loc 1 3486 0
 4813 4dd9 66C785CC 		movw	$0, -65588(%ebp)
 4813      FFFEFF00 
 4813      00
3487:armor.c       ****       N = 0;
 4814              		.loc 1 3487 0
 4815 4de2 C685C1FF 		movb	$0, -65599(%ebp)
 4815      FEFF00
3488:armor.c       ****       C = 0;
 4816              		.loc 1 3488 0
 4817 4de9 C785ECFF 		movl	$0, -65556(%ebp)
 4817      FEFF0000 
 4817      0000
3489:armor.c       ****       
3490:armor.c       ****             //        RTS                           ; 0617: 39            
3491:armor.c       ****       PC = memory[S++]<<8;
 4818              		.loc 1 3491 0
 4819 4df3 0FB785C8 		movzwl	-65592(%ebp), %eax
 4819      FFFEFF
 4820 4dfa 8D5001   		leal	1(%eax), %edx
 4821 4dfd 668995C8 		movw	%dx, -65592(%ebp)
 4821      FFFEFF
 4822 4e04 0FB7C0   		movzwl	%ax, %eax
 4823 4e07 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4823      F4FFFEFF 
 4824 4e0f 0FB6C0   		movzbl	%al, %eax
 4825 4e12 C1E008   		sall	$8, %eax
 4826 4e15 668985CA 		movw	%ax, -65590(%ebp)
 4826      FFFEFF
3492:armor.c       ****       PC |= memory[S++];
 4827              		.loc 1 3492 0
 4828 4e1c 0FB785C8 		movzwl	-65592(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 194


 4828      FFFEFF
 4829 4e23 8D5001   		leal	1(%eax), %edx
 4830 4e26 668995C8 		movw	%dx, -65592(%ebp)
 4830      FFFEFF
 4831 4e2d 0FB7C0   		movzwl	%ax, %eax
 4832 4e30 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4832      F4FFFEFF 
 4833 4e38 0FB6C0   		movzbl	%al, %eax
 4834 4e3b 660985CA 		orw	%ax, -65590(%ebp)
 4834      FFFEFF
 4835              	.L190:
3493:armor.c       ****       JUMP;
3494:armor.c       ****       
3495:armor.c       ****       
3496:armor.c       ****       L0618://        LDA   $02,X                   ; 0618: A6 02         
3497:armor.c       ****       A = memory[(UINT16)(X + 0x0002)];
 4836              		.loc 1 3497 0
 4837 4e42 0FB785C6 		movzwl	-65594(%ebp), %eax
 4837      FFFEFF
 4838 4e49 83C002   		addl	$2, %eax
 4839 4e4c 0FB7C0   		movzwl	%ax, %eax
 4840 4e4f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4840      F4FFFEFF 
 4841 4e57 0FB6C0   		movzbl	%al, %eax
 4842 4e5a 8985E0FF 		movl	%eax, -65568(%ebp)
 4842      FEFF
3498:armor.c       ****   //  N = A;
3499:armor.c       ****   //  Z = A;
3500:armor.c       ****   //  V = 0;
3501:armor.c       ****       
3502:armor.c       ****             //        DECA                          ; 061A: 4A            
3503:armor.c       ****       res = (UINT8)(A - 1);
 4843              		.loc 1 3503 0
 4844 4e60 8B85E0FF 		movl	-65568(%ebp), %eax
 4844      FEFF
 4845 4e66 83E801   		subl	$1, %eax
 4846 4e69 0FB6C0   		movzbl	%al, %eax
 4847 4e6c 8985E8FF 		movl	%eax, -65560(%ebp)
 4847      FEFF
3504:armor.c       ****   //  N = res;
3505:armor.c       ****   //  Z = res;
3506:armor.c       ****   //  V = A & ~res;
3507:armor.c       ****       A = res;
 4848              		.loc 1 3507 0
 4849 4e72 8B85E8FF 		movl	-65560(%ebp), %eax
 4849      FEFF
 4850 4e78 8985E0FF 		movl	%eax, -65568(%ebp)
 4850      FEFF
3508:armor.c       ****       
3509:armor.c       ****             //        LDB   #$08                    ; 061B: C6 08         
3510:armor.c       ****       B = (SINT8)0x08;
 4851              		.loc 1 3510 0
 4852 4e7e C785E4FF 		movl	$8, -65564(%ebp)
 4852      FEFF0800 
 4852      0000
3511:armor.c       ****   //  N = B;
3512:armor.c       ****   //  Z = B;
GAS LISTING /tmp/ccqXEnet.s 			page 195


3513:armor.c       ****   //  V = 0;
3514:armor.c       ****       
3515:armor.c       ****             //        MUL                           ; 061D: 3D            
3516:armor.c       ****       res = (UINT16)(A * B);
 4853              		.loc 1 3516 0
 4854 4e88 8B85E0FF 		movl	-65568(%ebp), %eax
 4854      FEFF
 4855 4e8e 89C2     		movl	%eax, %edx
 4856 4e90 8B85E4FF 		movl	-65564(%ebp), %eax
 4856      FEFF
 4857 4e96 0FAFC2   		imull	%edx, %eax
 4858 4e99 0FB7C0   		movzwl	%ax, %eax
 4859 4e9c 8985E8FF 		movl	%eax, -65560(%ebp)
 4859      FEFF
3517:armor.c       ****   //  Z = res;
3518:armor.c       ****   //  C = res & 0x80; /* ??? 8000 ??? */
3519:armor.c       ****       A = res >> 8;
 4860              		.loc 1 3519 0
 4861 4ea2 8B85E8FF 		movl	-65560(%ebp), %eax
 4861      FEFF
 4862 4ea8 C1F808   		sarl	$8, %eax
 4863 4eab 8985E0FF 		movl	%eax, -65568(%ebp)
 4863      FEFF
3520:armor.c       ****       B = (UINT8)res;
 4864              		.loc 1 3520 0
 4865 4eb1 8B85E8FF 		movl	-65560(%ebp), %eax
 4865      FEFF
 4866 4eb7 0FB6C0   		movzbl	%al, %eax
 4867 4eba 8985E4FF 		movl	%eax, -65564(%ebp)
 4867      FEFF
3521:armor.c       ****       
3522:armor.c       ****             //        LEAY  D,Y                     ; 061E: 31 AB         
3523:armor.c       ****       Y = (Y + D);
 4868              		.loc 1 3523 0
 4869 4ec0 8B85F0FF 		movl	-65552(%ebp), %eax
 4869      FEFF
 4870 4ec6 660185D2 		addw	%ax, -65582(%ebp)
 4870      FFFEFF
3524:armor.c       ****   //  Z = Y;
3525:armor.c       ****       
3526:armor.c       ****             //        LDB   $FFFC,X                 ; 0620: E6 1C         
3527:armor.c       ****       B = memory[(UINT16)(X + 0xfffc)];
 4871              		.loc 1 3527 0
 4872 4ecd 0FB785C6 		movzwl	-65594(%ebp), %eax
 4872      FFFEFF
 4873 4ed4 83E804   		subl	$4, %eax
 4874 4ed7 0FB7C0   		movzwl	%ax, %eax
 4875 4eda 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4875      F4FFFEFF 
 4876 4ee2 0FB6C0   		movzbl	%al, %eax
 4877 4ee5 8985E4FF 		movl	%eax, -65564(%ebp)
 4877      FEFF
3528:armor.c       ****       N = B;
 4878              		.loc 1 3528 0
 4879 4eeb 8B85E4FF 		movl	-65564(%ebp), %eax
 4879      FEFF
 4880 4ef1 8885C1FF 		movb	%al, -65599(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 196


 4880      FEFF
3529:armor.c       ****   //  Z = B;
3530:armor.c       ****   //  V = 0;
3531:armor.c       ****       
3532:armor.c       ****             //        BMI   $0628                   ; 0622: 2B 04         
3533:armor.c       ****       if ((SINT8)N <  0) {
 4881              		.loc 1 3533 0
 4882 4ef7 0FB685C1 		movzbl	-65599(%ebp), %eax
 4882      FFFEFF
 4883 4efe 84C0     		testb	%al, %al
 4884 4f00 7909     		jns	.L191
3534:armor.c       ****       PC = 0x0628;
 4885              		.loc 1 3534 0
 4886 4f02 66C785CA 		movw	$1576, -65590(%ebp)
 4886      FFFEFF28 
 4886      06
 4887              	.L191:
3535:armor.c       ****       JUMP;
3536:armor.c       ****       }
3537:armor.c       ****       
3538:armor.c       ****             //        COM   $FFFC,X                 ; 0624: 63 1C         
3539:armor.c       ****       memory[(UINT16)(X + 0xfffc)] = memory[(UINT16)(X + 0xfffc)] ^ 0xff;
 4888              		.loc 1 3539 0
 4889 4f0b 0FB785C6 		movzwl	-65594(%ebp), %eax
 4889      FFFEFF
 4890 4f12 83E804   		subl	$4, %eax
 4891 4f15 0FB7C0   		movzwl	%ax, %eax
 4892 4f18 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
 4892      F4FFFEFF 
 4893 4f20 0FB785C6 		movzwl	-65594(%ebp), %eax
 4893      FFFEFF
 4894 4f27 83E804   		subl	$4, %eax
 4895 4f2a 0FB7C0   		movzwl	%ax, %eax
 4896 4f2d F7D2     		notl	%edx
 4897 4f2f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 4897      FFFEFF
3540:armor.c       ****       Z = memory[(UINT16)(X + 0xfffc)];
 4898              		.loc 1 3540 0
 4899 4f36 0FB785C6 		movzwl	-65594(%ebp), %eax
 4899      FFFEFF
 4900 4f3d 83E804   		subl	$4, %eax
 4901 4f40 0FB7C0   		movzwl	%ax, %eax
 4902 4f43 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4902      F4FFFEFF 
 4903 4f4b 0FB6C0   		movzbl	%al, %eax
 4904 4f4e 668985CC 		movw	%ax, -65588(%ebp)
 4904      FFFEFF
3541:armor.c       ****       N = memory[(UINT16)(X + 0xfffc)];
 4905              		.loc 1 3541 0
 4906 4f55 0FB785C6 		movzwl	-65594(%ebp), %eax
 4906      FFFEFF
 4907 4f5c 83E804   		subl	$4, %eax
 4908 4f5f 0FB7C0   		movzwl	%ax, %eax
 4909 4f62 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4909      F4FFFEFF 
 4910 4f6a 8885C1FF 		movb	%al, -65599(%ebp)
 4910      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 197


3542:armor.c       ****       V = 0;
 4911              		.loc 1 3542 0
 4912 4f70 C685C2FF 		movb	$0, -65598(%ebp)
 4912      FEFF00
3543:armor.c       ****       C = 1;
 4913              		.loc 1 3543 0
 4914 4f77 C785ECFF 		movl	$1, -65556(%ebp)
 4914      FEFF0100 
 4914      0000
3544:armor.c       ****       
3545:armor.c       ****             //        BSR   $065F                   ; 0626: 8D 37         
3546:armor.c       ****       memory[--S] = 0x0628 & 0xff; memory[--S] = 0x0628 >> 8;
 4915              		.loc 1 3546 0
 4916 4f81 6683ADC8 		subw	$1, -65592(%ebp)
 4916      FFFEFF01 
 4917 4f89 0FB785C8 		movzwl	-65592(%ebp), %eax
 4917      FFFEFF
 4918 4f90 C68405F4 		movb	$40, -65548(%ebp,%eax)
 4918      FFFEFF28 
 4919 4f98 6683ADC8 		subw	$1, -65592(%ebp)
 4919      FFFEFF01 
 4920 4fa0 0FB785C8 		movzwl	-65592(%ebp), %eax
 4920      FFFEFF
 4921 4fa7 C68405F4 		movb	$6, -65548(%ebp,%eax)
 4921      FFFEFF06 
3547:armor.c       ****       PC = 0x065f;
 4922              		.loc 1 3547 0
 4923 4faf 66C785CA 		movw	$1631, -65590(%ebp)
 4923      FFFEFF5F 
 4923      06
 4924              	.L192:
3548:armor.c       ****       JUMP;
3549:armor.c       ****       
3550:armor.c       ****       L0628://        LDB   $FFFE,X                 ; 0628: E6 1E         
3551:armor.c       ****       B = memory[(UINT16)(X + 0xfffe)];
 4925              		.loc 1 3551 0
 4926 4fb8 0FB785C6 		movzwl	-65594(%ebp), %eax
 4926      FFFEFF
 4927 4fbf 83E802   		subl	$2, %eax
 4928 4fc2 0FB7C0   		movzwl	%ax, %eax
 4929 4fc5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4929      F4FFFEFF 
 4930 4fcd 0FB6C0   		movzbl	%al, %eax
 4931 4fd0 8985E4FF 		movl	%eax, -65564(%ebp)
 4931      FEFF
3552:armor.c       ****   //  N = B;
3553:armor.c       ****   //  Z = B;
3554:armor.c       ****   //  V = 0;
3555:armor.c       ****       
3556:armor.c       ****             //        LSRB                          ; 062A: 54            
3557:armor.c       ****   //  C = (B) & 1;
3558:armor.c       ****       B = (B) >> 1;
 4932              		.loc 1 3558 0
 4933 4fd6 D1BDE4FF 		sarl	-65564(%ebp)
 4933      FEFF
3559:armor.c       ****   //  N = 0;
3560:armor.c       ****   //  Z = B;
GAS LISTING /tmp/ccqXEnet.s 			page 198


3561:armor.c       ****       
3562:armor.c       ****             //        LSRB                          ; 062B: 54            
3563:armor.c       ****   //  C = (B) & 1;
3564:armor.c       ****       B = (B) >> 1;
 4934              		.loc 1 3564 0
 4935 4fdc D1BDE4FF 		sarl	-65564(%ebp)
 4935      FEFF
3565:armor.c       ****   //  N = 0;
3566:armor.c       ****   //  Z = B;
3567:armor.c       ****       
3568:armor.c       ****             //        LSRB                          ; 062C: 54            
3569:armor.c       ****   //  C = (B) & 1;
3570:armor.c       ****       B = (B) >> 1;
 4936              		.loc 1 3570 0
 4937 4fe2 D1BDE4FF 		sarl	-65564(%ebp)
 4937      FEFF
3571:armor.c       ****   //  N = 0;
3572:armor.c       ****   //  Z = B;
3573:armor.c       ****       
3574:armor.c       ****             //        LSRB                          ; 062D: 54            
3575:armor.c       ****   //  C = (B) & 1;
3576:armor.c       ****       B = (B) >> 1;
 4938              		.loc 1 3576 0
 4939 4fe8 D1BDE4FF 		sarl	-65564(%ebp)
 4939      FEFF
3577:armor.c       ****   //  N = 0;
3578:armor.c       ****   //  Z = B;
3579:armor.c       ****       
3580:armor.c       ****             //        CMPB  $01,X                   ; 062E: E1 01         
3581:armor.c       ****       res = B - memory[(UINT16)(X + 0x0001)];
 4940              		.loc 1 3581 0
 4941 4fee 0FB785C6 		movzwl	-65594(%ebp), %eax
 4941      FFFEFF
 4942 4ff5 83C001   		addl	$1, %eax
 4943 4ff8 0FB7C0   		movzwl	%ax, %eax
 4944 4ffb 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4944      F4FFFEFF 
 4945 5003 0FB6C0   		movzbl	%al, %eax
 4946 5006 8B95E4FF 		movl	-65564(%ebp), %edx
 4946      FEFF
 4947 500c 29C2     		subl	%eax, %edx
 4948 500e 89D0     		movl	%edx, %eax
 4949 5010 8985E8FF 		movl	%eax, -65560(%ebp)
 4949      FEFF
3582:armor.c       ****   //  C = res & 0x100;
3583:armor.c       ****       res = (UINT8)res;
 4950              		.loc 1 3583 0
 4951 5016 8B85E8FF 		movl	-65560(%ebp), %eax
 4951      FEFF
 4952 501c 0FB6C0   		movzbl	%al, %eax
 4953 501f 8985E8FF 		movl	%eax, -65560(%ebp)
 4953      FEFF
3584:armor.c       ****       Z = res;
 4954              		.loc 1 3584 0
 4955 5025 8B85E8FF 		movl	-65560(%ebp), %eax
 4955      FEFF
 4956 502b 668985CC 		movw	%ax, -65588(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 199


 4956      FFFEFF
3585:armor.c       ****   //  N = res;
3586:armor.c       ****   //  V = (B ^ memory[(UINT16)(X + 0x0001)]) & (B ^ res);
3587:armor.c       ****       
3588:armor.c       ****             //        BNE   $0633                   ; 0630: 26 01         
3589:armor.c       ****       if (Z) {
 4957              		.loc 1 3589 0
 4958 5032 6683BDCC 		cmpw	$0, -65588(%ebp)
 4958      FFFEFF00 
 4959 503a 7409     		je	.L193
3590:armor.c       ****       PC = 0x0633;
 4960              		.loc 1 3590 0
 4961 503c 66C785CA 		movw	$1587, -65590(%ebp)
 4961      FFFEFF33 
 4961      06
 4962              	.L193:
3591:armor.c       ****       JUMP;
3592:armor.c       ****       }
3593:armor.c       ****       
3594:armor.c       ****             //        NEGB                          ; 0632: 50            
3595:armor.c       ****   //  V = (UINT8)(-B) & (B);
3596:armor.c       ****       B = (UINT8)(-B);
 4963              		.loc 1 3596 0
 4964 5045 8B85E4FF 		movl	-65564(%ebp), %eax
 4964      FEFF
 4965 504b F7D8     		negl	%eax
 4966 504d 0FB6C0   		movzbl	%al, %eax
 4967 5050 8985E4FF 		movl	%eax, -65564(%ebp)
 4967      FEFF
 4968              	.L194:
3597:armor.c       ****   //  Z = B;
3598:armor.c       ****   //  N = B;
3599:armor.c       ****   //  C = B;
3600:armor.c       ****       
3601:armor.c       ****       L0633://        ADDB  $01,X                   ; 0633: EB 01         
3602:armor.c       ****       B = (UINT8)(B + memory[(UINT16)(X + 0x0001)]);
 4969              		.loc 1 3602 0
 4970 5056 8B85E4FF 		movl	-65564(%ebp), %eax
 4970      FEFF
 4971 505c 89C2     		movl	%eax, %edx
 4972 505e 0FB785C6 		movzwl	-65594(%ebp), %eax
 4972      FFFEFF
 4973 5065 83C001   		addl	$1, %eax
 4974 5068 0FB7C0   		movzwl	%ax, %eax
 4975 506b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 4975      F4FFFEFF 
 4976 5073 01D0     		addl	%edx, %eax
 4977 5075 0FB6C0   		movzbl	%al, %eax
 4978 5078 8985E4FF 		movl	%eax, -65564(%ebp)
 4978      FEFF
3603:armor.c       ****       res = B + memory[(UINT16)(X + 0x0001)];
 4979              		.loc 1 3603 0
 4980 507e 0FB785C6 		movzwl	-65594(%ebp), %eax
 4980      FFFEFF
 4981 5085 83C001   		addl	$1, %eax
 4982 5088 0FB7C0   		movzwl	%ax, %eax
 4983 508b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 200


 4983      F4FFFEFF 
 4984 5093 0FB6D0   		movzbl	%al, %edx
 4985 5096 8B85E4FF 		movl	-65564(%ebp), %eax
 4985      FEFF
 4986 509c 01D0     		addl	%edx, %eax
 4987 509e 8985E8FF 		movl	%eax, -65560(%ebp)
 4987      FEFF
3604:armor.c       ****       C = res & 0x100;
 4988              		.loc 1 3604 0
 4989 50a4 8B85E8FF 		movl	-65560(%ebp), %eax
 4989      FEFF
 4990 50aa 25000100 		andl	$256, %eax
 4990      00
 4991 50af 8985ECFF 		movl	%eax, -65556(%ebp)
 4991      FEFF
3605:armor.c       ****       res = (UINT8)res;
 4992              		.loc 1 3605 0
 4993 50b5 8B85E8FF 		movl	-65560(%ebp), %eax
 4993      FEFF
 4994 50bb 0FB6C0   		movzbl	%al, %eax
 4995 50be 8985E8FF 		movl	%eax, -65560(%ebp)
 4995      FEFF
3606:armor.c       ****   //  Z = res;
3607:armor.c       ****   //  N = res;
3608:armor.c       ****       res = B ^ memory[(UINT16)(X + 0x0001)] ^ res ^ C;
 4996              		.loc 1 3608 0
 4997 50c4 0FB785C6 		movzwl	-65594(%ebp), %eax
 4997      FFFEFF
 4998 50cb 83C001   		addl	$1, %eax
 4999 50ce 0FB7C0   		movzwl	%ax, %eax
 5000 50d1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5000      F4FFFEFF 
 5001 50d9 0FB6C0   		movzbl	%al, %eax
 5002 50dc 3385E4FF 		xorl	-65564(%ebp), %eax
 5002      FEFF
 5003 50e2 3385E8FF 		xorl	-65560(%ebp), %eax
 5003      FEFF
 5004 50e8 3385ECFF 		xorl	-65556(%ebp), %eax
 5004      FEFF
 5005 50ee 8985E8FF 		movl	%eax, -65560(%ebp)
 5005      FEFF
3609:armor.c       ****       H = res;
 5006              		.loc 1 3609 0
 5007 50f4 8B85E8FF 		movl	-65560(%ebp), %eax
 5007      FEFF
 5008 50fa 8885C3FF 		movb	%al, -65597(%ebp)
 5008      FEFF
3610:armor.c       ****   //  V = res;
3611:armor.c       ****       
3612:armor.c       ****             //        CMPB  #$04                    ; 0635: C1 04         
3613:armor.c       ****       res = B - (SINT8)0x04;
 5009              		.loc 1 3613 0
 5010 5100 8B85E4FF 		movl	-65564(%ebp), %eax
 5010      FEFF
 5011 5106 83E804   		subl	$4, %eax
 5012 5109 8985E8FF 		movl	%eax, -65560(%ebp)
 5012      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 201


3614:armor.c       ****       C = res & 0x100;
 5013              		.loc 1 3614 0
 5014 510f 8B85E8FF 		movl	-65560(%ebp), %eax
 5014      FEFF
 5015 5115 25000100 		andl	$256, %eax
 5015      00
 5016 511a 8985ECFF 		movl	%eax, -65556(%ebp)
 5016      FEFF
3615:armor.c       ****       res = (UINT8)res;
 5017              		.loc 1 3615 0
 5018 5120 8B85E8FF 		movl	-65560(%ebp), %eax
 5018      FEFF
 5019 5126 0FB6C0   		movzbl	%al, %eax
 5020 5129 8985E8FF 		movl	%eax, -65560(%ebp)
 5020      FEFF
3616:armor.c       ****       Z = res;
 5021              		.loc 1 3616 0
 5022 512f 8B85E8FF 		movl	-65560(%ebp), %eax
 5022      FEFF
 5023 5135 668985CC 		movw	%ax, -65588(%ebp)
 5023      FFFEFF
3617:armor.c       ****   //  N = res;
3618:armor.c       ****   //  V = (B ^ (SINT8)0x04) & (B ^ res);
3619:armor.c       ****       
3620:armor.c       ****             //        BNE   $063B                   ; 0637: 26 02         
3621:armor.c       ****       if (Z) {
 5024              		.loc 1 3621 0
 5025 513c 6683BDCC 		cmpw	$0, -65588(%ebp)
 5025      FFFEFF00 
 5026 5144 7409     		je	.L195
3622:armor.c       ****       PC = 0x063b;
 5027              		.loc 1 3622 0
 5028 5146 66C785CA 		movw	$1595, -65590(%ebp)
 5028      FFFEFF3B 
 5028      06
 5029              	.L195:
3623:armor.c       ****       JUMP;
3624:armor.c       ****       }
3625:armor.c       ****       
3626:armor.c       ****             //        LDB   #$02                    ; 0639: C6 02         
3627:armor.c       ****       B = (SINT8)0x02;
 5030              		.loc 1 3627 0
 5031 514f C785E4FF 		movl	$2, -65564(%ebp)
 5031      FEFF0200 
 5031      0000
 5032              	.L196:
3628:armor.c       ****   //  N = B;
3629:armor.c       ****   //  Z = B;
3630:armor.c       ****   //  V = 0;
3631:armor.c       ****       
3632:armor.c       ****       L063B://        ANDB  #$03                    ; 063B: C4 03         
3633:armor.c       ****       B = B & (SINT8)0x03;
 5033              		.loc 1 3633 0
 5034 5159 83A5E4FF 		andl	$3, -65564(%ebp)
 5034      FEFF03
3634:armor.c       ****   //  Z = B;
3635:armor.c       ****   //  N = B;
GAS LISTING /tmp/ccqXEnet.s 			page 202


3636:armor.c       ****   //  V = 0;
3637:armor.c       ****       
3638:armor.c       ****             //        TFR   B,A                     ; 063D: 1F 98         
3639:armor.c       ****       A = B;
 5035              		.loc 1 3639 0
 5036 5160 8B85E4FF 		movl	-65564(%ebp), %eax
 5036      FEFF
 5037 5166 8985E0FF 		movl	%eax, -65568(%ebp)
 5037      FEFF
3640:armor.c       ****       
3641:armor.c       ****             //        INCA                          ; 063F: 4C            
3642:armor.c       ****       res = (UINT8)((A) + 1);
 5038              		.loc 1 3642 0
 5039 516c 8B85E0FF 		movl	-65568(%ebp), %eax
 5039      FEFF
 5040 5172 83C001   		addl	$1, %eax
 5041 5175 0FB6C0   		movzbl	%al, %eax
 5042 5178 8985E8FF 		movl	%eax, -65560(%ebp)
 5042      FEFF
3643:armor.c       ****   //  Z = res;
3644:armor.c       ****   //  N = res;
3645:armor.c       ****   //  V = res & ~(A);
3646:armor.c       ****       A = res;
 5043              		.loc 1 3646 0
 5044 517e 8B85E8FF 		movl	-65560(%ebp), %eax
 5044      FEFF
 5045 5184 8985E0FF 		movl	%eax, -65568(%ebp)
 5045      FEFF
3647:armor.c       ****       
3648:armor.c       ****             //        PSHS  B,A                     ; 0640: 34 06         
3649:armor.c       ****       memory[--S] = B;
 5046              		.loc 1 3649 0
 5047 518a 6683ADC8 		subw	$1, -65592(%ebp)
 5047      FFFEFF01 
 5048 5192 0FB785C8 		movzwl	-65592(%ebp), %eax
 5048      FFFEFF
 5049 5199 8B95E4FF 		movl	-65564(%ebp), %edx
 5049      FEFF
 5050 519f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5050      FFFEFF
3650:armor.c       ****       memory[--S] = A;
 5051              		.loc 1 3650 0
 5052 51a6 6683ADC8 		subw	$1, -65592(%ebp)
 5052      FFFEFF01 
 5053 51ae 0FB785C8 		movzwl	-65592(%ebp), %eax
 5053      FFFEFF
 5054 51b5 8B95E0FF 		movl	-65568(%ebp), %edx
 5054      FEFF
 5055 51bb 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5055      FFFEFF
3651:armor.c       ****       
3652:armor.c       ****             //        JSR   Random                  ; 0642: BD F5 17      
3653:armor.c       ****       memory[--S] = 0x0645 & 0xff; memory[--S] = 0x0645 >> 8;
 5056              		.loc 1 3653 0
 5057 51c2 6683ADC8 		subw	$1, -65592(%ebp)
 5057      FFFEFF01 
 5058 51ca 0FB785C8 		movzwl	-65592(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 203


 5058      FFFEFF
 5059 51d1 C68405F4 		movb	$69, -65548(%ebp,%eax)
 5059      FFFEFF45 
 5060 51d9 6683ADC8 		subw	$1, -65592(%ebp)
 5060      FFFEFF01 
 5061 51e1 0FB785C8 		movzwl	-65592(%ebp), %eax
 5061      FFFEFF
 5062 51e8 C68405F4 		movb	$6, -65548(%ebp,%eax)
 5062      FFFEFF06 
3654:armor.c       ****       PC = 0xf517;
 5063              		.loc 1 3654 0
 5064 51f0 66C785CA 		movw	$-2793, -65590(%ebp)
 5064      FFFEFF17 
 5064      F5
 5065              	.L197:
3655:armor.c       ****       JUMP;
3656:armor.c       ****       
3657:armor.c       ****       L0645://        PULS  A,B                     ; 0645: 35 06         
3658:armor.c       ****       A = memory[S++];
 5066              		.loc 1 3658 0
 5067 51f9 0FB785C8 		movzwl	-65592(%ebp), %eax
 5067      FFFEFF
 5068 5200 8D5001   		leal	1(%eax), %edx
 5069 5203 668995C8 		movw	%dx, -65592(%ebp)
 5069      FFFEFF
 5070 520a 0FB7C0   		movzwl	%ax, %eax
 5071 520d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5071      F4FFFEFF 
 5072 5215 0FB6C0   		movzbl	%al, %eax
 5073 5218 8985E0FF 		movl	%eax, -65568(%ebp)
 5073      FEFF
3659:armor.c       ****       B = memory[S++];
 5074              		.loc 1 3659 0
 5075 521e 0FB785C8 		movzwl	-65592(%ebp), %eax
 5075      FFFEFF
 5076 5225 8D5001   		leal	1(%eax), %edx
 5077 5228 668995C8 		movw	%dx, -65592(%ebp)
 5077      FFFEFF
 5078 522f 0FB7C0   		movzwl	%ax, %eax
 5079 5232 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5079      F4FFFEFF 
 5080 523a 0FB6C0   		movzbl	%al, %eax
 5081 523d 8985E4FF 		movl	%eax, -65564(%ebp)
 5081      FEFF
3660:armor.c       ****       
3661:armor.c       ****             //        BCC   $064B                   ; 0647: 24 02         
3662:armor.c       ****       if (!C) {
 5082              		.loc 1 3662 0
 5083 5243 83BDECFF 		cmpl	$0, -65556(%ebp)
 5083      FEFF00
 5084 524a 7509     		jne	.L198
3663:armor.c       ****       PC = 0x064b;
 5085              		.loc 1 3663 0
 5086 524c 66C785CA 		movw	$1611, -65590(%ebp)
 5086      FFFEFF4B 
 5086      06
 5087              	.L198:
GAS LISTING /tmp/ccqXEnet.s 			page 204


3664:armor.c       ****       JUMP;
3665:armor.c       ****       }
3666:armor.c       ****       
3667:armor.c       ****             //        EXG   A,B                     ; 0649: 1E 89         
3668:armor.c       ****       val = A;
 5088              		.loc 1 3668 0
 5089 5255 8B85E0FF 		movl	-65568(%ebp), %eax
 5089      FEFF
 5090 525b 668985D4 		movw	%ax, -65580(%ebp)
 5090      FFFEFF
3669:armor.c       ****       A = B;
 5091              		.loc 1 3669 0
 5092 5262 8B85E4FF 		movl	-65564(%ebp), %eax
 5092      FEFF
 5093 5268 8985E0FF 		movl	%eax, -65568(%ebp)
 5093      FEFF
3670:armor.c       ****       B = val;
 5094              		.loc 1 3670 0
 5095 526e 0FB785D4 		movzwl	-65580(%ebp), %eax
 5095      FFFEFF
 5096 5275 8985E4FF 		movl	%eax, -65564(%ebp)
 5096      FEFF
 5097              	.L199:
3671:armor.c       ****       
3672:armor.c       ****       L064B://        STA   <$CB                    ; 064B: 97 CB         
3673:armor.c       ****       Z = A;
 5098              		.loc 1 3673 0
 5099 527b 8B85E0FF 		movl	-65568(%ebp), %eax
 5099      FEFF
 5100 5281 668985CC 		movw	%ax, -65588(%ebp)
 5100      FFFEFF
3674:armor.c       ****       N = A;
 5101              		.loc 1 3674 0
 5102 5288 8B85E0FF 		movl	-65568(%ebp), %eax
 5102      FEFF
 5103 528e 8885C1FF 		movb	%al, -65599(%ebp)
 5103      FEFF
3675:armor.c       ****       V = 0;
 5104              		.loc 1 3675 0
 5105 5294 C685C2FF 		movb	$0, -65598(%ebp)
 5105      FEFF00
3676:armor.c       ****       memory_DP[0xcb] = A;
 5106              		.loc 1 3676 0
 5107 529b 8B85DCFF 		movl	-65572(%ebp), %eax
 5107      FEFF
 5108 52a1 05CB0000 		addl	$203, %eax
 5108      00
 5109 52a6 8B95E0FF 		movl	-65568(%ebp), %edx
 5109      FEFF
 5110 52ac 8810     		movb	%dl, (%eax)
3677:armor.c       ****       
3678:armor.c       ****             //        BSR   $065F                   ; 064D: 8D 10         
3679:armor.c       ****       memory[--S] = 0x064f & 0xff; memory[--S] = 0x064f >> 8;
 5111              		.loc 1 3679 0
 5112 52ae 6683ADC8 		subw	$1, -65592(%ebp)
 5112      FFFEFF01 
 5113 52b6 0FB785C8 		movzwl	-65592(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 205


 5113      FFFEFF
 5114 52bd C68405F4 		movb	$79, -65548(%ebp,%eax)
 5114      FFFEFF4F 
 5115 52c5 6683ADC8 		subw	$1, -65592(%ebp)
 5115      FFFEFF01 
 5116 52cd 0FB785C8 		movzwl	-65592(%ebp), %eax
 5116      FFFEFF
 5117 52d4 C68405F4 		movb	$6, -65548(%ebp,%eax)
 5117      FFFEFF06 
3680:armor.c       ****       PC = 0x065f;
 5118              		.loc 1 3680 0
 5119 52dc 66C785CA 		movw	$1631, -65590(%ebp)
 5119      FFFEFF5F 
 5119      06
 5120              	.L200:
3681:armor.c       ****       JUMP;
3682:armor.c       ****       
3683:armor.c       ****       L064F://        LDB   <$CB                    ; 064F: D6 CB         
3684:armor.c       ****       B = memory_DP[0xcb];
 5121              		.loc 1 3684 0
 5122 52e5 8B85DCFF 		movl	-65572(%ebp), %eax
 5122      FEFF
 5123 52eb 05CB0000 		addl	$203, %eax
 5123      00
 5124 52f0 0FB600   		movzbl	(%eax), %eax
 5125 52f3 0FB6C0   		movzbl	%al, %eax
 5126 52f6 8985E4FF 		movl	%eax, -65564(%ebp)
 5126      FEFF
3685:armor.c       ****       N = B;
 5127              		.loc 1 3685 0
 5128 52fc 8B85E4FF 		movl	-65564(%ebp), %eax
 5128      FEFF
 5129 5302 8885C1FF 		movb	%al, -65599(%ebp)
 5129      FEFF
3686:armor.c       ****       Z = B;
 5130              		.loc 1 3686 0
 5131 5308 8B85E4FF 		movl	-65564(%ebp), %eax
 5131      FEFF
 5132 530e 668985CC 		movw	%ax, -65588(%ebp)
 5132      FFFEFF
3687:armor.c       ****       V = 0;
 5133              		.loc 1 3687 0
 5134 5315 C685C2FF 		movb	$0, -65598(%ebp)
 5134      FEFF00
3688:armor.c       ****       
3689:armor.c       ****             //        BSR   $065F                   ; 0651: 8D 0C         
3690:armor.c       ****       memory[--S] = 0x0653 & 0xff; memory[--S] = 0x0653 >> 8;
 5135              		.loc 1 3690 0
 5136 531c 6683ADC8 		subw	$1, -65592(%ebp)
 5136      FFFEFF01 
 5137 5324 0FB785C8 		movzwl	-65592(%ebp), %eax
 5137      FFFEFF
 5138 532b C68405F4 		movb	$83, -65548(%ebp,%eax)
 5138      FFFEFF53 
 5139 5333 6683ADC8 		subw	$1, -65592(%ebp)
 5139      FFFEFF01 
 5140 533b 0FB785C8 		movzwl	-65592(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 206


 5140      FFFEFF
 5141 5342 C68405F4 		movb	$6, -65548(%ebp,%eax)
 5141      FFFEFF06 
3691:armor.c       ****       PC = 0x065f;
 5142              		.loc 1 3691 0
 5143 534a 66C785CA 		movw	$1631, -65590(%ebp)
 5143      FFFEFF5F 
 5143      06
 5144              	.L201:
3692:armor.c       ****       JUMP;
3693:armor.c       ****       
3694:armor.c       ****       L0653://        LDB   $04,X                   ; 0653: E6 04         
3695:armor.c       ****       B = memory[(UINT16)(X + 0x0004)];
 5145              		.loc 1 3695 0
 5146 5353 0FB785C6 		movzwl	-65594(%ebp), %eax
 5146      FFFEFF
 5147 535a 83C004   		addl	$4, %eax
 5148 535d 0FB7C0   		movzwl	%ax, %eax
 5149 5360 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5149      F4FFFEFF 
 5150 5368 0FB6C0   		movzbl	%al, %eax
 5151 536b 8985E4FF 		movl	%eax, -65564(%ebp)
 5151      FEFF
3696:armor.c       ****       N = B;
 5152              		.loc 1 3696 0
 5153 5371 8B85E4FF 		movl	-65564(%ebp), %eax
 5153      FEFF
 5154 5377 8885C1FF 		movb	%al, -65599(%ebp)
 5154      FEFF
3697:armor.c       ****       Z = B;
 5155              		.loc 1 3697 0
 5156 537d 8B85E4FF 		movl	-65564(%ebp), %eax
 5156      FEFF
 5157 5383 668985CC 		movw	%ax, -65588(%ebp)
 5157      FFFEFF
3698:armor.c       ****       V = 0;
 5158              		.loc 1 3698 0
 5159 538a C685C2FF 		movb	$0, -65598(%ebp)
 5159      FEFF00
3699:armor.c       ****       
3700:armor.c       ****             //        BSR   $065F                   ; 0655: 8D 08         
3701:armor.c       ****       memory[--S] = 0x0657 & 0xff; memory[--S] = 0x0657 >> 8;
 5160              		.loc 1 3701 0
 5161 5391 6683ADC8 		subw	$1, -65592(%ebp)
 5161      FFFEFF01 
 5162 5399 0FB785C8 		movzwl	-65592(%ebp), %eax
 5162      FFFEFF
 5163 53a0 C68405F4 		movb	$87, -65548(%ebp,%eax)
 5163      FFFEFF57 
 5164 53a8 6683ADC8 		subw	$1, -65592(%ebp)
 5164      FFFEFF01 
 5165 53b0 0FB785C8 		movzwl	-65592(%ebp), %eax
 5165      FFFEFF
 5166 53b7 C68405F4 		movb	$6, -65548(%ebp,%eax)
 5166      FFFEFF06 
3702:armor.c       ****       PC = 0x065f;
 5167              		.loc 1 3702 0
GAS LISTING /tmp/ccqXEnet.s 			page 207


 5168 53bf 66C785CA 		movw	$1631, -65590(%ebp)
 5168      FFFEFF5F 
 5168      06
 5169              	.L202:
3703:armor.c       ****       JUMP;
3704:armor.c       ****       
3705:armor.c       ****       L0657://        LDB   #$03                    ; 0657: C6 03         
3706:armor.c       ****       B = (SINT8)0x03;
 5170              		.loc 1 3706 0
 5171 53c8 C785E4FF 		movl	$3, -65564(%ebp)
 5171      FEFF0300 
 5171      0000
3707:armor.c       ****       N = B;
 5172              		.loc 1 3707 0
 5173 53d2 8B85E4FF 		movl	-65564(%ebp), %eax
 5173      FEFF
 5174 53d8 8885C1FF 		movb	%al, -65599(%ebp)
 5174      FEFF
3708:armor.c       ****       Z = B;
 5175              		.loc 1 3708 0
 5176 53de 8B85E4FF 		movl	-65564(%ebp), %eax
 5176      FEFF
 5177 53e4 668985CC 		movw	%ax, -65588(%ebp)
 5177      FFFEFF
3709:armor.c       ****       V = 0;
 5178              		.loc 1 3709 0
 5179 53eb C685C2FF 		movb	$0, -65598(%ebp)
 5179      FEFF00
 5180              	.L203:
3710:armor.c       ****       
3711:armor.c       ****       L0659://        BSR   $065F                   ; 0659: 8D 04         
3712:armor.c       ****       memory[--S] = 0x065b & 0xff; memory[--S] = 0x065b >> 8;
 5181              		.loc 1 3712 0
 5182 53f2 6683ADC8 		subw	$1, -65592(%ebp)
 5182      FFFEFF01 
 5183 53fa 0FB785C8 		movzwl	-65592(%ebp), %eax
 5183      FFFEFF
 5184 5401 C68405F4 		movb	$91, -65548(%ebp,%eax)
 5184      FFFEFF5B 
 5185 5409 6683ADC8 		subw	$1, -65592(%ebp)
 5185      FFFEFF01 
 5186 5411 0FB785C8 		movzwl	-65592(%ebp), %eax
 5186      FFFEFF
 5187 5418 C68405F4 		movb	$6, -65548(%ebp,%eax)
 5187      FFFEFF06 
3713:armor.c       ****       PC = 0x065f;
 5188              		.loc 1 3713 0
 5189 5420 66C785CA 		movw	$1631, -65590(%ebp)
 5189      FFFEFF5F 
 5189      06
 5190              	.L204:
3714:armor.c       ****       JUMP;
3715:armor.c       ****       
3716:armor.c       ****       L065B://        DECB                          ; 065B: 5A            
3717:armor.c       ****       res = (UINT8)(B - 1);
 5191              		.loc 1 3717 0
 5192 5429 8B85E4FF 		movl	-65564(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 208


 5192      FEFF
 5193 542f 83E801   		subl	$1, %eax
 5194 5432 0FB6C0   		movzbl	%al, %eax
 5195 5435 8985E8FF 		movl	%eax, -65560(%ebp)
 5195      FEFF
3718:armor.c       ****       N = res;
 5196              		.loc 1 3718 0
 5197 543b 8B85E8FF 		movl	-65560(%ebp), %eax
 5197      FEFF
 5198 5441 8885C1FF 		movb	%al, -65599(%ebp)
 5198      FEFF
3719:armor.c       ****       Z = res;
 5199              		.loc 1 3719 0
 5200 5447 8B85E8FF 		movl	-65560(%ebp), %eax
 5200      FEFF
 5201 544d 668985CC 		movw	%ax, -65588(%ebp)
 5201      FFFEFF
3720:armor.c       ****       V = B & ~res;
 5202              		.loc 1 3720 0
 5203 5454 8B85E8FF 		movl	-65560(%ebp), %eax
 5203      FEFF
 5204 545a F7D0     		notl	%eax
 5205 545c 89C2     		movl	%eax, %edx
 5206 545e 8B85E4FF 		movl	-65564(%ebp), %eax
 5206      FEFF
 5207 5464 21D0     		andl	%edx, %eax
 5208 5466 8885C2FF 		movb	%al, -65598(%ebp)
 5208      FEFF
3721:armor.c       ****       B = res;
 5209              		.loc 1 3721 0
 5210 546c 8B85E8FF 		movl	-65560(%ebp), %eax
 5210      FEFF
 5211 5472 8985E4FF 		movl	%eax, -65564(%ebp)
 5211      FEFF
3722:armor.c       ****       
3723:armor.c       ****             //        BPL   $0659                   ; 065C: 2A FB         
3724:armor.c       ****       if ((SINT8)N >= 0) {
 5212              		.loc 1 3724 0
 5213 5478 0FB685C1 		movzbl	-65599(%ebp), %eax
 5213      FFFEFF
 5214 547f 84C0     		testb	%al, %al
 5215 5481 7809     		js	.L205
3725:armor.c       ****       PC = 0x0659;
 5216              		.loc 1 3725 0
 5217 5483 66C785CA 		movw	$1625, -65590(%ebp)
 5217      FFFEFF59 
 5217      06
 5218              	.L205:
3726:armor.c       ****       JUMP;
3727:armor.c       ****       }
3728:armor.c       ****       
3729:armor.c       ****             //        RTS                           ; 065E: 39            
3730:armor.c       ****       PC = memory[S++]<<8;
 5219              		.loc 1 3730 0
 5220 548c 0FB785C8 		movzwl	-65592(%ebp), %eax
 5220      FFFEFF
 5221 5493 8D5001   		leal	1(%eax), %edx
GAS LISTING /tmp/ccqXEnet.s 			page 209


 5222 5496 668995C8 		movw	%dx, -65592(%ebp)
 5222      FFFEFF
 5223 549d 0FB7C0   		movzwl	%ax, %eax
 5224 54a0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5224      F4FFFEFF 
 5225 54a8 0FB6C0   		movzbl	%al, %eax
 5226 54ab C1E008   		sall	$8, %eax
 5227 54ae 668985CA 		movw	%ax, -65590(%ebp)
 5227      FFFEFF
3731:armor.c       ****       PC |= memory[S++];
 5228              		.loc 1 3731 0
 5229 54b5 0FB785C8 		movzwl	-65592(%ebp), %eax
 5229      FFFEFF
 5230 54bc 8D5001   		leal	1(%eax), %edx
 5231 54bf 668995C8 		movw	%dx, -65592(%ebp)
 5231      FFFEFF
 5232 54c6 0FB7C0   		movzwl	%ax, %eax
 5233 54c9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5233      F4FFFEFF 
 5234 54d1 0FB6C0   		movzbl	%al, %eax
 5235 54d4 660985CA 		orw	%ax, -65590(%ebp)
 5235      FFFEFF
 5236              	.L206:
3732:armor.c       ****       JUMP;
3733:armor.c       ****       
3734:armor.c       ****       
3735:armor.c       ****       L065F://        ANDB  #$03                    ; 065F: C4 03         
3736:armor.c       ****       B = B & (SINT8)0x03;
 5237              		.loc 1 3736 0
 5238 54db 83A5E4FF 		andl	$3, -65564(%ebp)
 5238      FEFF03
3737:armor.c       ****   //  Z = B;
3738:armor.c       ****   //  N = B;
3739:armor.c       ****   //  V = 0;
3740:armor.c       ****       
3741:armor.c       ****             //        LDA   B,Y                     ; 0661: A6 A5         
3742:armor.c       ****       A = memory[(UINT16)(Y + (SINT8)B)];
 5239              		.loc 1 3742 0
 5240 54e2 8B85E4FF 		movl	-65564(%ebp), %eax
 5240      FEFF
 5241 54e8 660FBED0 		movsbw	%al, %dx
 5242 54ec 0FB785D2 		movzwl	-65582(%ebp), %eax
 5242      FFFEFF
 5243 54f3 01D0     		addl	%edx, %eax
 5244 54f5 0FB7C0   		movzwl	%ax, %eax
 5245 54f8 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5245      F4FFFEFF 
 5246 5500 0FB6C0   		movzbl	%al, %eax
 5247 5503 8985E0FF 		movl	%eax, -65568(%ebp)
 5247      FEFF
3743:armor.c       ****   //  N = A;
3744:armor.c       ****       Z = A;
 5248              		.loc 1 3744 0
 5249 5509 8B85E0FF 		movl	-65568(%ebp), %eax
 5249      FEFF
 5250 550f 668985CC 		movw	%ax, -65588(%ebp)
 5250      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 210


3745:armor.c       ****   //  V = 0;
3746:armor.c       ****       
3747:armor.c       ****             //        BEQ   $066D                   ; 0663: 27 08         
3748:armor.c       ****       if (!Z) {
 5251              		.loc 1 3748 0
 5252 5516 6683BDCC 		cmpw	$0, -65588(%ebp)
 5252      FFFEFF00 
 5253 551e 7509     		jne	.L207
3749:armor.c       ****       PC = 0x066d;
 5254              		.loc 1 3749 0
 5255 5520 66C785CA 		movw	$1645, -65590(%ebp)
 5255      FFFEFF6D 
 5255      06
 5256              	.L207:
3750:armor.c       ****       JUMP;
3751:armor.c       ****       }
3752:armor.c       ****       
3753:armor.c       ****             //        CMPA  $03,X                   ; 0665: A1 03         
3754:armor.c       ****       res = A - memory[(UINT16)(X + 0x0003)];
 5257              		.loc 1 3754 0
 5258 5529 0FB785C6 		movzwl	-65594(%ebp), %eax
 5258      FFFEFF
 5259 5530 83C003   		addl	$3, %eax
 5260 5533 0FB7C0   		movzwl	%ax, %eax
 5261 5536 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5261      F4FFFEFF 
 5262 553e 0FB6C0   		movzbl	%al, %eax
 5263 5541 8B95E0FF 		movl	-65568(%ebp), %edx
 5263      FEFF
 5264 5547 29C2     		subl	%eax, %edx
 5265 5549 89D0     		movl	%edx, %eax
 5266 554b 8985E8FF 		movl	%eax, -65560(%ebp)
 5266      FEFF
3755:armor.c       ****       C = res & 0x100;
 5267              		.loc 1 3755 0
 5268 5551 8B85E8FF 		movl	-65560(%ebp), %eax
 5268      FEFF
 5269 5557 25000100 		andl	$256, %eax
 5269      00
 5270 555c 8985ECFF 		movl	%eax, -65556(%ebp)
 5270      FEFF
3756:armor.c       ****       res = (UINT8)res;
 5271              		.loc 1 3756 0
 5272 5562 8B85E8FF 		movl	-65560(%ebp), %eax
 5272      FEFF
 5273 5568 0FB6C0   		movzbl	%al, %eax
 5274 556b 8985E8FF 		movl	%eax, -65560(%ebp)
 5274      FEFF
3757:armor.c       ****       Z = res;
 5275              		.loc 1 3757 0
 5276 5571 8B85E8FF 		movl	-65560(%ebp), %eax
 5276      FEFF
 5277 5577 668985CC 		movw	%ax, -65588(%ebp)
 5277      FFFEFF
3758:armor.c       ****   //  N = res;
3759:armor.c       ****   //  V = (A ^ memory[(UINT16)(X + 0x0003)]) & (A ^ res);
3760:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 211


3761:armor.c       ****             //        BNE   $066E                   ; 0667: 26 05         
3762:armor.c       ****       if (Z) {
 5278              		.loc 1 3762 0
 5279 557e 6683BDCC 		cmpw	$0, -65588(%ebp)
 5279      FFFEFF00 
 5280 5586 7409     		je	.L208
3763:armor.c       ****       PC = 0x066e;
 5281              		.loc 1 3763 0
 5282 5588 66C785CA 		movw	$1646, -65590(%ebp)
 5282      FFFEFF6E 
 5282      06
 5283              	.L208:
3764:armor.c       ****       JUMP;
3765:armor.c       ****       }
3766:armor.c       ****       
3767:armor.c       ****             //        TST   $FFFF,X                 ; 0669: 6D 1F         
3768:armor.c       ****       Z = memory[(UINT16)(X + 0xffff)];
 5284              		.loc 1 3768 0
 5285 5591 0FB785C6 		movzwl	-65594(%ebp), %eax
 5285      FFFEFF
 5286 5598 83E801   		subl	$1, %eax
 5287 559b 0FB7C0   		movzwl	%ax, %eax
 5288 559e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5288      F4FFFEFF 
 5289 55a6 0FB6C0   		movzbl	%al, %eax
 5290 55a9 668985CC 		movw	%ax, -65588(%ebp)
 5290      FFFEFF
3769:armor.c       ****       N = memory[(UINT16)(X + 0xffff)];
 5291              		.loc 1 3769 0
 5292 55b0 0FB785C6 		movzwl	-65594(%ebp), %eax
 5292      FFFEFF
 5293 55b7 83E801   		subl	$1, %eax
 5294 55ba 0FB7C0   		movzwl	%ax, %eax
 5295 55bd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5295      F4FFFEFF 
 5296 55c5 8885C1FF 		movb	%al, -65599(%ebp)
 5296      FEFF
3770:armor.c       ****       V = 0;
 5297              		.loc 1 3770 0
 5298 55cb C685C2FF 		movb	$0, -65598(%ebp)
 5298      FEFF00
3771:armor.c       ****       
3772:armor.c       ****             //        BEQ   $0672                   ; 066B: 27 05         
3773:armor.c       ****       if (!Z) {
 5299              		.loc 1 3773 0
 5300 55d2 6683BDCC 		cmpw	$0, -65588(%ebp)
 5300      FFFEFF00 
 5301 55da 750B     		jne	.L457
3774:armor.c       ****       PC = 0x0672;
 5302              		.loc 1 3774 0
 5303 55dc 66C785CA 		movw	$1650, -65590(%ebp)
 5303      FFFEFF72 
 5303      06
 5304 55e5 EB01     		jmp	.L209
 5305              	.L457:
3775:armor.c       ****       JUMP;
3776:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 212


3777:armor.c       ****       
3778:armor.c       ****       L066D://        RTS                           ; 066D: 39            
 5306              		.loc 1 3778 0
 5307 55e7 90       		nop
 5308              	.L209:
3779:armor.c       ****       PC = memory[S++]<<8;
 5309              		.loc 1 3779 0
 5310 55e8 0FB785C8 		movzwl	-65592(%ebp), %eax
 5310      FFFEFF
 5311 55ef 8D5001   		leal	1(%eax), %edx
 5312 55f2 668995C8 		movw	%dx, -65592(%ebp)
 5312      FFFEFF
 5313 55f9 0FB7C0   		movzwl	%ax, %eax
 5314 55fc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5314      F4FFFEFF 
 5315 5604 0FB6C0   		movzbl	%al, %eax
 5316 5607 C1E008   		sall	$8, %eax
 5317 560a 668985CA 		movw	%ax, -65590(%ebp)
 5317      FFFEFF
3780:armor.c       ****       PC |= memory[S++];
 5318              		.loc 1 3780 0
 5319 5611 0FB785C8 		movzwl	-65592(%ebp), %eax
 5319      FFFEFF
 5320 5618 8D5001   		leal	1(%eax), %edx
 5321 561b 668995C8 		movw	%dx, -65592(%ebp)
 5321      FFFEFF
 5322 5622 0FB7C0   		movzwl	%ax, %eax
 5323 5625 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5323      F4FFFEFF 
 5324 562d 0FB6C0   		movzbl	%al, %eax
 5325 5630 660985CA 		orw	%ax, -65590(%ebp)
 5325      FFFEFF
 5326              	.L210:
3781:armor.c       ****       JUMP;
3782:armor.c       ****       
3783:armor.c       ****       
3784:armor.c       ****       L066E://        CLR   $FFFF,X                 ; 066E: 6F 1F         
3785:armor.c       ****       memory[(UINT16)(X + 0xffff)] = 0;
 5327              		.loc 1 3785 0
 5328 5637 0FB785C6 		movzwl	-65594(%ebp), %eax
 5328      FFFEFF
 5329 563e 83E801   		subl	$1, %eax
 5330 5641 0FB7C0   		movzwl	%ax, %eax
 5331 5644 C68405F4 		movb	$0, -65548(%ebp,%eax)
 5331      FFFEFF00 
3786:armor.c       ****       V = 0;
 5332              		.loc 1 3786 0
 5333 564c C685C2FF 		movb	$0, -65598(%ebp)
 5333      FEFF00
3787:armor.c       ****       Z = 0;
 5334              		.loc 1 3787 0
 5335 5653 66C785CC 		movw	$0, -65588(%ebp)
 5335      FFFEFF00 
 5335      00
3788:armor.c       ****       N = 0;
 5336              		.loc 1 3788 0
 5337 565c C685C1FF 		movb	$0, -65599(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 213


 5337      FEFF00
3789:armor.c       ****       C = 0;
 5338              		.loc 1 3789 0
 5339 5663 C785ECFF 		movl	$0, -65556(%ebp)
 5339      FEFF0000 
 5339      0000
3790:armor.c       ****       
3791:armor.c       ****             //        BRA   $0674                   ; 0670: 20 02         
3792:armor.c       ****       PC = 0x0674;
 5340              		.loc 1 3792 0
 5341 566d 66C785CA 		movw	$1652, -65590(%ebp)
 5341      FFFEFF74 
 5341      06
 5342              	.L211:
3793:armor.c       ****       JUMP;
3794:armor.c       ****       
3795:armor.c       ****       
3796:armor.c       ****       L0672://        INC   $FFFF,X                 ; 0672: 6C 1F         
3797:armor.c       ****       res = (UINT8)((memory[(UINT16)(X + 0xffff)]) + 1);
 5343              		.loc 1 3797 0
 5344 5676 0FB785C6 		movzwl	-65594(%ebp), %eax
 5344      FFFEFF
 5345 567d 83E801   		subl	$1, %eax
 5346 5680 0FB7C0   		movzwl	%ax, %eax
 5347 5683 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5347      F4FFFEFF 
 5348 568b 83C001   		addl	$1, %eax
 5349 568e 0FB6C0   		movzbl	%al, %eax
 5350 5691 8985E8FF 		movl	%eax, -65560(%ebp)
 5350      FEFF
3798:armor.c       ****   //  Z = res;
3799:armor.c       ****   //  N = res;
3800:armor.c       ****   //  V = res & ~(memory[(UINT16)(X + 0xffff)]);
3801:armor.c       ****       memory[(UINT16)(X + 0xffff)] = res;
 5351              		.loc 1 3801 0
 5352 5697 0FB785C6 		movzwl	-65594(%ebp), %eax
 5352      FFFEFF
 5353 569e 83E801   		subl	$1, %eax
 5354 56a1 0FB7C0   		movzwl	%ax, %eax
 5355 56a4 8B95E8FF 		movl	-65560(%ebp), %edx
 5355      FEFF
 5356 56aa 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5356      FFFEFF
 5357              	.L212:
3802:armor.c       ****       
3803:armor.c       ****       L0674://        STD   ,S++                    ; 0674: ED E1         
3804:armor.c       ****       ea = S; S = S + 2;
 5358              		.loc 1 3804 0
 5359 56b1 0FB785C8 		movzwl	-65592(%ebp), %eax
 5359      FFFEFF
 5360 56b8 668985D0 		movw	%ax, -65584(%ebp)
 5360      FFFEFF
 5361 56bf 668385C8 		addw	$2, -65592(%ebp)
 5361      FFFEFF02 
3805:armor.c       ****   //  Z = A | B;
3806:armor.c       ****   //  N = A;
3807:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 214


3808:armor.c       ****       memory[ea] = A;
 5362              		.loc 1 3808 0
 5363 56c7 0FB785D0 		movzwl	-65584(%ebp), %eax
 5363      FFFEFF
 5364 56ce 8B95E0FF 		movl	-65568(%ebp), %edx
 5364      FEFF
 5365 56d4 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5365      FFFEFF
3809:armor.c       ****       memory[ea + 1] = B;
 5366              		.loc 1 3809 0
 5367 56db 0FB785D0 		movzwl	-65584(%ebp), %eax
 5367      FFFEFF
 5368 56e2 83C001   		addl	$1, %eax
 5369 56e5 8B95E4FF 		movl	-65564(%ebp), %edx
 5369      FEFF
 5370 56eb 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5370      FFFEFF
3810:armor.c       ****       
3811:armor.c       ****             //        CMPA  $02,X                   ; 0676: A1 02         
3812:armor.c       ****       res = A - memory[(UINT16)(X + 0x0002)];
 5371              		.loc 1 3812 0
 5372 56f2 0FB785C6 		movzwl	-65594(%ebp), %eax
 5372      FFFEFF
 5373 56f9 83C002   		addl	$2, %eax
 5374 56fc 0FB7C0   		movzwl	%ax, %eax
 5375 56ff 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5375      F4FFFEFF 
 5376 5707 0FB6C0   		movzbl	%al, %eax
 5377 570a 8B95E0FF 		movl	-65568(%ebp), %edx
 5377      FEFF
 5378 5710 29C2     		subl	%eax, %edx
 5379 5712 89D0     		movl	%edx, %eax
 5380 5714 8985E8FF 		movl	%eax, -65560(%ebp)
 5380      FEFF
3813:armor.c       ****       C = res & 0x100;
 5381              		.loc 1 3813 0
 5382 571a 8B85E8FF 		movl	-65560(%ebp), %eax
 5382      FEFF
 5383 5720 25000100 		andl	$256, %eax
 5383      00
 5384 5725 8985ECFF 		movl	%eax, -65556(%ebp)
 5384      FEFF
3814:armor.c       ****       res = (UINT8)res;
 5385              		.loc 1 3814 0
 5386 572b 8B85E8FF 		movl	-65560(%ebp), %eax
 5386      FEFF
 5387 5731 0FB6C0   		movzbl	%al, %eax
 5388 5734 8985E8FF 		movl	%eax, -65560(%ebp)
 5388      FEFF
3815:armor.c       ****       Z = res;
 5389              		.loc 1 3815 0
 5390 573a 8B85E8FF 		movl	-65560(%ebp), %eax
 5390      FEFF
 5391 5740 668985CC 		movw	%ax, -65588(%ebp)
 5391      FFFEFF
3816:armor.c       ****   //  N = res;
3817:armor.c       ****   //  V = (A ^ memory[(UINT16)(X + 0x0002)]) & (A ^ res);
GAS LISTING /tmp/ccqXEnet.s 			page 215


3818:armor.c       ****       
3819:armor.c       ****             //        BNE   $0683                   ; 0678: 26 09         
3820:armor.c       ****       if (Z) {
 5392              		.loc 1 3820 0
 5393 5747 6683BDCC 		cmpw	$0, -65588(%ebp)
 5393      FFFEFF00 
 5394 574f 7409     		je	.L213
3821:armor.c       ****       PC = 0x0683;
 5395              		.loc 1 3821 0
 5396 5751 66C785CA 		movw	$1667, -65590(%ebp)
 5396      FFFEFF83 
 5396      06
 5397              	.L213:
3822:armor.c       ****       JUMP;
3823:armor.c       ****       }
3824:armor.c       ****       
3825:armor.c       ****             //        RORB                          ; 067A: 56            
3826:armor.c       ****       res = B;
 5398              		.loc 1 3826 0
 5399 575a 8B85E4FF 		movl	-65564(%ebp), %eax
 5399      FEFF
 5400 5760 8985E8FF 		movl	%eax, -65560(%ebp)
 5400      FEFF
3827:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 5401              		.loc 1 3827 0
 5402 5766 83BDECFF 		cmpl	$0, -65556(%ebp)
 5402      FEFF00
 5403 576d 0F95C0   		setne	%al
 5404 5770 0FB6C0   		movzbl	%al, %eax
 5405 5773 0B85E8FF 		orl	-65560(%ebp), %eax
 5405      FEFF
 5406 5779 85C0     		testl	%eax, %eax
 5407 577b 7407     		je	.L214
 5408              		.loc 1 3827 0 is_stmt 0 discriminator 1
 5409 577d B8000100 		movl	$256, %eax
 5409      00
 5410 5782 EB05     		jmp	.L215
 5411              	.L214:
 5412              		.loc 1 3827 0 discriminator 2
 5413 5784 B8000000 		movl	$0, %eax
 5413      00
 5414              	.L215:
 5415              		.loc 1 3827 0 discriminator 4
 5416 5789 8985E8FF 		movl	%eax, -65560(%ebp)
 5416      FEFF
3828:armor.c       ****       C = res & 1;
 5417              		.loc 1 3828 0 is_stmt 1 discriminator 4
 5418 578f 8B85E8FF 		movl	-65560(%ebp), %eax
 5418      FEFF
 5419 5795 83E001   		andl	$1, %eax
 5420 5798 8985ECFF 		movl	%eax, -65556(%ebp)
 5420      FEFF
3829:armor.c       ****       res = res >> 1;
 5421              		.loc 1 3829 0 discriminator 4
 5422 579e D1BDE8FF 		sarl	-65560(%ebp)
 5422      FEFF
3830:armor.c       ****   //  Z = res;
GAS LISTING /tmp/ccqXEnet.s 			page 216


3831:armor.c       ****   //  N = res;
3832:armor.c       ****       B = res;
 5423              		.loc 1 3832 0 discriminator 4
 5424 57a4 8B85E8FF 		movl	-65560(%ebp), %eax
 5424      FEFF
 5425 57aa 8985E4FF 		movl	%eax, -65564(%ebp)
 5425      FEFF
3833:armor.c       ****       
3834:armor.c       ****             //        BCS   $067F                   ; 067B: 25 02         
3835:armor.c       ****       if (C) {
 5426              		.loc 1 3835 0 discriminator 4
 5427 57b0 83BDECFF 		cmpl	$0, -65556(%ebp)
 5427      FEFF00
 5428 57b7 7409     		je	.L216
3836:armor.c       ****       PC = 0x067f;
 5429              		.loc 1 3836 0
 5430 57b9 66C785CA 		movw	$1663, -65590(%ebp)
 5430      FFFEFF7F 
 5430      06
 5431              	.L216:
3837:armor.c       ****       JUMP;
3838:armor.c       ****       }
3839:armor.c       ****       
3840:armor.c       ****             //        ADDB  #$02                    ; 067D: CB 02         
3841:armor.c       ****       B = (UINT8)(B + (SINT8)0x02);
 5432              		.loc 1 3841 0
 5433 57c2 8B85E4FF 		movl	-65564(%ebp), %eax
 5433      FEFF
 5434 57c8 83C002   		addl	$2, %eax
 5435 57cb 0FB6C0   		movzbl	%al, %eax
 5436 57ce 8985E4FF 		movl	%eax, -65564(%ebp)
 5436      FEFF
 5437              	.L217:
3842:armor.c       ****   //  res = B + (SINT8)0x02;
3843:armor.c       ****   //  C = res & 0x100;
3844:armor.c       ****   //  res = (UINT8)res;
3845:armor.c       ****   //  Z = res;
3846:armor.c       ****   //  N = res;
3847:armor.c       ****   //  res = B ^ (SINT8)0x02 ^ res ^ C;
3848:armor.c       ****   //  H = res;
3849:armor.c       ****   //  V = res;
3850:armor.c       ****       
3851:armor.c       ****       L067F://        ADDB  #$02                    ; 067F: CB 02         
3852:armor.c       ****       B = (UINT8)(B + (SINT8)0x02);
 5438              		.loc 1 3852 0
 5439 57d4 8B85E4FF 		movl	-65564(%ebp), %eax
 5439      FEFF
 5440 57da 83C002   		addl	$2, %eax
 5441 57dd 0FB6C0   		movzbl	%al, %eax
 5442 57e0 8985E4FF 		movl	%eax, -65564(%ebp)
 5442      FEFF
3853:armor.c       ****       res = B + (SINT8)0x02;
 5443              		.loc 1 3853 0
 5444 57e6 8B85E4FF 		movl	-65564(%ebp), %eax
 5444      FEFF
 5445 57ec 83C002   		addl	$2, %eax
 5446 57ef 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 217


 5446      FEFF
3854:armor.c       ****       C = res & 0x100;
 5447              		.loc 1 3854 0
 5448 57f5 8B85E8FF 		movl	-65560(%ebp), %eax
 5448      FEFF
 5449 57fb 25000100 		andl	$256, %eax
 5449      00
 5450 5800 8985ECFF 		movl	%eax, -65556(%ebp)
 5450      FEFF
3855:armor.c       ****       res = (UINT8)res;
 5451              		.loc 1 3855 0
 5452 5806 8B85E8FF 		movl	-65560(%ebp), %eax
 5452      FEFF
 5453 580c 0FB6C0   		movzbl	%al, %eax
 5454 580f 8985E8FF 		movl	%eax, -65560(%ebp)
 5454      FEFF
3856:armor.c       ****   //  Z = res;
3857:armor.c       ****   //  N = res;
3858:armor.c       ****       res = B ^ (SINT8)0x02 ^ res ^ C;
 5455              		.loc 1 3858 0
 5456 5815 8B85E4FF 		movl	-65564(%ebp), %eax
 5456      FEFF
 5457 581b 83F002   		xorl	$2, %eax
 5458 581e 3385E8FF 		xorl	-65560(%ebp), %eax
 5458      FEFF
 5459 5824 3385ECFF 		xorl	-65556(%ebp), %eax
 5459      FEFF
 5460 582a 8985E8FF 		movl	%eax, -65560(%ebp)
 5460      FEFF
3859:armor.c       ****       H = res;
 5461              		.loc 1 3859 0
 5462 5830 8B85E8FF 		movl	-65560(%ebp), %eax
 5462      FEFF
 5463 5836 8885C3FF 		movb	%al, -65597(%ebp)
 5463      FEFF
3860:armor.c       ****   //  V = res;
3861:armor.c       ****       
3862:armor.c       ****             //        STB   $FFFB,X                 ; 0681: E7 1B         
3863:armor.c       ****   //  Z = B;
3864:armor.c       ****   //  N = B;
3865:armor.c       ****   //  V = 0;
3866:armor.c       ****       memory[(UINT16)(X + 0xfffb)] = B;
 5464              		.loc 1 3866 0
 5465 583c 0FB785C6 		movzwl	-65594(%ebp), %eax
 5465      FFFEFF
 5466 5843 83E805   		subl	$5, %eax
 5467 5846 0FB7C0   		movzwl	%ax, %eax
 5468 5849 8B95E4FF 		movl	-65564(%ebp), %edx
 5468      FEFF
 5469 584f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5469      FFFEFF
 5470              	.L218:
3867:armor.c       ****       
3868:armor.c       ****       L0683://        LDA   $02,X                   ; 0683: A6 02         
3869:armor.c       ****       A = memory[(UINT16)(X + 0x0002)];
 5471              		.loc 1 3869 0
 5472 5856 0FB785C6 		movzwl	-65594(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 218


 5472      FFFEFF
 5473 585d 83C002   		addl	$2, %eax
 5474 5860 0FB7C0   		movzwl	%ax, %eax
 5475 5863 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5475      F4FFFEFF 
 5476 586b 0FB6C0   		movzbl	%al, %eax
 5477 586e 8985E0FF 		movl	%eax, -65568(%ebp)
 5477      FEFF
3870:armor.c       ****   //  N = A;
3871:armor.c       ****   //  Z = A;
3872:armor.c       ****   //  V = 0;
3873:armor.c       ****       
3874:armor.c       ****             //        STA   $03,X                   ; 0685: A7 03         
3875:armor.c       ****   //  Z = A;
3876:armor.c       ****   //  N = A;
3877:armor.c       ****   //  V = 0;
3878:armor.c       ****       memory[(UINT16)(X + 0x0003)] = A;
 5478              		.loc 1 3878 0
 5479 5874 0FB785C6 		movzwl	-65594(%ebp), %eax
 5479      FFFEFF
 5480 587b 83C003   		addl	$3, %eax
 5481 587e 0FB7C0   		movzwl	%ax, %eax
 5482 5881 8B95E0FF 		movl	-65568(%ebp), %edx
 5482      FEFF
 5483 5887 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5483      FFFEFF
3879:armor.c       ****       
3880:armor.c       ****             //        LDD   $FFFE,S                 ; 0687: EC 7E         
3881:armor.c       ****       A = memory[(UINT16)(S + 0xfffe)];
 5484              		.loc 1 3881 0
 5485 588e 0FB785C8 		movzwl	-65592(%ebp), %eax
 5485      FFFEFF
 5486 5895 83E802   		subl	$2, %eax
 5487 5898 0FB7C0   		movzwl	%ax, %eax
 5488 589b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5488      F4FFFEFF 
 5489 58a3 0FB6C0   		movzbl	%al, %eax
 5490 58a6 8985E0FF 		movl	%eax, -65568(%ebp)
 5490      FEFF
3882:armor.c       ****       B = memory[(UINT16)(((UINT16)(S + 0xfffe))+1)];
 5491              		.loc 1 3882 0
 5492 58ac 0FB785C8 		movzwl	-65592(%ebp), %eax
 5492      FFFEFF
 5493 58b3 83E801   		subl	$1, %eax
 5494 58b6 0FB7C0   		movzwl	%ax, %eax
 5495 58b9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5495      F4FFFEFF 
 5496 58c1 0FB6C0   		movzbl	%al, %eax
 5497 58c4 8985E4FF 		movl	%eax, -65564(%ebp)
 5497      FEFF
3883:armor.c       ****   //  Z = A|B;
3884:armor.c       ****   //  N = A;
3885:armor.c       ****   //  V = 0;
3886:armor.c       ****       
3887:armor.c       ****             //        STA   $02,X                   ; 0689: A7 02         
3888:armor.c       ****   //  Z = A;
3889:armor.c       ****   //  N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 219


3890:armor.c       ****   //  V = 0;
3891:armor.c       ****       memory[(UINT16)(X + 0x0002)] = A;
 5498              		.loc 1 3891 0
 5499 58ca 0FB785C6 		movzwl	-65594(%ebp), %eax
 5499      FFFEFF
 5500 58d1 83C002   		addl	$2, %eax
 5501 58d4 0FB7C0   		movzwl	%ax, %eax
 5502 58d7 8B95E0FF 		movl	-65568(%ebp), %edx
 5502      FEFF
 5503 58dd 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5503      FFFEFF
3892:armor.c       ****       
3893:armor.c       ****             //        LEAY  B,Y                     ; 068B: 31 A5         
3894:armor.c       ****       Y = (Y + (SINT8)B);
 5504              		.loc 1 3894 0
 5505 58e4 8B85E4FF 		movl	-65564(%ebp), %eax
 5505      FEFF
 5506 58ea 6698     		cbtw
 5507 58ec 660185D2 		addw	%ax, -65582(%ebp)
 5507      FFFEFF
3895:armor.c       ****   //  Z = Y;
3896:armor.c       ****       
3897:armor.c       ****             //        LDA   $04,Y                   ; 068D: A6 24         
3898:armor.c       ****       A = memory[(UINT16)(Y + 0x0004)];
 5508              		.loc 1 3898 0
 5509 58f3 0FB785D2 		movzwl	-65582(%ebp), %eax
 5509      FFFEFF
 5510 58fa 83C004   		addl	$4, %eax
 5511 58fd 0FB7C0   		movzwl	%ax, %eax
 5512 5900 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5512      F4FFFEFF 
 5513 5908 0FB6C0   		movzbl	%al, %eax
 5514 590b 8985E0FF 		movl	%eax, -65568(%ebp)
 5514      FEFF
3899:armor.c       ****   //  N = A;
3900:armor.c       ****   //  Z = A;
3901:armor.c       ****   //  V = 0;
3902:armor.c       ****       
3903:armor.c       ****             //        STA   $05,X                   ; 068F: A7 05         
3904:armor.c       ****   //  Z = A;
3905:armor.c       ****   //  N = A;
3906:armor.c       ****   //  V = 0;
3907:armor.c       ****       memory[(UINT16)(X + 0x0005)] = A;
 5515              		.loc 1 3907 0
 5516 5911 0FB785C6 		movzwl	-65594(%ebp), %eax
 5516      FFFEFF
 5517 5918 83C005   		addl	$5, %eax
 5518 591b 0FB7C0   		movzwl	%ax, %eax
 5519 591e 8B95E0FF 		movl	-65568(%ebp), %edx
 5519      FEFF
 5520 5924 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5520      FFFEFF
3908:armor.c       ****       
3909:armor.c       ****             //        TFR   B,A                     ; 0691: 1F 98         
3910:armor.c       ****       A = B;
 5521              		.loc 1 3910 0
 5522 592b 8B85E4FF 		movl	-65564(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 220


 5522      FEFF
 5523 5931 8985E0FF 		movl	%eax, -65568(%ebp)
 5523      FEFF
3911:armor.c       ****       
3912:armor.c       ****             //        SUBB  $04,X                   ; 0693: E0 04         
3913:armor.c       ****       B = (UINT8)(B - memory[(UINT16)(X + 0x0004)]);
 5524              		.loc 1 3913 0
 5525 5937 8B85E4FF 		movl	-65564(%ebp), %eax
 5525      FEFF
 5526 593d 89C2     		movl	%eax, %edx
 5527 593f 0FB785C6 		movzwl	-65594(%ebp), %eax
 5527      FFFEFF
 5528 5946 83C004   		addl	$4, %eax
 5529 5949 0FB7C0   		movzwl	%ax, %eax
 5530 594c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5530      F4FFFEFF 
 5531 5954 29C2     		subl	%eax, %edx
 5532 5956 89D0     		movl	%edx, %eax
 5533 5958 0FB6C0   		movzbl	%al, %eax
 5534 595b 8985E4FF 		movl	%eax, -65564(%ebp)
 5534      FEFF
3914:armor.c       ****   //  res = B - memory[(UINT16)(X + 0x0004)];
3915:armor.c       ****   //  C = res & 0x100;
3916:armor.c       ****   //  res = (UINT8)res;
3917:armor.c       ****   //  Z = res;
3918:armor.c       ****   //  N = res;
3919:armor.c       ****   //  V = ((B) ^ (memory[(UINT16)(X + 0x0004)])) & ((B) ^ res);
3920:armor.c       ****       
3921:armor.c       ****             //        ANDB  #$03                    ; 0695: C4 03         
3922:armor.c       ****       B = B & (SINT8)0x03;
 5535              		.loc 1 3922 0
 5536 5961 83A5E4FF 		andl	$3, -65564(%ebp)
 5536      FEFF03
3923:armor.c       ****       Z = B;
 5537              		.loc 1 3923 0
 5538 5968 8B85E4FF 		movl	-65564(%ebp), %eax
 5538      FEFF
 5539 596e 668985CC 		movw	%ax, -65588(%ebp)
 5539      FFFEFF
3924:armor.c       ****   //  N = B;
3925:armor.c       ****   //  V = 0;
3926:armor.c       ****       
3927:armor.c       ****             //        BEQ   $06A5                   ; 0697: 27 0C         
3928:armor.c       ****       if (!Z) {
 5540              		.loc 1 3928 0
 5541 5975 6683BDCC 		cmpw	$0, -65588(%ebp)
 5541      FFFEFF00 
 5542 597d 7509     		jne	.L219
3929:armor.c       ****       PC = 0x06a5;
 5543              		.loc 1 3929 0
 5544 597f 66C785CA 		movw	$1701, -65590(%ebp)
 5544      FFFEFFA5 
 5544      06
 5545              	.L219:
3930:armor.c       ****       JUMP;
3931:armor.c       ****       }
3932:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 221


3933:armor.c       ****             //        STA   $04,X                   ; 0699: A7 04         
3934:armor.c       ****   //  Z = A;
3935:armor.c       ****   //  N = A;
3936:armor.c       ****   //  V = 0;
3937:armor.c       ****       memory[(UINT16)(X + 0x0004)] = A;
 5546              		.loc 1 3937 0
 5547 5988 0FB785C6 		movzwl	-65594(%ebp), %eax
 5547      FFFEFF
 5548 598f 83C004   		addl	$4, %eax
 5549 5992 0FB7C0   		movzwl	%ax, %eax
 5550 5995 8B95E0FF 		movl	-65568(%ebp), %edx
 5550      FEFF
 5551 599b 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5551      FFFEFF
3938:armor.c       ****       
3939:armor.c       ****             //        CMPB  #$02                    ; 069B: C1 02         
3940:armor.c       ****       res = B - (SINT8)0x02;
 5552              		.loc 1 3940 0
 5553 59a2 8B85E4FF 		movl	-65564(%ebp), %eax
 5553      FEFF
 5554 59a8 83E802   		subl	$2, %eax
 5555 59ab 8985E8FF 		movl	%eax, -65560(%ebp)
 5555      FEFF
3941:armor.c       ****   //  C = res & 0x100;
3942:armor.c       ****       res = (UINT8)res;
 5556              		.loc 1 3942 0
 5557 59b1 8B85E8FF 		movl	-65560(%ebp), %eax
 5557      FEFF
 5558 59b7 0FB6C0   		movzbl	%al, %eax
 5559 59ba 8985E8FF 		movl	%eax, -65560(%ebp)
 5559      FEFF
3943:armor.c       ****       Z = res;
 5560              		.loc 1 3943 0
 5561 59c0 8B85E8FF 		movl	-65560(%ebp), %eax
 5561      FEFF
 5562 59c6 668985CC 		movw	%ax, -65588(%ebp)
 5562      FFFEFF
3944:armor.c       ****   //  N = res;
3945:armor.c       ****   //  V = (B ^ (SINT8)0x02) & (B ^ res);
3946:armor.c       ****       
3947:armor.c       ****             //        BNE   $06A6                   ; 069D: 26 07         
3948:armor.c       ****       if (Z) {
 5563              		.loc 1 3948 0
 5564 59cd 6683BDCC 		cmpw	$0, -65588(%ebp)
 5564      FFFEFF00 
 5565 59d5 7409     		je	.L220
3949:armor.c       ****       PC = 0x06a6;
 5566              		.loc 1 3949 0
 5567 59d7 66C785CA 		movw	$1702, -65590(%ebp)
 5567      FFFEFFA6 
 5567      06
 5568              	.L220:
3950:armor.c       ****       JUMP;
3951:armor.c       ****       }
3952:armor.c       ****       
3953:armor.c       ****             //        LDD   $08,X                   ; 069F: EC 08         
3954:armor.c       ****       A = memory[(UINT16)(X + 0x0008)];
GAS LISTING /tmp/ccqXEnet.s 			page 222


 5569              		.loc 1 3954 0
 5570 59e0 0FB785C6 		movzwl	-65594(%ebp), %eax
 5570      FFFEFF
 5571 59e7 83C008   		addl	$8, %eax
 5572 59ea 0FB7C0   		movzwl	%ax, %eax
 5573 59ed 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5573      F4FFFEFF 
 5574 59f5 0FB6C0   		movzbl	%al, %eax
 5575 59f8 8985E0FF 		movl	%eax, -65568(%ebp)
 5575      FEFF
3955:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0008))+1)];
 5576              		.loc 1 3955 0
 5577 59fe 0FB785C6 		movzwl	-65594(%ebp), %eax
 5577      FFFEFF
 5578 5a05 83C009   		addl	$9, %eax
 5579 5a08 0FB7C0   		movzwl	%ax, %eax
 5580 5a0b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5580      F4FFFEFF 
 5581 5a13 0FB6C0   		movzbl	%al, %eax
 5582 5a16 8985E4FF 		movl	%eax, -65564(%ebp)
 5582      FEFF
3956:armor.c       ****   //  Z = A|B;
3957:armor.c       ****   //  N = A;
3958:armor.c       ****   //  V = 0;
3959:armor.c       ****       
3960:armor.c       ****             //        NEGA                          ; 06A1: 40            
3961:armor.c       ****   //  V = (UINT8)(-A) & (A);
3962:armor.c       ****       A = (UINT8)(-A);
 5583              		.loc 1 3962 0
 5584 5a1c 8B85E0FF 		movl	-65568(%ebp), %eax
 5584      FEFF
 5585 5a22 F7D8     		negl	%eax
 5586 5a24 0FB6C0   		movzbl	%al, %eax
 5587 5a27 8985E0FF 		movl	%eax, -65568(%ebp)
 5587      FEFF
 5588              	.L221:
3963:armor.c       ****   //  Z = A;
3964:armor.c       ****   //  N = A;
3965:armor.c       ****   //  C = A;
3966:armor.c       ****       
3967:armor.c       ****       L06A2://        NEGB                          ; 06A2: 50            
3968:armor.c       ****   //  V = (UINT8)(-B) & (B);
3969:armor.c       ****       B = (UINT8)(-B);
 5589              		.loc 1 3969 0
 5590 5a2d 8B85E4FF 		movl	-65564(%ebp), %eax
 5590      FEFF
 5591 5a33 F7D8     		negl	%eax
 5592 5a35 0FB6C0   		movzbl	%al, %eax
 5593 5a38 8985E4FF 		movl	%eax, -65564(%ebp)
 5593      FEFF
3970:armor.c       ****   //  Z = B;
3971:armor.c       ****   //  N = B;
3972:armor.c       ****       C = B;
 5594              		.loc 1 3972 0
 5595 5a3e 8B85E4FF 		movl	-65564(%ebp), %eax
 5595      FEFF
 5596 5a44 8985ECFF 		movl	%eax, -65556(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 223


 5596      FEFF
 5597              	.L222:
3973:armor.c       ****       
3974:armor.c       ****       L06A3://        STD   $08,X                   ; 06A3: ED 08         
3975:armor.c       ****       Z = A | B;
 5598              		.loc 1 3975 0
 5599 5a4a 8B85E0FF 		movl	-65568(%ebp), %eax
 5599      FEFF
 5600 5a50 89C2     		movl	%eax, %edx
 5601 5a52 8B85E4FF 		movl	-65564(%ebp), %eax
 5601      FEFF
 5602 5a58 09D0     		orl	%edx, %eax
 5603 5a5a 668985CC 		movw	%ax, -65588(%ebp)
 5603      FFFEFF
3976:armor.c       ****       N = A;
 5604              		.loc 1 3976 0
 5605 5a61 8B85E0FF 		movl	-65568(%ebp), %eax
 5605      FEFF
 5606 5a67 8885C1FF 		movb	%al, -65599(%ebp)
 5606      FEFF
3977:armor.c       ****       V = 0;
 5607              		.loc 1 3977 0
 5608 5a6d C685C2FF 		movb	$0, -65598(%ebp)
 5608      FEFF00
3978:armor.c       ****       memory[(UINT16)(X + 0x0008)] = A;
 5609              		.loc 1 3978 0
 5610 5a74 0FB785C6 		movzwl	-65594(%ebp), %eax
 5610      FFFEFF
 5611 5a7b 83C008   		addl	$8, %eax
 5612 5a7e 0FB7C0   		movzwl	%ax, %eax
 5613 5a81 8B95E0FF 		movl	-65568(%ebp), %edx
 5613      FEFF
 5614 5a87 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5614      FFFEFF
3979:armor.c       ****       memory[(UINT16)(X + 0x0008) + 1] = B;
 5615              		.loc 1 3979 0
 5616 5a8e 0FB785C6 		movzwl	-65594(%ebp), %eax
 5616      FFFEFF
 5617 5a95 83C008   		addl	$8, %eax
 5618 5a98 0FB7C0   		movzwl	%ax, %eax
 5619 5a9b 83C001   		addl	$1, %eax
 5620 5a9e 8B95E4FF 		movl	-65564(%ebp), %edx
 5620      FEFF
 5621 5aa4 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5621      FFFEFF
 5622              	.L223:
3980:armor.c       ****       
3981:armor.c       ****       L06A5://        RTS                           ; 06A5: 39            
3982:armor.c       ****       PC = memory[S++]<<8;
 5623              		.loc 1 3982 0
 5624 5aab 0FB785C8 		movzwl	-65592(%ebp), %eax
 5624      FFFEFF
 5625 5ab2 8D5001   		leal	1(%eax), %edx
 5626 5ab5 668995C8 		movw	%dx, -65592(%ebp)
 5626      FFFEFF
 5627 5abc 0FB7C0   		movzwl	%ax, %eax
 5628 5abf 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 224


 5628      F4FFFEFF 
 5629 5ac7 0FB6C0   		movzbl	%al, %eax
 5630 5aca C1E008   		sall	$8, %eax
 5631 5acd 668985CA 		movw	%ax, -65590(%ebp)
 5631      FFFEFF
3983:armor.c       ****       PC |= memory[S++];
 5632              		.loc 1 3983 0
 5633 5ad4 0FB785C8 		movzwl	-65592(%ebp), %eax
 5633      FFFEFF
 5634 5adb 8D5001   		leal	1(%eax), %edx
 5635 5ade 668995C8 		movw	%dx, -65592(%ebp)
 5635      FFFEFF
 5636 5ae5 0FB7C0   		movzwl	%ax, %eax
 5637 5ae8 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5637      F4FFFEFF 
 5638 5af0 0FB6C0   		movzbl	%al, %eax
 5639 5af3 660985CA 		orw	%ax, -65590(%ebp)
 5639      FFFEFF
 5640              	.L224:
3984:armor.c       ****       JUMP;
3985:armor.c       ****       
3986:armor.c       ****       
3987:armor.c       ****       L06A6://        LDA   #$10                    ; 06A6: 86 10         
3988:armor.c       ****       A = (SINT8)0x10;
 5641              		.loc 1 3988 0
 5642 5afa C785E0FF 		movl	$16, -65568(%ebp)
 5642      FEFF1000 
 5642      0000
3989:armor.c       ****   //  N = A;
3990:armor.c       ****   //  Z = A;
3991:armor.c       ****   //  V = 0;
3992:armor.c       ****       
3993:armor.c       ****             //        STA   ,X                      ; 06A8: A7 84         
3994:armor.c       ****   //  Z = A;
3995:armor.c       ****   //  N = A;
3996:armor.c       ****   //  V = 0;
3997:armor.c       ****       memory[X] = A;
 5643              		.loc 1 3997 0
 5644 5b04 0FB785C6 		movzwl	-65594(%ebp), %eax
 5644      FFFEFF
 5645 5b0b 8B95E0FF 		movl	-65568(%ebp), %edx
 5645      FEFF
 5646 5b11 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5646      FFFEFF
3998:armor.c       ****       
3999:armor.c       ****             //        LDA   $01,X                   ; 06AA: A6 01         
4000:armor.c       ****       A = memory[(UINT16)(X + 0x0001)];
 5647              		.loc 1 4000 0
 5648 5b18 0FB785C6 		movzwl	-65594(%ebp), %eax
 5648      FFFEFF
 5649 5b1f 83C001   		addl	$1, %eax
 5650 5b22 0FB7C0   		movzwl	%ax, %eax
 5651 5b25 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5651      F4FFFEFF 
 5652 5b2d 0FB6C0   		movzbl	%al, %eax
 5653 5b30 8985E0FF 		movl	%eax, -65568(%ebp)
 5653      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 225


4001:armor.c       ****   //  N = A;
4002:armor.c       ****   //  Z = A;
4003:armor.c       ****   //  V = 0;
4004:armor.c       ****       
4005:armor.c       ****             //        RORA                          ; 06AC: 46            
4006:armor.c       ****       res = A;
 5654              		.loc 1 4006 0
 5655 5b36 8B85E0FF 		movl	-65568(%ebp), %eax
 5655      FEFF
 5656 5b3c 8985E8FF 		movl	%eax, -65560(%ebp)
 5656      FEFF
4007:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 5657              		.loc 1 4007 0
 5658 5b42 83BDECFF 		cmpl	$0, -65556(%ebp)
 5658      FEFF00
 5659 5b49 0F95C0   		setne	%al
 5660 5b4c 0FB6C0   		movzbl	%al, %eax
 5661 5b4f 0B85E8FF 		orl	-65560(%ebp), %eax
 5661      FEFF
 5662 5b55 85C0     		testl	%eax, %eax
 5663 5b57 7407     		je	.L225
 5664              		.loc 1 4007 0 is_stmt 0 discriminator 1
 5665 5b59 B8000100 		movl	$256, %eax
 5665      00
 5666 5b5e EB05     		jmp	.L226
 5667              	.L225:
 5668              		.loc 1 4007 0 discriminator 2
 5669 5b60 B8000000 		movl	$0, %eax
 5669      00
 5670              	.L226:
 5671              		.loc 1 4007 0 discriminator 4
 5672 5b65 8985E8FF 		movl	%eax, -65560(%ebp)
 5672      FEFF
4008:armor.c       ****       C = res & 1;
 5673              		.loc 1 4008 0 is_stmt 1 discriminator 4
 5674 5b6b 8B85E8FF 		movl	-65560(%ebp), %eax
 5674      FEFF
 5675 5b71 83E001   		andl	$1, %eax
 5676 5b74 8985ECFF 		movl	%eax, -65556(%ebp)
 5676      FEFF
4009:armor.c       ****       res = res >> 1;
 5677              		.loc 1 4009 0 discriminator 4
 5678 5b7a D1BDE8FF 		sarl	-65560(%ebp)
 5678      FEFF
4010:armor.c       ****   //  Z = res;
4011:armor.c       ****   //  N = res;
4012:armor.c       ****       A = res;
 5679              		.loc 1 4012 0 discriminator 4
 5680 5b80 8B85E8FF 		movl	-65560(%ebp), %eax
 5680      FEFF
 5681 5b86 8985E0FF 		movl	%eax, -65568(%ebp)
 5681      FEFF
4013:armor.c       ****       
4014:armor.c       ****             //        BCC   $06B3                   ; 06AD: 24 04         
4015:armor.c       ****       if (!C) {
 5682              		.loc 1 4015 0 discriminator 4
 5683 5b8c 83BDECFF 		cmpl	$0, -65556(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 226


 5683      FEFF00
 5684 5b93 7509     		jne	.L227
4016:armor.c       ****       PC = 0x06b3;
 5685              		.loc 1 4016 0
 5686 5b95 66C785CA 		movw	$1715, -65590(%ebp)
 5686      FFFEFFB3 
 5686      06
 5687              	.L227:
4017:armor.c       ****       JUMP;
4018:armor.c       ****       }
4019:armor.c       ****       
4020:armor.c       ****             //        ADDB  #$02                    ; 06AF: CB 02         
4021:armor.c       ****       B = (UINT8)(B + (SINT8)0x02);
 5688              		.loc 1 4021 0
 5689 5b9e 8B85E4FF 		movl	-65564(%ebp), %eax
 5689      FEFF
 5690 5ba4 83C002   		addl	$2, %eax
 5691 5ba7 0FB6C0   		movzbl	%al, %eax
 5692 5baa 8985E4FF 		movl	%eax, -65564(%ebp)
 5692      FEFF
4022:armor.c       ****       res = B + (SINT8)0x02;
 5693              		.loc 1 4022 0
 5694 5bb0 8B85E4FF 		movl	-65564(%ebp), %eax
 5694      FEFF
 5695 5bb6 83C002   		addl	$2, %eax
 5696 5bb9 8985E8FF 		movl	%eax, -65560(%ebp)
 5696      FEFF
4023:armor.c       ****       C = res & 0x100;
 5697              		.loc 1 4023 0
 5698 5bbf 8B85E8FF 		movl	-65560(%ebp), %eax
 5698      FEFF
 5699 5bc5 25000100 		andl	$256, %eax
 5699      00
 5700 5bca 8985ECFF 		movl	%eax, -65556(%ebp)
 5700      FEFF
4024:armor.c       ****       res = (UINT8)res;
 5701              		.loc 1 4024 0
 5702 5bd0 8B85E8FF 		movl	-65560(%ebp), %eax
 5702      FEFF
 5703 5bd6 0FB6C0   		movzbl	%al, %eax
 5704 5bd9 8985E8FF 		movl	%eax, -65560(%ebp)
 5704      FEFF
4025:armor.c       ****   //  Z = res;
4026:armor.c       ****   //  N = res;
4027:armor.c       ****       res = B ^ (SINT8)0x02 ^ res ^ C;
 5705              		.loc 1 4027 0
 5706 5bdf 8B85E4FF 		movl	-65564(%ebp), %eax
 5706      FEFF
 5707 5be5 83F002   		xorl	$2, %eax
 5708 5be8 3385E8FF 		xorl	-65560(%ebp), %eax
 5708      FEFF
 5709 5bee 3385ECFF 		xorl	-65556(%ebp), %eax
 5709      FEFF
 5710 5bf4 8985E8FF 		movl	%eax, -65560(%ebp)
 5710      FEFF
4028:armor.c       ****       H = res;
 5711              		.loc 1 4028 0
GAS LISTING /tmp/ccqXEnet.s 			page 227


 5712 5bfa 8B85E8FF 		movl	-65560(%ebp), %eax
 5712      FEFF
 5713 5c00 8885C3FF 		movb	%al, -65597(%ebp)
 5713      FEFF
4029:armor.c       ****   //  V = res;
4030:armor.c       ****       
4031:armor.c       ****             //        ANDB  #$03                    ; 06B1: C4 03         
4032:armor.c       ****       B = B & (SINT8)0x03;
 5714              		.loc 1 4032 0
 5715 5c06 83A5E4FF 		andl	$3, -65564(%ebp)
 5715      FEFF03
 5716              	.L228:
4033:armor.c       ****   //  Z = B;
4034:armor.c       ****   //  N = B;
4035:armor.c       ****   //  V = 0;
4036:armor.c       ****       
4037:armor.c       ****       L06B3://        LDA   <$89                    ; 06B3: 96 89         
4038:armor.c       ****       A = memory_DP[0x89];
 5717              		.loc 1 4038 0
 5718 5c0d 8B85DCFF 		movl	-65572(%ebp), %eax
 5718      FEFF
 5719 5c13 05890000 		addl	$137, %eax
 5719      00
 5720 5c18 0FB600   		movzbl	(%eax), %eax
 5721 5c1b 0FB6C0   		movzbl	%al, %eax
 5722 5c1e 8985E0FF 		movl	%eax, -65568(%ebp)
 5722      FEFF
4039:armor.c       ****   //  N = A;
4040:armor.c       ****   //  Z = A;
4041:armor.c       ****   //  V = 0;
4042:armor.c       ****       
4043:armor.c       ****             //        STA   $FFFD,X                 ; 06B5: A7 1D         
4044:armor.c       ****   //  Z = A;
4045:armor.c       ****   //  N = A;
4046:armor.c       ****   //  V = 0;
4047:armor.c       ****       memory[(UINT16)(X + 0xfffd)] = A;
 5723              		.loc 1 4047 0
 5724 5c24 0FB785C6 		movzwl	-65594(%ebp), %eax
 5724      FFFEFF
 5725 5c2b 83E803   		subl	$3, %eax
 5726 5c2e 0FB7C0   		movzwl	%ax, %eax
 5727 5c31 8B95E0FF 		movl	-65568(%ebp), %edx
 5727      FEFF
 5728 5c37 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5728      FFFEFF
4048:armor.c       ****       
4049:armor.c       ****             //        LDA   $09,X                   ; 06B7: A6 09         
4050:armor.c       ****       A = memory[(UINT16)(X + 0x0009)];
 5729              		.loc 1 4050 0
 5730 5c3e 0FB785C6 		movzwl	-65594(%ebp), %eax
 5730      FFFEFF
 5731 5c45 83C009   		addl	$9, %eax
 5732 5c48 0FB7C0   		movzwl	%ax, %eax
 5733 5c4b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5733      F4FFFEFF 
 5734 5c53 0FB6C0   		movzbl	%al, %eax
 5735 5c56 8985E0FF 		movl	%eax, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 228


 5735      FEFF
4051:armor.c       ****   //  N = A;
4052:armor.c       ****   //  Z = A;
4053:armor.c       ****   //  V = 0;
4054:armor.c       ****       
4055:armor.c       ****             //        PSHS  B                       ; 06B9: 34 04         
4056:armor.c       ****       memory[--S] = B;
 5736              		.loc 1 4056 0
 5737 5c5c 6683ADC8 		subw	$1, -65592(%ebp)
 5737      FFFEFF01 
 5738 5c64 0FB785C8 		movzwl	-65592(%ebp), %eax
 5738      FFFEFF
 5739 5c6b 8B95E4FF 		movl	-65564(%ebp), %edx
 5739      FEFF
 5740 5c71 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5740      FFFEFF
4057:armor.c       ****       
4058:armor.c       ****             //        LDB   $08,X                   ; 06BB: E6 08         
4059:armor.c       ****       B = memory[(UINT16)(X + 0x0008)];
 5741              		.loc 1 4059 0
 5742 5c78 0FB785C6 		movzwl	-65594(%ebp), %eax
 5742      FFFEFF
 5743 5c7f 83C008   		addl	$8, %eax
 5744 5c82 0FB7C0   		movzwl	%ax, %eax
 5745 5c85 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5745      F4FFFEFF 
 5746 5c8d 0FB6C0   		movzbl	%al, %eax
 5747 5c90 8985E4FF 		movl	%eax, -65564(%ebp)
 5747      FEFF
4060:armor.c       ****   //  N = B;
4061:armor.c       ****   //  Z = B;
4062:armor.c       ****   //  V = 0;
4063:armor.c       ****       
4064:armor.c       ****             //        DEC   ,S+                     ; 06BD: 6A E0         
4065:armor.c       ****       res = (UINT8)(memory[S++] - 1);
 5748              		.loc 1 4065 0
 5749 5c96 0FB785C8 		movzwl	-65592(%ebp), %eax
 5749      FFFEFF
 5750 5c9d 8D5001   		leal	1(%eax), %edx
 5751 5ca0 668995C8 		movw	%dx, -65592(%ebp)
 5751      FFFEFF
 5752 5ca7 0FB7C0   		movzwl	%ax, %eax
 5753 5caa 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5753      F4FFFEFF 
 5754 5cb2 83E801   		subl	$1, %eax
 5755 5cb5 0FB6C0   		movzbl	%al, %eax
 5756 5cb8 8985E8FF 		movl	%eax, -65560(%ebp)
 5756      FEFF
4066:armor.c       ****   //  N = res;
4067:armor.c       ****       Z = res;
 5757              		.loc 1 4067 0
 5758 5cbe 8B85E8FF 		movl	-65560(%ebp), %eax
 5758      FEFF
 5759 5cc4 668985CC 		movw	%ax, -65588(%ebp)
 5759      FFFEFF
4068:armor.c       ****   //  V = memory[S++] & ~res;
4069:armor.c       ****       memory[S++] = res;
GAS LISTING /tmp/ccqXEnet.s 			page 229


 5760              		.loc 1 4069 0
 5761 5ccb 0FB785C8 		movzwl	-65592(%ebp), %eax
 5761      FFFEFF
 5762 5cd2 8D5001   		leal	1(%eax), %edx
 5763 5cd5 668995C8 		movw	%dx, -65592(%ebp)
 5763      FFFEFF
 5764 5cdc 0FB7C0   		movzwl	%ax, %eax
 5765 5cdf 8B95E8FF 		movl	-65560(%ebp), %edx
 5765      FEFF
 5766 5ce5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5766      FFFEFF
4070:armor.c       ****       
4071:armor.c       ****             //        BEQ   $06A2                   ; 06BF: 27 E1         
4072:armor.c       ****       if (!Z) {
 5767              		.loc 1 4072 0
 5768 5cec 6683BDCC 		cmpw	$0, -65588(%ebp)
 5768      FFFEFF00 
 5769 5cf4 7509     		jne	.L229
4073:armor.c       ****       PC = 0x06a2;
 5770              		.loc 1 4073 0
 5771 5cf6 66C785CA 		movw	$1698, -65590(%ebp)
 5771      FFFEFFA2 
 5771      06
 5772              	.L229:
4074:armor.c       ****       JUMP;
4075:armor.c       ****       }
4076:armor.c       ****       
4077:armor.c       ****             //        NEGA                          ; 06C1: 40            
4078:armor.c       ****   //  V = (UINT8)(-A) & (A);
4079:armor.c       ****       A = (UINT8)(-A);
 5773              		.loc 1 4079 0
 5774 5cff 8B85E0FF 		movl	-65568(%ebp), %eax
 5774      FEFF
 5775 5d05 F7D8     		negl	%eax
 5776 5d07 0FB6C0   		movzbl	%al, %eax
 5777 5d0a 8985E0FF 		movl	%eax, -65568(%ebp)
 5777      FEFF
4080:armor.c       ****   //  Z = A;
4081:armor.c       ****   //  N = A;
4082:armor.c       ****   //  C = A;
4083:armor.c       ****       
4084:armor.c       ****             //        NEG   $FFFD,X                 ; 06C2: 60 1D         
4085:armor.c       ****       V = (UINT8)(-memory[(UINT16)(X + 0xfffd)]) & (memory[(UINT16)(X + 0xfffd)]);
 5778              		.loc 1 4085 0
 5779 5d10 0FB785C6 		movzwl	-65594(%ebp), %eax
 5779      FFFEFF
 5780 5d17 83E803   		subl	$3, %eax
 5781 5d1a 0FB7C0   		movzwl	%ax, %eax
 5782 5d1d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5782      F4FFFEFF 
 5783 5d25 F7D8     		negl	%eax
 5784 5d27 89C2     		movl	%eax, %edx
 5785 5d29 0FB785C6 		movzwl	-65594(%ebp), %eax
 5785      FFFEFF
 5786 5d30 83E803   		subl	$3, %eax
 5787 5d33 0FB7C0   		movzwl	%ax, %eax
 5788 5d36 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 230


 5788      F4FFFEFF 
 5789 5d3e 21D0     		andl	%edx, %eax
 5790 5d40 8885C2FF 		movb	%al, -65598(%ebp)
 5790      FEFF
4086:armor.c       ****       memory[(UINT16)(X + 0xfffd)] = (UINT8)(-memory[(UINT16)(X + 0xfffd)]);
 5791              		.loc 1 4086 0
 5792 5d46 0FB785C6 		movzwl	-65594(%ebp), %eax
 5792      FFFEFF
 5793 5d4d 83E803   		subl	$3, %eax
 5794 5d50 0FB7C0   		movzwl	%ax, %eax
 5795 5d53 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
 5795      F4FFFEFF 
 5796 5d5b 0FB785C6 		movzwl	-65594(%ebp), %eax
 5796      FFFEFF
 5797 5d62 83E803   		subl	$3, %eax
 5798 5d65 0FB7C0   		movzwl	%ax, %eax
 5799 5d68 F7DA     		negl	%edx
 5800 5d6a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5800      FFFEFF
4087:armor.c       ****       Z = memory[(UINT16)(X + 0xfffd)];
 5801              		.loc 1 4087 0
 5802 5d71 0FB785C6 		movzwl	-65594(%ebp), %eax
 5802      FFFEFF
 5803 5d78 83E803   		subl	$3, %eax
 5804 5d7b 0FB7C0   		movzwl	%ax, %eax
 5805 5d7e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5805      F4FFFEFF 
 5806 5d86 0FB6C0   		movzbl	%al, %eax
 5807 5d89 668985CC 		movw	%ax, -65588(%ebp)
 5807      FFFEFF
4088:armor.c       ****       N = memory[(UINT16)(X + 0xfffd)];
 5808              		.loc 1 4088 0
 5809 5d90 0FB785C6 		movzwl	-65594(%ebp), %eax
 5809      FFFEFF
 5810 5d97 83E803   		subl	$3, %eax
 5811 5d9a 0FB7C0   		movzwl	%ax, %eax
 5812 5d9d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5812      F4FFFEFF 
 5813 5da5 8885C1FF 		movb	%al, -65599(%ebp)
 5813      FEFF
4089:armor.c       ****       C = memory[(UINT16)(X + 0xfffd)];
 5814              		.loc 1 4089 0
 5815 5dab 0FB785C6 		movzwl	-65594(%ebp), %eax
 5815      FFFEFF
 5816 5db2 83E803   		subl	$3, %eax
 5817 5db5 0FB7C0   		movzwl	%ax, %eax
 5818 5db8 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5818      F4FFFEFF 
 5819 5dc0 0FB6C0   		movzbl	%al, %eax
 5820 5dc3 8985ECFF 		movl	%eax, -65556(%ebp)
 5820      FEFF
4090:armor.c       ****       
4091:armor.c       ****             //        BRA   $06A3                   ; 06C4: 20 DD         
4092:armor.c       ****       PC = 0x06a3;
 5821              		.loc 1 4092 0
 5822 5dc9 66C785CA 		movw	$1699, -65590(%ebp)
 5822      FFFEFFA3 
GAS LISTING /tmp/ccqXEnet.s 			page 231


 5822      06
 5823              	.L230:
4093:armor.c       ****       JUMP;
4094:armor.c       ****       
4095:armor.c       ****       
4096:armor.c       ****       L06C6://        LDX   #$CA00                  ; 06C6: 8E CA 00      
4097:armor.c       ****       X = 0xca00;
 5824              		.loc 1 4097 0
 5825 5dd2 66C785C6 		movw	$-13824, -65594(%ebp)
 5825      FFFEFF00 
 5825      CA
4098:armor.c       ****   //  Z = X;
4099:armor.c       ****   //  N = (X) >> 8;
4100:armor.c       ****   //  V = 0;
4101:armor.c       ****       
4102:armor.c       ****             //        CLRA                          ; 06C9: 4F            
4103:armor.c       ****       A = 0;
 5826              		.loc 1 4103 0
 5827 5ddb C785E0FF 		movl	$0, -65568(%ebp)
 5827      FEFF0000 
 5827      0000
4104:armor.c       ****   //  V = 0;
4105:armor.c       ****   //  Z = 0;
4106:armor.c       ****   //  N = 0;
4107:armor.c       ****       C = 0;
 5828              		.loc 1 4107 0
 5829 5de5 C785ECFF 		movl	$0, -65556(%ebp)
 5829      FEFF0000 
 5829      0000
4108:armor.c       ****       
4109:armor.c       ****             //        STA   <$DA                    ; 06CA: 97 DA         
4110:armor.c       ****   //  Z = A;
4111:armor.c       ****   //  N = A;
4112:armor.c       ****   //  V = 0;
4113:armor.c       ****       memory_DP[0xda] = A;
 5830              		.loc 1 4113 0
 5831 5def 8B85DCFF 		movl	-65572(%ebp), %eax
 5831      FEFF
 5832 5df5 05DA0000 		addl	$218, %eax
 5832      00
 5833 5dfa 8B95E0FF 		movl	-65568(%ebp), %edx
 5833      FEFF
 5834 5e00 8810     		movb	%dl, (%eax)
4114:armor.c       ****       
4115:armor.c       ****             //        LDY   #$CA4E                  ; 06CC: 10 8E CA 4E   
4116:armor.c       ****       Y = 0xca4e;
 5835              		.loc 1 4116 0
 5836 5e02 66C785D2 		movw	$-13746, -65582(%ebp)
 5836      FFFEFF4E 
 5836      CA
4117:armor.c       ****       Z = Y;
 5837              		.loc 1 4117 0
 5838 5e0b 0FB785D2 		movzwl	-65582(%ebp), %eax
 5838      FFFEFF
 5839 5e12 668985CC 		movw	%ax, -65588(%ebp)
 5839      FFFEFF
4118:armor.c       ****       N = (Y) >> 8;
GAS LISTING /tmp/ccqXEnet.s 			page 232


 5840              		.loc 1 4118 0
 5841 5e19 0FB785D2 		movzwl	-65582(%ebp), %eax
 5841      FFFEFF
 5842 5e20 66C1E808 		shrw	$8, %ax
 5843 5e24 8885C1FF 		movb	%al, -65599(%ebp)
 5843      FEFF
4119:armor.c       ****       V = 0;
 5844              		.loc 1 4119 0
 5845 5e2a C685C2FF 		movb	$0, -65598(%ebp)
 5845      FEFF00
 5846              	.L231:
4120:armor.c       ****       
4121:armor.c       ****       L06D0://        BSR   $0711                   ; 06D0: 8D 3F         
4122:armor.c       ****       memory[--S] = 0x06d2 & 0xff; memory[--S] = 0x06d2 >> 8;
 5847              		.loc 1 4122 0
 5848 5e31 6683ADC8 		subw	$1, -65592(%ebp)
 5848      FFFEFF01 
 5849 5e39 0FB785C8 		movzwl	-65592(%ebp), %eax
 5849      FFFEFF
 5850 5e40 C68405F4 		movb	$-46, -65548(%ebp,%eax)
 5850      FFFEFFD2 
 5851 5e48 6683ADC8 		subw	$1, -65592(%ebp)
 5851      FFFEFF01 
 5852 5e50 0FB785C8 		movzwl	-65592(%ebp), %eax
 5852      FFFEFF
 5853 5e57 C68405F4 		movb	$6, -65548(%ebp,%eax)
 5853      FFFEFF06 
4123:armor.c       ****       PC = 0x0711;
 5854              		.loc 1 4123 0
 5855 5e5f 66C785CA 		movw	$1809, -65590(%ebp)
 5855      FFFEFF11 
 5855      07
 5856              	.L232:
4124:armor.c       ****       JUMP;
4125:armor.c       ****       
4126:armor.c       ****       L06D2://        LDA   #$02                    ; 06D2: 86 02         
4127:armor.c       ****       A = (SINT8)0x02;
 5857              		.loc 1 4127 0
 5858 5e68 C785E0FF 		movl	$2, -65568(%ebp)
 5858      FEFF0200 
 5858      0000
4128:armor.c       ****   //  N = A;
4129:armor.c       ****   //  Z = A;
4130:armor.c       ****   //  V = 0;
4131:armor.c       ****       
4132:armor.c       ****             //        STA   <$DA                    ; 06D4: 97 DA         
4133:armor.c       ****   //  Z = A;
4134:armor.c       ****   //  N = A;
4135:armor.c       ****   //  V = 0;
4136:armor.c       ****       memory_DP[0xda] = A;
 5859              		.loc 1 4136 0
 5860 5e72 8B85DCFF 		movl	-65572(%ebp), %eax
 5860      FEFF
 5861 5e78 05DA0000 		addl	$218, %eax
 5861      00
 5862 5e7d 8B95E0FF 		movl	-65568(%ebp), %edx
 5862      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 233


 5863 5e83 8810     		movb	%dl, (%eax)
4137:armor.c       ****       
4138:armor.c       ****             //        LEAY  $04,Y                   ; 06D6: 31 24         
4139:armor.c       ****       Y = (Y + 0x0004);
 5864              		.loc 1 4139 0
 5865 5e85 668385D2 		addw	$4, -65582(%ebp)
 5865      FFFEFF04 
4140:armor.c       ****   //  Z = Y;
4141:armor.c       ****       
4142:armor.c       ****             //        LEAX  $27,X                   ; 06D8: 30 88 27      
4143:armor.c       ****       X = (X + (SINT8)0x27);
 5866              		.loc 1 4143 0
 5867 5e8d 668385C6 		addw	$39, -65594(%ebp)
 5867      FFFEFF27 
4144:armor.c       ****   //  Z = X;
4145:armor.c       ****       
4146:armor.c       ****             //        CMPX  #$CA4E                  ; 06DB: 8C CA 4E      
4147:armor.c       ****       res = (X) - (0xca4e);
 5868              		.loc 1 4147 0
 5869 5e95 0FB785C6 		movzwl	-65594(%ebp), %eax
 5869      FFFEFF
 5870 5e9c 2D4ECA00 		subl	$51790, %eax
 5870      00
 5871 5ea1 8985E8FF 		movl	%eax, -65560(%ebp)
 5871      FEFF
4148:armor.c       ****       C = res & 0x10000;
 5872              		.loc 1 4148 0
 5873 5ea7 8B85E8FF 		movl	-65560(%ebp), %eax
 5873      FEFF
 5874 5ead 25000001 		andl	$65536, %eax
 5874      00
 5875 5eb2 8985ECFF 		movl	%eax, -65556(%ebp)
 5875      FEFF
4149:armor.c       ****       res = (UINT16)res;
 5876              		.loc 1 4149 0
 5877 5eb8 8B85E8FF 		movl	-65560(%ebp), %eax
 5877      FEFF
 5878 5ebe 0FB7C0   		movzwl	%ax, %eax
 5879 5ec1 8985E8FF 		movl	%eax, -65560(%ebp)
 5879      FEFF
4150:armor.c       ****       Z = res;
 5880              		.loc 1 4150 0
 5881 5ec7 8B85E8FF 		movl	-65560(%ebp), %eax
 5881      FEFF
 5882 5ecd 668985CC 		movw	%ax, -65588(%ebp)
 5882      FFFEFF
4151:armor.c       ****       N = res >> 8;
 5883              		.loc 1 4151 0
 5884 5ed4 8B85E8FF 		movl	-65560(%ebp), %eax
 5884      FEFF
 5885 5eda C1F808   		sarl	$8, %eax
 5886 5edd 8885C1FF 		movb	%al, -65599(%ebp)
 5886      FEFF
4152:armor.c       ****       V = (((X) ^ (0xca4e)) & ((X) ^ res)) >> 8;
 5887              		.loc 1 4152 0
 5888 5ee3 0FB785C6 		movzwl	-65594(%ebp), %eax
 5888      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 234


 5889 5eea 66354ECA 		xorw	$-13746, %ax
 5890 5eee 0FB7D0   		movzwl	%ax, %edx
 5891 5ef1 0FB785C6 		movzwl	-65594(%ebp), %eax
 5891      FFFEFF
 5892 5ef8 3385E8FF 		xorl	-65560(%ebp), %eax
 5892      FEFF
 5893 5efe 21D0     		andl	%edx, %eax
 5894 5f00 C1F808   		sarl	$8, %eax
 5895 5f03 8885C2FF 		movb	%al, -65598(%ebp)
 5895      FEFF
4153:armor.c       ****       
4154:armor.c       ****             //        BNE   $06D0                   ; 06DE: 26 F0         
4155:armor.c       ****       if (Z) {
 5896              		.loc 1 4155 0
 5897 5f09 6683BDCC 		cmpw	$0, -65588(%ebp)
 5897      FFFEFF00 
 5898 5f11 7409     		je	.L233
4156:armor.c       ****       PC = 0x06d0;
 5899              		.loc 1 4156 0
 5900 5f13 66C785CA 		movw	$1744, -65590(%ebp)
 5900      FFFEFFD0 
 5900      06
 5901              	.L233:
4157:armor.c       ****       JUMP;
4158:armor.c       ****       }
4159:armor.c       ****       
4160:armor.c       ****             //        RTS                           ; 06E0: 39            
4161:armor.c       ****       PC = memory[S++]<<8;
 5902              		.loc 1 4161 0
 5903 5f1c 0FB785C8 		movzwl	-65592(%ebp), %eax
 5903      FFFEFF
 5904 5f23 8D5001   		leal	1(%eax), %edx
 5905 5f26 668995C8 		movw	%dx, -65592(%ebp)
 5905      FFFEFF
 5906 5f2d 0FB7C0   		movzwl	%ax, %eax
 5907 5f30 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5907      F4FFFEFF 
 5908 5f38 0FB6C0   		movzbl	%al, %eax
 5909 5f3b C1E008   		sall	$8, %eax
 5910 5f3e 668985CA 		movw	%ax, -65590(%ebp)
 5910      FFFEFF
4162:armor.c       ****       PC |= memory[S++];
 5911              		.loc 1 4162 0
 5912 5f45 0FB785C8 		movzwl	-65592(%ebp), %eax
 5912      FFFEFF
 5913 5f4c 8D5001   		leal	1(%eax), %edx
 5914 5f4f 668995C8 		movw	%dx, -65592(%ebp)
 5914      FFFEFF
 5915 5f56 0FB7C0   		movzwl	%ax, %eax
 5916 5f59 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5916      F4FFFEFF 
 5917 5f61 0FB6C0   		movzbl	%al, %eax
 5918 5f64 660985CA 		orw	%ax, -65590(%ebp)
 5918      FFFEFF
 5919              	.L234:
4163:armor.c       ****       JUMP;
4164:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 235


4165:armor.c       ****       
4166:armor.c       ****       L06E1://        LDB   $03,X                   ; 06E1: E6 03         
4167:armor.c       ****       B = memory[(UINT16)(X + 0x0003)];
 5920              		.loc 1 4167 0
 5921 5f6b 0FB785C6 		movzwl	-65594(%ebp), %eax
 5921      FFFEFF
 5922 5f72 83C003   		addl	$3, %eax
 5923 5f75 0FB7C0   		movzwl	%ax, %eax
 5924 5f78 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 5924      F4FFFEFF 
 5925 5f80 0FB6C0   		movzbl	%al, %eax
 5926 5f83 8985E4FF 		movl	%eax, -65564(%ebp)
 5926      FEFF
4168:armor.c       ****   //  N = B;
4169:armor.c       ****   //  Z = B;
4170:armor.c       ****   //  V = 0;
4171:armor.c       ****       
4172:armor.c       ****             //        CMPA  #$80                    ; 06E3: 81 80         
4173:armor.c       ****       res = A - (SINT8)0x80;
 5927              		.loc 1 4173 0
 5928 5f89 8B85E0FF 		movl	-65568(%ebp), %eax
 5928      FEFF
 5929 5f8f 83E880   		subl	$-128, %eax
 5930 5f92 8985E8FF 		movl	%eax, -65560(%ebp)
 5930      FEFF
4174:armor.c       ****       C = res & 0x100;
 5931              		.loc 1 4174 0
 5932 5f98 8B85E8FF 		movl	-65560(%ebp), %eax
 5932      FEFF
 5933 5f9e 25000100 		andl	$256, %eax
 5933      00
 5934 5fa3 8985ECFF 		movl	%eax, -65556(%ebp)
 5934      FEFF
4175:armor.c       ****       res = (UINT8)res;
 5935              		.loc 1 4175 0
 5936 5fa9 8B85E8FF 		movl	-65560(%ebp), %eax
 5936      FEFF
 5937 5faf 0FB6C0   		movzbl	%al, %eax
 5938 5fb2 8985E8FF 		movl	%eax, -65560(%ebp)
 5938      FEFF
4176:armor.c       ****       Z = res;
 5939              		.loc 1 4176 0
 5940 5fb8 8B85E8FF 		movl	-65560(%ebp), %eax
 5940      FEFF
 5941 5fbe 668985CC 		movw	%ax, -65588(%ebp)
 5941      FFFEFF
4177:armor.c       ****   //  N = res;
4178:armor.c       ****   //  V = (A ^ (SINT8)0x80) & (A ^ res);
4179:armor.c       ****       
4180:armor.c       ****             //        BNE   $06EF                   ; 06E5: 26 08         
4181:armor.c       ****       if (Z) {
 5942              		.loc 1 4181 0
 5943 5fc5 6683BDCC 		cmpw	$0, -65588(%ebp)
 5943      FFFEFF00 
 5944 5fcd 7409     		je	.L235
4182:armor.c       ****       PC = 0x06ef;
 5945              		.loc 1 4182 0
GAS LISTING /tmp/ccqXEnet.s 			page 236


 5946 5fcf 66C785CA 		movw	$1775, -65590(%ebp)
 5946      FFFEFFEF 
 5946      06
 5947              	.L235:
4183:armor.c       ****       JUMP;
4184:armor.c       ****       }
4185:armor.c       ****       
4186:armor.c       ****             //        LDB   #$02                    ; 06E7: C6 02         
4187:armor.c       ****       B = (SINT8)0x02;
 5948              		.loc 1 4187 0
 5949 5fd8 C785E4FF 		movl	$2, -65564(%ebp)
 5949      FEFF0200 
 5949      0000
4188:armor.c       ****   //  N = B;
4189:armor.c       ****   //  Z = B;
4190:armor.c       ****   //  V = 0;
4191:armor.c       ****       
4192:armor.c       ****             //        STB   $04,X                   ; 06E9: E7 04         
4193:armor.c       ****   //  Z = B;
4194:armor.c       ****   //  N = B;
4195:armor.c       ****   //  V = 0;
4196:armor.c       ****       memory[(UINT16)(X + 0x0004)] = B;
 5950              		.loc 1 4196 0
 5951 5fe2 0FB785C6 		movzwl	-65594(%ebp), %eax
 5951      FFFEFF
 5952 5fe9 83C004   		addl	$4, %eax
 5953 5fec 0FB7C0   		movzwl	%ax, %eax
 5954 5fef 8B95E4FF 		movl	-65564(%ebp), %edx
 5954      FEFF
 5955 5ff5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5955      FFFEFF
4197:armor.c       ****       
4198:armor.c       ****             //        LDB   #$01                    ; 06EB: C6 01         
4199:armor.c       ****       B = (SINT8)0x01;
 5956              		.loc 1 4199 0
 5957 5ffc C785E4FF 		movl	$1, -65564(%ebp)
 5957      FEFF0100 
 5957      0000
4200:armor.c       ****   //  N = B;
4201:armor.c       ****   //  Z = B;
4202:armor.c       ****   //  V = 0;
4203:armor.c       ****       
4204:armor.c       ****             //        STB   $03,X                   ; 06ED: E7 03         
4205:armor.c       ****   //  Z = B;
4206:armor.c       ****   //  N = B;
4207:armor.c       ****   //  V = 0;
4208:armor.c       ****       memory[(UINT16)(X + 0x0003)] = B;
 5958              		.loc 1 4208 0
 5959 6006 0FB785C6 		movzwl	-65594(%ebp), %eax
 5959      FFFEFF
 5960 600d 83C003   		addl	$3, %eax
 5961 6010 0FB7C0   		movzwl	%ax, %eax
 5962 6013 8B95E4FF 		movl	-65564(%ebp), %edx
 5962      FEFF
 5963 6019 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5963      FFFEFF
 5964              	.L236:
GAS LISTING /tmp/ccqXEnet.s 			page 237


4209:armor.c       ****       
4210:armor.c       ****       L06EF://        INCA                          ; 06EF: 4C            
4211:armor.c       ****       res = (UINT8)((A) + 1);
 5965              		.loc 1 4211 0
 5966 6020 8B85E0FF 		movl	-65568(%ebp), %eax
 5966      FEFF
 5967 6026 83C001   		addl	$1, %eax
 5968 6029 0FB6C0   		movzbl	%al, %eax
 5969 602c 8985E8FF 		movl	%eax, -65560(%ebp)
 5969      FEFF
4212:armor.c       ****   //  Z = res;
4213:armor.c       ****   //  N = res;
4214:armor.c       ****   //  V = res & ~(A);
4215:armor.c       ****       A = res;
 5970              		.loc 1 4215 0
 5971 6032 8B85E8FF 		movl	-65560(%ebp), %eax
 5971      FEFF
 5972 6038 8985E0FF 		movl	%eax, -65568(%ebp)
 5972      FEFF
4216:armor.c       ****       
4217:armor.c       ****             //        STA   ,X                      ; 06F0: A7 84         
4218:armor.c       ****       Z = A;
 5973              		.loc 1 4218 0
 5974 603e 8B85E0FF 		movl	-65568(%ebp), %eax
 5974      FEFF
 5975 6044 668985CC 		movw	%ax, -65588(%ebp)
 5975      FFFEFF
4219:armor.c       ****   //  N = A;
4220:armor.c       ****   //  V = 0;
4221:armor.c       ****       memory[X] = A;
 5976              		.loc 1 4221 0
 5977 604b 0FB785C6 		movzwl	-65594(%ebp), %eax
 5977      FFFEFF
 5978 6052 8B95E0FF 		movl	-65568(%ebp), %edx
 5978      FEFF
 5979 6058 889405F4 		movb	%dl, -65548(%ebp,%eax)
 5979      FFFEFF
4222:armor.c       ****       
4223:armor.c       ****             //        BNE   $06FB                   ; 06F2: 26 07         
4224:armor.c       ****       if (Z) {
 5980              		.loc 1 4224 0
 5981 605f 6683BDCC 		cmpw	$0, -65588(%ebp)
 5981      FFFEFF00 
 5982 6067 7409     		je	.L237
4225:armor.c       ****       PC = 0x06fb;
 5983              		.loc 1 4225 0
 5984 6069 66C785CA 		movw	$1787, -65590(%ebp)
 5984      FFFEFFFB 
 5984      06
 5985              	.L237:
4226:armor.c       ****       JUMP;
4227:armor.c       ****       }
4228:armor.c       ****       
4229:armor.c       ****             //        DEC   <$C7                    ; 06F4: 0A C7         
4230:armor.c       ****       res = (UINT8)(memory_DP[0xc7] - 1);
 5986              		.loc 1 4230 0
 5987 6072 8B85DCFF 		movl	-65572(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 238


 5987      FEFF
 5988 6078 05C70000 		addl	$199, %eax
 5988      00
 5989 607d 0FB600   		movzbl	(%eax), %eax
 5990 6080 83E801   		subl	$1, %eax
 5991 6083 0FB6C0   		movzbl	%al, %eax
 5992 6086 8985E8FF 		movl	%eax, -65560(%ebp)
 5992      FEFF
4231:armor.c       ****   //  N = res;
4232:armor.c       ****       Z = res;
 5993              		.loc 1 4232 0
 5994 608c 8B85E8FF 		movl	-65560(%ebp), %eax
 5994      FEFF
 5995 6092 668985CC 		movw	%ax, -65588(%ebp)
 5995      FFFEFF
4233:armor.c       ****   //  V = memory_DP[0xc7] & ~res;
4234:armor.c       ****       memory_DP[0xc7] = res;
 5996              		.loc 1 4234 0
 5997 6099 8B85DCFF 		movl	-65572(%ebp), %eax
 5997      FEFF
 5998 609f 05C70000 		addl	$199, %eax
 5998      00
 5999 60a4 8B95E8FF 		movl	-65560(%ebp), %edx
 5999      FEFF
 6000 60aa 8810     		movb	%dl, (%eax)
4235:armor.c       ****       
4236:armor.c       ****             //        BNE   $06FA                   ; 06F6: 26 02         
4237:armor.c       ****       if (Z) {
 6001              		.loc 1 4237 0
 6002 60ac 6683BDCC 		cmpw	$0, -65588(%ebp)
 6002      FFFEFF00 
 6003 60b4 7409     		je	.L238
4238:armor.c       ****       PC = 0x06fa;
 6004              		.loc 1 4238 0
 6005 60b6 66C785CA 		movw	$1786, -65590(%ebp)
 6005      FFFEFFFA 
 6005      06
 6006              	.L238:
4239:armor.c       ****       JUMP;
4240:armor.c       ****       }
4241:armor.c       ****       
4242:armor.c       ****             //        DEC   <$E2                    ; 06F8: 0A E2         
4243:armor.c       ****       res = (UINT8)(memory_DP[0xe2] - 1);
 6007              		.loc 1 4243 0
 6008 60bf 8B85DCFF 		movl	-65572(%ebp), %eax
 6008      FEFF
 6009 60c5 05E20000 		addl	$226, %eax
 6009      00
 6010 60ca 0FB600   		movzbl	(%eax), %eax
 6011 60cd 83E801   		subl	$1, %eax
 6012 60d0 0FB6C0   		movzbl	%al, %eax
 6013 60d3 8985E8FF 		movl	%eax, -65560(%ebp)
 6013      FEFF
4244:armor.c       ****       N = res;
 6014              		.loc 1 4244 0
 6015 60d9 8B85E8FF 		movl	-65560(%ebp), %eax
 6015      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 239


 6016 60df 8885C1FF 		movb	%al, -65599(%ebp)
 6016      FEFF
4245:armor.c       ****       Z = res;
 6017              		.loc 1 4245 0
 6018 60e5 8B85E8FF 		movl	-65560(%ebp), %eax
 6018      FEFF
 6019 60eb 668985CC 		movw	%ax, -65588(%ebp)
 6019      FFFEFF
4246:armor.c       ****       V = memory_DP[0xe2] & ~res;
 6020              		.loc 1 4246 0
 6021 60f2 8B85DCFF 		movl	-65572(%ebp), %eax
 6021      FEFF
 6022 60f8 05E20000 		addl	$226, %eax
 6022      00
 6023 60fd 0FB600   		movzbl	(%eax), %eax
 6024 6100 89C2     		movl	%eax, %edx
 6025 6102 8B85E8FF 		movl	-65560(%ebp), %eax
 6025      FEFF
 6026 6108 F7D0     		notl	%eax
 6027 610a 21D0     		andl	%edx, %eax
 6028 610c 8885C2FF 		movb	%al, -65598(%ebp)
 6028      FEFF
4247:armor.c       ****       memory_DP[0xe2] = res;
 6029              		.loc 1 4247 0
 6030 6112 8B85DCFF 		movl	-65572(%ebp), %eax
 6030      FEFF
 6031 6118 05E20000 		addl	$226, %eax
 6031      00
 6032 611d 8B95E8FF 		movl	-65560(%ebp), %edx
 6032      FEFF
 6033 6123 8810     		movb	%dl, (%eax)
 6034              	.L239:
4248:armor.c       ****       
4249:armor.c       ****       L06FA://        RTS                           ; 06FA: 39            
4250:armor.c       ****       PC = memory[S++]<<8;
 6035              		.loc 1 4250 0
 6036 6125 0FB785C8 		movzwl	-65592(%ebp), %eax
 6036      FFFEFF
 6037 612c 8D5001   		leal	1(%eax), %edx
 6038 612f 668995C8 		movw	%dx, -65592(%ebp)
 6038      FFFEFF
 6039 6136 0FB7C0   		movzwl	%ax, %eax
 6040 6139 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6040      F4FFFEFF 
 6041 6141 0FB6C0   		movzbl	%al, %eax
 6042 6144 C1E008   		sall	$8, %eax
 6043 6147 668985CA 		movw	%ax, -65590(%ebp)
 6043      FFFEFF
4251:armor.c       ****       PC |= memory[S++];
 6044              		.loc 1 4251 0
 6045 614e 0FB785C8 		movzwl	-65592(%ebp), %eax
 6045      FFFEFF
 6046 6155 8D5001   		leal	1(%eax), %edx
 6047 6158 668995C8 		movw	%dx, -65592(%ebp)
 6047      FFFEFF
 6048 615f 0FB7C0   		movzwl	%ax, %eax
 6049 6162 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 240


 6049      F4FFFEFF 
 6050 616a 0FB6C0   		movzbl	%al, %eax
 6051 616d 660985CA 		orw	%ax, -65590(%ebp)
 6051      FFFEFF
 6052              	.L240:
4252:armor.c       ****       JUMP;
4253:armor.c       ****       
4254:armor.c       ****       
4255:armor.c       ****       L06FB://        CMPA  #$C2                    ; 06FB: 81 C2         
4256:armor.c       ****       res = A - (SINT8)0xc2;
 6053              		.loc 1 4256 0
 6054 6174 8B85E0FF 		movl	-65568(%ebp), %eax
 6054      FEFF
 6055 617a 83C03E   		addl	$62, %eax
 6056 617d 8985E8FF 		movl	%eax, -65560(%ebp)
 6056      FEFF
4257:armor.c       ****   //  C = res & 0x100;
4258:armor.c       ****       res = (UINT8)res;
 6057              		.loc 1 4258 0
 6058 6183 8B85E8FF 		movl	-65560(%ebp), %eax
 6058      FEFF
 6059 6189 0FB6C0   		movzbl	%al, %eax
 6060 618c 8985E8FF 		movl	%eax, -65560(%ebp)
 6060      FEFF
4259:armor.c       ****       Z = res;
 6061              		.loc 1 4259 0
 6062 6192 8B85E8FF 		movl	-65560(%ebp), %eax
 6062      FEFF
 6063 6198 668985CC 		movw	%ax, -65588(%ebp)
 6063      FFFEFF
4260:armor.c       ****   //  N = res;
4261:armor.c       ****   //  V = (A ^ (SINT8)0xc2) & (A ^ res);
4262:armor.c       ****       
4263:armor.c       ****             //        BNE   $0701                   ; 06FD: 26 02         
4264:armor.c       ****       if (Z) {
 6064              		.loc 1 4264 0
 6065 619f 6683BDCC 		cmpw	$0, -65588(%ebp)
 6065      FFFEFF00 
 6066 61a7 7409     		je	.L241
4265:armor.c       ****       PC = 0x0701;
 6067              		.loc 1 4265 0
 6068 61a9 66C785CA 		movw	$1793, -65590(%ebp)
 6068      FFFEFF01 
 6068      07
 6069              	.L241:
4266:armor.c       ****       JUMP;
4267:armor.c       ****       }
4268:armor.c       ****       
4269:armor.c       ****             //        NEG   $04,X                   ; 06FF: 60 04         
4270:armor.c       ****   //  V = (UINT8)(-memory[(UINT16)(X + 0x0004)]) & (memory[(UINT16)(X + 0x0004)]);
4271:armor.c       ****       memory[(UINT16)(X + 0x0004)] = (UINT8)(-memory[(UINT16)(X + 0x0004)]);
 6070              		.loc 1 4271 0
 6071 61b2 0FB785C6 		movzwl	-65594(%ebp), %eax
 6071      FFFEFF
 6072 61b9 83C004   		addl	$4, %eax
 6073 61bc 0FB7C0   		movzwl	%ax, %eax
 6074 61bf 0FB69405 		movzbl	-65548(%ebp,%eax), %edx
GAS LISTING /tmp/ccqXEnet.s 			page 241


 6074      F4FFFEFF 
 6075 61c7 0FB785C6 		movzwl	-65594(%ebp), %eax
 6075      FFFEFF
 6076 61ce 83C004   		addl	$4, %eax
 6077 61d1 0FB7C0   		movzwl	%ax, %eax
 6078 61d4 F7DA     		negl	%edx
 6079 61d6 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6079      FFFEFF
 6080              	.L242:
4272:armor.c       ****   //  Z = memory[(UINT16)(X + 0x0004)];
4273:armor.c       ****   //  N = memory[(UINT16)(X + 0x0004)];
4274:armor.c       ****   //  C = memory[(UINT16)(X + 0x0004)];
4275:armor.c       ****       
4276:armor.c       ****       L0701://        ASRA                          ; 0701: 47            
4277:armor.c       ****       C = A & 1;
 6081              		.loc 1 4277 0
 6082 61dd 8B85E0FF 		movl	-65568(%ebp), %eax
 6082      FEFF
 6083 61e3 83E001   		andl	$1, %eax
 6084 61e6 8985ECFF 		movl	%eax, -65556(%ebp)
 6084      FEFF
4278:armor.c       ****       A = (UINT8)(A >> 1);
 6085              		.loc 1 4278 0
 6086 61ec 8B85E0FF 		movl	-65568(%ebp), %eax
 6086      FEFF
 6087 61f2 D1F8     		sarl	%eax
 6088 61f4 0FB6C0   		movzbl	%al, %eax
 6089 61f7 8985E0FF 		movl	%eax, -65568(%ebp)
 6089      FEFF
4279:armor.c       ****   //  Z = A;
4280:armor.c       ****   //  N = A;
4281:armor.c       ****       
4282:armor.c       ****             //        BCS   $06FA                   ; 0702: 25 F6         
4283:armor.c       ****       if (C) {
 6090              		.loc 1 4283 0
 6091 61fd 83BDECFF 		cmpl	$0, -65556(%ebp)
 6091      FEFF00
 6092 6204 7409     		je	.L243
4284:armor.c       ****       PC = 0x06fa;
 6093              		.loc 1 4284 0
 6094 6206 66C785CA 		movw	$1786, -65590(%ebp)
 6094      FFFEFFFA 
 6094      06
 6095              	.L243:
4285:armor.c       ****       JUMP;
4286:armor.c       ****       }
4287:armor.c       ****       
4288:armor.c       ****             //        ADDB  $04,X                   ; 0704: EB 04         
4289:armor.c       ****       B = (UINT8)(B + memory[(UINT16)(X + 0x0004)]);
 6096              		.loc 1 4289 0
 6097 620f 8B85E4FF 		movl	-65564(%ebp), %eax
 6097      FEFF
 6098 6215 89C2     		movl	%eax, %edx
 6099 6217 0FB785C6 		movzwl	-65594(%ebp), %eax
 6099      FFFEFF
 6100 621e 83C004   		addl	$4, %eax
 6101 6221 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 242


 6102 6224 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6102      F4FFFEFF 
 6103 622c 01D0     		addl	%edx, %eax
 6104 622e 0FB6C0   		movzbl	%al, %eax
 6105 6231 8985E4FF 		movl	%eax, -65564(%ebp)
 6105      FEFF
4290:armor.c       ****       res = B + memory[(UINT16)(X + 0x0004)];
 6106              		.loc 1 4290 0
 6107 6237 0FB785C6 		movzwl	-65594(%ebp), %eax
 6107      FFFEFF
 6108 623e 83C004   		addl	$4, %eax
 6109 6241 0FB7C0   		movzwl	%ax, %eax
 6110 6244 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6110      F4FFFEFF 
 6111 624c 0FB6D0   		movzbl	%al, %edx
 6112 624f 8B85E4FF 		movl	-65564(%ebp), %eax
 6112      FEFF
 6113 6255 01D0     		addl	%edx, %eax
 6114 6257 8985E8FF 		movl	%eax, -65560(%ebp)
 6114      FEFF
4291:armor.c       ****       C = res & 0x100;
 6115              		.loc 1 4291 0
 6116 625d 8B85E8FF 		movl	-65560(%ebp), %eax
 6116      FEFF
 6117 6263 25000100 		andl	$256, %eax
 6117      00
 6118 6268 8985ECFF 		movl	%eax, -65556(%ebp)
 6118      FEFF
4292:armor.c       ****       res = (UINT8)res;
 6119              		.loc 1 4292 0
 6120 626e 8B85E8FF 		movl	-65560(%ebp), %eax
 6120      FEFF
 6121 6274 0FB6C0   		movzbl	%al, %eax
 6122 6277 8985E8FF 		movl	%eax, -65560(%ebp)
 6122      FEFF
4293:armor.c       ****   //  Z = res;
4294:armor.c       ****   //  N = res;
4295:armor.c       ****       res = B ^ memory[(UINT16)(X + 0x0004)] ^ res ^ C;
 6123              		.loc 1 4295 0
 6124 627d 0FB785C6 		movzwl	-65594(%ebp), %eax
 6124      FFFEFF
 6125 6284 83C004   		addl	$4, %eax
 6126 6287 0FB7C0   		movzwl	%ax, %eax
 6127 628a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6127      F4FFFEFF 
 6128 6292 0FB6C0   		movzbl	%al, %eax
 6129 6295 3385E4FF 		xorl	-65564(%ebp), %eax
 6129      FEFF
 6130 629b 3385E8FF 		xorl	-65560(%ebp), %eax
 6130      FEFF
 6131 62a1 3385ECFF 		xorl	-65556(%ebp), %eax
 6131      FEFF
 6132 62a7 8985E8FF 		movl	%eax, -65560(%ebp)
 6132      FEFF
4296:armor.c       ****       H = res;
 6133              		.loc 1 4296 0
 6134 62ad 8B85E8FF 		movl	-65560(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 243


 6134      FEFF
 6135 62b3 8885C3FF 		movb	%al, -65597(%ebp)
 6135      FEFF
4297:armor.c       ****   //  V = res;
4298:armor.c       ****       
4299:armor.c       ****             //        STB   $03,X                   ; 0706: E7 03         
4300:armor.c       ****       Z = B;
 6136              		.loc 1 4300 0
 6137 62b9 8B85E4FF 		movl	-65564(%ebp), %eax
 6137      FEFF
 6138 62bf 668985CC 		movw	%ax, -65588(%ebp)
 6138      FFFEFF
4301:armor.c       ****       N = B;
 6139              		.loc 1 4301 0
 6140 62c6 8B85E4FF 		movl	-65564(%ebp), %eax
 6140      FEFF
 6141 62cc 8885C1FF 		movb	%al, -65599(%ebp)
 6141      FEFF
4302:armor.c       ****       V = 0;
 6142              		.loc 1 4302 0
 6143 62d2 C685C2FF 		movb	$0, -65598(%ebp)
 6143      FEFF00
4303:armor.c       ****       memory[(UINT16)(X + 0x0003)] = B;
 6144              		.loc 1 4303 0
 6145 62d9 0FB785C6 		movzwl	-65594(%ebp), %eax
 6145      FFFEFF
 6146 62e0 83C003   		addl	$3, %eax
 6147 62e3 0FB7C0   		movzwl	%ax, %eax
 6148 62e6 8B95E4FF 		movl	-65564(%ebp), %edx
 6148      FEFF
 6149 62ec 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6149      FFFEFF
4304:armor.c       ****       
4305:armor.c       ****             //        RTS                           ; 0708: 39            
4306:armor.c       ****       PC = memory[S++]<<8;
 6150              		.loc 1 4306 0
 6151 62f3 0FB785C8 		movzwl	-65592(%ebp), %eax
 6151      FFFEFF
 6152 62fa 8D5001   		leal	1(%eax), %edx
 6153 62fd 668995C8 		movw	%dx, -65592(%ebp)
 6153      FFFEFF
 6154 6304 0FB7C0   		movzwl	%ax, %eax
 6155 6307 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6155      F4FFFEFF 
 6156 630f 0FB6C0   		movzbl	%al, %eax
 6157 6312 C1E008   		sall	$8, %eax
 6158 6315 668985CA 		movw	%ax, -65590(%ebp)
 6158      FFFEFF
4307:armor.c       ****       PC |= memory[S++];
 6159              		.loc 1 4307 0
 6160 631c 0FB785C8 		movzwl	-65592(%ebp), %eax
 6160      FFFEFF
 6161 6323 8D5001   		leal	1(%eax), %edx
 6162 6326 668995C8 		movw	%dx, -65592(%ebp)
 6162      FFFEFF
 6163 632d 0FB7C0   		movzwl	%ax, %eax
 6164 6330 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 244


 6164      F4FFFEFF 
 6165 6338 0FB6C0   		movzbl	%al, %eax
 6166 633b 660985CA 		orw	%ax, -65590(%ebp)
 6166      FFFEFF
 6167              	.L244:
4308:armor.c       ****       JUMP;
4309:armor.c       ****       
4310:armor.c       ****       
4311:armor.c       ****       L0709://        LDA   $05,X                   ; 0709: A6 05         
4312:armor.c       ****       A = memory[(UINT16)(X + 0x0005)];
 6168              		.loc 1 4312 0
 6169 6342 0FB785C6 		movzwl	-65594(%ebp), %eax
 6169      FFFEFF
 6170 6349 83C005   		addl	$5, %eax
 6171 634c 0FB7C0   		movzwl	%ax, %eax
 6172 634f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6172      F4FFFEFF 
 6173 6357 0FB6C0   		movzbl	%al, %eax
 6174 635a 8985E0FF 		movl	%eax, -65568(%ebp)
 6174      FEFF
4313:armor.c       ****   //  N = A;
4314:armor.c       ****   //  Z = A;
4315:armor.c       ****   //  V = 0;
4316:armor.c       ****       
4317:armor.c       ****             //        INCA                          ; 070B: 4C            
4318:armor.c       ****       res = (UINT8)((A) + 1);
 6175              		.loc 1 4318 0
 6176 6360 8B85E0FF 		movl	-65568(%ebp), %eax
 6176      FEFF
 6177 6366 83C001   		addl	$1, %eax
 6178 6369 0FB6C0   		movzbl	%al, %eax
 6179 636c 8985E8FF 		movl	%eax, -65560(%ebp)
 6179      FEFF
4319:armor.c       ****   //  Z = res;
4320:armor.c       ****   //  N = res;
4321:armor.c       ****   //  V = res & ~(A);
4322:armor.c       ****       A = res;
 6180              		.loc 1 4322 0
 6181 6372 8B85E8FF 		movl	-65560(%ebp), %eax
 6181      FEFF
 6182 6378 8985E0FF 		movl	%eax, -65568(%ebp)
 6182      FEFF
4323:armor.c       ****       
4324:armor.c       ****             //        ANDA  #$03                    ; 070C: 84 03         
4325:armor.c       ****       A = A & (SINT8)0x03;
 6183              		.loc 1 4325 0
 6184 637e 83A5E0FF 		andl	$3, -65568(%ebp)
 6184      FEFF03
4326:armor.c       ****   //  Z = A;
4327:armor.c       ****   //  N = A;
4328:armor.c       ****   //  V = 0;
4329:armor.c       ****       
4330:armor.c       ****             //        STA   $05,X                   ; 070E: A7 05         
4331:armor.c       ****       Z = A;
 6185              		.loc 1 4331 0
 6186 6385 8B85E0FF 		movl	-65568(%ebp), %eax
 6186      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 245


 6187 638b 668985CC 		movw	%ax, -65588(%ebp)
 6187      FFFEFF
4332:armor.c       ****       N = A;
 6188              		.loc 1 4332 0
 6189 6392 8B85E0FF 		movl	-65568(%ebp), %eax
 6189      FEFF
 6190 6398 8885C1FF 		movb	%al, -65599(%ebp)
 6190      FEFF
4333:armor.c       ****       V = 0;
 6191              		.loc 1 4333 0
 6192 639e C685C2FF 		movb	$0, -65598(%ebp)
 6192      FEFF00
4334:armor.c       ****       memory[(UINT16)(X + 0x0005)] = A;
 6193              		.loc 1 4334 0
 6194 63a5 0FB785C6 		movzwl	-65594(%ebp), %eax
 6194      FFFEFF
 6195 63ac 83C005   		addl	$5, %eax
 6196 63af 0FB7C0   		movzwl	%ax, %eax
 6197 63b2 8B95E0FF 		movl	-65568(%ebp), %edx
 6197      FEFF
 6198 63b8 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6198      FFFEFF
 6199              	.L245:
4335:armor.c       ****       
4336:armor.c       ****       L0710://        RTS                           ; 0710: 39            
4337:armor.c       ****       PC = memory[S++]<<8;
 6200              		.loc 1 4337 0
 6201 63bf 0FB785C8 		movzwl	-65592(%ebp), %eax
 6201      FFFEFF
 6202 63c6 8D5001   		leal	1(%eax), %edx
 6203 63c9 668995C8 		movw	%dx, -65592(%ebp)
 6203      FFFEFF
 6204 63d0 0FB7C0   		movzwl	%ax, %eax
 6205 63d3 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6205      F4FFFEFF 
 6206 63db 0FB6C0   		movzbl	%al, %eax
 6207 63de C1E008   		sall	$8, %eax
 6208 63e1 668985CA 		movw	%ax, -65590(%ebp)
 6208      FFFEFF
4338:armor.c       ****       PC |= memory[S++];
 6209              		.loc 1 4338 0
 6210 63e8 0FB785C8 		movzwl	-65592(%ebp), %eax
 6210      FFFEFF
 6211 63ef 8D5001   		leal	1(%eax), %edx
 6212 63f2 668995C8 		movw	%dx, -65592(%ebp)
 6212      FFFEFF
 6213 63f9 0FB7C0   		movzwl	%ax, %eax
 6214 63fc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6214      F4FFFEFF 
 6215 6404 0FB6C0   		movzbl	%al, %eax
 6216 6407 660985CA 		orw	%ax, -65590(%ebp)
 6216      FFFEFF
 6217              	.L246:
4339:armor.c       ****       JUMP;
4340:armor.c       ****       
4341:armor.c       ****       
4342:armor.c       ****       L0711://        LDA   ,X                      ; 0711: A6 84         
GAS LISTING /tmp/ccqXEnet.s 			page 246


4343:armor.c       ****       A = memory[X];
 6218              		.loc 1 4343 0
 6219 640e 0FB785C6 		movzwl	-65594(%ebp), %eax
 6219      FFFEFF
 6220 6415 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6220      F4FFFEFF 
 6221 641d 0FB6C0   		movzbl	%al, %eax
 6222 6420 8985E0FF 		movl	%eax, -65568(%ebp)
 6222      FEFF
4344:armor.c       ****       N = A;
 6223              		.loc 1 4344 0
 6224 6426 8B85E0FF 		movl	-65568(%ebp), %eax
 6224      FEFF
 6225 642c 8885C1FF 		movb	%al, -65599(%ebp)
 6225      FEFF
4345:armor.c       ****       Z = A;
 6226              		.loc 1 4345 0
 6227 6432 8B85E0FF 		movl	-65568(%ebp), %eax
 6227      FEFF
 6228 6438 668985CC 		movw	%ax, -65588(%ebp)
 6228      FFFEFF
4346:armor.c       ****   //  V = 0;
4347:armor.c       ****       
4348:armor.c       ****             //        BMI   $06E1                   ; 0713: 2B CC         
4349:armor.c       ****       if ((SINT8)N <  0) {
 6229              		.loc 1 4349 0
 6230 643f 0FB685C1 		movzbl	-65599(%ebp), %eax
 6230      FFFEFF
 6231 6446 84C0     		testb	%al, %al
 6232 6448 7909     		jns	.L247
4350:armor.c       ****       PC = 0x06e1;
 6233              		.loc 1 4350 0
 6234 644a 66C785CA 		movw	$1761, -65590(%ebp)
 6234      FFFEFFE1 
 6234      06
 6235              	.L247:
4351:armor.c       ****       JUMP;
4352:armor.c       ****       }
4353:armor.c       ****       
4354:armor.c       ****             //        BEQ   $0710                   ; 0715: 27 F9         
4355:armor.c       ****       if (!Z) {
 6236              		.loc 1 4355 0
 6237 6453 6683BDCC 		cmpw	$0, -65588(%ebp)
 6237      FFFEFF00 
 6238 645b 7509     		jne	.L248
4356:armor.c       ****       PC = 0x0710;
 6239              		.loc 1 4356 0
 6240 645d 66C785CA 		movw	$1808, -65590(%ebp)
 6240      FFFEFF10 
 6240      07
 6241              	.L248:
4357:armor.c       ****       JUMP;
4358:armor.c       ****       }
4359:armor.c       ****       
4360:armor.c       ****             //        PSHS  X                       ; 0717: 34 10         
4361:armor.c       ****       memory[--S] = X & 0xff; memory[--S] = X >> 8;
 6242              		.loc 1 4361 0
GAS LISTING /tmp/ccqXEnet.s 			page 247


 6243 6466 6683ADC8 		subw	$1, -65592(%ebp)
 6243      FFFEFF01 
 6244 646e 0FB785C8 		movzwl	-65592(%ebp), %eax
 6244      FFFEFF
 6245 6475 0FB795C6 		movzwl	-65594(%ebp), %edx
 6245      FFFEFF
 6246 647c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6246      FFFEFF
 6247 6483 0FB785C6 		movzwl	-65594(%ebp), %eax
 6247      FFFEFF
 6248 648a 66C1E808 		shrw	$8, %ax
 6249 648e 89C2     		movl	%eax, %edx
 6250 6490 6683ADC8 		subw	$1, -65592(%ebp)
 6250      FFFEFF01 
 6251 6498 0FB785C8 		movzwl	-65592(%ebp), %eax
 6251      FFFEFF
 6252 649f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6252      FFFEFF
4362:armor.c       ****       
4363:armor.c       ****             //        LDA   $03,X                   ; 0719: A6 03         
4364:armor.c       ****       A = memory[(UINT16)(X + 0x0003)];
 6253              		.loc 1 4364 0
 6254 64a6 0FB785C6 		movzwl	-65594(%ebp), %eax
 6254      FFFEFF
 6255 64ad 83C003   		addl	$3, %eax
 6256 64b0 0FB7C0   		movzwl	%ax, %eax
 6257 64b3 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6257      F4FFFEFF 
 6258 64bb 0FB6C0   		movzbl	%al, %eax
 6259 64be 8985E0FF 		movl	%eax, -65568(%ebp)
 6259      FEFF
4365:armor.c       ****   //  N = A;
4366:armor.c       ****       Z = A;
 6260              		.loc 1 4366 0
 6261 64c4 8B85E0FF 		movl	-65568(%ebp), %eax
 6261      FEFF
 6262 64ca 668985CC 		movw	%ax, -65588(%ebp)
 6262      FFFEFF
4367:armor.c       ****   //  V = 0;
4368:armor.c       ****       
4369:armor.c       ****             //        BEQ   $0721                   ; 071B: 27 04         
4370:armor.c       ****       if (!Z) {
 6263              		.loc 1 4370 0
 6264 64d1 6683BDCC 		cmpw	$0, -65588(%ebp)
 6264      FFFEFF00 
 6265 64d9 7509     		jne	.L249
4371:armor.c       ****       PC = 0x0721;
 6266              		.loc 1 4371 0
 6267 64db 66C785CA 		movw	$1825, -65590(%ebp)
 6267      FFFEFF21 
 6267      07
 6268              	.L249:
4372:armor.c       ****       JUMP;
4373:armor.c       ****       }
4374:armor.c       ****       
4375:armor.c       ****             //        DEC   $03,X                   ; 071D: 6A 03         
4376:armor.c       ****       res = (UINT8)(memory[(UINT16)(X + 0x0003)] - 1);
GAS LISTING /tmp/ccqXEnet.s 			page 248


 6269              		.loc 1 4376 0
 6270 64e4 0FB785C6 		movzwl	-65594(%ebp), %eax
 6270      FFFEFF
 6271 64eb 83C003   		addl	$3, %eax
 6272 64ee 0FB7C0   		movzwl	%ax, %eax
 6273 64f1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6273      F4FFFEFF 
 6274 64f9 83E801   		subl	$1, %eax
 6275 64fc 0FB6C0   		movzbl	%al, %eax
 6276 64ff 8985E8FF 		movl	%eax, -65560(%ebp)
 6276      FEFF
4377:armor.c       ****   //  N = res;
4378:armor.c       ****       Z = res;
 6277              		.loc 1 4378 0
 6278 6505 8B85E8FF 		movl	-65560(%ebp), %eax
 6278      FEFF
 6279 650b 668985CC 		movw	%ax, -65588(%ebp)
 6279      FFFEFF
4379:armor.c       ****   //  V = memory[(UINT16)(X + 0x0003)] & ~res;
4380:armor.c       ****       memory[(UINT16)(X + 0x0003)] = res;
 6280              		.loc 1 4380 0
 6281 6512 0FB785C6 		movzwl	-65594(%ebp), %eax
 6281      FFFEFF
 6282 6519 83C003   		addl	$3, %eax
 6283 651c 0FB7C0   		movzwl	%ax, %eax
 6284 651f 8B95E8FF 		movl	-65560(%ebp), %edx
 6284      FEFF
 6285 6525 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6285      FFFEFF
4381:armor.c       ****       
4382:armor.c       ****             //        BNE   $0771                   ; 071F: 26 50         
4383:armor.c       ****       if (Z) {
 6286              		.loc 1 4383 0
 6287 652c 6683BDCC 		cmpw	$0, -65588(%ebp)
 6287      FFFEFF00 
 6288 6534 740B     		je	.L458
4384:armor.c       ****       PC = 0x0771;
 6289              		.loc 1 4384 0
 6290 6536 66C785CA 		movw	$1905, -65590(%ebp)
 6290      FFFEFF71 
 6290      07
 6291 653f EB01     		jmp	.L250
 6292              	.L458:
4385:armor.c       ****       JUMP;
4386:armor.c       ****       }
4387:armor.c       ****       
4388:armor.c       ****       L0721://        LDA   $03,Y                   ; 0721: A6 23         
 6293              		.loc 1 4388 0
 6294 6541 90       		nop
 6295              	.L250:
4389:armor.c       ****       A = memory[(UINT16)(Y + 0x0003)];
 6296              		.loc 1 4389 0
 6297 6542 0FB785D2 		movzwl	-65582(%ebp), %eax
 6297      FFFEFF
 6298 6549 83C003   		addl	$3, %eax
 6299 654c 0FB7C0   		movzwl	%ax, %eax
 6300 654f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 249


 6300      F4FFFEFF 
 6301 6557 0FB6C0   		movzbl	%al, %eax
 6302 655a 8985E0FF 		movl	%eax, -65568(%ebp)
 6302      FEFF
4390:armor.c       ****   //  N = A;
4391:armor.c       ****       Z = A;
 6303              		.loc 1 4391 0
 6304 6560 8B85E0FF 		movl	-65568(%ebp), %eax
 6304      FEFF
 6305 6566 668985CC 		movw	%ax, -65588(%ebp)
 6305      FFFEFF
4392:armor.c       ****   //  V = 0;
4393:armor.c       ****       
4394:armor.c       ****             //        BEQ   $0771                   ; 0723: 27 4C         
4395:armor.c       ****       if (!Z) {
 6306              		.loc 1 4395 0
 6307 656d 6683BDCC 		cmpw	$0, -65588(%ebp)
 6307      FFFEFF00 
 6308 6575 7509     		jne	.L251
4396:armor.c       ****       PC = 0x0771;
 6309              		.loc 1 4396 0
 6310 6577 66C785CA 		movw	$1905, -65590(%ebp)
 6310      FFFEFF71 
 6310      07
 6311              	.L251:
4397:armor.c       ****       JUMP;
4398:armor.c       ****       }
4399:armor.c       ****       
4400:armor.c       ****             //        LDB   <$DA                    ; 0725: D6 DA         
4401:armor.c       ****       B = memory_DP[0xda];
 6312              		.loc 1 4401 0
 6313 6580 8B85DCFF 		movl	-65572(%ebp), %eax
 6313      FEFF
 6314 6586 05DA0000 		addl	$218, %eax
 6314      00
 6315 658b 0FB600   		movzbl	(%eax), %eax
 6316 658e 0FB6C0   		movzbl	%al, %eax
 6317 6591 8985E4FF 		movl	%eax, -65564(%ebp)
 6317      FEFF
4402:armor.c       ****   //  N = B;
4403:armor.c       ****   //  Z = B;
4404:armor.c       ****   //  V = 0;
4405:armor.c       ****       
4406:armor.c       ****             //        LDU   $01,X                   ; 0727: EE 01         
4407:armor.c       ****       U = ((memory[(UINT16)(X + 0x0001)]<<8)|memory[(UINT16)(((UINT16)(X + 0x0001))+1)]);
 6318              		.loc 1 4407 0
 6319 6597 0FB785C6 		movzwl	-65594(%ebp), %eax
 6319      FFFEFF
 6320 659e 83C001   		addl	$1, %eax
 6321 65a1 0FB7C0   		movzwl	%ax, %eax
 6322 65a4 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6322      F4FFFEFF 
 6323 65ac 0FB6C0   		movzbl	%al, %eax
 6324 65af C1E008   		sall	$8, %eax
 6325 65b2 89C2     		movl	%eax, %edx
 6326 65b4 0FB785C6 		movzwl	-65594(%ebp), %eax
 6326      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 250


 6327 65bb 83C002   		addl	$2, %eax
 6328 65be 0FB7C0   		movzwl	%ax, %eax
 6329 65c1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6329      F4FFFEFF 
 6330 65c9 0FB6C0   		movzbl	%al, %eax
 6331 65cc 09D0     		orl	%edx, %eax
 6332 65ce 668985CE 		movw	%ax, -65586(%ebp)
 6332      FFFEFF
4408:armor.c       ****   //  Z = U;
4409:armor.c       ****   //  N = (U) >> 8;
4410:armor.c       ****   //  V = 0;
4411:armor.c       ****       
4412:armor.c       ****             //        LDA   ,U                      ; 0729: A6 C4         
4413:armor.c       ****       A = memory[U];
 6333              		.loc 1 4413 0
 6334 65d5 0FB785CE 		movzwl	-65586(%ebp), %eax
 6334      FFFEFF
 6335 65dc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6335      F4FFFEFF 
 6336 65e4 0FB6C0   		movzbl	%al, %eax
 6337 65e7 8985E0FF 		movl	%eax, -65568(%ebp)
 6337      FEFF
4414:armor.c       ****   //  N = A;
4415:armor.c       ****       Z = A;
 6338              		.loc 1 4415 0
 6339 65ed 8B85E0FF 		movl	-65568(%ebp), %eax
 6339      FEFF
 6340 65f3 668985CC 		movw	%ax, -65588(%ebp)
 6340      FFFEFF
4416:armor.c       ****   //  V = 0;
4417:armor.c       ****       
4418:armor.c       ****             //        BEQ   $0734                   ; 072B: 27 07         
4419:armor.c       ****       if (!Z) {
 6341              		.loc 1 4419 0
 6342 65fa 6683BDCC 		cmpw	$0, -65588(%ebp)
 6342      FFFEFF00 
 6343 6602 7509     		jne	.L252
4420:armor.c       ****       PC = 0x0734;
 6344              		.loc 1 4420 0
 6345 6604 66C785CA 		movw	$1844, -65590(%ebp)
 6345      FFFEFF34 
 6345      07
 6346              	.L252:
4421:armor.c       ****       JUMP;
4422:armor.c       ****       }
4423:armor.c       ****       
4424:armor.c       ****             //        INCB                          ; 072D: 5C            
4425:armor.c       ****       res = (UINT8)((B) + 1);
 6347              		.loc 1 4425 0
 6348 660d 8B85E4FF 		movl	-65564(%ebp), %eax
 6348      FEFF
 6349 6613 83C001   		addl	$1, %eax
 6350 6616 0FB6C0   		movzbl	%al, %eax
 6351 6619 8985E8FF 		movl	%eax, -65560(%ebp)
 6351      FEFF
4426:armor.c       ****   //  Z = res;
4427:armor.c       ****   //  N = res;
GAS LISTING /tmp/ccqXEnet.s 			page 251


4428:armor.c       ****   //  V = res & ~(B);
4429:armor.c       ****       B = res;
 6352              		.loc 1 4429 0
 6353 661f 8B85E8FF 		movl	-65560(%ebp), %eax
 6353      FEFF
 6354 6625 8985E4FF 		movl	%eax, -65564(%ebp)
 6354      FEFF
4430:armor.c       ****       
4431:armor.c       ****             //        LEAU  $07,U                   ; 072E: 33 47         
4432:armor.c       ****       U = (U + 0x0007);
 6355              		.loc 1 4432 0
 6356 662b 668385CE 		addw	$7, -65586(%ebp)
 6356      FFFEFF07 
4433:armor.c       ****       
4434:armor.c       ****             //        LDA   ,U                      ; 0730: A6 C4         
4435:armor.c       ****       A = memory[U];
 6357              		.loc 1 4435 0
 6358 6633 0FB785CE 		movzwl	-65586(%ebp), %eax
 6358      FFFEFF
 6359 663a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6359      F4FFFEFF 
 6360 6642 0FB6C0   		movzbl	%al, %eax
 6361 6645 8985E0FF 		movl	%eax, -65568(%ebp)
 6361      FEFF
4436:armor.c       ****   //  N = A;
4437:armor.c       ****       Z = A;
 6362              		.loc 1 4437 0
 6363 664b 8B85E0FF 		movl	-65568(%ebp), %eax
 6363      FEFF
 6364 6651 668985CC 		movw	%ax, -65588(%ebp)
 6364      FFFEFF
4438:armor.c       ****   //  V = 0;
4439:armor.c       ****       
4440:armor.c       ****             //        BNE   $0771                   ; 0732: 26 3D         
4441:armor.c       ****       if (Z) {
 6365              		.loc 1 4441 0
 6366 6658 6683BDCC 		cmpw	$0, -65588(%ebp)
 6366      FFFEFF00 
 6367 6660 740B     		je	.L459
4442:armor.c       ****       PC = 0x0771;
 6368              		.loc 1 4442 0
 6369 6662 66C785CA 		movw	$1905, -65590(%ebp)
 6369      FFFEFF71 
 6369      07
 6370 666b EB01     		jmp	.L253
 6371              	.L459:
4443:armor.c       ****       JUMP;
4444:armor.c       ****       }
4445:armor.c       ****       
4446:armor.c       ****       L0734://        STB   <$CB                    ; 0734: D7 CB         
 6372              		.loc 1 4446 0
 6373 666d 90       		nop
 6374              	.L253:
4447:armor.c       ****   //  Z = B;
4448:armor.c       ****   //  N = B;
4449:armor.c       ****   //  V = 0;
4450:armor.c       ****       memory_DP[0xcb] = B;
GAS LISTING /tmp/ccqXEnet.s 			page 252


 6375              		.loc 1 4450 0
 6376 666e 8B85DCFF 		movl	-65572(%ebp), %eax
 6376      FEFF
 6377 6674 05CB0000 		addl	$203, %eax
 6377      00
 6378 6679 8B95E4FF 		movl	-65564(%ebp), %edx
 6378      FEFF
 6379 667f 8810     		movb	%dl, (%eax)
4451:armor.c       ****       
4452:armor.c       ****             //        DEC   ,U                      ; 0736: 6A C4         
4453:armor.c       ****       res = (UINT8)(memory[U] - 1);
 6380              		.loc 1 4453 0
 6381 6681 0FB785CE 		movzwl	-65586(%ebp), %eax
 6381      FFFEFF
 6382 6688 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6382      F4FFFEFF 
 6383 6690 83E801   		subl	$1, %eax
 6384 6693 0FB6C0   		movzbl	%al, %eax
 6385 6696 8985E8FF 		movl	%eax, -65560(%ebp)
 6385      FEFF
4454:armor.c       ****   //  N = res;
4455:armor.c       ****   //  Z = res;
4456:armor.c       ****   //  V = memory[U] & ~res;
4457:armor.c       ****       memory[U] = res;
 6386              		.loc 1 4457 0
 6387 669c 0FB785CE 		movzwl	-65586(%ebp), %eax
 6387      FFFEFF
 6388 66a3 8B95E8FF 		movl	-65560(%ebp), %edx
 6388      FEFF
 6389 66a9 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6389      FFFEFF
4458:armor.c       ****       
4459:armor.c       ****             //        LDA   #$10                    ; 0738: 86 10         
4460:armor.c       ****       A = (SINT8)0x10;
 6390              		.loc 1 4460 0
 6391 66b0 C785E0FF 		movl	$16, -65568(%ebp)
 6391      FEFF1000 
 6391      0000
4461:armor.c       ****   //  N = A;
4462:armor.c       ****   //  Z = A;
4463:armor.c       ****   //  V = 0;
4464:armor.c       ****       
4465:armor.c       ****             //        ORA   <$67                    ; 073A: 9A 67         
4466:armor.c       ****       A = A | memory_DP[0x67];
 6392              		.loc 1 4466 0
 6393 66ba 8B85DCFF 		movl	-65572(%ebp), %eax
 6393      FEFF
 6394 66c0 83C067   		addl	$103, %eax
 6395 66c3 0FB600   		movzbl	(%eax), %eax
 6396 66c6 0FB6C0   		movzbl	%al, %eax
 6397 66c9 0985E0FF 		orl	%eax, -65568(%ebp)
 6397      FEFF
4467:armor.c       ****   //  Z = A;
4468:armor.c       ****   //  N = A;
4469:armor.c       ****   //  V = 0;
4470:armor.c       ****       
4471:armor.c       ****             //        STA   <$67                    ; 073C: 97 67         
GAS LISTING /tmp/ccqXEnet.s 			page 253


4472:armor.c       ****   //  Z = A;
4473:armor.c       ****   //  N = A;
4474:armor.c       ****   //  V = 0;
4475:armor.c       ****       memory_DP[0x67] = A;
 6398              		.loc 1 4475 0
 6399 66cf 8B85DCFF 		movl	-65572(%ebp), %eax
 6399      FEFF
 6400 66d5 83C067   		addl	$103, %eax
 6401 66d8 8B95E0FF 		movl	-65568(%ebp), %edx
 6401      FEFF
 6402 66de 8810     		movb	%dl, (%eax)
4476:armor.c       ****       
4477:armor.c       ****             //        LDA   $06,X                   ; 073E: A6 06         
4478:armor.c       ****       A = memory[(UINT16)(X + 0x0006)];
 6403              		.loc 1 4478 0
 6404 66e0 0FB785C6 		movzwl	-65594(%ebp), %eax
 6404      FFFEFF
 6405 66e7 83C006   		addl	$6, %eax
 6406 66ea 0FB7C0   		movzwl	%ax, %eax
 6407 66ed 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6407      F4FFFEFF 
 6408 66f5 0FB6C0   		movzbl	%al, %eax
 6409 66f8 8985E0FF 		movl	%eax, -65568(%ebp)
 6409      FEFF
4479:armor.c       ****   //  N = A;
4480:armor.c       ****   //  Z = A;
4481:armor.c       ****   //  V = 0;
4482:armor.c       ****       
4483:armor.c       ****             //        LDB   $08,X                   ; 0740: E6 08         
4484:armor.c       ****       B = memory[(UINT16)(X + 0x0008)];
 6410              		.loc 1 4484 0
 6411 66fe 0FB785C6 		movzwl	-65594(%ebp), %eax
 6411      FFFEFF
 6412 6705 83C008   		addl	$8, %eax
 6413 6708 0FB7C0   		movzwl	%ax, %eax
 6414 670b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6414      F4FFFEFF 
 6415 6713 0FB6C0   		movzbl	%al, %eax
 6416 6716 8985E4FF 		movl	%eax, -65564(%ebp)
 6416      FEFF
4485:armor.c       ****   //  N = B;
4486:armor.c       ****   //  Z = B;
4487:armor.c       ****   //  V = 0;
4488:armor.c       ****       
4489:armor.c       ****             //        STD   $01,U                   ; 0742: ED 41         
4490:armor.c       ****   //  Z = A | B;
4491:armor.c       ****   //  N = A;
4492:armor.c       ****   //  V = 0;
4493:armor.c       ****       memory[(UINT16)(U + 0x0001)] = A;
 6417              		.loc 1 4493 0
 6418 671c 0FB785CE 		movzwl	-65586(%ebp), %eax
 6418      FFFEFF
 6419 6723 83C001   		addl	$1, %eax
 6420 6726 0FB7C0   		movzwl	%ax, %eax
 6421 6729 8B95E0FF 		movl	-65568(%ebp), %edx
 6421      FEFF
 6422 672f 889405F4 		movb	%dl, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 254


 6422      FFFEFF
4494:armor.c       ****       memory[(UINT16)(U + 0x0001) + 1] = B;
 6423              		.loc 1 4494 0
 6424 6736 0FB785CE 		movzwl	-65586(%ebp), %eax
 6424      FFFEFF
 6425 673d 83C001   		addl	$1, %eax
 6426 6740 0FB7C0   		movzwl	%ax, %eax
 6427 6743 83C001   		addl	$1, %eax
 6428 6746 8B95E4FF 		movl	-65564(%ebp), %edx
 6428      FEFF
 6429 674c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6429      FFFEFF
4495:armor.c       ****       
4496:armor.c       ****             //        LDB   $0A,X                   ; 0744: E6 0A         
4497:armor.c       ****       B = memory[(UINT16)(X + 0x000a)];
 6430              		.loc 1 4497 0
 6431 6753 0FB785C6 		movzwl	-65594(%ebp), %eax
 6431      FFFEFF
 6432 675a 83C00A   		addl	$10, %eax
 6433 675d 0FB7C0   		movzwl	%ax, %eax
 6434 6760 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6434      F4FFFEFF 
 6435 6768 0FB6C0   		movzbl	%al, %eax
 6436 676b 8985E4FF 		movl	%eax, -65564(%ebp)
 6436      FEFF
4498:armor.c       ****   //  N = B;
4499:armor.c       ****   //  Z = B;
4500:armor.c       ****   //  V = 0;
4501:armor.c       ****       
4502:armor.c       ****             //        JSR   $04EB                   ; 0746: BD 04 EB      
4503:armor.c       ****       memory[--S] = 0x0749 & 0xff; memory[--S] = 0x0749 >> 8;
 6437              		.loc 1 4503 0
 6438 6771 6683ADC8 		subw	$1, -65592(%ebp)
 6438      FFFEFF01 
 6439 6779 0FB785C8 		movzwl	-65592(%ebp), %eax
 6439      FFFEFF
 6440 6780 C68405F4 		movb	$73, -65548(%ebp,%eax)
 6440      FFFEFF49 
 6441 6788 6683ADC8 		subw	$1, -65592(%ebp)
 6441      FFFEFF01 
 6442 6790 0FB785C8 		movzwl	-65592(%ebp), %eax
 6442      FFFEFF
 6443 6797 C68405F4 		movb	$7, -65548(%ebp,%eax)
 6443      FFFEFF07 
4504:armor.c       ****       PC = 0x04eb;
 6444              		.loc 1 4504 0
 6445 679f 66C785CA 		movw	$1259, -65590(%ebp)
 6445      FFFEFFEB 
 6445      04
 6446              	.L254:
4505:armor.c       ****       JUMP;
4506:armor.c       ****       
4507:armor.c       ****       L0749://        LDA   #$08                    ; 0749: 86 08         
4508:armor.c       ****       A = (SINT8)0x08;
 6447              		.loc 1 4508 0
 6448 67a8 C785E0FF 		movl	$8, -65568(%ebp)
 6448      FEFF0800 
GAS LISTING /tmp/ccqXEnet.s 			page 255


 6448      0000
4509:armor.c       ****   //  N = A;
4510:armor.c       ****   //  Z = A;
4511:armor.c       ****   //  V = 0;
4512:armor.c       ****       
4513:armor.c       ****             //        STA   $03,X                   ; 074B: A7 03         
4514:armor.c       ****   //  Z = A;
4515:armor.c       ****   //  N = A;
4516:armor.c       ****   //  V = 0;
4517:armor.c       ****       memory[(UINT16)(X + 0x0003)] = A;
 6449              		.loc 1 4517 0
 6450 67b2 0FB785C6 		movzwl	-65594(%ebp), %eax
 6450      FFFEFF
 6451 67b9 83C003   		addl	$3, %eax
 6452 67bc 0FB7C0   		movzwl	%ax, %eax
 6453 67bf 8B95E0FF 		movl	-65568(%ebp), %edx
 6453      FEFF
 6454 67c5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6454      FFFEFF
4518:armor.c       ****       
4519:armor.c       ****             //        LDB   #$0A                    ; 074D: C6 0A         
4520:armor.c       ****       B = (SINT8)0x0a;
 6455              		.loc 1 4520 0
 6456 67cc C785E4FF 		movl	$10, -65564(%ebp)
 6456      FEFF0A00 
 6456      0000
4521:armor.c       ****   //  N = B;
4522:armor.c       ****   //  Z = B;
4523:armor.c       ****   //  V = 0;
4524:armor.c       ****       
4525:armor.c       ****             //        LDA   <$CB                    ; 074F: 96 CB         
4526:armor.c       ****       A = memory_DP[0xcb];
 6457              		.loc 1 4526 0
 6458 67d6 8B85DCFF 		movl	-65572(%ebp), %eax
 6458      FEFF
 6459 67dc 05CB0000 		addl	$203, %eax
 6459      00
 6460 67e1 0FB600   		movzbl	(%eax), %eax
 6461 67e4 0FB6C0   		movzbl	%al, %eax
 6462 67e7 8985E0FF 		movl	%eax, -65568(%ebp)
 6462      FEFF
4527:armor.c       ****   //  N = A;
4528:armor.c       ****   //  Z = A;
4529:armor.c       ****   //  V = 0;
4530:armor.c       ****       
4531:armor.c       ****             //        MUL                           ; 0751: 3D            
4532:armor.c       ****       res = (UINT16)(A * B);
 6463              		.loc 1 4532 0
 6464 67ed 8B85E0FF 		movl	-65568(%ebp), %eax
 6464      FEFF
 6465 67f3 89C2     		movl	%eax, %edx
 6466 67f5 8B85E4FF 		movl	-65564(%ebp), %eax
 6466      FEFF
 6467 67fb 0FAFC2   		imull	%edx, %eax
 6468 67fe 0FB7C0   		movzwl	%ax, %eax
 6469 6801 8985E8FF 		movl	%eax, -65560(%ebp)
 6469      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 256


4533:armor.c       ****   //  Z = res;
4534:armor.c       ****       C = res & 0x80; /* ??? 8000 ??? */
 6470              		.loc 1 4534 0
 6471 6807 8B85E8FF 		movl	-65560(%ebp), %eax
 6471      FEFF
 6472 680d 25800000 		andl	$128, %eax
 6472      00
 6473 6812 8985ECFF 		movl	%eax, -65556(%ebp)
 6473      FEFF
4535:armor.c       ****       A = res >> 8;
 6474              		.loc 1 4535 0
 6475 6818 8B85E8FF 		movl	-65560(%ebp), %eax
 6475      FEFF
 6476 681e C1F808   		sarl	$8, %eax
 6477 6821 8985E0FF 		movl	%eax, -65568(%ebp)
 6477      FEFF
4536:armor.c       ****       B = (UINT8)res;
 6478              		.loc 1 4536 0
 6479 6827 8B85E8FF 		movl	-65560(%ebp), %eax
 6479      FEFF
 6480 682d 0FB6C0   		movzbl	%al, %eax
 6481 6830 8985E4FF 		movl	%eax, -65564(%ebp)
 6481      FEFF
4537:armor.c       ****       
4538:armor.c       ****             //        LDU   #$CA56                  ; 0752: CE CA 56      
4539:armor.c       ****       U = 0xca56;
 6482              		.loc 1 4539 0
 6483 6836 66C785CE 		movw	$-13738, -65586(%ebp)
 6483      FFFEFF56 
 6483      CA
4540:armor.c       ****   //  Z = U;
4541:armor.c       ****   //  N = (U) >> 8;
4542:armor.c       ****   //  V = 0;
4543:armor.c       ****       
4544:armor.c       ****             //        LEAU  B,U                     ; 0755: 33 C5         
4545:armor.c       ****       U = (U + (SINT8)B);
 6484              		.loc 1 4545 0
 6485 683f 8B85E4FF 		movl	-65564(%ebp), %eax
 6485      FEFF
 6486 6845 6698     		cbtw
 6487 6847 660185CE 		addw	%ax, -65586(%ebp)
 6487      FFFEFF
4546:armor.c       ****       
4547:armor.c       ****             //        LDA   $0A,X                   ; 0757: A6 0A         
4548:armor.c       ****       A = memory[(UINT16)(X + 0x000a)];
 6488              		.loc 1 4548 0
 6489 684e 0FB785C6 		movzwl	-65594(%ebp), %eax
 6489      FFFEFF
 6490 6855 83C00A   		addl	$10, %eax
 6491 6858 0FB7C0   		movzwl	%ax, %eax
 6492 685b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6492      F4FFFEFF 
 6493 6863 0FB6C0   		movzbl	%al, %eax
 6494 6866 8985E0FF 		movl	%eax, -65568(%ebp)
 6494      FEFF
4549:armor.c       ****   //  N = A;
4550:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 257


4551:armor.c       ****   //  V = 0;
4552:armor.c       ****       
4553:armor.c       ****             //        LDX   #$0D7B                  ; 0759: 8E 0D 7B      
4554:armor.c       ****       X = 0x0d7b;
 6495              		.loc 1 4554 0
 6496 686c 66C785C6 		movw	$3451, -65594(%ebp)
 6496      FFFEFF7B 
 6496      0D
4555:armor.c       ****   //  Z = X;
4556:armor.c       ****   //  N = (X) >> 8;
4557:armor.c       ****   //  V = 0;
4558:armor.c       ****       
4559:armor.c       ****             //        LDB   #$04                    ; 075C: C6 04         
4560:armor.c       ****       B = (SINT8)0x04;
 6497              		.loc 1 4560 0
 6498 6875 C785E4FF 		movl	$4, -65564(%ebp)
 6498      FEFF0400 
 6498      0000
4561:armor.c       ****   //  N = B;
4562:armor.c       ****   //  Z = B;
4563:armor.c       ****   //  V = 0;
4564:armor.c       ****       
4565:armor.c       ****             //        JSR   Rot_VL_ab               ; 075E: BD F6 10      
4566:armor.c       ****       memory[--S] = 0x0761 & 0xff; memory[--S] = 0x0761 >> 8;
 6499              		.loc 1 4566 0
 6500 687f 6683ADC8 		subw	$1, -65592(%ebp)
 6500      FFFEFF01 
 6501 6887 0FB785C8 		movzwl	-65592(%ebp), %eax
 6501      FFFEFF
 6502 688e C68405F4 		movb	$97, -65548(%ebp,%eax)
 6502      FFFEFF61 
 6503 6896 6683ADC8 		subw	$1, -65592(%ebp)
 6503      FFFEFF01 
 6504 689e 0FB785C8 		movzwl	-65592(%ebp), %eax
 6504      FFFEFF
 6505 68a5 C68405F4 		movb	$7, -65548(%ebp,%eax)
 6505      FFFEFF07 
4567:armor.c       ****       PC = 0xf610;
 6506              		.loc 1 4567 0
 6507 68ad 66C785CA 		movw	$-2544, -65590(%ebp)
 6507      FFFEFF10 
 6507      F6
4568:armor.c       ****       JUMP;
4569:armor.c       ****       DP = 0xc8 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
 6508              		.loc 1 4569 0
 6509 68b6 66C785C4 		movw	$-14336, -65596(%ebp)
 6509      FFFEFF00 
 6509      C8
 6510 68bf 0FB785C4 		movzwl	-65596(%ebp), %eax
 6510      FFFEFF
 6511 68c6 8D95F4FF 		leal	-65548(%ebp), %edx
 6511      FEFF
 6512 68cc 01D0     		addl	%edx, %eax
 6513 68ce 8985DCFF 		movl	%eax, -65572(%ebp)
 6513      FEFF
 6514              	.L255:
4570:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 258


4571:armor.c       ****       L0761://        LDA   <$EF                    ; 0761: 96 EF         
4572:armor.c       ****       A = memory_DP[0xef];
 6515              		.loc 1 4572 0
 6516 68d4 8B85DCFF 		movl	-65572(%ebp), %eax
 6516      FEFF
 6517 68da 05EF0000 		addl	$239, %eax
 6517      00
 6518 68df 0FB600   		movzbl	(%eax), %eax
 6519 68e2 0FB6C0   		movzbl	%al, %eax
 6520 68e5 8985E0FF 		movl	%eax, -65568(%ebp)
 6520      FEFF
4573:armor.c       ****       N = A;
 6521              		.loc 1 4573 0
 6522 68eb 8B85E0FF 		movl	-65568(%ebp), %eax
 6522      FEFF
 6523 68f1 8885C1FF 		movb	%al, -65599(%ebp)
 6523      FEFF
4574:armor.c       ****   //  Z = A;
4575:armor.c       ****   //  V = 0;
4576:armor.c       ****       
4577:armor.c       ****             //        BMI   $076F                   ; 0763: 2B 0A         
4578:armor.c       ****       if ((SINT8)N <  0) {
 6524              		.loc 1 4578 0
 6525 68f7 0FB685C1 		movzbl	-65599(%ebp), %eax
 6525      FFFEFF
 6526 68fe 84C0     		testb	%al, %al
 6527 6900 7909     		jns	.L256
4579:armor.c       ****       PC = 0x076f;
 6528              		.loc 1 4579 0
 6529 6902 66C785CA 		movw	$1903, -65590(%ebp)
 6529      FFFEFF6F 
 6529      07
 6530              	.L256:
4580:armor.c       ****       JUMP;
4581:armor.c       ****       }
4582:armor.c       ****       
4583:armor.c       ****             //        LDA   #$80                    ; 0765: 86 80         
4584:armor.c       ****       A = (SINT8)0x80;
 6531              		.loc 1 4584 0
 6532 690b C785E0FF 		movl	$-128, -65568(%ebp)
 6532      FEFF80FF 
 6532      FFFF
4585:armor.c       ****   //  N = A;
4586:armor.c       ****   //  Z = A;
4587:armor.c       ****   //  V = 0;
4588:armor.c       ****       
4589:armor.c       ****             //        ORA   <$67                    ; 0767: 9A 67         
4590:armor.c       ****       A = A | memory_DP[0x67];
 6533              		.loc 1 4590 0
 6534 6915 8B85DCFF 		movl	-65572(%ebp), %eax
 6534      FEFF
 6535 691b 83C067   		addl	$103, %eax
 6536 691e 0FB600   		movzbl	(%eax), %eax
 6537 6921 0FB6C0   		movzbl	%al, %eax
 6538 6924 0985E0FF 		orl	%eax, -65568(%ebp)
 6538      FEFF
4591:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 259


4592:armor.c       ****   //  N = A;
4593:armor.c       ****   //  V = 0;
4594:armor.c       ****       
4595:armor.c       ****             //        STA   <$67                    ; 0769: 97 67         
4596:armor.c       ****   //  Z = A;
4597:armor.c       ****   //  N = A;
4598:armor.c       ****   //  V = 0;
4599:armor.c       ****       memory_DP[0x67] = A;
 6539              		.loc 1 4599 0
 6540 692a 8B85DCFF 		movl	-65572(%ebp), %eax
 6540      FEFF
 6541 6930 83C067   		addl	$103, %eax
 6542 6933 8B95E0FF 		movl	-65568(%ebp), %edx
 6542      FEFF
 6543 6939 8810     		movb	%dl, (%eax)
4600:armor.c       ****       
4601:armor.c       ****             //        LDA   #$20                    ; 076B: 86 20         
4602:armor.c       ****       A = (SINT8)0x20;
 6544              		.loc 1 4602 0
 6545 693b C785E0FF 		movl	$32, -65568(%ebp)
 6545      FEFF2000 
 6545      0000
4603:armor.c       ****   //  N = A;
4604:armor.c       ****   //  Z = A;
4605:armor.c       ****   //  V = 0;
4606:armor.c       ****       
4607:armor.c       ****             //        STA   <$EF                    ; 076D: 97 EF         
4608:armor.c       ****       Z = A;
 6546              		.loc 1 4608 0
 6547 6945 8B85E0FF 		movl	-65568(%ebp), %eax
 6547      FEFF
 6548 694b 668985CC 		movw	%ax, -65588(%ebp)
 6548      FFFEFF
4609:armor.c       ****       N = A;
 6549              		.loc 1 4609 0
 6550 6952 8B85E0FF 		movl	-65568(%ebp), %eax
 6550      FEFF
 6551 6958 8885C1FF 		movb	%al, -65599(%ebp)
 6551      FEFF
4610:armor.c       ****       V = 0;
 6552              		.loc 1 4610 0
 6553 695e C685C2FF 		movb	$0, -65598(%ebp)
 6553      FEFF00
4611:armor.c       ****       memory_DP[0xef] = A;
 6554              		.loc 1 4611 0
 6555 6965 8B85DCFF 		movl	-65572(%ebp), %eax
 6555      FEFF
 6556 696b 05EF0000 		addl	$239, %eax
 6556      00
 6557 6970 8B95E0FF 		movl	-65568(%ebp), %edx
 6557      FEFF
 6558 6976 8810     		movb	%dl, (%eax)
 6559              	.L257:
4612:armor.c       ****       
4613:armor.c       ****       L076F://        PULS  X,PC                    ; 076F: 35 90             ;(PUL? PC=RTS)
4614:armor.c       ****       X = memory[S++]<<8;
 6560              		.loc 1 4614 0
GAS LISTING /tmp/ccqXEnet.s 			page 260


 6561 6978 0FB785C8 		movzwl	-65592(%ebp), %eax
 6561      FFFEFF
 6562 697f 8D5001   		leal	1(%eax), %edx
 6563 6982 668995C8 		movw	%dx, -65592(%ebp)
 6563      FFFEFF
 6564 6989 0FB7C0   		movzwl	%ax, %eax
 6565 698c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6565      F4FFFEFF 
 6566 6994 0FB6C0   		movzbl	%al, %eax
 6567 6997 C1E008   		sall	$8, %eax
 6568 699a 668985C6 		movw	%ax, -65594(%ebp)
 6568      FFFEFF
4615:armor.c       ****       X |= memory[S++];
 6569              		.loc 1 4615 0
 6570 69a1 0FB785C8 		movzwl	-65592(%ebp), %eax
 6570      FFFEFF
 6571 69a8 8D5001   		leal	1(%eax), %edx
 6572 69ab 668995C8 		movw	%dx, -65592(%ebp)
 6572      FFFEFF
 6573 69b2 0FB7C0   		movzwl	%ax, %eax
 6574 69b5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6574      F4FFFEFF 
 6575 69bd 0FB6C0   		movzbl	%al, %eax
 6576 69c0 660985C6 		orw	%ax, -65594(%ebp)
 6576      FFFEFF
4616:armor.c       ****       PC = memory[S++]<<8;
 6577              		.loc 1 4616 0
 6578 69c7 0FB785C8 		movzwl	-65592(%ebp), %eax
 6578      FFFEFF
 6579 69ce 8D5001   		leal	1(%eax), %edx
 6580 69d1 668995C8 		movw	%dx, -65592(%ebp)
 6580      FFFEFF
 6581 69d8 0FB7C0   		movzwl	%ax, %eax
 6582 69db 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6582      F4FFFEFF 
 6583 69e3 0FB6C0   		movzbl	%al, %eax
 6584 69e6 C1E008   		sall	$8, %eax
 6585 69e9 668985CA 		movw	%ax, -65590(%ebp)
 6585      FFFEFF
4617:armor.c       ****       PC |= memory[S++];
 6586              		.loc 1 4617 0
 6587 69f0 0FB785C8 		movzwl	-65592(%ebp), %eax
 6587      FFFEFF
 6588 69f7 8D5001   		leal	1(%eax), %edx
 6589 69fa 668995C8 		movw	%dx, -65592(%ebp)
 6589      FFFEFF
 6590 6a01 0FB7C0   		movzwl	%ax, %eax
 6591 6a04 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6591      F4FFFEFF 
 6592 6a0c 0FB6C0   		movzbl	%al, %eax
 6593 6a0f 660985CA 		orw	%ax, -65590(%ebp)
 6593      FFFEFF
 6594              	.L258:
4618:armor.c       ****       
4619:armor.c       ****       
4620:armor.c       ****       L0771://        LDA   $02,Y                   ; 0771: A6 22         
4621:armor.c       ****       A = memory[(UINT16)(Y + 0x0002)];
GAS LISTING /tmp/ccqXEnet.s 			page 261


 6595              		.loc 1 4621 0
 6596 6a16 0FB785D2 		movzwl	-65582(%ebp), %eax
 6596      FFFEFF
 6597 6a1d 83C002   		addl	$2, %eax
 6598 6a20 0FB7C0   		movzwl	%ax, %eax
 6599 6a23 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6599      F4FFFEFF 
 6600 6a2b 0FB6C0   		movzbl	%al, %eax
 6601 6a2e 8985E0FF 		movl	%eax, -65568(%ebp)
 6601      FEFF
4622:armor.c       ****   //  N = A;
4623:armor.c       ****       Z = A;
 6602              		.loc 1 4623 0
 6603 6a34 8B85E0FF 		movl	-65568(%ebp), %eax
 6603      FEFF
 6604 6a3a 668985CC 		movw	%ax, -65588(%ebp)
 6604      FFFEFF
4624:armor.c       ****   //  V = 0;
4625:armor.c       ****       
4626:armor.c       ****             //        BEQ   $07CD                   ; 0773: 27 58         
4627:armor.c       ****       if (!Z) {
 6605              		.loc 1 4627 0
 6606 6a41 6683BDCC 		cmpw	$0, -65588(%ebp)
 6606      FFFEFF00 
 6607 6a49 7509     		jne	.L259
4628:armor.c       ****       PC = 0x07cd;
 6608              		.loc 1 4628 0
 6609 6a4b 66C785CA 		movw	$1997, -65590(%ebp)
 6609      FFFEFFCD 
 6609      07
 6610              	.L259:
4629:armor.c       ****       JUMP;
4630:armor.c       ****       }
4631:armor.c       ****       
4632:armor.c       ****             //        LDB   $04,X                   ; 0775: E6 04         
4633:armor.c       ****       B = memory[(UINT16)(X + 0x0004)];
 6611              		.loc 1 4633 0
 6612 6a54 0FB785C6 		movzwl	-65594(%ebp), %eax
 6612      FFFEFF
 6613 6a5b 83C004   		addl	$4, %eax
 6614 6a5e 0FB7C0   		movzwl	%ax, %eax
 6615 6a61 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6615      F4FFFEFF 
 6616 6a69 0FB6C0   		movzbl	%al, %eax
 6617 6a6c 8985E4FF 		movl	%eax, -65564(%ebp)
 6617      FEFF
4634:armor.c       ****   //  N = B;
4635:armor.c       ****   //  Z = B;
4636:armor.c       ****   //  V = 0;
4637:armor.c       ****       
4638:armor.c       ****             //        SEX                           ; 0777: 1D            
4639:armor.c       ****   //  Z = B;
4640:armor.c       ****   //  N = B & 0x80;
4641:armor.c       ****       A = ((B & 0x80) != 0) ? 0xff : 0;
 6618              		.loc 1 4641 0
 6619 6a72 8B85E4FF 		movl	-65564(%ebp), %eax
 6619      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 262


 6620 6a78 25800000 		andl	$128, %eax
 6620      00
 6621 6a7d 85C0     		testl	%eax, %eax
 6622 6a7f 7407     		je	.L260
 6623              		.loc 1 4641 0 is_stmt 0 discriminator 1
 6624 6a81 B8FF0000 		movl	$255, %eax
 6624      00
 6625 6a86 EB05     		jmp	.L261
 6626              	.L260:
 6627              		.loc 1 4641 0 discriminator 2
 6628 6a88 B8000000 		movl	$0, %eax
 6628      00
 6629              	.L261:
 6630              		.loc 1 4641 0 discriminator 4
 6631 6a8d 8985E0FF 		movl	%eax, -65568(%ebp)
 6631      FEFF
4642:armor.c       ****       
4643:armor.c       ****             //        ASLB                          ; 0778: 58            
4644:armor.c       ****       res = B << 1;
 6632              		.loc 1 4644 0 is_stmt 1 discriminator 4
 6633 6a93 8B85E4FF 		movl	-65564(%ebp), %eax
 6633      FEFF
 6634 6a99 01C0     		addl	%eax, %eax
 6635 6a9b 8985E8FF 		movl	%eax, -65560(%ebp)
 6635      FEFF
4645:armor.c       ****       C = res & 0x100;
 6636              		.loc 1 4645 0 discriminator 4
 6637 6aa1 8B85E8FF 		movl	-65560(%ebp), %eax
 6637      FEFF
 6638 6aa7 25000100 		andl	$256, %eax
 6638      00
 6639 6aac 8985ECFF 		movl	%eax, -65556(%ebp)
 6639      FEFF
4646:armor.c       ****       res = (UINT8)res;
 6640              		.loc 1 4646 0 discriminator 4
 6641 6ab2 8B85E8FF 		movl	-65560(%ebp), %eax
 6641      FEFF
 6642 6ab8 0FB6C0   		movzbl	%al, %eax
 6643 6abb 8985E8FF 		movl	%eax, -65560(%ebp)
 6643      FEFF
4647:armor.c       ****   //  Z = res;
4648:armor.c       ****   //  N = res;
4649:armor.c       ****   //  V = B ^ res;
4650:armor.c       ****       B = res;
 6644              		.loc 1 4650 0 discriminator 4
 6645 6ac1 8B85E8FF 		movl	-65560(%ebp), %eax
 6645      FEFF
 6646 6ac7 8985E4FF 		movl	%eax, -65564(%ebp)
 6646      FEFF
4651:armor.c       ****       
4652:armor.c       ****             //        ROLA                          ; 0779: 49            
4653:armor.c       ****       res = ((A) << 1) + (C != 0);
 6647              		.loc 1 4653 0 discriminator 4
 6648 6acd 8B85E0FF 		movl	-65568(%ebp), %eax
 6648      FEFF
 6649 6ad3 8D1400   		leal	(%eax,%eax), %edx
 6650 6ad6 83BDECFF 		cmpl	$0, -65556(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 263


 6650      FEFF00
 6651 6add 0F95C0   		setne	%al
 6652 6ae0 0FB6C0   		movzbl	%al, %eax
 6653 6ae3 01D0     		addl	%edx, %eax
 6654 6ae5 8985E8FF 		movl	%eax, -65560(%ebp)
 6654      FEFF
4654:armor.c       ****   //  C = res & 0x100;
4655:armor.c       ****       res = (UINT8)res;
 6655              		.loc 1 4655 0 discriminator 4
 6656 6aeb 8B85E8FF 		movl	-65560(%ebp), %eax
 6656      FEFF
 6657 6af1 0FB6C0   		movzbl	%al, %eax
 6658 6af4 8985E8FF 		movl	%eax, -65560(%ebp)
 6658      FEFF
4656:armor.c       ****   //  Z = res;
4657:armor.c       ****   //  N = res;
4658:armor.c       ****   //  V = res ^ (A);
4659:armor.c       ****       A = res;
 6659              		.loc 1 4659 0 discriminator 4
 6660 6afa 8B85E8FF 		movl	-65560(%ebp), %eax
 6660      FEFF
 6661 6b00 8985E0FF 		movl	%eax, -65568(%ebp)
 6661      FEFF
4660:armor.c       ****       
4661:armor.c       ****             //        ASLB                          ; 077A: 58            
4662:armor.c       ****       res = B << 1;
 6662              		.loc 1 4662 0 discriminator 4
 6663 6b06 8B85E4FF 		movl	-65564(%ebp), %eax
 6663      FEFF
 6664 6b0c 01C0     		addl	%eax, %eax
 6665 6b0e 8985E8FF 		movl	%eax, -65560(%ebp)
 6665      FEFF
4663:armor.c       ****       C = res & 0x100;
 6666              		.loc 1 4663 0 discriminator 4
 6667 6b14 8B85E8FF 		movl	-65560(%ebp), %eax
 6667      FEFF
 6668 6b1a 25000100 		andl	$256, %eax
 6668      00
 6669 6b1f 8985ECFF 		movl	%eax, -65556(%ebp)
 6669      FEFF
4664:armor.c       ****       res = (UINT8)res;
 6670              		.loc 1 4664 0 discriminator 4
 6671 6b25 8B85E8FF 		movl	-65560(%ebp), %eax
 6671      FEFF
 6672 6b2b 0FB6C0   		movzbl	%al, %eax
 6673 6b2e 8985E8FF 		movl	%eax, -65560(%ebp)
 6673      FEFF
4665:armor.c       ****   //  Z = res;
4666:armor.c       ****   //  N = res;
4667:armor.c       ****   //  V = B ^ res;
4668:armor.c       ****       B = res;
 6674              		.loc 1 4668 0 discriminator 4
 6675 6b34 8B85E8FF 		movl	-65560(%ebp), %eax
 6675      FEFF
 6676 6b3a 8985E4FF 		movl	%eax, -65564(%ebp)
 6676      FEFF
4669:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 264


4670:armor.c       ****             //        ROLA                          ; 077B: 49            
4671:armor.c       ****       res = ((A) << 1) + (C != 0);
 6677              		.loc 1 4671 0 discriminator 4
 6678 6b40 8B85E0FF 		movl	-65568(%ebp), %eax
 6678      FEFF
 6679 6b46 8D1400   		leal	(%eax,%eax), %edx
 6680 6b49 83BDECFF 		cmpl	$0, -65556(%ebp)
 6680      FEFF00
 6681 6b50 0F95C0   		setne	%al
 6682 6b53 0FB6C0   		movzbl	%al, %eax
 6683 6b56 01D0     		addl	%edx, %eax
 6684 6b58 8985E8FF 		movl	%eax, -65560(%ebp)
 6684      FEFF
4672:armor.c       ****   //  C = res & 0x100;
4673:armor.c       ****       res = (UINT8)res;
 6685              		.loc 1 4673 0 discriminator 4
 6686 6b5e 8B85E8FF 		movl	-65560(%ebp), %eax
 6686      FEFF
 6687 6b64 0FB6C0   		movzbl	%al, %eax
 6688 6b67 8985E8FF 		movl	%eax, -65560(%ebp)
 6688      FEFF
4674:armor.c       ****   //  Z = res;
4675:armor.c       ****   //  N = res;
4676:armor.c       ****   //  V = res ^ (A);
4677:armor.c       ****       A = res;
 6689              		.loc 1 4677 0 discriminator 4
 6690 6b6d 8B85E8FF 		movl	-65560(%ebp), %eax
 6690      FEFF
 6691 6b73 8985E0FF 		movl	%eax, -65568(%ebp)
 6691      FEFF
4678:armor.c       ****       
4679:armor.c       ****             //        ASLB                          ; 077C: 58            
4680:armor.c       ****       res = B << 1;
 6692              		.loc 1 4680 0 discriminator 4
 6693 6b79 8B85E4FF 		movl	-65564(%ebp), %eax
 6693      FEFF
 6694 6b7f 01C0     		addl	%eax, %eax
 6695 6b81 8985E8FF 		movl	%eax, -65560(%ebp)
 6695      FEFF
4681:armor.c       ****       C = res & 0x100;
 6696              		.loc 1 4681 0 discriminator 4
 6697 6b87 8B85E8FF 		movl	-65560(%ebp), %eax
 6697      FEFF
 6698 6b8d 25000100 		andl	$256, %eax
 6698      00
 6699 6b92 8985ECFF 		movl	%eax, -65556(%ebp)
 6699      FEFF
4682:armor.c       ****       res = (UINT8)res;
 6700              		.loc 1 4682 0 discriminator 4
 6701 6b98 8B85E8FF 		movl	-65560(%ebp), %eax
 6701      FEFF
 6702 6b9e 0FB6C0   		movzbl	%al, %eax
 6703 6ba1 8985E8FF 		movl	%eax, -65560(%ebp)
 6703      FEFF
4683:armor.c       ****   //  Z = res;
4684:armor.c       ****   //  N = res;
4685:armor.c       ****   //  V = B ^ res;
GAS LISTING /tmp/ccqXEnet.s 			page 265


4686:armor.c       ****       B = res;
 6704              		.loc 1 4686 0 discriminator 4
 6705 6ba7 8B85E8FF 		movl	-65560(%ebp), %eax
 6705      FEFF
 6706 6bad 8985E4FF 		movl	%eax, -65564(%ebp)
 6706      FEFF
4687:armor.c       ****       
4688:armor.c       ****             //        ROLA                          ; 077D: 49            
4689:armor.c       ****       res = ((A) << 1) + (C != 0);
 6707              		.loc 1 4689 0 discriminator 4
 6708 6bb3 8B85E0FF 		movl	-65568(%ebp), %eax
 6708      FEFF
 6709 6bb9 8D1400   		leal	(%eax,%eax), %edx
 6710 6bbc 83BDECFF 		cmpl	$0, -65556(%ebp)
 6710      FEFF00
 6711 6bc3 0F95C0   		setne	%al
 6712 6bc6 0FB6C0   		movzbl	%al, %eax
 6713 6bc9 01D0     		addl	%edx, %eax
 6714 6bcb 8985E8FF 		movl	%eax, -65560(%ebp)
 6714      FEFF
4690:armor.c       ****   //  C = res & 0x100;
4691:armor.c       ****       res = (UINT8)res;
 6715              		.loc 1 4691 0 discriminator 4
 6716 6bd1 8B85E8FF 		movl	-65560(%ebp), %eax
 6716      FEFF
 6717 6bd7 0FB6C0   		movzbl	%al, %eax
 6718 6bda 8985E8FF 		movl	%eax, -65560(%ebp)
 6718      FEFF
4692:armor.c       ****   //  Z = res;
4693:armor.c       ****   //  N = res;
4694:armor.c       ****   //  V = res ^ (A);
4695:armor.c       ****       A = res;
 6719              		.loc 1 4695 0 discriminator 4
 6720 6be0 8B85E8FF 		movl	-65560(%ebp), %eax
 6720      FEFF
 6721 6be6 8985E0FF 		movl	%eax, -65568(%ebp)
 6721      FEFF
4696:armor.c       ****       
4697:armor.c       ****             //        STD   <$CB                    ; 077E: DD CB         
4698:armor.c       ****   //  Z = A | B;
4699:armor.c       ****   //  N = A;
4700:armor.c       ****   //  V = 0;
4701:armor.c       ****       memory_DP[0xcb] = A;
 6722              		.loc 1 4701 0 discriminator 4
 6723 6bec 8B85DCFF 		movl	-65572(%ebp), %eax
 6723      FEFF
 6724 6bf2 05CB0000 		addl	$203, %eax
 6724      00
 6725 6bf7 8B95E0FF 		movl	-65568(%ebp), %edx
 6725      FEFF
 6726 6bfd 8810     		movb	%dl, (%eax)
4702:armor.c       ****       memory_DP[0xcb + 1] = B;
 6727              		.loc 1 4702 0 discriminator 4
 6728 6bff 8B85DCFF 		movl	-65572(%ebp), %eax
 6728      FEFF
 6729 6c05 05CC0000 		addl	$204, %eax
 6729      00
GAS LISTING /tmp/ccqXEnet.s 			page 266


 6730 6c0a 8B95E4FF 		movl	-65564(%ebp), %edx
 6730      FEFF
 6731 6c10 8810     		movb	%dl, (%eax)
4703:armor.c       ****       
4704:armor.c       ****             //        ADDD  $06,X                   ; 0780: E3 06         
4705:armor.c       ****       arg = (A << 8) | B;
 6732              		.loc 1 4705 0 discriminator 4
 6733 6c12 8B85E0FF 		movl	-65568(%ebp), %eax
 6733      FEFF
 6734 6c18 C1E008   		sall	$8, %eax
 6735 6c1b 89C2     		movl	%eax, %edx
 6736 6c1d 8B85E4FF 		movl	-65564(%ebp), %eax
 6736      FEFF
 6737 6c23 09D0     		orl	%edx, %eax
 6738 6c25 668985D6 		movw	%ax, -65578(%ebp)
 6738      FFFEFF
4706:armor.c       ****       res = arg + ((memory[(UINT16)(X + 0x0006)]<<8)|memory[(UINT16)(((UINT16)(X + 0x0006))+1)]);
 6739              		.loc 1 4706 0 discriminator 4
 6740 6c2c 0FB795D6 		movzwl	-65578(%ebp), %edx
 6740      FFFEFF
 6741 6c33 0FB785C6 		movzwl	-65594(%ebp), %eax
 6741      FFFEFF
 6742 6c3a 83C006   		addl	$6, %eax
 6743 6c3d 0FB7C0   		movzwl	%ax, %eax
 6744 6c40 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6744      F4FFFEFF 
 6745 6c48 0FB6C0   		movzbl	%al, %eax
 6746 6c4b C1E008   		sall	$8, %eax
 6747 6c4e 89C1     		movl	%eax, %ecx
 6748 6c50 0FB785C6 		movzwl	-65594(%ebp), %eax
 6748      FFFEFF
 6749 6c57 83C007   		addl	$7, %eax
 6750 6c5a 0FB7C0   		movzwl	%ax, %eax
 6751 6c5d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6751      F4FFFEFF 
 6752 6c65 0FB6C0   		movzbl	%al, %eax
 6753 6c68 09C8     		orl	%ecx, %eax
 6754 6c6a 01D0     		addl	%edx, %eax
 6755 6c6c 8985E8FF 		movl	%eax, -65560(%ebp)
 6755      FEFF
4707:armor.c       ****   //  C = res & 0x10000;
4708:armor.c       ****       res = (UINT16)res;
 6756              		.loc 1 4708 0 discriminator 4
 6757 6c72 8B85E8FF 		movl	-65560(%ebp), %eax
 6757      FEFF
 6758 6c78 0FB7C0   		movzwl	%ax, %eax
 6759 6c7b 8985E8FF 		movl	%eax, -65560(%ebp)
 6759      FEFF
4709:armor.c       ****   //  Z = res;
4710:armor.c       ****   //  V = ((arg ^ res) & ((((memory[(UINT16)(X + 0x0006)]<<8)|memory[(UINT16)(((UINT16)(X + 0x0006)
4711:armor.c       ****   //  N = res >> 8;
4712:armor.c       ****       A = (UINT8)(res >> 8);
 6760              		.loc 1 4712 0 discriminator 4
 6761 6c81 8B85E8FF 		movl	-65560(%ebp), %eax
 6761      FEFF
 6762 6c87 C1F808   		sarl	$8, %eax
 6763 6c8a 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 267


 6764 6c8d 8985E0FF 		movl	%eax, -65568(%ebp)
 6764      FEFF
4713:armor.c       ****       B = (UINT8)(res & 0xff);
 6765              		.loc 1 4713 0 discriminator 4
 6766 6c93 8B85E8FF 		movl	-65560(%ebp), %eax
 6766      FEFF
 6767 6c99 0FB6C0   		movzbl	%al, %eax
 6768 6c9c 8985E4FF 		movl	%eax, -65564(%ebp)
 6768      FEFF
4714:armor.c       ****       
4715:armor.c       ****             //        STD   $06,X                   ; 0782: ED 06         
4716:armor.c       ****   //  Z = A | B;
4717:armor.c       ****   //  N = A;
4718:armor.c       ****   //  V = 0;
4719:armor.c       ****       memory[(UINT16)(X + 0x0006)] = A;
 6769              		.loc 1 4719 0 discriminator 4
 6770 6ca2 0FB785C6 		movzwl	-65594(%ebp), %eax
 6770      FFFEFF
 6771 6ca9 83C006   		addl	$6, %eax
 6772 6cac 0FB7C0   		movzwl	%ax, %eax
 6773 6caf 8B95E0FF 		movl	-65568(%ebp), %edx
 6773      FEFF
 6774 6cb5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6774      FFFEFF
4720:armor.c       ****       memory[(UINT16)(X + 0x0006) + 1] = B;
 6775              		.loc 1 4720 0 discriminator 4
 6776 6cbc 0FB785C6 		movzwl	-65594(%ebp), %eax
 6776      FFFEFF
 6777 6cc3 83C006   		addl	$6, %eax
 6778 6cc6 0FB7C0   		movzwl	%ax, %eax
 6779 6cc9 83C001   		addl	$1, %eax
 6780 6ccc 8B95E4FF 		movl	-65564(%ebp), %edx
 6780      FEFF
 6781 6cd2 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6781      FFFEFF
4721:armor.c       ****       
4722:armor.c       ****             //        LDB   $05,X                   ; 0784: E6 05         
4723:armor.c       ****       B = memory[(UINT16)(X + 0x0005)];
 6782              		.loc 1 4723 0 discriminator 4
 6783 6cd9 0FB785C6 		movzwl	-65594(%ebp), %eax
 6783      FFFEFF
 6784 6ce0 83C005   		addl	$5, %eax
 6785 6ce3 0FB7C0   		movzwl	%ax, %eax
 6786 6ce6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6786      F4FFFEFF 
 6787 6cee 0FB6C0   		movzbl	%al, %eax
 6788 6cf1 8985E4FF 		movl	%eax, -65564(%ebp)
 6788      FEFF
4724:armor.c       ****   //  N = B;
4725:armor.c       ****   //  Z = B;
4726:armor.c       ****   //  V = 0;
4727:armor.c       ****       
4728:armor.c       ****             //        SEX                           ; 0786: 1D            
4729:armor.c       ****   //  Z = B;
4730:armor.c       ****   //  N = B & 0x80;
4731:armor.c       ****       A = ((B & 0x80) != 0) ? 0xff : 0;
 6789              		.loc 1 4731 0 discriminator 4
GAS LISTING /tmp/ccqXEnet.s 			page 268


 6790 6cf7 8B85E4FF 		movl	-65564(%ebp), %eax
 6790      FEFF
 6791 6cfd 25800000 		andl	$128, %eax
 6791      00
 6792 6d02 85C0     		testl	%eax, %eax
 6793 6d04 7407     		je	.L262
 6794              		.loc 1 4731 0 is_stmt 0 discriminator 1
 6795 6d06 B8FF0000 		movl	$255, %eax
 6795      00
 6796 6d0b EB05     		jmp	.L263
 6797              	.L262:
 6798              		.loc 1 4731 0 discriminator 2
 6799 6d0d B8000000 		movl	$0, %eax
 6799      00
 6800              	.L263:
 6801              		.loc 1 4731 0 discriminator 4
 6802 6d12 8985E0FF 		movl	%eax, -65568(%ebp)
 6802      FEFF
4732:armor.c       ****       
4733:armor.c       ****             //        ASLB                          ; 0787: 58            
4734:armor.c       ****       res = B << 1;
 6803              		.loc 1 4734 0 is_stmt 1 discriminator 4
 6804 6d18 8B85E4FF 		movl	-65564(%ebp), %eax
 6804      FEFF
 6805 6d1e 01C0     		addl	%eax, %eax
 6806 6d20 8985E8FF 		movl	%eax, -65560(%ebp)
 6806      FEFF
4735:armor.c       ****       C = res & 0x100;
 6807              		.loc 1 4735 0 discriminator 4
 6808 6d26 8B85E8FF 		movl	-65560(%ebp), %eax
 6808      FEFF
 6809 6d2c 25000100 		andl	$256, %eax
 6809      00
 6810 6d31 8985ECFF 		movl	%eax, -65556(%ebp)
 6810      FEFF
4736:armor.c       ****       res = (UINT8)res;
 6811              		.loc 1 4736 0 discriminator 4
 6812 6d37 8B85E8FF 		movl	-65560(%ebp), %eax
 6812      FEFF
 6813 6d3d 0FB6C0   		movzbl	%al, %eax
 6814 6d40 8985E8FF 		movl	%eax, -65560(%ebp)
 6814      FEFF
4737:armor.c       ****   //  Z = res;
4738:armor.c       ****   //  N = res;
4739:armor.c       ****   //  V = B ^ res;
4740:armor.c       ****       B = res;
 6815              		.loc 1 4740 0 discriminator 4
 6816 6d46 8B85E8FF 		movl	-65560(%ebp), %eax
 6816      FEFF
 6817 6d4c 8985E4FF 		movl	%eax, -65564(%ebp)
 6817      FEFF
4741:armor.c       ****       
4742:armor.c       ****             //        ROLA                          ; 0788: 49            
4743:armor.c       ****       res = ((A) << 1) + (C != 0);
 6818              		.loc 1 4743 0 discriminator 4
 6819 6d52 8B85E0FF 		movl	-65568(%ebp), %eax
 6819      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 269


 6820 6d58 8D1400   		leal	(%eax,%eax), %edx
 6821 6d5b 83BDECFF 		cmpl	$0, -65556(%ebp)
 6821      FEFF00
 6822 6d62 0F95C0   		setne	%al
 6823 6d65 0FB6C0   		movzbl	%al, %eax
 6824 6d68 01D0     		addl	%edx, %eax
 6825 6d6a 8985E8FF 		movl	%eax, -65560(%ebp)
 6825      FEFF
4744:armor.c       ****   //  C = res & 0x100;
4745:armor.c       ****       res = (UINT8)res;
 6826              		.loc 1 4745 0 discriminator 4
 6827 6d70 8B85E8FF 		movl	-65560(%ebp), %eax
 6827      FEFF
 6828 6d76 0FB6C0   		movzbl	%al, %eax
 6829 6d79 8985E8FF 		movl	%eax, -65560(%ebp)
 6829      FEFF
4746:armor.c       ****   //  Z = res;
4747:armor.c       ****   //  N = res;
4748:armor.c       ****   //  V = res ^ (A);
4749:armor.c       ****       A = res;
 6830              		.loc 1 4749 0 discriminator 4
 6831 6d7f 8B85E8FF 		movl	-65560(%ebp), %eax
 6831      FEFF
 6832 6d85 8985E0FF 		movl	%eax, -65568(%ebp)
 6832      FEFF
4750:armor.c       ****       
4751:armor.c       ****             //        ASLB                          ; 0789: 58            
4752:armor.c       ****       res = B << 1;
 6833              		.loc 1 4752 0 discriminator 4
 6834 6d8b 8B85E4FF 		movl	-65564(%ebp), %eax
 6834      FEFF
 6835 6d91 01C0     		addl	%eax, %eax
 6836 6d93 8985E8FF 		movl	%eax, -65560(%ebp)
 6836      FEFF
4753:armor.c       ****       C = res & 0x100;
 6837              		.loc 1 4753 0 discriminator 4
 6838 6d99 8B85E8FF 		movl	-65560(%ebp), %eax
 6838      FEFF
 6839 6d9f 25000100 		andl	$256, %eax
 6839      00
 6840 6da4 8985ECFF 		movl	%eax, -65556(%ebp)
 6840      FEFF
4754:armor.c       ****       res = (UINT8)res;
 6841              		.loc 1 4754 0 discriminator 4
 6842 6daa 8B85E8FF 		movl	-65560(%ebp), %eax
 6842      FEFF
 6843 6db0 0FB6C0   		movzbl	%al, %eax
 6844 6db3 8985E8FF 		movl	%eax, -65560(%ebp)
 6844      FEFF
4755:armor.c       ****   //  Z = res;
4756:armor.c       ****   //  N = res;
4757:armor.c       ****   //  V = B ^ res;
4758:armor.c       ****       B = res;
 6845              		.loc 1 4758 0 discriminator 4
 6846 6db9 8B85E8FF 		movl	-65560(%ebp), %eax
 6846      FEFF
 6847 6dbf 8985E4FF 		movl	%eax, -65564(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 270


 6847      FEFF
4759:armor.c       ****       
4760:armor.c       ****             //        ROLA                          ; 078A: 49            
4761:armor.c       ****       res = ((A) << 1) + (C != 0);
 6848              		.loc 1 4761 0 discriminator 4
 6849 6dc5 8B85E0FF 		movl	-65568(%ebp), %eax
 6849      FEFF
 6850 6dcb 8D1400   		leal	(%eax,%eax), %edx
 6851 6dce 83BDECFF 		cmpl	$0, -65556(%ebp)
 6851      FEFF00
 6852 6dd5 0F95C0   		setne	%al
 6853 6dd8 0FB6C0   		movzbl	%al, %eax
 6854 6ddb 01D0     		addl	%edx, %eax
 6855 6ddd 8985E8FF 		movl	%eax, -65560(%ebp)
 6855      FEFF
4762:armor.c       ****   //  C = res & 0x100;
4763:armor.c       ****       res = (UINT8)res;
 6856              		.loc 1 4763 0 discriminator 4
 6857 6de3 8B85E8FF 		movl	-65560(%ebp), %eax
 6857      FEFF
 6858 6de9 0FB6C0   		movzbl	%al, %eax
 6859 6dec 8985E8FF 		movl	%eax, -65560(%ebp)
 6859      FEFF
4764:armor.c       ****   //  Z = res;
4765:armor.c       ****   //  N = res;
4766:armor.c       ****   //  V = res ^ (A);
4767:armor.c       ****       A = res;
 6860              		.loc 1 4767 0 discriminator 4
 6861 6df2 8B85E8FF 		movl	-65560(%ebp), %eax
 6861      FEFF
 6862 6df8 8985E0FF 		movl	%eax, -65568(%ebp)
 6862      FEFF
4768:armor.c       ****       
4769:armor.c       ****             //        ASLB                          ; 078B: 58            
4770:armor.c       ****       res = B << 1;
 6863              		.loc 1 4770 0 discriminator 4
 6864 6dfe 8B85E4FF 		movl	-65564(%ebp), %eax
 6864      FEFF
 6865 6e04 01C0     		addl	%eax, %eax
 6866 6e06 8985E8FF 		movl	%eax, -65560(%ebp)
 6866      FEFF
4771:armor.c       ****       C = res & 0x100;
 6867              		.loc 1 4771 0 discriminator 4
 6868 6e0c 8B85E8FF 		movl	-65560(%ebp), %eax
 6868      FEFF
 6869 6e12 25000100 		andl	$256, %eax
 6869      00
 6870 6e17 8985ECFF 		movl	%eax, -65556(%ebp)
 6870      FEFF
4772:armor.c       ****       res = (UINT8)res;
 6871              		.loc 1 4772 0 discriminator 4
 6872 6e1d 8B85E8FF 		movl	-65560(%ebp), %eax
 6872      FEFF
 6873 6e23 0FB6C0   		movzbl	%al, %eax
 6874 6e26 8985E8FF 		movl	%eax, -65560(%ebp)
 6874      FEFF
4773:armor.c       ****   //  Z = res;
GAS LISTING /tmp/ccqXEnet.s 			page 271


4774:armor.c       ****   //  N = res;
4775:armor.c       ****   //  V = B ^ res;
4776:armor.c       ****       B = res;
 6875              		.loc 1 4776 0 discriminator 4
 6876 6e2c 8B85E8FF 		movl	-65560(%ebp), %eax
 6876      FEFF
 6877 6e32 8985E4FF 		movl	%eax, -65564(%ebp)
 6877      FEFF
4777:armor.c       ****       
4778:armor.c       ****             //        ROLA                          ; 078C: 49            
4779:armor.c       ****       res = ((A) << 1) + (C != 0);
 6878              		.loc 1 4779 0 discriminator 4
 6879 6e38 8B85E0FF 		movl	-65568(%ebp), %eax
 6879      FEFF
 6880 6e3e 8D1400   		leal	(%eax,%eax), %edx
 6881 6e41 83BDECFF 		cmpl	$0, -65556(%ebp)
 6881      FEFF00
 6882 6e48 0F95C0   		setne	%al
 6883 6e4b 0FB6C0   		movzbl	%al, %eax
 6884 6e4e 01D0     		addl	%edx, %eax
 6885 6e50 8985E8FF 		movl	%eax, -65560(%ebp)
 6885      FEFF
4780:armor.c       ****   //  C = res & 0x100;
4781:armor.c       ****       res = (UINT8)res;
 6886              		.loc 1 4781 0 discriminator 4
 6887 6e56 8B85E8FF 		movl	-65560(%ebp), %eax
 6887      FEFF
 6888 6e5c 0FB6C0   		movzbl	%al, %eax
 6889 6e5f 8985E8FF 		movl	%eax, -65560(%ebp)
 6889      FEFF
4782:armor.c       ****   //  Z = res;
4783:armor.c       ****   //  N = res;
4784:armor.c       ****   //  V = res ^ (A);
4785:armor.c       ****       A = res;
 6890              		.loc 1 4785 0 discriminator 4
 6891 6e65 8B85E8FF 		movl	-65560(%ebp), %eax
 6891      FEFF
 6892 6e6b 8985E0FF 		movl	%eax, -65568(%ebp)
 6892      FEFF
4786:armor.c       ****       
4787:armor.c       ****             //        STD   <$CD                    ; 078D: DD CD         
4788:armor.c       ****   //  Z = A | B;
4789:armor.c       ****   //  N = A;
4790:armor.c       ****   //  V = 0;
4791:armor.c       ****       memory_DP[0xcd] = A;
 6893              		.loc 1 4791 0 discriminator 4
 6894 6e71 8B85DCFF 		movl	-65572(%ebp), %eax
 6894      FEFF
 6895 6e77 05CD0000 		addl	$205, %eax
 6895      00
 6896 6e7c 8B95E0FF 		movl	-65568(%ebp), %edx
 6896      FEFF
 6897 6e82 8810     		movb	%dl, (%eax)
4792:armor.c       ****       memory_DP[0xcd + 1] = B;
 6898              		.loc 1 4792 0 discriminator 4
 6899 6e84 8B85DCFF 		movl	-65572(%ebp), %eax
 6899      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 272


 6900 6e8a 05CE0000 		addl	$206, %eax
 6900      00
 6901 6e8f 8B95E4FF 		movl	-65564(%ebp), %edx
 6901      FEFF
 6902 6e95 8810     		movb	%dl, (%eax)
4793:armor.c       ****       
4794:armor.c       ****             //        ADDD  $08,X                   ; 078F: E3 08         
4795:armor.c       ****       arg = (A << 8) | B;
 6903              		.loc 1 4795 0 discriminator 4
 6904 6e97 8B85E0FF 		movl	-65568(%ebp), %eax
 6904      FEFF
 6905 6e9d C1E008   		sall	$8, %eax
 6906 6ea0 89C2     		movl	%eax, %edx
 6907 6ea2 8B85E4FF 		movl	-65564(%ebp), %eax
 6907      FEFF
 6908 6ea8 09D0     		orl	%edx, %eax
 6909 6eaa 668985D6 		movw	%ax, -65578(%ebp)
 6909      FFFEFF
4796:armor.c       ****       res = arg + ((memory[(UINT16)(X + 0x0008)]<<8)|memory[(UINT16)(((UINT16)(X + 0x0008))+1)]);
 6910              		.loc 1 4796 0 discriminator 4
 6911 6eb1 0FB795D6 		movzwl	-65578(%ebp), %edx
 6911      FFFEFF
 6912 6eb8 0FB785C6 		movzwl	-65594(%ebp), %eax
 6912      FFFEFF
 6913 6ebf 83C008   		addl	$8, %eax
 6914 6ec2 0FB7C0   		movzwl	%ax, %eax
 6915 6ec5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6915      F4FFFEFF 
 6916 6ecd 0FB6C0   		movzbl	%al, %eax
 6917 6ed0 C1E008   		sall	$8, %eax
 6918 6ed3 89C1     		movl	%eax, %ecx
 6919 6ed5 0FB785C6 		movzwl	-65594(%ebp), %eax
 6919      FFFEFF
 6920 6edc 83C009   		addl	$9, %eax
 6921 6edf 0FB7C0   		movzwl	%ax, %eax
 6922 6ee2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6922      F4FFFEFF 
 6923 6eea 0FB6C0   		movzbl	%al, %eax
 6924 6eed 09C8     		orl	%ecx, %eax
 6925 6eef 01D0     		addl	%edx, %eax
 6926 6ef1 8985E8FF 		movl	%eax, -65560(%ebp)
 6926      FEFF
4797:armor.c       ****   //  C = res & 0x10000;
4798:armor.c       ****       res = (UINT16)res;
 6927              		.loc 1 4798 0 discriminator 4
 6928 6ef7 8B85E8FF 		movl	-65560(%ebp), %eax
 6928      FEFF
 6929 6efd 0FB7C0   		movzwl	%ax, %eax
 6930 6f00 8985E8FF 		movl	%eax, -65560(%ebp)
 6930      FEFF
4799:armor.c       ****   //  Z = res;
4800:armor.c       ****   //  V = ((arg ^ res) & ((((memory[(UINT16)(X + 0x0008)]<<8)|memory[(UINT16)(((UINT16)(X + 0x0008)
4801:armor.c       ****   //  N = res >> 8;
4802:armor.c       ****       A = (UINT8)(res >> 8);
 6931              		.loc 1 4802 0 discriminator 4
 6932 6f06 8B85E8FF 		movl	-65560(%ebp), %eax
 6932      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 273


 6933 6f0c C1F808   		sarl	$8, %eax
 6934 6f0f 0FB6C0   		movzbl	%al, %eax
 6935 6f12 8985E0FF 		movl	%eax, -65568(%ebp)
 6935      FEFF
4803:armor.c       ****       B = (UINT8)(res & 0xff);
 6936              		.loc 1 4803 0 discriminator 4
 6937 6f18 8B85E8FF 		movl	-65560(%ebp), %eax
 6937      FEFF
 6938 6f1e 0FB6C0   		movzbl	%al, %eax
 6939 6f21 8985E4FF 		movl	%eax, -65564(%ebp)
 6939      FEFF
4804:armor.c       ****       
4805:armor.c       ****             //        STD   $08,X                   ; 0791: ED 08         
4806:armor.c       ****   //  Z = A | B;
4807:armor.c       ****   //  N = A;
4808:armor.c       ****   //  V = 0;
4809:armor.c       ****       memory[(UINT16)(X + 0x0008)] = A;
 6940              		.loc 1 4809 0 discriminator 4
 6941 6f27 0FB785C6 		movzwl	-65594(%ebp), %eax
 6941      FFFEFF
 6942 6f2e 83C008   		addl	$8, %eax
 6943 6f31 0FB7C0   		movzwl	%ax, %eax
 6944 6f34 8B95E0FF 		movl	-65568(%ebp), %edx
 6944      FEFF
 6945 6f3a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6945      FFFEFF
4810:armor.c       ****       memory[(UINT16)(X + 0x0008) + 1] = B;
 6946              		.loc 1 4810 0 discriminator 4
 6947 6f41 0FB785C6 		movzwl	-65594(%ebp), %eax
 6947      FFFEFF
 6948 6f48 83C008   		addl	$8, %eax
 6949 6f4b 0FB7C0   		movzwl	%ax, %eax
 6950 6f4e 83C001   		addl	$1, %eax
 6951 6f51 8B95E4FF 		movl	-65564(%ebp), %edx
 6951      FEFF
 6952 6f57 889405F4 		movb	%dl, -65548(%ebp,%eax)
 6952      FFFEFF
4811:armor.c       ****       
4812:armor.c       ****             //        CLRB                          ; 0793: 5F            
4813:armor.c       ****       B = 0;
 6953              		.loc 1 4813 0 discriminator 4
 6954 6f5e C785E4FF 		movl	$0, -65564(%ebp)
 6954      FEFF0000 
 6954      0000
4814:armor.c       ****   //  V = 0;
4815:armor.c       ****   //  Z = 0;
4816:armor.c       ****   //  N = 0;
4817:armor.c       ****   //  C = 0;
4818:armor.c       ****       
4819:armor.c       ****             //        LDA   $06,X                   ; 0794: A6 06         
4820:armor.c       ****       A = memory[(UINT16)(X + 0x0006)];
 6955              		.loc 1 4820 0 discriminator 4
 6956 6f68 0FB785C6 		movzwl	-65594(%ebp), %eax
 6956      FFFEFF
 6957 6f6f 83C006   		addl	$6, %eax
 6958 6f72 0FB7C0   		movzwl	%ax, %eax
 6959 6f75 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 274


 6959      F4FFFEFF 
 6960 6f7d 0FB6C0   		movzbl	%al, %eax
 6961 6f80 8985E0FF 		movl	%eax, -65568(%ebp)
 6961      FEFF
4821:armor.c       ****       N = A;
 6962              		.loc 1 4821 0 discriminator 4
 6963 6f86 8B85E0FF 		movl	-65568(%ebp), %eax
 6963      FEFF
 6964 6f8c 8885C1FF 		movb	%al, -65599(%ebp)
 6964      FEFF
4822:armor.c       ****   //  Z = A;
4823:armor.c       ****   //  V = 0;
4824:armor.c       ****       
4825:armor.c       ****             //        BPL   $079A                   ; 0796: 2A 02         
4826:armor.c       ****       if ((SINT8)N >= 0) {
 6965              		.loc 1 4826 0 discriminator 4
 6966 6f92 0FB685C1 		movzbl	-65599(%ebp), %eax
 6966      FFFEFF
 6967 6f99 84C0     		testb	%al, %al
 6968 6f9b 7809     		js	.L264
4827:armor.c       ****       PC = 0x079a;
 6969              		.loc 1 4827 0
 6970 6f9d 66C785CA 		movw	$1946, -65590(%ebp)
 6970      FFFEFF9A 
 6970      07
 6971              	.L264:
4828:armor.c       ****       JUMP;
4829:armor.c       ****       }
4830:armor.c       ****       
4831:armor.c       ****             //        NEGA                          ; 0798: 40            
4832:armor.c       ****   //  V = (UINT8)(-A) & (A);
4833:armor.c       ****       A = (UINT8)(-A);
 6972              		.loc 1 4833 0
 6973 6fa6 8B85E0FF 		movl	-65568(%ebp), %eax
 6973      FEFF
 6974 6fac F7D8     		negl	%eax
 6975 6fae 0FB6C0   		movzbl	%al, %eax
 6976 6fb1 8985E0FF 		movl	%eax, -65568(%ebp)
 6976      FEFF
4834:armor.c       ****   //  Z = A;
4835:armor.c       ****   //  N = A;
4836:armor.c       ****   //  C = A;
4837:armor.c       ****       
4838:armor.c       ****             //        INCB                          ; 0799: 5C            
4839:armor.c       ****       res = (UINT8)((B) + 1);
 6977              		.loc 1 4839 0
 6978 6fb7 8B85E4FF 		movl	-65564(%ebp), %eax
 6978      FEFF
 6979 6fbd 83C001   		addl	$1, %eax
 6980 6fc0 0FB6C0   		movzbl	%al, %eax
 6981 6fc3 8985E8FF 		movl	%eax, -65560(%ebp)
 6981      FEFF
4840:armor.c       ****   //  Z = res;
4841:armor.c       ****   //  N = res;
4842:armor.c       ****   //  V = res & ~(B);
4843:armor.c       ****       B = res;
 6982              		.loc 1 4843 0
GAS LISTING /tmp/ccqXEnet.s 			page 275


 6983 6fc9 8B85E8FF 		movl	-65560(%ebp), %eax
 6983      FEFF
 6984 6fcf 8985E4FF 		movl	%eax, -65564(%ebp)
 6984      FEFF
 6985              	.L265:
4844:armor.c       ****       
4845:armor.c       ****       L079A://        STA   <$DB                    ; 079A: 97 DB         
4846:armor.c       ****   //  Z = A;
4847:armor.c       ****   //  N = A;
4848:armor.c       ****   //  V = 0;
4849:armor.c       ****       memory_DP[0xdb] = A;
 6986              		.loc 1 4849 0
 6987 6fd5 8B85DCFF 		movl	-65572(%ebp), %eax
 6987      FEFF
 6988 6fdb 05DB0000 		addl	$219, %eax
 6988      00
 6989 6fe0 8B95E0FF 		movl	-65568(%ebp), %edx
 6989      FEFF
 6990 6fe6 8810     		movb	%dl, (%eax)
4850:armor.c       ****       
4851:armor.c       ****             //        LDA   $08,X                   ; 079C: A6 08         
4852:armor.c       ****       A = memory[(UINT16)(X + 0x0008)];
 6991              		.loc 1 4852 0
 6992 6fe8 0FB785C6 		movzwl	-65594(%ebp), %eax
 6992      FFFEFF
 6993 6fef 83C008   		addl	$8, %eax
 6994 6ff2 0FB7C0   		movzwl	%ax, %eax
 6995 6ff5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 6995      F4FFFEFF 
 6996 6ffd 0FB6C0   		movzbl	%al, %eax
 6997 7000 8985E0FF 		movl	%eax, -65568(%ebp)
 6997      FEFF
4853:armor.c       ****       N = A;
 6998              		.loc 1 4853 0
 6999 7006 8B85E0FF 		movl	-65568(%ebp), %eax
 6999      FEFF
 7000 700c 8885C1FF 		movb	%al, -65599(%ebp)
 7000      FEFF
4854:armor.c       ****   //  Z = A;
4855:armor.c       ****   //  V = 0;
4856:armor.c       ****       
4857:armor.c       ****             //        BPL   $07A3                   ; 079E: 2A 03         
4858:armor.c       ****       if ((SINT8)N >= 0) {
 7001              		.loc 1 4858 0
 7002 7012 0FB685C1 		movzbl	-65599(%ebp), %eax
 7002      FFFEFF
 7003 7019 84C0     		testb	%al, %al
 7004 701b 7809     		js	.L266
4859:armor.c       ****       PC = 0x07a3;
 7005              		.loc 1 4859 0
 7006 701d 66C785CA 		movw	$1955, -65590(%ebp)
 7006      FFFEFFA3 
 7006      07
 7007              	.L266:
4860:armor.c       ****       JUMP;
4861:armor.c       ****       }
4862:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 276


4863:armor.c       ****             //        NEGA                          ; 07A0: 40            
4864:armor.c       ****   //  V = (UINT8)(-A) & (A);
4865:armor.c       ****       A = (UINT8)(-A);
 7008              		.loc 1 4865 0
 7009 7026 8B85E0FF 		movl	-65568(%ebp), %eax
 7009      FEFF
 7010 702c F7D8     		negl	%eax
 7011 702e 0FB6C0   		movzbl	%al, %eax
 7012 7031 8985E0FF 		movl	%eax, -65568(%ebp)
 7012      FEFF
4866:armor.c       ****   //  Z = A;
4867:armor.c       ****   //  N = A;
4868:armor.c       ****       C = A;
 7013              		.loc 1 4868 0
 7014 7037 8B85E0FF 		movl	-65568(%ebp), %eax
 7014      FEFF
 7015 703d 8985ECFF 		movl	%eax, -65556(%ebp)
 7015      FEFF
4869:armor.c       ****       
4870:armor.c       ****             //        ORB   #$02                    ; 07A1: CA 02         
4871:armor.c       ****       B = B | (SINT8)0x02;
 7016              		.loc 1 4871 0
 7017 7043 838DE4FF 		orl	$2, -65564(%ebp)
 7017      FEFF02
 7018              	.L267:
4872:armor.c       ****   //  Z = B;
4873:armor.c       ****   //  N = B;
4874:armor.c       ****   //  V = 0;
4875:armor.c       ****       
4876:armor.c       ****       L07A3://        STA   <$DC                    ; 07A3: 97 DC         
4877:armor.c       ****   //  Z = A;
4878:armor.c       ****   //  N = A;
4879:armor.c       ****   //  V = 0;
4880:armor.c       ****       memory_DP[0xdc] = A;
 7019              		.loc 1 4880 0
 7020 704a 8B85DCFF 		movl	-65572(%ebp), %eax
 7020      FEFF
 7021 7050 05DC0000 		addl	$220, %eax
 7021      00
 7022 7055 8B95E0FF 		movl	-65568(%ebp), %edx
 7022      FEFF
 7023 705b 8810     		movb	%dl, (%eax)
4881:armor.c       ****       
4882:armor.c       ****             //        PSHS  B                       ; 07A5: 34 04         
4883:armor.c       ****       memory[--S] = B;
 7024              		.loc 1 4883 0
 7025 705d 6683ADC8 		subw	$1, -65592(%ebp)
 7025      FFFEFF01 
 7026 7065 0FB785C8 		movzwl	-65592(%ebp), %eax
 7026      FFFEFF
 7027 706c 8B95E4FF 		movl	-65564(%ebp), %edx
 7027      FEFF
 7028 7072 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7028      FFFEFF
4884:armor.c       ****       
4885:armor.c       ****             //        LDB   <$DB                    ; 07A7: D6 DB         
4886:armor.c       ****       B = memory_DP[0xdb];
GAS LISTING /tmp/ccqXEnet.s 			page 277


 7029              		.loc 1 4886 0
 7030 7079 8B85DCFF 		movl	-65572(%ebp), %eax
 7030      FEFF
 7031 707f 05DB0000 		addl	$219, %eax
 7031      00
 7032 7084 0FB600   		movzbl	(%eax), %eax
 7033 7087 0FB6C0   		movzbl	%al, %eax
 7034 708a 8985E4FF 		movl	%eax, -65564(%ebp)
 7034      FEFF
4887:armor.c       ****   //  N = B;
4888:armor.c       ****   //  Z = B;
4889:armor.c       ****   //  V = 0;
4890:armor.c       ****       
4891:armor.c       ****             //        LDU   #$0F6A                  ; 07A9: CE 0F 6A      
4892:armor.c       ****       U = 0x0f6a;
 7035              		.loc 1 4892 0
 7036 7090 66C785CE 		movw	$3946, -65586(%ebp)
 7036      FFFEFF6A 
 7036      0F
4893:armor.c       ****       Z = U;
 7037              		.loc 1 4893 0
 7038 7099 0FB785CE 		movzwl	-65586(%ebp), %eax
 7038      FFFEFF
 7039 70a0 668985CC 		movw	%ax, -65588(%ebp)
 7039      FFFEFF
4894:armor.c       ****       N = (U) >> 8;
 7040              		.loc 1 4894 0
 7041 70a7 0FB785CE 		movzwl	-65586(%ebp), %eax
 7041      FFFEFF
 7042 70ae 66C1E808 		shrw	$8, %ax
 7043 70b2 8885C1FF 		movb	%al, -65599(%ebp)
 7043      FEFF
4895:armor.c       ****       V = 0;
 7044              		.loc 1 4895 0
 7045 70b8 C685C2FF 		movb	$0, -65598(%ebp)
 7045      FEFF00
4896:armor.c       ****       
4897:armor.c       ****             //        BSR   $081C                   ; 07AC: 8D 6E         
4898:armor.c       ****       memory[--S] = 0x07ae & 0xff; memory[--S] = 0x07ae >> 8;
 7046              		.loc 1 4898 0
 7047 70bf 6683ADC8 		subw	$1, -65592(%ebp)
 7047      FFFEFF01 
 7048 70c7 0FB785C8 		movzwl	-65592(%ebp), %eax
 7048      FFFEFF
 7049 70ce C68405F4 		movb	$-82, -65548(%ebp,%eax)
 7049      FFFEFFAE 
 7050 70d6 6683ADC8 		subw	$1, -65592(%ebp)
 7050      FFFEFF01 
 7051 70de 0FB785C8 		movzwl	-65592(%ebp), %eax
 7051      FFFEFF
 7052 70e5 C68405F4 		movb	$7, -65548(%ebp,%eax)
 7052      FFFEFF07 
4899:armor.c       ****       PC = 0x081c;
 7053              		.loc 1 4899 0
 7054 70ed 66C785CA 		movw	$2076, -65590(%ebp)
 7054      FFFEFF1C 
 7054      08
GAS LISTING /tmp/ccqXEnet.s 			page 278


 7055              	.L268:
4900:armor.c       ****       JUMP;
4901:armor.c       ****       
4902:armor.c       ****       L07AE://        BVC   $07B2                   ; 07AE: 28 02         
4903:armor.c       ****       if ((SINT8)V >= 0) {
 7056              		.loc 1 4903 0
 7057 70f6 0FB685C2 		movzbl	-65598(%ebp), %eax
 7057      FFFEFF
 7058 70fd 84C0     		testb	%al, %al
 7059 70ff 7809     		js	.L269
4904:armor.c       ****       PC = 0x07b2;
 7060              		.loc 1 4904 0
 7061 7101 66C785CA 		movw	$1970, -65590(%ebp)
 7061      FFFEFFB2 
 7061      07
 7062              	.L269:
4905:armor.c       ****       JUMP;
4906:armor.c       ****       }
4907:armor.c       ****       
4908:armor.c       ****             //        STB   <$DB                    ; 07B0: D7 DB         
4909:armor.c       ****   //  Z = B;
4910:armor.c       ****   //  N = B;
4911:armor.c       ****   //  V = 0;
4912:armor.c       ****       memory_DP[0xdb] = B;
 7063              		.loc 1 4912 0
 7064 710a 8B85DCFF 		movl	-65572(%ebp), %eax
 7064      FEFF
 7065 7110 05DB0000 		addl	$219, %eax
 7065      00
 7066 7115 8B95E4FF 		movl	-65564(%ebp), %edx
 7066      FEFF
 7067 711b 8810     		movb	%dl, (%eax)
 7068              	.L270:
4913:armor.c       ****       
4914:armor.c       ****       L07B2://        LDB   <$DC                    ; 07B2: D6 DC         
4915:armor.c       ****       B = memory_DP[0xdc];
 7069              		.loc 1 4915 0
 7070 711d 8B85DCFF 		movl	-65572(%ebp), %eax
 7070      FEFF
 7071 7123 05DC0000 		addl	$220, %eax
 7071      00
 7072 7128 0FB600   		movzbl	(%eax), %eax
 7073 712b 0FB6C0   		movzbl	%al, %eax
 7074 712e 8985E4FF 		movl	%eax, -65564(%ebp)
 7074      FEFF
4916:armor.c       ****   //  N = B;
4917:armor.c       ****   //  Z = B;
4918:armor.c       ****   //  V = 0;
4919:armor.c       ****       
4920:armor.c       ****             //        LDU   #$0F20                  ; 07B4: CE 0F 20      
4921:armor.c       ****       U = 0x0f20;
 7075              		.loc 1 4921 0
 7076 7134 66C785CE 		movw	$3872, -65586(%ebp)
 7076      FFFEFF20 
 7076      0F
4922:armor.c       ****       Z = U;
 7077              		.loc 1 4922 0
GAS LISTING /tmp/ccqXEnet.s 			page 279


 7078 713d 0FB785CE 		movzwl	-65586(%ebp), %eax
 7078      FFFEFF
 7079 7144 668985CC 		movw	%ax, -65588(%ebp)
 7079      FFFEFF
4923:armor.c       ****       N = (U) >> 8;
 7080              		.loc 1 4923 0
 7081 714b 0FB785CE 		movzwl	-65586(%ebp), %eax
 7081      FFFEFF
 7082 7152 66C1E808 		shrw	$8, %ax
 7083 7156 8885C1FF 		movb	%al, -65599(%ebp)
 7083      FEFF
4924:armor.c       ****       V = 0;
 7084              		.loc 1 4924 0
 7085 715c C685C2FF 		movb	$0, -65598(%ebp)
 7085      FEFF00
4925:armor.c       ****       
4926:armor.c       ****             //        BSR   $081C                   ; 07B7: 8D 63         
4927:armor.c       ****       memory[--S] = 0x07b9 & 0xff; memory[--S] = 0x07b9 >> 8;
 7086              		.loc 1 4927 0
 7087 7163 6683ADC8 		subw	$1, -65592(%ebp)
 7087      FFFEFF01 
 7088 716b 0FB785C8 		movzwl	-65592(%ebp), %eax
 7088      FFFEFF
 7089 7172 C68405F4 		movb	$-71, -65548(%ebp,%eax)
 7089      FFFEFFB9 
 7090 717a 6683ADC8 		subw	$1, -65592(%ebp)
 7090      FFFEFF01 
 7091 7182 0FB785C8 		movzwl	-65592(%ebp), %eax
 7091      FFFEFF
 7092 7189 C68405F4 		movb	$7, -65548(%ebp,%eax)
 7092      FFFEFF07 
4928:armor.c       ****       PC = 0x081c;
 7093              		.loc 1 4928 0
 7094 7191 66C785CA 		movw	$2076, -65590(%ebp)
 7094      FFFEFF1C 
 7094      08
 7095              	.L271:
4929:armor.c       ****       JUMP;
4930:armor.c       ****       
4931:armor.c       ****       L07B9://        BVC   $07BD                   ; 07B9: 28 02         
4932:armor.c       ****       if ((SINT8)V >= 0) {
 7096              		.loc 1 4932 0
 7097 719a 0FB685C2 		movzbl	-65598(%ebp), %eax
 7097      FFFEFF
 7098 71a1 84C0     		testb	%al, %al
 7099 71a3 7809     		js	.L272
4933:armor.c       ****       PC = 0x07bd;
 7100              		.loc 1 4933 0
 7101 71a5 66C785CA 		movw	$1981, -65590(%ebp)
 7101      FFFEFFBD 
 7101      07
 7102              	.L272:
4934:armor.c       ****       JUMP;
4935:armor.c       ****       }
4936:armor.c       ****       
4937:armor.c       ****             //        STB   <$DC                    ; 07BB: D7 DC         
4938:armor.c       ****   //  Z = B;
GAS LISTING /tmp/ccqXEnet.s 			page 280


4939:armor.c       ****   //  N = B;
4940:armor.c       ****   //  V = 0;
4941:armor.c       ****       memory_DP[0xdc] = B;
 7103              		.loc 1 4941 0
 7104 71ae 8B85DCFF 		movl	-65572(%ebp), %eax
 7104      FEFF
 7105 71b4 05DC0000 		addl	$220, %eax
 7105      00
 7106 71b9 8B95E4FF 		movl	-65564(%ebp), %edx
 7106      FEFF
 7107 71bf 8810     		movb	%dl, (%eax)
 7108              	.L273:
4942:armor.c       ****       
4943:armor.c       ****       L07BD://        LDD   <$DB                    ; 07BD: DC DB         
4944:armor.c       ****       A = memory_DP[0xdb];
 7109              		.loc 1 4944 0
 7110 71c1 8B85DCFF 		movl	-65572(%ebp), %eax
 7110      FEFF
 7111 71c7 05DB0000 		addl	$219, %eax
 7111      00
 7112 71cc 0FB600   		movzbl	(%eax), %eax
 7113 71cf 0FB6C0   		movzbl	%al, %eax
 7114 71d2 8985E0FF 		movl	%eax, -65568(%ebp)
 7114      FEFF
4945:armor.c       ****       B = memory_DP[0xdb + 1];
 7115              		.loc 1 4945 0
 7116 71d8 8B85DCFF 		movl	-65572(%ebp), %eax
 7116      FEFF
 7117 71de 05DC0000 		addl	$220, %eax
 7117      00
 7118 71e3 0FB600   		movzbl	(%eax), %eax
 7119 71e6 0FB6C0   		movzbl	%al, %eax
 7120 71e9 8985E4FF 		movl	%eax, -65564(%ebp)
 7120      FEFF
4946:armor.c       ****   //  Z = A|B;
4947:armor.c       ****   //  N = A;
4948:armor.c       ****   //  V = 0;
4949:armor.c       ****       
4950:armor.c       ****             //        ROR   ,S                      ; 07BF: 66 E4         
4951:armor.c       ****       res = memory[S];
 7121              		.loc 1 4951 0
 7122 71ef 0FB785C8 		movzwl	-65592(%ebp), %eax
 7122      FFFEFF
 7123 71f6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7123      F4FFFEFF 
 7124 71fe 0FB6C0   		movzbl	%al, %eax
 7125 7201 8985E8FF 		movl	%eax, -65560(%ebp)
 7125      FEFF
4952:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 7126              		.loc 1 4952 0
 7127 7207 83BDECFF 		cmpl	$0, -65556(%ebp)
 7127      FEFF00
 7128 720e 0F95C0   		setne	%al
 7129 7211 0FB6C0   		movzbl	%al, %eax
 7130 7214 0B85E8FF 		orl	-65560(%ebp), %eax
 7130      FEFF
 7131 721a 85C0     		testl	%eax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 281


 7132 721c 7407     		je	.L274
 7133              		.loc 1 4952 0 is_stmt 0 discriminator 1
 7134 721e B8000100 		movl	$256, %eax
 7134      00
 7135 7223 EB05     		jmp	.L275
 7136              	.L274:
 7137              		.loc 1 4952 0 discriminator 2
 7138 7225 B8000000 		movl	$0, %eax
 7138      00
 7139              	.L275:
 7140              		.loc 1 4952 0 discriminator 4
 7141 722a 8985E8FF 		movl	%eax, -65560(%ebp)
 7141      FEFF
4953:armor.c       ****       C = res & 1;
 7142              		.loc 1 4953 0 is_stmt 1 discriminator 4
 7143 7230 8B85E8FF 		movl	-65560(%ebp), %eax
 7143      FEFF
 7144 7236 83E001   		andl	$1, %eax
 7145 7239 8985ECFF 		movl	%eax, -65556(%ebp)
 7145      FEFF
4954:armor.c       ****       res = res >> 1;
 7146              		.loc 1 4954 0 discriminator 4
 7147 723f D1BDE8FF 		sarl	-65560(%ebp)
 7147      FEFF
4955:armor.c       ****   //  Z = res;
4956:armor.c       ****   //  N = res;
4957:armor.c       ****       memory[S] = res;
 7148              		.loc 1 4957 0 discriminator 4
 7149 7245 0FB785C8 		movzwl	-65592(%ebp), %eax
 7149      FFFEFF
 7150 724c 8B95E8FF 		movl	-65560(%ebp), %edx
 7150      FEFF
 7151 7252 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7151      FFFEFF
4958:armor.c       ****       
4959:armor.c       ****             //        BCC   $07C4                   ; 07C1: 24 01         
4960:armor.c       ****       if (!C) {
 7152              		.loc 1 4960 0 discriminator 4
 7153 7259 83BDECFF 		cmpl	$0, -65556(%ebp)
 7153      FEFF00
 7154 7260 7509     		jne	.L276
4961:armor.c       ****       PC = 0x07c4;
 7155              		.loc 1 4961 0
 7156 7262 66C785CA 		movw	$1988, -65590(%ebp)
 7156      FFFEFFC4 
 7156      07
 7157              	.L276:
4962:armor.c       ****       JUMP;
4963:armor.c       ****       }
4964:armor.c       ****       
4965:armor.c       ****             //        NEGA                          ; 07C3: 40            
4966:armor.c       ****   //  V = (UINT8)(-A) & (A);
4967:armor.c       ****       A = (UINT8)(-A);
 7158              		.loc 1 4967 0
 7159 726b 8B85E0FF 		movl	-65568(%ebp), %eax
 7159      FEFF
 7160 7271 F7D8     		negl	%eax
GAS LISTING /tmp/ccqXEnet.s 			page 282


 7161 7273 0FB6C0   		movzbl	%al, %eax
 7162 7276 8985E0FF 		movl	%eax, -65568(%ebp)
 7162      FEFF
4968:armor.c       ****   //  Z = A;
4969:armor.c       ****   //  N = A;
4970:armor.c       ****       C = A;
 7163              		.loc 1 4970 0
 7164 727c 8B85E0FF 		movl	-65568(%ebp), %eax
 7164      FEFF
 7165 7282 8985ECFF 		movl	%eax, -65556(%ebp)
 7165      FEFF
 7166              	.L277:
4971:armor.c       ****       
4972:armor.c       ****       L07C4://        STA   $06,X                   ; 07C4: A7 06         
4973:armor.c       ****   //  Z = A;
4974:armor.c       ****   //  N = A;
4975:armor.c       ****   //  V = 0;
4976:armor.c       ****       memory[(UINT16)(X + 0x0006)] = A;
 7167              		.loc 1 4976 0
 7168 7288 0FB785C6 		movzwl	-65594(%ebp), %eax
 7168      FFFEFF
 7169 728f 83C006   		addl	$6, %eax
 7170 7292 0FB7C0   		movzwl	%ax, %eax
 7171 7295 8B95E0FF 		movl	-65568(%ebp), %edx
 7171      FEFF
 7172 729b 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7172      FFFEFF
4977:armor.c       ****       
4978:armor.c       ****             //        ROR   ,S+                     ; 07C6: 66 E0         
4979:armor.c       ****       res = memory[S++];
 7173              		.loc 1 4979 0
 7174 72a2 0FB785C8 		movzwl	-65592(%ebp), %eax
 7174      FFFEFF
 7175 72a9 8D5001   		leal	1(%eax), %edx
 7176 72ac 668995C8 		movw	%dx, -65592(%ebp)
 7176      FFFEFF
 7177 72b3 0FB7C0   		movzwl	%ax, %eax
 7178 72b6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7178      F4FFFEFF 
 7179 72be 0FB6C0   		movzbl	%al, %eax
 7180 72c1 8985E8FF 		movl	%eax, -65560(%ebp)
 7180      FEFF
4980:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 7181              		.loc 1 4980 0
 7182 72c7 83BDECFF 		cmpl	$0, -65556(%ebp)
 7182      FEFF00
 7183 72ce 0F95C0   		setne	%al
 7184 72d1 0FB6C0   		movzbl	%al, %eax
 7185 72d4 0B85E8FF 		orl	-65560(%ebp), %eax
 7185      FEFF
 7186 72da 85C0     		testl	%eax, %eax
 7187 72dc 7407     		je	.L278
 7188              		.loc 1 4980 0 is_stmt 0 discriminator 1
 7189 72de B8000100 		movl	$256, %eax
 7189      00
 7190 72e3 EB05     		jmp	.L279
 7191              	.L278:
GAS LISTING /tmp/ccqXEnet.s 			page 283


 7192              		.loc 1 4980 0 discriminator 2
 7193 72e5 B8000000 		movl	$0, %eax
 7193      00
 7194              	.L279:
 7195              		.loc 1 4980 0 discriminator 4
 7196 72ea 8985E8FF 		movl	%eax, -65560(%ebp)
 7196      FEFF
4981:armor.c       ****       C = res & 1;
 7197              		.loc 1 4981 0 is_stmt 1 discriminator 4
 7198 72f0 8B85E8FF 		movl	-65560(%ebp), %eax
 7198      FEFF
 7199 72f6 83E001   		andl	$1, %eax
 7200 72f9 8985ECFF 		movl	%eax, -65556(%ebp)
 7200      FEFF
4982:armor.c       ****       res = res >> 1;
 7201              		.loc 1 4982 0 discriminator 4
 7202 72ff D1BDE8FF 		sarl	-65560(%ebp)
 7202      FEFF
4983:armor.c       ****   //  Z = res;
4984:armor.c       ****   //  N = res;
4985:armor.c       ****       memory[S++] = res;
 7203              		.loc 1 4985 0 discriminator 4
 7204 7305 0FB785C8 		movzwl	-65592(%ebp), %eax
 7204      FFFEFF
 7205 730c 8D5001   		leal	1(%eax), %edx
 7206 730f 668995C8 		movw	%dx, -65592(%ebp)
 7206      FFFEFF
 7207 7316 0FB7C0   		movzwl	%ax, %eax
 7208 7319 8B95E8FF 		movl	-65560(%ebp), %edx
 7208      FEFF
 7209 731f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7209      FFFEFF
4986:armor.c       ****       
4987:armor.c       ****             //        BCC   $07CB                   ; 07C8: 24 01         
4988:armor.c       ****       if (!C) {
 7210              		.loc 1 4988 0 discriminator 4
 7211 7326 83BDECFF 		cmpl	$0, -65556(%ebp)
 7211      FEFF00
 7212 732d 7509     		jne	.L280
4989:armor.c       ****       PC = 0x07cb;
 7213              		.loc 1 4989 0
 7214 732f 66C785CA 		movw	$1995, -65590(%ebp)
 7214      FFFEFFCB 
 7214      07
 7215              	.L280:
4990:armor.c       ****       JUMP;
4991:armor.c       ****       }
4992:armor.c       ****       
4993:armor.c       ****             //        NEGB                          ; 07CA: 50            
4994:armor.c       ****   //  V = (UINT8)(-B) & (B);
4995:armor.c       ****       B = (UINT8)(-B);
 7216              		.loc 1 4995 0
 7217 7338 8B85E4FF 		movl	-65564(%ebp), %eax
 7217      FEFF
 7218 733e F7D8     		negl	%eax
 7219 7340 0FB6C0   		movzbl	%al, %eax
 7220 7343 8985E4FF 		movl	%eax, -65564(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 284


 7220      FEFF
 7221              	.L281:
4996:armor.c       ****   //  Z = B;
4997:armor.c       ****   //  N = B;
4998:armor.c       ****   //  C = B;
4999:armor.c       ****       
5000:armor.c       ****       L07CB://        STB   $08,X                   ; 07CB: E7 08         
5001:armor.c       ****   //  Z = B;
5002:armor.c       ****   //  N = B;
5003:armor.c       ****   //  V = 0;
5004:armor.c       ****       memory[(UINT16)(X + 0x0008)] = B;
 7222              		.loc 1 5004 0
 7223 7349 0FB785C6 		movzwl	-65594(%ebp), %eax
 7223      FFFEFF
 7224 7350 83C008   		addl	$8, %eax
 7225 7353 0FB7C0   		movzwl	%ax, %eax
 7226 7356 8B95E4FF 		movl	-65564(%ebp), %edx
 7226      FEFF
 7227 735c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7227      FFFEFF
 7228              	.L282:
5005:armor.c       ****       
5006:armor.c       ****       L07CD://        CLRA                          ; 07CD: 4F            
5007:armor.c       ****       A = 0;
 7229              		.loc 1 5007 0
 7230 7363 C785E0FF 		movl	$0, -65568(%ebp)
 7230      FEFF0000 
 7230      0000
5008:armor.c       ****   //  V = 0;
5009:armor.c       ****   //  Z = 0;
5010:armor.c       ****   //  N = 0;
5011:armor.c       ****   //  C = 0;
5012:armor.c       ****       
5013:armor.c       ****             //        LDB   ,Y                      ; 07CE: E6 A4         
5014:armor.c       ****       B = memory[Y];
 7231              		.loc 1 5014 0
 7232 736d 0FB785D2 		movzwl	-65582(%ebp), %eax
 7232      FFFEFF
 7233 7374 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7233      F4FFFEFF 
 7234 737c 0FB6C0   		movzbl	%al, %eax
 7235 737f 8985E4FF 		movl	%eax, -65564(%ebp)
 7235      FEFF
5015:armor.c       ****   //  N = B;
5016:armor.c       ****       Z = B;
 7236              		.loc 1 5016 0
 7237 7385 8B85E4FF 		movl	-65564(%ebp), %eax
 7237      FEFF
 7238 738b 668985CC 		movw	%ax, -65588(%ebp)
 7238      FFFEFF
5017:armor.c       ****   //  V = 0;
5018:armor.c       ****       
5019:armor.c       ****             //        BEQ   $07D3                   ; 07D0: 27 01         
5020:armor.c       ****       if (!Z) {
 7239              		.loc 1 5020 0
 7240 7392 6683BDCC 		cmpw	$0, -65588(%ebp)
 7240      FFFEFF00 
GAS LISTING /tmp/ccqXEnet.s 			page 285


 7241 739a 7509     		jne	.L283
5021:armor.c       ****       PC = 0x07d3;
 7242              		.loc 1 5021 0
 7243 739c 66C785CA 		movw	$2003, -65590(%ebp)
 7243      FFFEFFD3 
 7243      07
 7244              	.L283:
5022:armor.c       ****       JUMP;
5023:armor.c       ****       }
5024:armor.c       ****       
5025:armor.c       ****             //        INCA                          ; 07D2: 4C            
5026:armor.c       ****       res = (UINT8)((A) + 1);
 7245              		.loc 1 5026 0
 7246 73a5 8B85E0FF 		movl	-65568(%ebp), %eax
 7246      FEFF
 7247 73ab 83C001   		addl	$1, %eax
 7248 73ae 0FB6C0   		movzbl	%al, %eax
 7249 73b1 8985E8FF 		movl	%eax, -65560(%ebp)
 7249      FEFF
5027:armor.c       ****   //  Z = res;
5028:armor.c       ****   //  N = res;
5029:armor.c       ****   //  V = res & ~(A);
5030:armor.c       ****       A = res;
 7250              		.loc 1 5030 0
 7251 73b7 8B85E8FF 		movl	-65560(%ebp), %eax
 7251      FEFF
 7252 73bd 8985E0FF 		movl	%eax, -65568(%ebp)
 7252      FEFF
 7253              	.L284:
5031:armor.c       ****       
5032:armor.c       ****       L07D3://        LDB   $01,Y                   ; 07D3: E6 21         
5033:armor.c       ****       B = memory[(UINT16)(Y + 0x0001)];
 7254              		.loc 1 5033 0
 7255 73c3 0FB785D2 		movzwl	-65582(%ebp), %eax
 7255      FFFEFF
 7256 73ca 83C001   		addl	$1, %eax
 7257 73cd 0FB7C0   		movzwl	%ax, %eax
 7258 73d0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7258      F4FFFEFF 
 7259 73d8 0FB6C0   		movzbl	%al, %eax
 7260 73db 8985E4FF 		movl	%eax, -65564(%ebp)
 7260      FEFF
5034:armor.c       ****   //  N = B;
5035:armor.c       ****       Z = B;
 7261              		.loc 1 5035 0
 7262 73e1 8B85E4FF 		movl	-65564(%ebp), %eax
 7262      FEFF
 7263 73e7 668985CC 		movw	%ax, -65588(%ebp)
 7263      FFFEFF
5036:armor.c       ****   //  V = 0;
5037:armor.c       ****       
5038:armor.c       ****             //        BEQ   $07D8                   ; 07D5: 27 01         
5039:armor.c       ****       if (!Z) {
 7264              		.loc 1 5039 0
 7265 73ee 6683BDCC 		cmpw	$0, -65588(%ebp)
 7265      FFFEFF00 
 7266 73f6 7509     		jne	.L285
GAS LISTING /tmp/ccqXEnet.s 			page 286


5040:armor.c       ****       PC = 0x07d8;
 7267              		.loc 1 5040 0
 7268 73f8 66C785CA 		movw	$2008, -65590(%ebp)
 7268      FFFEFFD8 
 7268      07
 7269              	.L285:
5041:armor.c       ****       JUMP;
5042:armor.c       ****       }
5043:armor.c       ****       
5044:armor.c       ****             //        DECA                          ; 07D7: 4A            
5045:armor.c       ****       res = (UINT8)(A - 1);
 7270              		.loc 1 5045 0
 7271 7401 8B85E0FF 		movl	-65568(%ebp), %eax
 7271      FEFF
 7272 7407 83E801   		subl	$1, %eax
 7273 740a 0FB6C0   		movzbl	%al, %eax
 7274 740d 8985E8FF 		movl	%eax, -65560(%ebp)
 7274      FEFF
5046:armor.c       ****   //  N = res;
5047:armor.c       ****   //  Z = res;
5048:armor.c       ****   //  V = A & ~res;
5049:armor.c       ****       A = res;
 7275              		.loc 1 5049 0
 7276 7413 8B85E8FF 		movl	-65560(%ebp), %eax
 7276      FEFF
 7277 7419 8985E0FF 		movl	%eax, -65568(%ebp)
 7277      FEFF
 7278              	.L286:
5050:armor.c       ****       
5051:armor.c       ****       L07D8://        TSTA                          ; 07D8: 4D            
5052:armor.c       ****       Z = A;
 7279              		.loc 1 5052 0
 7280 741f 8B85E0FF 		movl	-65568(%ebp), %eax
 7280      FEFF
 7281 7425 668985CC 		movw	%ax, -65588(%ebp)
 7281      FFFEFF
5053:armor.c       ****   //  N = A;
5054:armor.c       ****   //  V = 0;
5055:armor.c       ****       
5056:armor.c       ****             //        BEQ   $07FA                   ; 07D9: 27 1F         
5057:armor.c       ****       if (!Z) {
 7282              		.loc 1 5057 0
 7283 742c 6683BDCC 		cmpw	$0, -65588(%ebp)
 7283      FFFEFF00 
 7284 7434 7509     		jne	.L287
5058:armor.c       ****       PC = 0x07fa;
 7285              		.loc 1 5058 0
 7286 7436 66C785CA 		movw	$2042, -65590(%ebp)
 7286      FFFEFFFA 
 7286      07
 7287              	.L287:
5059:armor.c       ****       JUMP;
5060:armor.c       ****       }
5061:armor.c       ****       
5062:armor.c       ****             //        ADDA  $0A,X                   ; 07DB: AB 0A         
5063:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(X + 0x000a)]);
 7288              		.loc 1 5063 0
GAS LISTING /tmp/ccqXEnet.s 			page 287


 7289 743f 8B85E0FF 		movl	-65568(%ebp), %eax
 7289      FEFF
 7290 7445 89C2     		movl	%eax, %edx
 7291 7447 0FB785C6 		movzwl	-65594(%ebp), %eax
 7291      FFFEFF
 7292 744e 83C00A   		addl	$10, %eax
 7293 7451 0FB7C0   		movzwl	%ax, %eax
 7294 7454 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7294      F4FFFEFF 
 7295 745c 01D0     		addl	%edx, %eax
 7296 745e 0FB6C0   		movzbl	%al, %eax
 7297 7461 8985E0FF 		movl	%eax, -65568(%ebp)
 7297      FEFF
5064:armor.c       ****       res = A + memory[(UINT16)(X + 0x000a)];
 7298              		.loc 1 5064 0
 7299 7467 0FB785C6 		movzwl	-65594(%ebp), %eax
 7299      FFFEFF
 7300 746e 83C00A   		addl	$10, %eax
 7301 7471 0FB7C0   		movzwl	%ax, %eax
 7302 7474 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7302      F4FFFEFF 
 7303 747c 0FB6D0   		movzbl	%al, %edx
 7304 747f 8B85E0FF 		movl	-65568(%ebp), %eax
 7304      FEFF
 7305 7485 01D0     		addl	%edx, %eax
 7306 7487 8985E8FF 		movl	%eax, -65560(%ebp)
 7306      FEFF
5065:armor.c       ****       C = res & 0x100;
 7307              		.loc 1 5065 0
 7308 748d 8B85E8FF 		movl	-65560(%ebp), %eax
 7308      FEFF
 7309 7493 25000100 		andl	$256, %eax
 7309      00
 7310 7498 8985ECFF 		movl	%eax, -65556(%ebp)
 7310      FEFF
5066:armor.c       ****       res = (UINT8)res;
 7311              		.loc 1 5066 0
 7312 749e 8B85E8FF 		movl	-65560(%ebp), %eax
 7312      FEFF
 7313 74a4 0FB6C0   		movzbl	%al, %eax
 7314 74a7 8985E8FF 		movl	%eax, -65560(%ebp)
 7314      FEFF
5067:armor.c       ****   //  Z = res;
5068:armor.c       ****   //  N = res;
5069:armor.c       ****       res = A ^ memory[(UINT16)(X + 0x000a)] ^ res ^ C;
 7315              		.loc 1 5069 0
 7316 74ad 0FB785C6 		movzwl	-65594(%ebp), %eax
 7316      FFFEFF
 7317 74b4 83C00A   		addl	$10, %eax
 7318 74b7 0FB7C0   		movzwl	%ax, %eax
 7319 74ba 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7319      F4FFFEFF 
 7320 74c2 0FB6C0   		movzbl	%al, %eax
 7321 74c5 3385E0FF 		xorl	-65568(%ebp), %eax
 7321      FEFF
 7322 74cb 3385E8FF 		xorl	-65560(%ebp), %eax
 7322      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 288


 7323 74d1 3385ECFF 		xorl	-65556(%ebp), %eax
 7323      FEFF
 7324 74d7 8985E8FF 		movl	%eax, -65560(%ebp)
 7324      FEFF
5070:armor.c       ****       H = res;
 7325              		.loc 1 5070 0
 7326 74dd 8B85E8FF 		movl	-65560(%ebp), %eax
 7326      FEFF
 7327 74e3 8885C3FF 		movb	%al, -65597(%ebp)
 7327      FEFF
5071:armor.c       ****   //  V = res;
5072:armor.c       ****       
5073:armor.c       ****             //        ANDA  #$3F                    ; 07DD: 84 3F         
5074:armor.c       ****       A = A & (SINT8)0x3f;
 7328              		.loc 1 5074 0
 7329 74e9 83A5E0FF 		andl	$63, -65568(%ebp)
 7329      FEFF3F
5075:armor.c       ****   //  Z = A;
5076:armor.c       ****   //  N = A;
5077:armor.c       ****   //  V = 0;
5078:armor.c       ****       
5079:armor.c       ****             //        STA   $0A,X                   ; 07DF: A7 0A         
5080:armor.c       ****   //  Z = A;
5081:armor.c       ****   //  N = A;
5082:armor.c       ****   //  V = 0;
5083:armor.c       ****       memory[(UINT16)(X + 0x000a)] = A;
 7330              		.loc 1 5083 0
 7331 74f0 0FB785C6 		movzwl	-65594(%ebp), %eax
 7331      FFFEFF
 7332 74f7 83C00A   		addl	$10, %eax
 7333 74fa 0FB7C0   		movzwl	%ax, %eax
 7334 74fd 8B95E0FF 		movl	-65568(%ebp), %edx
 7334      FEFF
 7335 7503 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7335      FFFEFF
5084:armor.c       ****       
5085:armor.c       ****             //        TFR   A,B                     ; 07E1: 1F 89         
5086:armor.c       ****       B = A;
 7336              		.loc 1 5086 0
 7337 750a 8B85E0FF 		movl	-65568(%ebp), %eax
 7337      FEFF
 7338 7510 8985E4FF 		movl	%eax, -65564(%ebp)
 7338      FEFF
5087:armor.c       ****       
5088:armor.c       ****             //        LDA   #$20                    ; 07E3: 86 20         
5089:armor.c       ****       A = (SINT8)0x20;
 7339              		.loc 1 5089 0
 7340 7516 C785E0FF 		movl	$32, -65568(%ebp)
 7340      FEFF2000 
 7340      0000
5090:armor.c       ****   //  N = A;
5091:armor.c       ****   //  Z = A;
5092:armor.c       ****   //  V = 0;
5093:armor.c       ****       
5094:armor.c       ****             //        JSR   Rise_Run_X              ; 07E5: BD F5 FF      
5095:armor.c       ****       memory[--S] = 0x07e8 & 0xff; memory[--S] = 0x07e8 >> 8;
 7341              		.loc 1 5095 0
GAS LISTING /tmp/ccqXEnet.s 			page 289


 7342 7520 6683ADC8 		subw	$1, -65592(%ebp)
 7342      FFFEFF01 
 7343 7528 0FB785C8 		movzwl	-65592(%ebp), %eax
 7343      FFFEFF
 7344 752f C68405F4 		movb	$-24, -65548(%ebp,%eax)
 7344      FFFEFFE8 
 7345 7537 6683ADC8 		subw	$1, -65592(%ebp)
 7345      FFFEFF01 
 7346 753f 0FB785C8 		movzwl	-65592(%ebp), %eax
 7346      FFFEFF
 7347 7546 C68405F4 		movb	$7, -65548(%ebp,%eax)
 7347      FFFEFF07 
5096:armor.c       ****       PC = 0xf5ff;
 7348              		.loc 1 5096 0
 7349 754e 66C785CA 		movw	$-2561, -65590(%ebp)
 7349      FFFEFFFF 
 7349      F5
 7350              	.L288:
5097:armor.c       ****       JUMP;
5098:armor.c       ****       
5099:armor.c       ****       L07E8://        STD   $04,X                   ; 07E8: ED 04         
5100:armor.c       ****   //  Z = A | B;
5101:armor.c       ****   //  N = A;
5102:armor.c       ****   //  V = 0;
5103:armor.c       ****       memory[(UINT16)(X + 0x0004)] = A;
 7351              		.loc 1 5103 0
 7352 7557 0FB785C6 		movzwl	-65594(%ebp), %eax
 7352      FFFEFF
 7353 755e 83C004   		addl	$4, %eax
 7354 7561 0FB7C0   		movzwl	%ax, %eax
 7355 7564 8B95E0FF 		movl	-65568(%ebp), %edx
 7355      FEFF
 7356 756a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7356      FFFEFF
5104:armor.c       ****       memory[(UINT16)(X + 0x0004) + 1] = B;
 7357              		.loc 1 5104 0
 7358 7571 0FB785C6 		movzwl	-65594(%ebp), %eax
 7358      FFFEFF
 7359 7578 83C004   		addl	$4, %eax
 7360 757b 0FB7C0   		movzwl	%ax, %eax
 7361 757e 83C001   		addl	$1, %eax
 7362 7581 8B95E4FF 		movl	-65564(%ebp), %edx
 7362      FEFF
 7363 7587 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7363      FFFEFF
5105:armor.c       ****       
5106:armor.c       ****             //        LDA   <$DA                    ; 07EA: 96 DA         
5107:armor.c       ****       A = memory_DP[0xda];
 7364              		.loc 1 5107 0
 7365 758e 8B85DCFF 		movl	-65572(%ebp), %eax
 7365      FEFF
 7366 7594 05DA0000 		addl	$218, %eax
 7366      00
 7367 7599 0FB600   		movzbl	(%eax), %eax
 7368 759c 0FB6C0   		movzbl	%al, %eax
 7369 759f 8985E0FF 		movl	%eax, -65568(%ebp)
 7369      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 290


5108:armor.c       ****   //  N = A;
5109:armor.c       ****   //  Z = A;
5110:armor.c       ****   //  V = 0;
5111:armor.c       ****       
5112:armor.c       ****             //        LDB   #$0E                    ; 07EC: C6 0E         
5113:armor.c       ****       B = (SINT8)0x0e;
 7370              		.loc 1 5113 0
 7371 75a5 C785E4FF 		movl	$14, -65564(%ebp)
 7371      FEFF0E00 
 7371      0000
5114:armor.c       ****   //  N = B;
5115:armor.c       ****   //  Z = B;
5116:armor.c       ****   //  V = 0;
5117:armor.c       ****       
5118:armor.c       ****             //        MUL                           ; 07EE: 3D            
5119:armor.c       ****       res = (UINT16)(A * B);
 7372              		.loc 1 5119 0
 7373 75af 8B85E0FF 		movl	-65568(%ebp), %eax
 7373      FEFF
 7374 75b5 89C2     		movl	%eax, %edx
 7375 75b7 8B85E4FF 		movl	-65564(%ebp), %eax
 7375      FEFF
 7376 75bd 0FAFC2   		imull	%edx, %eax
 7377 75c0 0FB7C0   		movzwl	%ax, %eax
 7378 75c3 8985E8FF 		movl	%eax, -65560(%ebp)
 7378      FEFF
5120:armor.c       ****   //  Z = res;
5121:armor.c       ****       C = res & 0x80; /* ??? 8000 ??? */
 7379              		.loc 1 5121 0
 7380 75c9 8B85E8FF 		movl	-65560(%ebp), %eax
 7380      FEFF
 7381 75cf 25800000 		andl	$128, %eax
 7381      00
 7382 75d4 8985ECFF 		movl	%eax, -65556(%ebp)
 7382      FEFF
5122:armor.c       ****       A = res >> 8;
 7383              		.loc 1 5122 0
 7384 75da 8B85E8FF 		movl	-65560(%ebp), %eax
 7384      FEFF
 7385 75e0 C1F808   		sarl	$8, %eax
 7386 75e3 8985E0FF 		movl	%eax, -65568(%ebp)
 7386      FEFF
5123:armor.c       ****       B = (UINT8)res;
 7387              		.loc 1 5123 0
 7388 75e9 8B85E8FF 		movl	-65560(%ebp), %eax
 7388      FEFF
 7389 75ef 0FB6C0   		movzbl	%al, %eax
 7390 75f2 8985E4FF 		movl	%eax, -65564(%ebp)
 7390      FEFF
5124:armor.c       ****       
5125:armor.c       ****             //        LDA   $0A,X                   ; 07EF: A6 0A         
5126:armor.c       ****       A = memory[(UINT16)(X + 0x000a)];
 7391              		.loc 1 5126 0
 7392 75f8 0FB785C6 		movzwl	-65594(%ebp), %eax
 7392      FFFEFF
 7393 75ff 83C00A   		addl	$10, %eax
 7394 7602 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 291


 7395 7605 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7395      F4FFFEFF 
 7396 760d 0FB6C0   		movzbl	%al, %eax
 7397 7610 8985E0FF 		movl	%eax, -65568(%ebp)
 7397      FEFF
5127:armor.c       ****   //  N = A;
5128:armor.c       ****   //  Z = A;
5129:armor.c       ****   //  V = 0;
5130:armor.c       ****       
5131:armor.c       ****             //        LEAU  $0B,X                   ; 07F1: 33 0B         
5132:armor.c       ****       U = (X + 0x000b);
 7398              		.loc 1 5132 0
 7399 7616 0FB785C6 		movzwl	-65594(%ebp), %eax
 7399      FFFEFF
 7400 761d 83C00B   		addl	$11, %eax
 7401 7620 668985CE 		movw	%ax, -65586(%ebp)
 7401      FFFEFF
5133:armor.c       ****       
5134:armor.c       ****             //        LDX   #$0D46                  ; 07F3: 8E 0D 46      
5135:armor.c       ****       X = 0x0d46;
 7402              		.loc 1 5135 0
 7403 7627 66C785C6 		movw	$3398, -65594(%ebp)
 7403      FFFEFF46 
 7403      0D
5136:armor.c       ****       Z = X;
 7404              		.loc 1 5136 0
 7405 7630 0FB785C6 		movzwl	-65594(%ebp), %eax
 7405      FFFEFF
 7406 7637 668985CC 		movw	%ax, -65588(%ebp)
 7406      FFFEFF
5137:armor.c       ****       N = (X) >> 8;
 7407              		.loc 1 5137 0
 7408 763e 0FB785C6 		movzwl	-65594(%ebp), %eax
 7408      FFFEFF
 7409 7645 66C1E808 		shrw	$8, %ax
 7410 7649 8885C1FF 		movb	%al, -65599(%ebp)
 7410      FEFF
5138:armor.c       ****       V = 0;
 7411              		.loc 1 5138 0
 7412 764f C685C2FF 		movb	$0, -65598(%ebp)
 7412      FEFF00
5139:armor.c       ****       
5140:armor.c       ****             //        ABX                           ; 07F6: 3A            
5141:armor.c       ****       X = X + B;
 7413              		.loc 1 5141 0
 7414 7656 8B85E4FF 		movl	-65564(%ebp), %eax
 7414      FEFF
 7415 765c 660185C6 		addw	%ax, -65594(%ebp)
 7415      FFFEFF
5142:armor.c       ****       
5143:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 07F7: BD F6 1F      
5144:armor.c       ****       memory[--S] = 0x07fa & 0xff; memory[--S] = 0x07fa >> 8;
 7416              		.loc 1 5144 0
 7417 7663 6683ADC8 		subw	$1, -65592(%ebp)
 7417      FFFEFF01 
 7418 766b 0FB785C8 		movzwl	-65592(%ebp), %eax
 7418      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 292


 7419 7672 C68405F4 		movb	$-6, -65548(%ebp,%eax)
 7419      FFFEFFFA 
 7420 767a 6683ADC8 		subw	$1, -65592(%ebp)
 7420      FFFEFF01 
 7421 7682 0FB785C8 		movzwl	-65592(%ebp), %eax
 7421      FFFEFF
 7422 7689 C68405F4 		movb	$7, -65548(%ebp,%eax)
 7422      FFFEFF07 
5145:armor.c       ****       PC = 0xf61f;
 7423              		.loc 1 5145 0
 7424 7691 66C785CA 		movw	$-2529, -65590(%ebp)
 7424      FFFEFF1F 
 7424      F6
 7425              	.L289:
5146:armor.c       ****       JUMP;
5147:armor.c       ****       
5148:armor.c       ****       L07FA://        PULS  X,PC                    ; 07FA: 35 90             ;(PUL? PC=RTS)
5149:armor.c       ****       X = memory[S++]<<8;
 7426              		.loc 1 5149 0
 7427 769a 0FB785C8 		movzwl	-65592(%ebp), %eax
 7427      FFFEFF
 7428 76a1 8D5001   		leal	1(%eax), %edx
 7429 76a4 668995C8 		movw	%dx, -65592(%ebp)
 7429      FFFEFF
 7430 76ab 0FB7C0   		movzwl	%ax, %eax
 7431 76ae 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7431      F4FFFEFF 
 7432 76b6 0FB6C0   		movzbl	%al, %eax
 7433 76b9 C1E008   		sall	$8, %eax
 7434 76bc 668985C6 		movw	%ax, -65594(%ebp)
 7434      FFFEFF
5150:armor.c       ****       X |= memory[S++];
 7435              		.loc 1 5150 0
 7436 76c3 0FB785C8 		movzwl	-65592(%ebp), %eax
 7436      FFFEFF
 7437 76ca 8D5001   		leal	1(%eax), %edx
 7438 76cd 668995C8 		movw	%dx, -65592(%ebp)
 7438      FFFEFF
 7439 76d4 0FB7C0   		movzwl	%ax, %eax
 7440 76d7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7440      F4FFFEFF 
 7441 76df 0FB6C0   		movzbl	%al, %eax
 7442 76e2 660985C6 		orw	%ax, -65594(%ebp)
 7442      FFFEFF
5151:armor.c       ****       PC = memory[S++]<<8;
 7443              		.loc 1 5151 0
 7444 76e9 0FB785C8 		movzwl	-65592(%ebp), %eax
 7444      FFFEFF
 7445 76f0 8D5001   		leal	1(%eax), %edx
 7446 76f3 668995C8 		movw	%dx, -65592(%ebp)
 7446      FFFEFF
 7447 76fa 0FB7C0   		movzwl	%ax, %eax
 7448 76fd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7448      F4FFFEFF 
 7449 7705 0FB6C0   		movzbl	%al, %eax
 7450 7708 C1E008   		sall	$8, %eax
 7451 770b 668985CA 		movw	%ax, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 293


 7451      FFFEFF
5152:armor.c       ****       PC |= memory[S++];
 7452              		.loc 1 5152 0
 7453 7712 0FB785C8 		movzwl	-65592(%ebp), %eax
 7453      FFFEFF
 7454 7719 8D5001   		leal	1(%eax), %edx
 7455 771c 668995C8 		movw	%dx, -65592(%ebp)
 7455      FFFEFF
 7456 7723 0FB7C0   		movzwl	%ax, %eax
 7457 7726 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7457      F4FFFEFF 
 7458 772e 0FB6C0   		movzbl	%al, %eax
 7459 7731 660985CA 		orw	%ax, -65590(%ebp)
 7459      FFFEFF
 7460              	.L290:
5153:armor.c       ****       
5154:armor.c       ****       
5155:armor.c       ****       L081C://        SUBB  #$0A                    ; 081C: C0 0A         
5156:armor.c       ****       B = (UINT8)(B - (SINT8)0x0a);
 7461              		.loc 1 5156 0
 7462 7738 8B85E4FF 		movl	-65564(%ebp), %eax
 7462      FEFF
 7463 773e 83E80A   		subl	$10, %eax
 7464 7741 0FB6C0   		movzbl	%al, %eax
 7465 7744 8985E4FF 		movl	%eax, -65564(%ebp)
 7465      FEFF
5157:armor.c       ****       res = B - (SINT8)0x0a;
 7466              		.loc 1 5157 0
 7467 774a 8B85E4FF 		movl	-65564(%ebp), %eax
 7467      FEFF
 7468 7750 83E80A   		subl	$10, %eax
 7469 7753 8985E8FF 		movl	%eax, -65560(%ebp)
 7469      FEFF
5158:armor.c       ****   //  C = res & 0x100;
5159:armor.c       ****       res = (UINT8)res;
 7470              		.loc 1 5159 0
 7471 7759 8B85E8FF 		movl	-65560(%ebp), %eax
 7471      FEFF
 7472 775f 0FB6C0   		movzbl	%al, %eax
 7473 7762 8985E8FF 		movl	%eax, -65560(%ebp)
 7473      FEFF
5160:armor.c       ****   //  Z = res;
5161:armor.c       ****       N = res;
 7474              		.loc 1 5161 0
 7475 7768 8B85E8FF 		movl	-65560(%ebp), %eax
 7475      FEFF
 7476 776e 8885C1FF 		movb	%al, -65599(%ebp)
 7476      FEFF
5162:armor.c       ****   //  V = ((B) ^ ((SINT8)0x0a)) & ((B) ^ res);
5163:armor.c       ****       
5164:armor.c       ****             //        BMI   $084A                   ; 081E: 2B 2A         
5165:armor.c       ****       if ((SINT8)N <  0) {
 7477              		.loc 1 5165 0
 7478 7774 0FB685C1 		movzbl	-65599(%ebp), %eax
 7478      FFFEFF
 7479 777b 84C0     		testb	%al, %al
 7480 777d 7909     		jns	.L291
GAS LISTING /tmp/ccqXEnet.s 			page 294


5166:armor.c       ****       PC = 0x084a;
 7481              		.loc 1 5166 0
 7482 777f 66C785CA 		movw	$2122, -65590(%ebp)
 7482      FFFEFF4A 
 7482      08
 7483              	.L291:
5167:armor.c       ****       JUMP;
5168:armor.c       ****       }
5169:armor.c       ****       
5170:armor.c       ****             //        ANDB  #$70                    ; 0820: C4 70         
5171:armor.c       ****       B = B & (SINT8)0x70;
 7484              		.loc 1 5171 0
 7485 7788 83A5E4FF 		andl	$112, -65564(%ebp)
 7485      FEFF70
5172:armor.c       ****   //  Z = B;
5173:armor.c       ****   //  N = B;
5174:armor.c       ****   //  V = 0;
5175:armor.c       ****       
5176:armor.c       ****             //        ASRB                          ; 0822: 57            
5177:armor.c       ****   //  C = B & 1;
5178:armor.c       ****       B = (UINT8)(B >> 1);
 7486              		.loc 1 5178 0
 7487 778f 8B85E4FF 		movl	-65564(%ebp), %eax
 7487      FEFF
 7488 7795 D1F8     		sarl	%eax
 7489 7797 0FB6C0   		movzbl	%al, %eax
 7490 779a 8985E4FF 		movl	%eax, -65564(%ebp)
 7490      FEFF
5179:armor.c       ****   //  Z = B;
5180:armor.c       ****   //  N = B;
5181:armor.c       ****       
5182:armor.c       ****             //        ASRB                          ; 0823: 57            
5183:armor.c       ****   //  C = B & 1;
5184:armor.c       ****       B = (UINT8)(B >> 1);
 7491              		.loc 1 5184 0
 7492 77a0 8B85E4FF 		movl	-65564(%ebp), %eax
 7492      FEFF
 7493 77a6 D1F8     		sarl	%eax
 7494 77a8 0FB6C0   		movzbl	%al, %eax
 7495 77ab 8985E4FF 		movl	%eax, -65564(%ebp)
 7495      FEFF
5185:armor.c       ****   //  Z = B;
5186:armor.c       ****   //  N = B;
5187:armor.c       ****       
5188:armor.c       ****             //        ASRB                          ; 0824: 57            
5189:armor.c       ****   //  C = B & 1;
5190:armor.c       ****       B = (UINT8)(B >> 1);
 7496              		.loc 1 5190 0
 7497 77b1 8B85E4FF 		movl	-65564(%ebp), %eax
 7497      FEFF
 7498 77b7 D1F8     		sarl	%eax
 7499 77b9 0FB6C0   		movzbl	%al, %eax
 7500 77bc 8985E4FF 		movl	%eax, -65564(%ebp)
 7500      FEFF
5191:armor.c       ****   //  Z = B;
5192:armor.c       ****   //  N = B;
5193:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 295


5194:armor.c       ****             //        LDD   B,U                     ; 0825: EC C5         
5195:armor.c       ****       A = memory[(UINT16)(U + (SINT8)B)];
 7501              		.loc 1 5195 0
 7502 77c2 8B85E4FF 		movl	-65564(%ebp), %eax
 7502      FEFF
 7503 77c8 660FBED0 		movsbw	%al, %dx
 7504 77cc 0FB785CE 		movzwl	-65586(%ebp), %eax
 7504      FFFEFF
 7505 77d3 01D0     		addl	%edx, %eax
 7506 77d5 0FB7C0   		movzwl	%ax, %eax
 7507 77d8 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7507      F4FFFEFF 
 7508 77e0 0FB6C0   		movzbl	%al, %eax
 7509 77e3 8985E0FF 		movl	%eax, -65568(%ebp)
 7509      FEFF
5196:armor.c       ****       B = memory[(UINT16)(((UINT16)(U + (SINT8)B))+1)];
 7510              		.loc 1 5196 0
 7511 77e9 8B85E4FF 		movl	-65564(%ebp), %eax
 7511      FEFF
 7512 77ef 660FBED0 		movsbw	%al, %dx
 7513 77f3 0FB785CE 		movzwl	-65586(%ebp), %eax
 7513      FFFEFF
 7514 77fa 01D0     		addl	%edx, %eax
 7515 77fc 83C001   		addl	$1, %eax
 7516 77ff 0FB7C0   		movzwl	%ax, %eax
 7517 7802 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7517      F4FFFEFF 
 7518 780a 0FB6C0   		movzbl	%al, %eax
 7519 780d 8985E4FF 		movl	%eax, -65564(%ebp)
 7519      FEFF
5197:armor.c       ****   //  Z = A|B;
5198:armor.c       ****   //  N = A;
5199:armor.c       ****   //  V = 0;
5200:armor.c       ****       
5201:armor.c       ****             //        LEAU  A,U                     ; 0827: 33 C6         
5202:armor.c       ****       U = (U + (SINT8)A);
 7520              		.loc 1 5202 0
 7521 7813 8B85E0FF 		movl	-65568(%ebp), %eax
 7521      FEFF
 7522 7819 6698     		cbtw
 7523 781b 660185CE 		addw	%ax, -65586(%ebp)
 7523      FFFEFF
5203:armor.c       ****       
5204:armor.c       ****             //        STB   <$DD                    ; 0829: D7 DD         
5205:armor.c       ****   //  Z = B;
5206:armor.c       ****   //  N = B;
5207:armor.c       ****   //  V = 0;
5208:armor.c       ****       memory_DP[0xdd] = B;
 7524              		.loc 1 5208 0
 7525 7822 8B85DCFF 		movl	-65572(%ebp), %eax
 7525      FEFF
 7526 7828 05DD0000 		addl	$221, %eax
 7526      00
 7527 782d 8B95E4FF 		movl	-65564(%ebp), %edx
 7527      FEFF
 7528 7833 8810     		movb	%dl, (%eax)
 7529              	.L292:
GAS LISTING /tmp/ccqXEnet.s 			page 296


5209:armor.c       ****       
5210:armor.c       ****       L082B://        LDD   <$DB                    ; 082B: DC DB         
5211:armor.c       ****       A = memory_DP[0xdb];
 7530              		.loc 1 5211 0
 7531 7835 8B85DCFF 		movl	-65572(%ebp), %eax
 7531      FEFF
 7532 783b 05DB0000 		addl	$219, %eax
 7532      00
 7533 7840 0FB600   		movzbl	(%eax), %eax
 7534 7843 0FB6C0   		movzbl	%al, %eax
 7535 7846 8985E0FF 		movl	%eax, -65568(%ebp)
 7535      FEFF
5212:armor.c       ****       B = memory_DP[0xdb + 1];
 7536              		.loc 1 5212 0
 7537 784c 8B85DCFF 		movl	-65572(%ebp), %eax
 7537      FEFF
 7538 7852 05DC0000 		addl	$220, %eax
 7538      00
 7539 7857 0FB600   		movzbl	(%eax), %eax
 7540 785a 0FB6C0   		movzbl	%al, %eax
 7541 785d 8985E4FF 		movl	%eax, -65564(%ebp)
 7541      FEFF
5213:armor.c       ****   //  Z = A|B;
5214:armor.c       ****   //  N = A;
5215:armor.c       ****   //  V = 0;
5216:armor.c       ****       
5217:armor.c       ****             //        SUBA  ,U                      ; 082D: A0 C4         
5218:armor.c       ****       A = (UINT8)(A - memory[U]);
 7542              		.loc 1 5218 0
 7543 7863 8B85E0FF 		movl	-65568(%ebp), %eax
 7543      FEFF
 7544 7869 89C2     		movl	%eax, %edx
 7545 786b 0FB785CE 		movzwl	-65586(%ebp), %eax
 7545      FFFEFF
 7546 7872 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7546      F4FFFEFF 
 7547 787a 29C2     		subl	%eax, %edx
 7548 787c 89D0     		movl	%edx, %eax
 7549 787e 0FB6C0   		movzbl	%al, %eax
 7550 7881 8985E0FF 		movl	%eax, -65568(%ebp)
 7550      FEFF
5219:armor.c       ****       res = A - memory[U];
 7551              		.loc 1 5219 0
 7552 7887 0FB785CE 		movzwl	-65586(%ebp), %eax
 7552      FFFEFF
 7553 788e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7553      F4FFFEFF 
 7554 7896 0FB6C0   		movzbl	%al, %eax
 7555 7899 8B95E0FF 		movl	-65568(%ebp), %edx
 7555      FEFF
 7556 789f 29C2     		subl	%eax, %edx
 7557 78a1 89D0     		movl	%edx, %eax
 7558 78a3 8985E8FF 		movl	%eax, -65560(%ebp)
 7558      FEFF
5220:armor.c       ****   //  C = res & 0x100;
5221:armor.c       ****       res = (UINT8)res;
 7559              		.loc 1 5221 0
GAS LISTING /tmp/ccqXEnet.s 			page 297


 7560 78a9 8B85E8FF 		movl	-65560(%ebp), %eax
 7560      FEFF
 7561 78af 0FB6C0   		movzbl	%al, %eax
 7562 78b2 8985E8FF 		movl	%eax, -65560(%ebp)
 7562      FEFF
5222:armor.c       ****   //  Z = res;
5223:armor.c       ****       N = res;
 7563              		.loc 1 5223 0
 7564 78b8 8B85E8FF 		movl	-65560(%ebp), %eax
 7564      FEFF
 7565 78be 8885C1FF 		movb	%al, -65599(%ebp)
 7565      FEFF
5224:armor.c       ****   //  V = ((A) ^ (memory[U])) & ((A) ^ res);
5225:armor.c       ****       
5226:armor.c       ****             //        BMI   $0842                   ; 082F: 2B 11         
5227:armor.c       ****       if ((SINT8)N <  0) {
 7566              		.loc 1 5227 0
 7567 78c4 0FB685C1 		movzbl	-65599(%ebp), %eax
 7567      FFFEFF
 7568 78cb 84C0     		testb	%al, %al
 7569 78cd 7909     		jns	.L293
5228:armor.c       ****       PC = 0x0842;
 7570              		.loc 1 5228 0
 7571 78cf 66C785CA 		movw	$2114, -65590(%ebp)
 7571      FFFEFF42 
 7571      08
 7572              	.L293:
5229:armor.c       ****       JUMP;
5230:armor.c       ****       }
5231:armor.c       ****       
5232:armor.c       ****             //        CMPA  $01,U                   ; 0831: A1 41         
5233:armor.c       ****       res = A - memory[(UINT16)(U + 0x0001)];
 7573              		.loc 1 5233 0
 7574 78d8 0FB785CE 		movzwl	-65586(%ebp), %eax
 7574      FFFEFF
 7575 78df 83C001   		addl	$1, %eax
 7576 78e2 0FB7C0   		movzwl	%ax, %eax
 7577 78e5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7577      F4FFFEFF 
 7578 78ed 0FB6C0   		movzbl	%al, %eax
 7579 78f0 8B95E0FF 		movl	-65568(%ebp), %edx
 7579      FEFF
 7580 78f6 29C2     		subl	%eax, %edx
 7581 78f8 89D0     		movl	%edx, %eax
 7582 78fa 8985E8FF 		movl	%eax, -65560(%ebp)
 7582      FEFF
5234:armor.c       ****   //  C = res & 0x100;
5235:armor.c       ****       res = (UINT8)res;
 7583              		.loc 1 5235 0
 7584 7900 8B85E8FF 		movl	-65560(%ebp), %eax
 7584      FEFF
 7585 7906 0FB6C0   		movzbl	%al, %eax
 7586 7909 8985E8FF 		movl	%eax, -65560(%ebp)
 7586      FEFF
5236:armor.c       ****       Z = res;
 7587              		.loc 1 5236 0
 7588 790f 8B85E8FF 		movl	-65560(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 298


 7588      FEFF
 7589 7915 668985CC 		movw	%ax, -65588(%ebp)
 7589      FFFEFF
5237:armor.c       ****       N = res;
 7590              		.loc 1 5237 0
 7591 791c 8B85E8FF 		movl	-65560(%ebp), %eax
 7591      FEFF
 7592 7922 8885C1FF 		movb	%al, -65599(%ebp)
 7592      FEFF
5238:armor.c       ****       V = (A ^ memory[(UINT16)(U + 0x0001)]) & (A ^ res);
 7593              		.loc 1 5238 0
 7594 7928 0FB785CE 		movzwl	-65586(%ebp), %eax
 7594      FFFEFF
 7595 792f 83C001   		addl	$1, %eax
 7596 7932 0FB7C0   		movzwl	%ax, %eax
 7597 7935 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7597      F4FFFEFF 
 7598 793d 89C2     		movl	%eax, %edx
 7599 793f 8B85E0FF 		movl	-65568(%ebp), %eax
 7599      FEFF
 7600 7945 31C2     		xorl	%eax, %edx
 7601 7947 8B85E0FF 		movl	-65568(%ebp), %eax
 7601      FEFF
 7602 794d 89C1     		movl	%eax, %ecx
 7603 794f 8B85E8FF 		movl	-65560(%ebp), %eax
 7603      FEFF
 7604 7955 31C8     		xorl	%ecx, %eax
 7605 7957 21D0     		andl	%edx, %eax
 7606 7959 8885C2FF 		movb	%al, -65598(%ebp)
 7606      FEFF
5239:armor.c       ****       
5240:armor.c       ****             //        BGT   $0842                   ; 0833: 2E 0D         
5241:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 7607              		.loc 1 5241 0
 7608 795f 0FB685C1 		movzbl	-65599(%ebp), %eax
 7608      FFFEFF
 7609 7966 3285C2FF 		xorb	-65598(%ebp), %al
 7609      FEFF
 7610 796c 84C0     		testb	%al, %al
 7611 796e 7813     		js	.L294
 7612              		.loc 1 5241 0 is_stmt 0 discriminator 1
 7613 7970 6683BDCC 		cmpw	$0, -65588(%ebp)
 7613      FFFEFF00 
 7614 7978 7409     		je	.L294
5242:armor.c       ****       PC = 0x0842;
 7615              		.loc 1 5242 0 is_stmt 1
 7616 797a 66C785CA 		movw	$2114, -65590(%ebp)
 7616      FFFEFF42 
 7616      08
 7617              	.L294:
5243:armor.c       ****       JUMP;
5244:armor.c       ****       }
5245:armor.c       ****       
5246:armor.c       ****             //        SUBB  $02,U                   ; 0835: E0 42         
5247:armor.c       ****       B = (UINT8)(B - memory[(UINT16)(U + 0x0002)]);
 7618              		.loc 1 5247 0
 7619 7983 8B85E4FF 		movl	-65564(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 299


 7619      FEFF
 7620 7989 89C2     		movl	%eax, %edx
 7621 798b 0FB785CE 		movzwl	-65586(%ebp), %eax
 7621      FFFEFF
 7622 7992 83C002   		addl	$2, %eax
 7623 7995 0FB7C0   		movzwl	%ax, %eax
 7624 7998 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7624      F4FFFEFF 
 7625 79a0 29C2     		subl	%eax, %edx
 7626 79a2 89D0     		movl	%edx, %eax
 7627 79a4 0FB6C0   		movzbl	%al, %eax
 7628 79a7 8985E4FF 		movl	%eax, -65564(%ebp)
 7628      FEFF
5248:armor.c       ****       res = B - memory[(UINT16)(U + 0x0002)];
 7629              		.loc 1 5248 0
 7630 79ad 0FB785CE 		movzwl	-65586(%ebp), %eax
 7630      FFFEFF
 7631 79b4 83C002   		addl	$2, %eax
 7632 79b7 0FB7C0   		movzwl	%ax, %eax
 7633 79ba 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7633      F4FFFEFF 
 7634 79c2 0FB6C0   		movzbl	%al, %eax
 7635 79c5 8B95E4FF 		movl	-65564(%ebp), %edx
 7635      FEFF
 7636 79cb 29C2     		subl	%eax, %edx
 7637 79cd 89D0     		movl	%edx, %eax
 7638 79cf 8985E8FF 		movl	%eax, -65560(%ebp)
 7638      FEFF
5249:armor.c       ****   //  C = res & 0x100;
5250:armor.c       ****       res = (UINT8)res;
 7639              		.loc 1 5250 0
 7640 79d5 8B85E8FF 		movl	-65560(%ebp), %eax
 7640      FEFF
 7641 79db 0FB6C0   		movzbl	%al, %eax
 7642 79de 8985E8FF 		movl	%eax, -65560(%ebp)
 7642      FEFF
5251:armor.c       ****   //  Z = res;
5252:armor.c       ****       N = res;
 7643              		.loc 1 5252 0
 7644 79e4 8B85E8FF 		movl	-65560(%ebp), %eax
 7644      FEFF
 7645 79ea 8885C1FF 		movb	%al, -65599(%ebp)
 7645      FEFF
5253:armor.c       ****   //  V = ((B) ^ (memory[(UINT16)(U + 0x0002)])) & ((B) ^ res);
5254:armor.c       ****       
5255:armor.c       ****             //        BMI   $0842                   ; 0837: 2B 09         
5256:armor.c       ****       if ((SINT8)N <  0) {
 7646              		.loc 1 5256 0
 7647 79f0 0FB685C1 		movzbl	-65599(%ebp), %eax
 7647      FFFEFF
 7648 79f7 84C0     		testb	%al, %al
 7649 79f9 7909     		jns	.L295
5257:armor.c       ****       PC = 0x0842;
 7650              		.loc 1 5257 0
 7651 79fb 66C785CA 		movw	$2114, -65590(%ebp)
 7651      FFFEFF42 
 7651      08
GAS LISTING /tmp/ccqXEnet.s 			page 300


 7652              	.L295:
5258:armor.c       ****       JUMP;
5259:armor.c       ****       }
5260:armor.c       ****       
5261:armor.c       ****             //        CMPB  $03,U                   ; 0839: E1 43         
5262:armor.c       ****       res = B - memory[(UINT16)(U + 0x0003)];
 7653              		.loc 1 5262 0
 7654 7a04 0FB785CE 		movzwl	-65586(%ebp), %eax
 7654      FFFEFF
 7655 7a0b 83C003   		addl	$3, %eax
 7656 7a0e 0FB7C0   		movzwl	%ax, %eax
 7657 7a11 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7657      F4FFFEFF 
 7658 7a19 0FB6C0   		movzbl	%al, %eax
 7659 7a1c 8B95E4FF 		movl	-65564(%ebp), %edx
 7659      FEFF
 7660 7a22 29C2     		subl	%eax, %edx
 7661 7a24 89D0     		movl	%edx, %eax
 7662 7a26 8985E8FF 		movl	%eax, -65560(%ebp)
 7662      FEFF
5263:armor.c       ****       C = res & 0x100;
 7663              		.loc 1 5263 0
 7664 7a2c 8B85E8FF 		movl	-65560(%ebp), %eax
 7664      FEFF
 7665 7a32 25000100 		andl	$256, %eax
 7665      00
 7666 7a37 8985ECFF 		movl	%eax, -65556(%ebp)
 7666      FEFF
5264:armor.c       ****       res = (UINT8)res;
 7667              		.loc 1 5264 0
 7668 7a3d 8B85E8FF 		movl	-65560(%ebp), %eax
 7668      FEFF
 7669 7a43 0FB6C0   		movzbl	%al, %eax
 7670 7a46 8985E8FF 		movl	%eax, -65560(%ebp)
 7670      FEFF
5265:armor.c       ****       Z = res;
 7671              		.loc 1 5265 0
 7672 7a4c 8B85E8FF 		movl	-65560(%ebp), %eax
 7672      FEFF
 7673 7a52 668985CC 		movw	%ax, -65588(%ebp)
 7673      FFFEFF
5266:armor.c       ****       N = res;
 7674              		.loc 1 5266 0
 7675 7a59 8B85E8FF 		movl	-65560(%ebp), %eax
 7675      FEFF
 7676 7a5f 8885C1FF 		movb	%al, -65599(%ebp)
 7676      FEFF
5267:armor.c       ****       V = (B ^ memory[(UINT16)(U + 0x0003)]) & (B ^ res);
 7677              		.loc 1 5267 0
 7678 7a65 0FB785CE 		movzwl	-65586(%ebp), %eax
 7678      FFFEFF
 7679 7a6c 83C003   		addl	$3, %eax
 7680 7a6f 0FB7C0   		movzwl	%ax, %eax
 7681 7a72 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7681      F4FFFEFF 
 7682 7a7a 89C2     		movl	%eax, %edx
 7683 7a7c 8B85E4FF 		movl	-65564(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 301


 7683      FEFF
 7684 7a82 31C2     		xorl	%eax, %edx
 7685 7a84 8B85E4FF 		movl	-65564(%ebp), %eax
 7685      FEFF
 7686 7a8a 89C1     		movl	%eax, %ecx
 7687 7a8c 8B85E8FF 		movl	-65560(%ebp), %eax
 7687      FEFF
 7688 7a92 31C8     		xorl	%ecx, %eax
 7689 7a94 21D0     		andl	%edx, %eax
 7690 7a96 8885C2FF 		movb	%al, -65598(%ebp)
 7690      FEFF
5268:armor.c       ****       
5269:armor.c       ****             //        BGT   $0842                   ; 083B: 2E 05         
5270:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 7691              		.loc 1 5270 0
 7692 7a9c 0FB685C1 		movzbl	-65599(%ebp), %eax
 7692      FFFEFF
 7693 7aa3 3285C2FF 		xorb	-65598(%ebp), %al
 7693      FEFF
 7694 7aa9 84C0     		testb	%al, %al
 7695 7aab 7813     		js	.L296
 7696              		.loc 1 5270 0 is_stmt 0 discriminator 1
 7697 7aad 6683BDCC 		cmpw	$0, -65588(%ebp)
 7697      FFFEFF00 
 7698 7ab5 7409     		je	.L296
5271:armor.c       ****       PC = 0x0842;
 7699              		.loc 1 5271 0 is_stmt 1
 7700 7ab7 66C785CA 		movw	$2114, -65590(%ebp)
 7700      FFFEFF42 
 7700      08
 7701              	.L296:
5272:armor.c       ****       JUMP;
5273:armor.c       ****       }
5274:armor.c       ****       
5275:armor.c       ****             //        LDB   $04,U                   ; 083D: E6 44         
5276:armor.c       ****       B = memory[(UINT16)(U + 0x0004)];
 7702              		.loc 1 5276 0
 7703 7ac0 0FB785CE 		movzwl	-65586(%ebp), %eax
 7703      FFFEFF
 7704 7ac7 83C004   		addl	$4, %eax
 7705 7aca 0FB7C0   		movzwl	%ax, %eax
 7706 7acd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7706      F4FFFEFF 
 7707 7ad5 0FB6C0   		movzbl	%al, %eax
 7708 7ad8 8985E4FF 		movl	%eax, -65564(%ebp)
 7708      FEFF
5277:armor.c       ****       N = B;
 7709              		.loc 1 5277 0
 7710 7ade 8B85E4FF 		movl	-65564(%ebp), %eax
 7710      FEFF
 7711 7ae4 8885C1FF 		movb	%al, -65599(%ebp)
 7711      FEFF
5278:armor.c       ****       Z = B;
 7712              		.loc 1 5278 0
 7713 7aea 8B85E4FF 		movl	-65564(%ebp), %eax
 7713      FEFF
 7714 7af0 668985CC 		movw	%ax, -65588(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 302


 7714      FFFEFF
5279:armor.c       ****   //  V = 0;
5280:armor.c       ****       
5281:armor.c       ****             //        ORCC  #$02                    ; 083F: 1A 02         
5282:armor.c       ****       V = 1;
 7715              		.loc 1 5282 0
 7716 7af7 C685C2FF 		movb	$1, -65598(%ebp)
 7716      FEFF01
5283:armor.c       ****       
5284:armor.c       ****             //        RTS                           ; 0841: 39            
5285:armor.c       ****       PC = memory[S++]<<8;
 7717              		.loc 1 5285 0
 7718 7afe 0FB785C8 		movzwl	-65592(%ebp), %eax
 7718      FFFEFF
 7719 7b05 8D5001   		leal	1(%eax), %edx
 7720 7b08 668995C8 		movw	%dx, -65592(%ebp)
 7720      FFFEFF
 7721 7b0f 0FB7C0   		movzwl	%ax, %eax
 7722 7b12 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7722      F4FFFEFF 
 7723 7b1a 0FB6C0   		movzbl	%al, %eax
 7724 7b1d C1E008   		sall	$8, %eax
 7725 7b20 668985CA 		movw	%ax, -65590(%ebp)
 7725      FFFEFF
5286:armor.c       ****       PC |= memory[S++];
 7726              		.loc 1 5286 0
 7727 7b27 0FB785C8 		movzwl	-65592(%ebp), %eax
 7727      FFFEFF
 7728 7b2e 8D5001   		leal	1(%eax), %edx
 7729 7b31 668995C8 		movw	%dx, -65592(%ebp)
 7729      FFFEFF
 7730 7b38 0FB7C0   		movzwl	%ax, %eax
 7731 7b3b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7731      F4FFFEFF 
 7732 7b43 0FB6C0   		movzbl	%al, %eax
 7733 7b46 660985CA 		orw	%ax, -65590(%ebp)
 7733      FFFEFF
 7734              	.L297:
5287:armor.c       ****       JUMP;
5288:armor.c       ****       
5289:armor.c       ****       
5290:armor.c       ****       L0842://        LEAU  $05,U                   ; 0842: 33 45         
5291:armor.c       ****       U = (U + 0x0005);
 7735              		.loc 1 5291 0
 7736 7b4d 668385CE 		addw	$5, -65586(%ebp)
 7736      FFFEFF05 
5292:armor.c       ****       
5293:armor.c       ****             //        DEC   <$DD                    ; 0844: 0A DD         
5294:armor.c       ****       res = (UINT8)(memory_DP[0xdd] - 1);
 7737              		.loc 1 5294 0
 7738 7b55 8B85DCFF 		movl	-65572(%ebp), %eax
 7738      FEFF
 7739 7b5b 05DD0000 		addl	$221, %eax
 7739      00
 7740 7b60 0FB600   		movzbl	(%eax), %eax
 7741 7b63 83E801   		subl	$1, %eax
 7742 7b66 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 303


 7743 7b69 8985E8FF 		movl	%eax, -65560(%ebp)
 7743      FEFF
5295:armor.c       ****       N = res;
 7744              		.loc 1 5295 0
 7745 7b6f 8B85E8FF 		movl	-65560(%ebp), %eax
 7745      FEFF
 7746 7b75 8885C1FF 		movb	%al, -65599(%ebp)
 7746      FEFF
5296:armor.c       ****       Z = res;
 7747              		.loc 1 5296 0
 7748 7b7b 8B85E8FF 		movl	-65560(%ebp), %eax
 7748      FEFF
 7749 7b81 668985CC 		movw	%ax, -65588(%ebp)
 7749      FFFEFF
5297:armor.c       ****   //  V = memory_DP[0xdd] & ~res;
5298:armor.c       ****       memory_DP[0xdd] = res;
 7750              		.loc 1 5298 0
 7751 7b88 8B85DCFF 		movl	-65572(%ebp), %eax
 7751      FEFF
 7752 7b8e 05DD0000 		addl	$221, %eax
 7752      00
 7753 7b93 8B95E8FF 		movl	-65560(%ebp), %edx
 7753      FEFF
 7754 7b99 8810     		movb	%dl, (%eax)
5299:armor.c       ****       
5300:armor.c       ****             //        BNE   $082B                   ; 0846: 26 E3         
5301:armor.c       ****       if (Z) {
 7755              		.loc 1 5301 0
 7756 7b9b 6683BDCC 		cmpw	$0, -65588(%ebp)
 7756      FFFEFF00 
 7757 7ba3 7409     		je	.L298
5302:armor.c       ****       PC = 0x082b;
 7758              		.loc 1 5302 0
 7759 7ba5 66C785CA 		movw	$2091, -65590(%ebp)
 7759      FFFEFF2B 
 7759      08
 7760              	.L298:
5303:armor.c       ****       JUMP;
5304:armor.c       ****       }
5305:armor.c       ****       
5306:armor.c       ****             //        ANDCC #$FD                    ; 0848: 1C FD         
5307:armor.c       ****       V = 0;
 7761              		.loc 1 5307 0
 7762 7bae C685C2FF 		movb	$0, -65598(%ebp)
 7762      FEFF00
 7763              	.L299:
5308:armor.c       ****       
5309:armor.c       ****       L084A://        RTS                           ; 084A: 39            
5310:armor.c       ****       PC = memory[S++]<<8;
 7764              		.loc 1 5310 0
 7765 7bb5 0FB785C8 		movzwl	-65592(%ebp), %eax
 7765      FFFEFF
 7766 7bbc 8D5001   		leal	1(%eax), %edx
 7767 7bbf 668995C8 		movw	%dx, -65592(%ebp)
 7767      FFFEFF
 7768 7bc6 0FB7C0   		movzwl	%ax, %eax
 7769 7bc9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 304


 7769      F4FFFEFF 
 7770 7bd1 0FB6C0   		movzbl	%al, %eax
 7771 7bd4 C1E008   		sall	$8, %eax
 7772 7bd7 668985CA 		movw	%ax, -65590(%ebp)
 7772      FFFEFF
5311:armor.c       ****       PC |= memory[S++];
 7773              		.loc 1 5311 0
 7774 7bde 0FB785C8 		movzwl	-65592(%ebp), %eax
 7774      FFFEFF
 7775 7be5 8D5001   		leal	1(%eax), %edx
 7776 7be8 668995C8 		movw	%dx, -65592(%ebp)
 7776      FFFEFF
 7777 7bef 0FB7C0   		movzwl	%ax, %eax
 7778 7bf2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7778      F4FFFEFF 
 7779 7bfa 0FB6C0   		movzbl	%al, %eax
 7780 7bfd 660985CA 		orw	%ax, -65590(%ebp)
 7780      FFFEFF
 7781              	.L300:
5312:armor.c       ****       JUMP;
5313:armor.c       ****       
5314:armor.c       ****       
5315:armor.c       ****       L084B://        LDU   #$CA00                  ; 084B: CE CA 00      
5316:armor.c       ****       U = 0xca00;
 7782              		.loc 1 5316 0
 7783 7c04 66C785CE 		movw	$-13824, -65586(%ebp)
 7783      FFFEFF00 
 7783      CA
5317:armor.c       ****   //  Z = U;
5318:armor.c       ****   //  N = (U) >> 8;
5319:armor.c       ****   //  V = 0;
5320:armor.c       ****       
5321:armor.c       ****             //        LDY   #$C9C0                  ; 084E: 10 8E C9 C0   
5322:armor.c       ****       Y = 0xc9c0;
 7784              		.loc 1 5322 0
 7785 7c0d 66C785D2 		movw	$-13888, -65582(%ebp)
 7785      FFFEFFC0 
 7785      C9
5323:armor.c       ****   //  Z = Y;
5324:armor.c       ****   //  N = (Y) >> 8;
5325:armor.c       ****   //  V = 0;
5326:armor.c       ****       
5327:armor.c       ****             //        LDX   #$0D46                  ; 0852: 8E 0D 46      
5328:armor.c       ****       X = 0x0d46;
 7786              		.loc 1 5328 0
 7787 7c16 66C785C6 		movw	$3398, -65594(%ebp)
 7787      FFFEFF46 
 7787      0D
5329:armor.c       ****   //  Z = X;
5330:armor.c       ****   //  N = (X) >> 8;
5331:armor.c       ****   //  V = 0;
5332:armor.c       ****       
5333:armor.c       ****             //        LDA   <$C8                    ; 0855: 96 C8         
5334:armor.c       ****       A = memory_DP[0xc8];
 7788              		.loc 1 5334 0
 7789 7c1f 8B85DCFF 		movl	-65572(%ebp), %eax
 7789      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 305


 7790 7c25 05C80000 		addl	$200, %eax
 7790      00
 7791 7c2a 0FB600   		movzbl	(%eax), %eax
 7792 7c2d 0FB6C0   		movzbl	%al, %eax
 7793 7c30 8985E0FF 		movl	%eax, -65568(%ebp)
 7793      FEFF
5335:armor.c       ****   //  N = A;
5336:armor.c       ****   //  Z = A;
5337:armor.c       ****   //  V = 0;
5338:armor.c       ****       
5339:armor.c       ****             //        STA   <$C7                    ; 0857: 97 C7         
5340:armor.c       ****   //  Z = A;
5341:armor.c       ****   //  N = A;
5342:armor.c       ****   //  V = 0;
5343:armor.c       ****       memory_DP[0xc7] = A;
 7794              		.loc 1 5343 0
 7795 7c36 8B85DCFF 		movl	-65572(%ebp), %eax
 7795      FEFF
 7796 7c3c 05C70000 		addl	$199, %eax
 7796      00
 7797 7c41 8B95E0FF 		movl	-65568(%ebp), %edx
 7797      FEFF
 7798 7c47 8810     		movb	%dl, (%eax)
5344:armor.c       ****       
5345:armor.c       ****             //        LDB   #$20                    ; 0859: C6 20         
5346:armor.c       ****       B = (SINT8)0x20;
 7799              		.loc 1 5346 0
 7800 7c49 C785E4FF 		movl	$32, -65564(%ebp)
 7800      FEFF2000 
 7800      0000
 7801              	.L301:
5347:armor.c       ****   //  N = B;
5348:armor.c       ****   //  Z = B;
5349:armor.c       ****   //  V = 0;
5350:armor.c       ****       
5351:armor.c       ****       L085B://        PSHS  B,A                     ; 085B: 34 06         
5352:armor.c       ****       memory[--S] = B;
 7802              		.loc 1 5352 0
 7803 7c53 6683ADC8 		subw	$1, -65592(%ebp)
 7803      FFFEFF01 
 7804 7c5b 0FB785C8 		movzwl	-65592(%ebp), %eax
 7804      FFFEFF
 7805 7c62 8B95E4FF 		movl	-65564(%ebp), %edx
 7805      FEFF
 7806 7c68 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7806      FFFEFF
5353:armor.c       ****       memory[--S] = A;
 7807              		.loc 1 5353 0
 7808 7c6f 6683ADC8 		subw	$1, -65592(%ebp)
 7808      FFFEFF01 
 7809 7c77 0FB785C8 		movzwl	-65592(%ebp), %eax
 7809      FFFEFF
 7810 7c7e 8B95E0FF 		movl	-65568(%ebp), %edx
 7810      FEFF
 7811 7c84 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7811      FFFEFF
5354:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 306


5355:armor.c       ****             //        STA   ,U+                     ; 085D: A7 C0         
5356:armor.c       ****   //  Z = A;
5357:armor.c       ****   //  N = A;
5358:armor.c       ****   //  V = 0;
5359:armor.c       ****       memory[U++] = A;
 7812              		.loc 1 5359 0
 7813 7c8b 0FB785CE 		movzwl	-65586(%ebp), %eax
 7813      FFFEFF
 7814 7c92 8D5001   		leal	1(%eax), %edx
 7815 7c95 668995CE 		movw	%dx, -65586(%ebp)
 7815      FFFEFF
 7816 7c9c 0FB7C0   		movzwl	%ax, %eax
 7817 7c9f 8B95E0FF 		movl	-65568(%ebp), %edx
 7817      FEFF
 7818 7ca5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7818      FFFEFF
5360:armor.c       ****       
5361:armor.c       ****             //        STY   ,U++                    ; 085F: 10 AF C1      
5362:armor.c       ****       ea = U; U = U + 2;
 7819              		.loc 1 5362 0
 7820 7cac 0FB785CE 		movzwl	-65586(%ebp), %eax
 7820      FFFEFF
 7821 7cb3 668985D0 		movw	%ax, -65584(%ebp)
 7821      FFFEFF
 7822 7cba 668385CE 		addw	$2, -65586(%ebp)
 7822      FFFEFF02 
5363:armor.c       ****   //  Z = Y;
5364:armor.c       ****   //  N = (Y) >> 8;
5365:armor.c       ****   //  V = 0;
5366:armor.c       ****       memory[ea] = (UINT8)((Y) >> 8);
 7823              		.loc 1 5366 0
 7824 7cc2 0FB785D2 		movzwl	-65582(%ebp), %eax
 7824      FFFEFF
 7825 7cc9 66C1E808 		shrw	$8, %ax
 7826 7ccd 89C2     		movl	%eax, %edx
 7827 7ccf 0FB785D0 		movzwl	-65584(%ebp), %eax
 7827      FFFEFF
 7828 7cd6 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7828      FFFEFF
5367:armor.c       ****       memory[(UINT16)(ea + 1)] = (UINT8)((Y) & 0xff);
 7829              		.loc 1 5367 0
 7830 7cdd 0FB785D0 		movzwl	-65584(%ebp), %eax
 7830      FFFEFF
 7831 7ce4 83C001   		addl	$1, %eax
 7832 7ce7 0FB7C0   		movzwl	%ax, %eax
 7833 7cea 0FB795D2 		movzwl	-65582(%ebp), %edx
 7833      FFFEFF
 7834 7cf1 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7834      FFFEFF
5368:armor.c       ****       
5369:armor.c       ****             //        LDB   #$08                    ; 0862: C6 08         
5370:armor.c       ****       B = (SINT8)0x08;
 7835              		.loc 1 5370 0
 7836 7cf8 C785E4FF 		movl	$8, -65564(%ebp)
 7836      FEFF0800 
 7836      0000
 7837              	.L302:
GAS LISTING /tmp/ccqXEnet.s 			page 307


5371:armor.c       ****   //  N = B;
5372:armor.c       ****   //  Z = B;
5373:armor.c       ****   //  V = 0;
5374:armor.c       ****       
5375:armor.c       ****       L0864://        CLR   ,U+                     ; 0864: 6F C0         
5376:armor.c       ****       memory[U++] = 0;
 7838              		.loc 1 5376 0
 7839 7d02 0FB785CE 		movzwl	-65586(%ebp), %eax
 7839      FFFEFF
 7840 7d09 8D5001   		leal	1(%eax), %edx
 7841 7d0c 668995CE 		movw	%dx, -65586(%ebp)
 7841      FFFEFF
 7842 7d13 0FB7C0   		movzwl	%ax, %eax
 7843 7d16 C68405F4 		movb	$0, -65548(%ebp,%eax)
 7843      FFFEFF00 
5377:armor.c       ****   //  V = 0;
5378:armor.c       ****   //  Z = 0;
5379:armor.c       ****   //  N = 0;
5380:armor.c       ****   //  C = 0;
5381:armor.c       ****       
5382:armor.c       ****             //        DECB                          ; 0866: 5A            
5383:armor.c       ****       res = (UINT8)(B - 1);
 7844              		.loc 1 5383 0
 7845 7d1e 8B85E4FF 		movl	-65564(%ebp), %eax
 7845      FEFF
 7846 7d24 83E801   		subl	$1, %eax
 7847 7d27 0FB6C0   		movzbl	%al, %eax
 7848 7d2a 8985E8FF 		movl	%eax, -65560(%ebp)
 7848      FEFF
5384:armor.c       ****   //  N = res;
5385:armor.c       ****       Z = res;
 7849              		.loc 1 5385 0
 7850 7d30 8B85E8FF 		movl	-65560(%ebp), %eax
 7850      FEFF
 7851 7d36 668985CC 		movw	%ax, -65588(%ebp)
 7851      FFFEFF
5386:armor.c       ****   //  V = B & ~res;
5387:armor.c       ****       B = res;
 7852              		.loc 1 5387 0
 7853 7d3d 8B85E8FF 		movl	-65560(%ebp), %eax
 7853      FEFF
 7854 7d43 8985E4FF 		movl	%eax, -65564(%ebp)
 7854      FEFF
5388:armor.c       ****       
5389:armor.c       ****             //        BNE   $0864                   ; 0867: 26 FB         
5390:armor.c       ****       if (Z) {
 7855              		.loc 1 5390 0
 7856 7d49 6683BDCC 		cmpw	$0, -65588(%ebp)
 7856      FFFEFF00 
 7857 7d51 7409     		je	.L303
5391:armor.c       ****       PC = 0x0864;
 7858              		.loc 1 5391 0
 7859 7d53 66C785CA 		movw	$2148, -65590(%ebp)
 7859      FFFEFF64 
 7859      08
 7860              	.L303:
5392:armor.c       ****       JUMP;
GAS LISTING /tmp/ccqXEnet.s 			page 308


5393:armor.c       ****       }
5394:armor.c       ****       
5395:armor.c       ****             //        LDD   ,S                      ; 0869: EC E4         
5396:armor.c       ****       A = memory[S];
 7861              		.loc 1 5396 0
 7862 7d5c 0FB785C8 		movzwl	-65592(%ebp), %eax
 7862      FFFEFF
 7863 7d63 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7863      F4FFFEFF 
 7864 7d6b 0FB6C0   		movzbl	%al, %eax
 7865 7d6e 8985E0FF 		movl	%eax, -65568(%ebp)
 7865      FEFF
5397:armor.c       ****       B = memory[(UINT16)((S)+1)];
 7866              		.loc 1 5397 0
 7867 7d74 0FB785C8 		movzwl	-65592(%ebp), %eax
 7867      FFFEFF
 7868 7d7b 83C001   		addl	$1, %eax
 7869 7d7e 0FB7C0   		movzwl	%ax, %eax
 7870 7d81 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7870      F4FFFEFF 
 7871 7d89 0FB6C0   		movzbl	%al, %eax
 7872 7d8c 8985E4FF 		movl	%eax, -65564(%ebp)
 7872      FEFF
5398:armor.c       ****   //  Z = A|B;
5399:armor.c       ****   //  N = A;
5400:armor.c       ****   //  V = 0;
5401:armor.c       ****       
5402:armor.c       ****             //        STD   $FFFA,U                 ; 086B: ED 5A         
5403:armor.c       ****   //  Z = A | B;
5404:armor.c       ****   //  N = A;
5405:armor.c       ****   //  V = 0;
5406:armor.c       ****       memory[(UINT16)(U + 0xfffa)] = A;
 7873              		.loc 1 5406 0
 7874 7d92 0FB785CE 		movzwl	-65586(%ebp), %eax
 7874      FFFEFF
 7875 7d99 83E806   		subl	$6, %eax
 7876 7d9c 0FB7C0   		movzwl	%ax, %eax
 7877 7d9f 8B95E0FF 		movl	-65568(%ebp), %edx
 7877      FEFF
 7878 7da5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7878      FFFEFF
5407:armor.c       ****       memory[(UINT16)(U + 0xfffa) + 1] = B;
 7879              		.loc 1 5407 0
 7880 7dac 0FB785CE 		movzwl	-65586(%ebp), %eax
 7880      FFFEFF
 7881 7db3 83E806   		subl	$6, %eax
 7882 7db6 0FB7C0   		movzwl	%ax, %eax
 7883 7db9 83C001   		addl	$1, %eax
 7884 7dbc 8B95E4FF 		movl	-65564(%ebp), %edx
 7884      FEFF
 7885 7dc2 889405F4 		movb	%dl, -65548(%ebp,%eax)
 7885      FFFEFF
5408:armor.c       ****       
5409:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 086D: BD F6 1F      
5410:armor.c       ****       memory[--S] = 0x0870 & 0xff; memory[--S] = 0x0870 >> 8;
 7886              		.loc 1 5410 0
 7887 7dc9 6683ADC8 		subw	$1, -65592(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 309


 7887      FFFEFF01 
 7888 7dd1 0FB785C8 		movzwl	-65592(%ebp), %eax
 7888      FFFEFF
 7889 7dd8 C68405F4 		movb	$112, -65548(%ebp,%eax)
 7889      FFFEFF70 
 7890 7de0 6683ADC8 		subw	$1, -65592(%ebp)
 7890      FFFEFF01 
 7891 7de8 0FB785C8 		movzwl	-65592(%ebp), %eax
 7891      FFFEFF
 7892 7def C68405F4 		movb	$8, -65548(%ebp,%eax)
 7892      FFFEFF08 
5411:armor.c       ****       PC = 0xf61f;
 7893              		.loc 1 5411 0
 7894 7df7 66C785CA 		movw	$-2529, -65590(%ebp)
 7894      FFFEFF1F 
 7894      F6
 7895              	.L304:
5412:armor.c       ****       JUMP;
5413:armor.c       ****       
5414:armor.c       ****       L0870://        LEAY  $0E,Y                   ; 0870: 31 2E         
5415:armor.c       ****       Y = (Y + 0x000e);
 7896              		.loc 1 5415 0
 7897 7e00 668385D2 		addw	$14, -65582(%ebp)
 7897      FFFEFF0E 
5416:armor.c       ****   //  Z = Y;
5417:armor.c       ****       
5418:armor.c       ****             //        PULS  A,B                     ; 0872: 35 06         
5419:armor.c       ****       A = memory[S++];
 7898              		.loc 1 5419 0
 7899 7e08 0FB785C8 		movzwl	-65592(%ebp), %eax
 7899      FFFEFF
 7900 7e0f 8D5001   		leal	1(%eax), %edx
 7901 7e12 668995C8 		movw	%dx, -65592(%ebp)
 7901      FFFEFF
 7902 7e19 0FB7C0   		movzwl	%ax, %eax
 7903 7e1c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7903      F4FFFEFF 
 7904 7e24 0FB6C0   		movzbl	%al, %eax
 7905 7e27 8985E0FF 		movl	%eax, -65568(%ebp)
 7905      FEFF
5420:armor.c       ****       B = memory[S++];
 7906              		.loc 1 5420 0
 7907 7e2d 0FB785C8 		movzwl	-65592(%ebp), %eax
 7907      FFFEFF
 7908 7e34 8D5001   		leal	1(%eax), %edx
 7909 7e37 668995C8 		movw	%dx, -65592(%ebp)
 7909      FFFEFF
 7910 7e3e 0FB7C0   		movzwl	%ax, %eax
 7911 7e41 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7911      F4FFFEFF 
 7912 7e49 0FB6C0   		movzbl	%al, %eax
 7913 7e4c 8985E4FF 		movl	%eax, -65564(%ebp)
 7913      FEFF
5421:armor.c       ****       
5422:armor.c       ****             //        NEGB                          ; 0874: 50            
5423:armor.c       ****   //  V = (UINT8)(-B) & (B);
5424:armor.c       ****       B = (UINT8)(-B);
GAS LISTING /tmp/ccqXEnet.s 			page 310


 7914              		.loc 1 5424 0
 7915 7e52 8B85E4FF 		movl	-65564(%ebp), %eax
 7915      FEFF
 7916 7e58 F7D8     		negl	%eax
 7917 7e5a 0FB6C0   		movzbl	%al, %eax
 7918 7e5d 8985E4FF 		movl	%eax, -65564(%ebp)
 7918      FEFF
5425:armor.c       ****   //  Z = B;
5426:armor.c       ****   //  N = B;
5427:armor.c       ****       C = B;
 7919              		.loc 1 5427 0
 7920 7e63 8B85E4FF 		movl	-65564(%ebp), %eax
 7920      FEFF
 7921 7e69 8985ECFF 		movl	%eax, -65556(%ebp)
 7921      FEFF
5428:armor.c       ****       
5429:armor.c       ****             //        DECA                          ; 0875: 4A            
5430:armor.c       ****       res = (UINT8)(A - 1);
 7922              		.loc 1 5430 0
 7923 7e6f 8B85E0FF 		movl	-65568(%ebp), %eax
 7923      FEFF
 7924 7e75 83E801   		subl	$1, %eax
 7925 7e78 0FB6C0   		movzbl	%al, %eax
 7926 7e7b 8985E8FF 		movl	%eax, -65560(%ebp)
 7926      FEFF
5431:armor.c       ****       N = res;
 7927              		.loc 1 5431 0
 7928 7e81 8B85E8FF 		movl	-65560(%ebp), %eax
 7928      FEFF
 7929 7e87 8885C1FF 		movb	%al, -65599(%ebp)
 7929      FEFF
5432:armor.c       ****       Z = res;
 7930              		.loc 1 5432 0
 7931 7e8d 8B85E8FF 		movl	-65560(%ebp), %eax
 7931      FEFF
 7932 7e93 668985CC 		movw	%ax, -65588(%ebp)
 7932      FFFEFF
5433:armor.c       ****       V = A & ~res;
 7933              		.loc 1 5433 0
 7934 7e9a 8B85E8FF 		movl	-65560(%ebp), %eax
 7934      FEFF
 7935 7ea0 F7D0     		notl	%eax
 7936 7ea2 89C2     		movl	%eax, %edx
 7937 7ea4 8B85E0FF 		movl	-65568(%ebp), %eax
 7937      FEFF
 7938 7eaa 21D0     		andl	%edx, %eax
 7939 7eac 8885C2FF 		movb	%al, -65598(%ebp)
 7939      FEFF
5434:armor.c       ****       A = res;
 7940              		.loc 1 5434 0
 7941 7eb2 8B85E8FF 		movl	-65560(%ebp), %eax
 7941      FEFF
 7942 7eb8 8985E0FF 		movl	%eax, -65568(%ebp)
 7942      FEFF
5435:armor.c       ****       
5436:armor.c       ****             //        BNE   $085B                   ; 0876: 26 E3         
5437:armor.c       ****       if (Z) {
GAS LISTING /tmp/ccqXEnet.s 			page 311


 7943              		.loc 1 5437 0
 7944 7ebe 6683BDCC 		cmpw	$0, -65588(%ebp)
 7944      FFFEFF00 
 7945 7ec6 7409     		je	.L305
5438:armor.c       ****       PC = 0x085b;
 7946              		.loc 1 5438 0
 7947 7ec8 66C785CA 		movw	$2139, -65590(%ebp)
 7947      FFFEFF5B 
 7947      08
 7948              	.L305:
5439:armor.c       ****       JUMP;
5440:armor.c       ****       }
5441:armor.c       ****       
5442:armor.c       ****             //        RTS                           ; 0878: 39            
5443:armor.c       ****       PC = memory[S++]<<8;
 7949              		.loc 1 5443 0
 7950 7ed1 0FB785C8 		movzwl	-65592(%ebp), %eax
 7950      FFFEFF
 7951 7ed8 8D5001   		leal	1(%eax), %edx
 7952 7edb 668995C8 		movw	%dx, -65592(%ebp)
 7952      FFFEFF
 7953 7ee2 0FB7C0   		movzwl	%ax, %eax
 7954 7ee5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7954      F4FFFEFF 
 7955 7eed 0FB6C0   		movzbl	%al, %eax
 7956 7ef0 C1E008   		sall	$8, %eax
 7957 7ef3 668985CA 		movw	%ax, -65590(%ebp)
 7957      FFFEFF
5444:armor.c       ****       PC |= memory[S++];
 7958              		.loc 1 5444 0
 7959 7efa 0FB785C8 		movzwl	-65592(%ebp), %eax
 7959      FFFEFF
 7960 7f01 8D5001   		leal	1(%eax), %edx
 7961 7f04 668995C8 		movw	%dx, -65592(%ebp)
 7961      FFFEFF
 7962 7f0b 0FB7C0   		movzwl	%ax, %eax
 7963 7f0e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 7963      F4FFFEFF 
 7964 7f16 0FB6C0   		movzbl	%al, %eax
 7965 7f19 660985CA 		orw	%ax, -65590(%ebp)
 7965      FFFEFF
 7966              	.L306:
5445:armor.c       ****       JUMP;
5446:armor.c       ****       
5447:armor.c       ****       
5448:armor.c       ****       L0879://        NEGA                          ; 0879: 40            
5449:armor.c       ****       V = (UINT8)(-A) & (A);
 7967              		.loc 1 5449 0
 7968 7f20 8B85E0FF 		movl	-65568(%ebp), %eax
 7968      FEFF
 7969 7f26 F7D8     		negl	%eax
 7970 7f28 89C2     		movl	%eax, %edx
 7971 7f2a 8B85E0FF 		movl	-65568(%ebp), %eax
 7971      FEFF
 7972 7f30 21D0     		andl	%edx, %eax
 7973 7f32 8885C2FF 		movb	%al, -65598(%ebp)
 7973      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 312


5450:armor.c       ****       A = (UINT8)(-A);
 7974              		.loc 1 5450 0
 7975 7f38 8B85E0FF 		movl	-65568(%ebp), %eax
 7975      FEFF
 7976 7f3e F7D8     		negl	%eax
 7977 7f40 0FB6C0   		movzbl	%al, %eax
 7978 7f43 8985E0FF 		movl	%eax, -65568(%ebp)
 7978      FEFF
5451:armor.c       ****   //  Z = A;
5452:armor.c       ****   //  N = A;
5453:armor.c       ****   //  C = A;
5454:armor.c       ****       
5455:armor.c       ****             //        BVC   $088D                   ; 087A: 28 11         
5456:armor.c       ****       if ((SINT8)V >= 0) {
 7979              		.loc 1 5456 0
 7980 7f49 0FB685C2 		movzbl	-65598(%ebp), %eax
 7980      FFFEFF
 7981 7f50 84C0     		testb	%al, %al
 7982 7f52 7809     		js	.L307
5457:armor.c       ****       PC = 0x088d;
 7983              		.loc 1 5457 0
 7984 7f54 66C785CA 		movw	$2189, -65590(%ebp)
 7984      FFFEFF8D 
 7984      08
 7985              	.L307:
5458:armor.c       ****       JUMP;
5459:armor.c       ****       }
5460:armor.c       ****       
5461:armor.c       ****             //        DECA                          ; 087C: 4A            
5462:armor.c       ****       res = (UINT8)(A - 1);
 7986              		.loc 1 5462 0
 7987 7f5d 8B85E0FF 		movl	-65568(%ebp), %eax
 7987      FEFF
 7988 7f63 83E801   		subl	$1, %eax
 7989 7f66 0FB6C0   		movzbl	%al, %eax
 7990 7f69 8985E8FF 		movl	%eax, -65560(%ebp)
 7990      FEFF
5463:armor.c       ****   //  N = res;
5464:armor.c       ****   //  Z = res;
5465:armor.c       ****   //  V = A & ~res;
5466:armor.c       ****       A = res;
 7991              		.loc 1 5466 0
 7992 7f6f 8B85E8FF 		movl	-65560(%ebp), %eax
 7992      FEFF
 7993 7f75 8985E0FF 		movl	%eax, -65568(%ebp)
 7993      FEFF
5467:armor.c       ****       
5468:armor.c       ****             //        CLRB                          ; 087D: 5F            
5469:armor.c       ****       B = 0;
 7994              		.loc 1 5469 0
 7995 7f7b C785E4FF 		movl	$0, -65564(%ebp)
 7995      FEFF0000 
 7995      0000
5470:armor.c       ****   //  V = 0;
5471:armor.c       ****   //  Z = 0;
5472:armor.c       ****   //  N = 0;
5473:armor.c       ****   //  C = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 313


5474:armor.c       ****       
5475:armor.c       ****             //        STD   <$92                    ; 087E: DD 92         
5476:armor.c       ****   //  Z = A | B;
5477:armor.c       ****   //  N = A;
5478:armor.c       ****   //  V = 0;
5479:armor.c       ****       memory_DP[0x92] = A;
 7996              		.loc 1 5479 0
 7997 7f85 8B85DCFF 		movl	-65572(%ebp), %eax
 7997      FEFF
 7998 7f8b 05920000 		addl	$146, %eax
 7998      00
 7999 7f90 8B95E0FF 		movl	-65568(%ebp), %edx
 7999      FEFF
 8000 7f96 8810     		movb	%dl, (%eax)
5480:armor.c       ****       memory_DP[0x92 + 1] = B;
 8001              		.loc 1 5480 0
 8002 7f98 8B85DCFF 		movl	-65572(%ebp), %eax
 8002      FEFF
 8003 7f9e 05930000 		addl	$147, %eax
 8003      00
 8004 7fa3 8B95E4FF 		movl	-65564(%ebp), %edx
 8004      FEFF
 8005 7fa9 8810     		movb	%dl, (%eax)
5481:armor.c       ****       
5482:armor.c       ****             //        ASR   <$A3                    ; 0880: 07 A3         
5483:armor.c       ****   //  C = memory_DP[0xa3] & 1;
5484:armor.c       ****       memory_DP[0xa3] = (UINT8)(memory_DP[0xa3] >> 1);
 8006              		.loc 1 5484 0
 8007 7fab 8B85DCFF 		movl	-65572(%ebp), %eax
 8007      FEFF
 8008 7fb1 05A30000 		addl	$163, %eax
 8008      00
 8009 7fb6 0FB610   		movzbl	(%eax), %edx
 8010 7fb9 8B85DCFF 		movl	-65572(%ebp), %eax
 8010      FEFF
 8011 7fbf 05A30000 		addl	$163, %eax
 8011      00
 8012 7fc4 D0EA     		shrb	%dl
 8013 7fc6 8810     		movb	%dl, (%eax)
5485:armor.c       ****   //  Z = memory_DP[0xa3];
5486:armor.c       ****   //  N = memory_DP[0xa3];
5487:armor.c       ****       
5488:armor.c       ****             //        ASR   <$A4                    ; 0882: 07 A4         
5489:armor.c       ****   //  C = memory_DP[0xa4] & 1;
5490:armor.c       ****       memory_DP[0xa4] = (UINT8)(memory_DP[0xa4] >> 1);
 8014              		.loc 1 5490 0
 8015 7fc8 8B85DCFF 		movl	-65572(%ebp), %eax
 8015      FEFF
 8016 7fce 05A40000 		addl	$164, %eax
 8016      00
 8017 7fd3 0FB610   		movzbl	(%eax), %edx
 8018 7fd6 8B85DCFF 		movl	-65572(%ebp), %eax
 8018      FEFF
 8019 7fdc 05A40000 		addl	$164, %eax
 8019      00
 8020 7fe1 D0EA     		shrb	%dl
 8021 7fe3 8810     		movb	%dl, (%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 314


5491:armor.c       ****   //  Z = memory_DP[0xa4];
5492:armor.c       ****   //  N = memory_DP[0xa4];
5493:armor.c       ****       
5494:armor.c       ****             //        DECB                          ; 0884: 5A            
5495:armor.c       ****       res = (UINT8)(B - 1);
 8022              		.loc 1 5495 0
 8023 7fe5 8B85E4FF 		movl	-65564(%ebp), %eax
 8023      FEFF
 8024 7feb 83E801   		subl	$1, %eax
 8025 7fee 0FB6C0   		movzbl	%al, %eax
 8026 7ff1 8985E8FF 		movl	%eax, -65560(%ebp)
 8026      FEFF
5496:armor.c       ****   //  N = res;
5497:armor.c       ****   //  Z = res;
5498:armor.c       ****   //  V = B & ~res;
5499:armor.c       ****       B = res;
 8027              		.loc 1 5499 0
 8028 7ff7 8B85E8FF 		movl	-65560(%ebp), %eax
 8028      FEFF
 8029 7ffd 8985E4FF 		movl	%eax, -65564(%ebp)
 8029      FEFF
5500:armor.c       ****       
5501:armor.c       ****             //        STB   <$EF                    ; 0885: D7 EF         
5502:armor.c       ****   //  Z = B;
5503:armor.c       ****   //  N = B;
5504:armor.c       ****   //  V = 0;
5505:armor.c       ****       memory_DP[0xef] = B;
 8030              		.loc 1 5505 0
 8031 8003 8B85DCFF 		movl	-65572(%ebp), %eax
 8031      FEFF
 8032 8009 05EF0000 		addl	$239, %eax
 8032      00
 8033 800e 8B95E4FF 		movl	-65564(%ebp), %edx
 8033      FEFF
 8034 8014 8810     		movb	%dl, (%eax)
5506:armor.c       ****       
5507:armor.c       ****             //        LDA   #$80                    ; 0887: 86 80         
5508:armor.c       ****       A = (SINT8)0x80;
 8035              		.loc 1 5508 0
 8036 8016 C785E0FF 		movl	$-128, -65568(%ebp)
 8036      FEFF80FF 
 8036      FFFF
5509:armor.c       ****   //  N = A;
5510:armor.c       ****   //  Z = A;
5511:armor.c       ****   //  V = 0;
5512:armor.c       ****       
5513:armor.c       ****             //        ORA   <$67                    ; 0889: 9A 67         
5514:armor.c       ****       A = A | memory_DP[0x67];
 8037              		.loc 1 5514 0
 8038 8020 8B85DCFF 		movl	-65572(%ebp), %eax
 8038      FEFF
 8039 8026 83C067   		addl	$103, %eax
 8040 8029 0FB600   		movzbl	(%eax), %eax
 8041 802c 0FB6C0   		movzbl	%al, %eax
 8042 802f 0985E0FF 		orl	%eax, -65568(%ebp)
 8042      FEFF
5515:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 315


5516:armor.c       ****   //  N = A;
5517:armor.c       ****   //  V = 0;
5518:armor.c       ****       
5519:armor.c       ****             //        STA   <$67                    ; 088B: 97 67         
5520:armor.c       ****   //  Z = A;
5521:armor.c       ****   //  N = A;
5522:armor.c       ****   //  V = 0;
5523:armor.c       ****       memory_DP[0x67] = A;
 8043              		.loc 1 5523 0
 8044 8035 8B85DCFF 		movl	-65572(%ebp), %eax
 8044      FEFF
 8045 803b 83C067   		addl	$103, %eax
 8046 803e 8B95E0FF 		movl	-65568(%ebp), %edx
 8046      FEFF
 8047 8044 8810     		movb	%dl, (%eax)
 8048              	.L308:
5524:armor.c       ****       
5525:armor.c       ****       L088D://        INC   <$94                    ; 088D: 0C 94         
5526:armor.c       ****       res = (UINT8)((memory_DP[0x94]) + 1);
 8049              		.loc 1 5526 0
 8050 8046 8B85DCFF 		movl	-65572(%ebp), %eax
 8050      FEFF
 8051 804c 05940000 		addl	$148, %eax
 8051      00
 8052 8051 0FB600   		movzbl	(%eax), %eax
 8053 8054 83C001   		addl	$1, %eax
 8054 8057 0FB6C0   		movzbl	%al, %eax
 8055 805a 8985E8FF 		movl	%eax, -65560(%ebp)
 8055      FEFF
5527:armor.c       ****       Z = res;
 8056              		.loc 1 5527 0
 8057 8060 8B85E8FF 		movl	-65560(%ebp), %eax
 8057      FEFF
 8058 8066 668985CC 		movw	%ax, -65588(%ebp)
 8058      FFFEFF
5528:armor.c       ****   //  N = res;
5529:armor.c       ****   //  V = res & ~(memory_DP[0x94]);
5530:armor.c       ****       memory_DP[0x94] = res;
 8059              		.loc 1 5530 0
 8060 806d 8B85DCFF 		movl	-65572(%ebp), %eax
 8060      FEFF
 8061 8073 05940000 		addl	$148, %eax
 8061      00
 8062 8078 8B95E8FF 		movl	-65560(%ebp), %edx
 8062      FEFF
 8063 807e 8810     		movb	%dl, (%eax)
5531:armor.c       ****       
5532:armor.c       ****             //        BNE   $089A                   ; 088F: 26 09         
5533:armor.c       ****       if (Z) {
 8064              		.loc 1 5533 0
 8065 8080 6683BDCC 		cmpw	$0, -65588(%ebp)
 8065      FFFEFF00 
 8066 8088 7409     		je	.L309
5534:armor.c       ****       PC = 0x089a;
 8067              		.loc 1 5534 0
 8068 808a 66C785CA 		movw	$2202, -65590(%ebp)
 8068      FFFEFF9A 
GAS LISTING /tmp/ccqXEnet.s 			page 316


 8068      08
 8069              	.L309:
5535:armor.c       ****       JUMP;
5536:armor.c       ****       }
5537:armor.c       ****       
5538:armor.c       ****             //        CLR   <$EF                    ; 0891: 0F EF         
5539:armor.c       ****       memory_DP[0xef] = 0;
 8070              		.loc 1 5539 0
 8071 8093 8B85DCFF 		movl	-65572(%ebp), %eax
 8071      FEFF
 8072 8099 05EF0000 		addl	$239, %eax
 8072      00
 8073 809e C60000   		movb	$0, (%eax)
5540:armor.c       ****   //  V = 0;
5541:armor.c       ****   //  Z = 0;
5542:armor.c       ****   //  N = 0;
5543:armor.c       ****       C = 0;
 8074              		.loc 1 5543 0
 8075 80a1 C785ECFF 		movl	$0, -65556(%ebp)
 8075      FEFF0000 
 8075      0000
5544:armor.c       ****       
5545:armor.c       ****             //        LDA   #$F7                    ; 0893: 86 F7         
5546:armor.c       ****       A = (SINT8)0xf7;
 8076              		.loc 1 5546 0
 8077 80ab C785E0FF 		movl	$-9, -65568(%ebp)
 8077      FEFFF7FF 
 8077      FFFF
5547:armor.c       ****   //  N = A;
5548:armor.c       ****   //  Z = A;
5549:armor.c       ****   //  V = 0;
5550:armor.c       ****       
5551:armor.c       ****             //        ANDA  <$67                    ; 0895: 94 67         
5552:armor.c       ****       A = A & memory_DP[0x67];
 8078              		.loc 1 5552 0
 8079 80b5 8B85DCFF 		movl	-65572(%ebp), %eax
 8079      FEFF
 8080 80bb 83C067   		addl	$103, %eax
 8081 80be 0FB600   		movzbl	(%eax), %eax
 8082 80c1 0FB6C0   		movzbl	%al, %eax
 8083 80c4 2185E0FF 		andl	%eax, -65568(%ebp)
 8083      FEFF
5553:armor.c       ****   //  Z = A;
5554:armor.c       ****   //  N = A;
5555:armor.c       ****   //  V = 0;
5556:armor.c       ****       
5557:armor.c       ****             //        STA   <$67                    ; 0897: 97 67         
5558:armor.c       ****       Z = A;
 8084              		.loc 1 5558 0
 8085 80ca 8B85E0FF 		movl	-65568(%ebp), %eax
 8085      FEFF
 8086 80d0 668985CC 		movw	%ax, -65588(%ebp)
 8086      FFFEFF
5559:armor.c       ****       N = A;
 8087              		.loc 1 5559 0
 8088 80d7 8B85E0FF 		movl	-65568(%ebp), %eax
 8088      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 317


 8089 80dd 8885C1FF 		movb	%al, -65599(%ebp)
 8089      FEFF
5560:armor.c       ****       V = 0;
 8090              		.loc 1 5560 0
 8091 80e3 C685C2FF 		movb	$0, -65598(%ebp)
 8091      FEFF00
5561:armor.c       ****       memory_DP[0x67] = A;
 8092              		.loc 1 5561 0
 8093 80ea 8B85DCFF 		movl	-65572(%ebp), %eax
 8093      FEFF
 8094 80f0 83C067   		addl	$103, %eax
 8095 80f3 8B95E0FF 		movl	-65568(%ebp), %edx
 8095      FEFF
 8096 80f9 8810     		movb	%dl, (%eax)
5562:armor.c       ****       
5563:armor.c       ****             //        RTS                           ; 0899: 39            
5564:armor.c       ****       PC = memory[S++]<<8;
 8097              		.loc 1 5564 0
 8098 80fb 0FB785C8 		movzwl	-65592(%ebp), %eax
 8098      FFFEFF
 8099 8102 8D5001   		leal	1(%eax), %edx
 8100 8105 668995C8 		movw	%dx, -65592(%ebp)
 8100      FFFEFF
 8101 810c 0FB7C0   		movzwl	%ax, %eax
 8102 810f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8102      F4FFFEFF 
 8103 8117 0FB6C0   		movzbl	%al, %eax
 8104 811a C1E008   		sall	$8, %eax
 8105 811d 668985CA 		movw	%ax, -65590(%ebp)
 8105      FFFEFF
5565:armor.c       ****       PC |= memory[S++];
 8106              		.loc 1 5565 0
 8107 8124 0FB785C8 		movzwl	-65592(%ebp), %eax
 8107      FFFEFF
 8108 812b 8D5001   		leal	1(%eax), %edx
 8109 812e 668995C8 		movw	%dx, -65592(%ebp)
 8109      FFFEFF
 8110 8135 0FB7C0   		movzwl	%ax, %eax
 8111 8138 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8111      F4FFFEFF 
 8112 8140 0FB6C0   		movzbl	%al, %eax
 8113 8143 660985CA 		orw	%ax, -65590(%ebp)
 8113      FFFEFF
 8114              	.L310:
5566:armor.c       ****       JUMP;
5567:armor.c       ****       
5568:armor.c       ****       
5569:armor.c       ****       L089A://        RORA                          ; 089A: 46            
5570:armor.c       ****       res = A;
 8115              		.loc 1 5570 0
 8116 814a 8B85E0FF 		movl	-65568(%ebp), %eax
 8116      FEFF
 8117 8150 8985E8FF 		movl	%eax, -65560(%ebp)
 8117      FEFF
5571:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 8118              		.loc 1 5571 0
 8119 8156 83BDECFF 		cmpl	$0, -65556(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 318


 8119      FEFF00
 8120 815d 0F95C0   		setne	%al
 8121 8160 0FB6C0   		movzbl	%al, %eax
 8122 8163 0B85E8FF 		orl	-65560(%ebp), %eax
 8122      FEFF
 8123 8169 85C0     		testl	%eax, %eax
 8124 816b 7407     		je	.L311
 8125              		.loc 1 5571 0 is_stmt 0 discriminator 1
 8126 816d B8000100 		movl	$256, %eax
 8126      00
 8127 8172 EB05     		jmp	.L312
 8128              	.L311:
 8129              		.loc 1 5571 0 discriminator 2
 8130 8174 B8000000 		movl	$0, %eax
 8130      00
 8131              	.L312:
 8132              		.loc 1 5571 0 discriminator 4
 8133 8179 8985E8FF 		movl	%eax, -65560(%ebp)
 8133      FEFF
5572:armor.c       ****       C = res & 1;
 8134              		.loc 1 5572 0 is_stmt 1 discriminator 4
 8135 817f 8B85E8FF 		movl	-65560(%ebp), %eax
 8135      FEFF
 8136 8185 83E001   		andl	$1, %eax
 8137 8188 8985ECFF 		movl	%eax, -65556(%ebp)
 8137      FEFF
5573:armor.c       ****       res = res >> 1;
 8138              		.loc 1 5573 0 discriminator 4
 8139 818e D1BDE8FF 		sarl	-65560(%ebp)
 8139      FEFF
5574:armor.c       ****   //  Z = res;
5575:armor.c       ****   //  N = res;
5576:armor.c       ****       A = res;
 8140              		.loc 1 5576 0 discriminator 4
 8141 8194 8B85E8FF 		movl	-65560(%ebp), %eax
 8141      FEFF
 8142 819a 8985E0FF 		movl	%eax, -65568(%ebp)
 8142      FEFF
5577:armor.c       ****       
5578:armor.c       ****             //        BCC   $08B7                   ; 089B: 24 1A         
5579:armor.c       ****       if (!C) {
 8143              		.loc 1 5579 0 discriminator 4
 8144 81a0 83BDECFF 		cmpl	$0, -65556(%ebp)
 8144      FEFF00
 8145 81a7 7509     		jne	.L313
5580:armor.c       ****       PC = 0x08b7;
 8146              		.loc 1 5580 0
 8147 81a9 66C785CA 		movw	$2231, -65590(%ebp)
 8147      FFFEFFB7 
 8147      08
 8148              	.L313:
5581:armor.c       ****       JUMP;
5582:armor.c       ****       }
5583:armor.c       ****       
5584:armor.c       ****             //        INC   <$A5                    ; 089D: 0C A5         
5585:armor.c       ****       res = (UINT8)((memory_DP[0xa5]) + 1);
 8149              		.loc 1 5585 0
GAS LISTING /tmp/ccqXEnet.s 			page 319


 8150 81b2 8B85DCFF 		movl	-65572(%ebp), %eax
 8150      FEFF
 8151 81b8 05A50000 		addl	$165, %eax
 8151      00
 8152 81bd 0FB600   		movzbl	(%eax), %eax
 8153 81c0 83C001   		addl	$1, %eax
 8154 81c3 0FB6C0   		movzbl	%al, %eax
 8155 81c6 8985E8FF 		movl	%eax, -65560(%ebp)
 8155      FEFF
5586:armor.c       ****   //  Z = res;
5587:armor.c       ****   //  N = res;
5588:armor.c       ****   //  V = res & ~(memory_DP[0xa5]);
5589:armor.c       ****       memory_DP[0xa5] = res;
 8156              		.loc 1 5589 0
 8157 81cc 8B85DCFF 		movl	-65572(%ebp), %eax
 8157      FEFF
 8158 81d2 05A50000 		addl	$165, %eax
 8158      00
 8159 81d7 8B95E8FF 		movl	-65560(%ebp), %edx
 8159      FEFF
 8160 81dd 8810     		movb	%dl, (%eax)
5590:armor.c       ****       
5591:armor.c       ****             //        DEC   <$A6                    ; 089F: 0A A6         
5592:armor.c       ****       res = (UINT8)(memory_DP[0xa6] - 1);
 8161              		.loc 1 5592 0
 8162 81df 8B85DCFF 		movl	-65572(%ebp), %eax
 8162      FEFF
 8163 81e5 05A60000 		addl	$166, %eax
 8163      00
 8164 81ea 0FB600   		movzbl	(%eax), %eax
 8165 81ed 83E801   		subl	$1, %eax
 8166 81f0 0FB6C0   		movzbl	%al, %eax
 8167 81f3 8985E8FF 		movl	%eax, -65560(%ebp)
 8167      FEFF
5593:armor.c       ****   //  N = res;
5594:armor.c       ****   //  Z = res;
5595:armor.c       ****   //  V = memory_DP[0xa6] & ~res;
5596:armor.c       ****       memory_DP[0xa6] = res;
 8168              		.loc 1 5596 0
 8169 81f9 8B85DCFF 		movl	-65572(%ebp), %eax
 8169      FEFF
 8170 81ff 05A60000 		addl	$166, %eax
 8170      00
 8171 8204 8B95E8FF 		movl	-65560(%ebp), %edx
 8171      FEFF
 8172 820a 8810     		movb	%dl, (%eax)
5597:armor.c       ****       
5598:armor.c       ****             //        RORA                          ; 08A1: 46            
5599:armor.c       ****       res = A;
 8173              		.loc 1 5599 0
 8174 820c 8B85E0FF 		movl	-65568(%ebp), %eax
 8174      FEFF
 8175 8212 8985E8FF 		movl	%eax, -65560(%ebp)
 8175      FEFF
5600:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 8176              		.loc 1 5600 0
 8177 8218 83BDECFF 		cmpl	$0, -65556(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 320


 8177      FEFF00
 8178 821f 0F95C0   		setne	%al
 8179 8222 0FB6C0   		movzbl	%al, %eax
 8180 8225 0B85E8FF 		orl	-65560(%ebp), %eax
 8180      FEFF
 8181 822b 85C0     		testl	%eax, %eax
 8182 822d 7407     		je	.L314
 8183              		.loc 1 5600 0 is_stmt 0 discriminator 1
 8184 822f B8000100 		movl	$256, %eax
 8184      00
 8185 8234 EB05     		jmp	.L315
 8186              	.L314:
 8187              		.loc 1 5600 0 discriminator 2
 8188 8236 B8000000 		movl	$0, %eax
 8188      00
 8189              	.L315:
 8190              		.loc 1 5600 0 discriminator 4
 8191 823b 8985E8FF 		movl	%eax, -65560(%ebp)
 8191      FEFF
5601:armor.c       ****       C = res & 1;
 8192              		.loc 1 5601 0 is_stmt 1 discriminator 4
 8193 8241 8B85E8FF 		movl	-65560(%ebp), %eax
 8193      FEFF
 8194 8247 83E001   		andl	$1, %eax
 8195 824a 8985ECFF 		movl	%eax, -65556(%ebp)
 8195      FEFF
5602:armor.c       ****       res = res >> 1;
 8196              		.loc 1 5602 0 discriminator 4
 8197 8250 D1BDE8FF 		sarl	-65560(%ebp)
 8197      FEFF
5603:armor.c       ****   //  Z = res;
5604:armor.c       ****   //  N = res;
5605:armor.c       ****       A = res;
 8198              		.loc 1 5605 0 discriminator 4
 8199 8256 8B85E8FF 		movl	-65560(%ebp), %eax
 8199      FEFF
 8200 825c 8985E0FF 		movl	%eax, -65568(%ebp)
 8200      FEFF
5606:armor.c       ****       
5607:armor.c       ****             //        BCC   $08A8                   ; 08A2: 24 04         
5608:armor.c       ****       if (!C) {
 8201              		.loc 1 5608 0 discriminator 4
 8202 8262 83BDECFF 		cmpl	$0, -65556(%ebp)
 8202      FEFF00
 8203 8269 7509     		jne	.L316
5609:armor.c       ****       PC = 0x08a8;
 8204              		.loc 1 5609 0
 8205 826b 66C785CA 		movw	$2216, -65590(%ebp)
 8205      FFFEFFA8 
 8205      08
 8206              	.L316:
5610:armor.c       ****       JUMP;
5611:armor.c       ****       }
5612:armor.c       ****       
5613:armor.c       ****             //        DEC   <$92                    ; 08A4: 0A 92         
5614:armor.c       ****       res = (UINT8)(memory_DP[0x92] - 1);
 8207              		.loc 1 5614 0
GAS LISTING /tmp/ccqXEnet.s 			page 321


 8208 8274 8B85DCFF 		movl	-65572(%ebp), %eax
 8208      FEFF
 8209 827a 05920000 		addl	$146, %eax
 8209      00
 8210 827f 0FB600   		movzbl	(%eax), %eax
 8211 8282 83E801   		subl	$1, %eax
 8212 8285 0FB6C0   		movzbl	%al, %eax
 8213 8288 8985E8FF 		movl	%eax, -65560(%ebp)
 8213      FEFF
5615:armor.c       ****   //  N = res;
5616:armor.c       ****   //  Z = res;
5617:armor.c       ****   //  V = memory_DP[0x92] & ~res;
5618:armor.c       ****       memory_DP[0x92] = res;
 8214              		.loc 1 5618 0
 8215 828e 8B85DCFF 		movl	-65572(%ebp), %eax
 8215      FEFF
 8216 8294 05920000 		addl	$146, %eax
 8216      00
 8217 8299 8B95E8FF 		movl	-65560(%ebp), %edx
 8217      FEFF
 8218 829f 8810     		movb	%dl, (%eax)
5619:armor.c       ****       
5620:armor.c       ****             //        INC   <$93                    ; 08A6: 0C 93         
5621:armor.c       ****       res = (UINT8)((memory_DP[0x93]) + 1);
 8219              		.loc 1 5621 0
 8220 82a1 8B85DCFF 		movl	-65572(%ebp), %eax
 8220      FEFF
 8221 82a7 05930000 		addl	$147, %eax
 8221      00
 8222 82ac 0FB600   		movzbl	(%eax), %eax
 8223 82af 83C001   		addl	$1, %eax
 8224 82b2 0FB6C0   		movzbl	%al, %eax
 8225 82b5 8985E8FF 		movl	%eax, -65560(%ebp)
 8225      FEFF
5622:armor.c       ****   //  Z = res;
5623:armor.c       ****   //  N = res;
5624:armor.c       ****   //  V = res & ~(memory_DP[0x93]);
5625:armor.c       ****       memory_DP[0x93] = res;
 8226              		.loc 1 5625 0
 8227 82bb 8B85DCFF 		movl	-65572(%ebp), %eax
 8227      FEFF
 8228 82c1 05930000 		addl	$147, %eax
 8228      00
 8229 82c6 8B95E8FF 		movl	-65560(%ebp), %edx
 8229      FEFF
 8230 82cc 8810     		movb	%dl, (%eax)
 8231              	.L317:
5626:armor.c       ****       
5627:armor.c       ****       L08A8://        LDA   <$A6                    ; 08A8: 96 A6         
5628:armor.c       ****       A = memory_DP[0xa6];
 8232              		.loc 1 5628 0
 8233 82ce 8B85DCFF 		movl	-65572(%ebp), %eax
 8233      FEFF
 8234 82d4 05A60000 		addl	$166, %eax
 8234      00
 8235 82d9 0FB600   		movzbl	(%eax), %eax
 8236 82dc 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 322


 8237 82df 8985E0FF 		movl	%eax, -65568(%ebp)
 8237      FEFF
5629:armor.c       ****   //  N = A;
5630:armor.c       ****   //  Z = A;
5631:armor.c       ****   //  V = 0;
5632:armor.c       ****       
5633:armor.c       ****             //        LEAU  $0A,X                   ; 08AA: 33 0A         
5634:armor.c       ****       U = (X + 0x000a);
 8238              		.loc 1 5634 0
 8239 82e5 0FB785C6 		movzwl	-65594(%ebp), %eax
 8239      FFFEFF
 8240 82ec 83C00A   		addl	$10, %eax
 8241 82ef 668985CE 		movw	%ax, -65586(%ebp)
 8241      FFFEFF
5635:armor.c       ****       
5636:armor.c       ****             //        LDX   #$0FCE                  ; 08AC: 8E 0F CE      
5637:armor.c       ****       X = 0x0fce;
 8242              		.loc 1 5637 0
 8243 82f6 66C785C6 		movw	$4046, -65594(%ebp)
 8243      FFFEFFCE 
 8243      0F
5638:armor.c       ****   //  Z = X;
5639:armor.c       ****   //  N = (X) >> 8;
5640:armor.c       ****   //  V = 0;
5641:armor.c       ****       
5642:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 08AF: BD F6 1F      
5643:armor.c       ****       memory[--S] = 0x08b2 & 0xff; memory[--S] = 0x08b2 >> 8;
 8244              		.loc 1 5643 0
 8245 82ff 6683ADC8 		subw	$1, -65592(%ebp)
 8245      FFFEFF01 
 8246 8307 0FB785C8 		movzwl	-65592(%ebp), %eax
 8246      FFFEFF
 8247 830e C68405F4 		movb	$-78, -65548(%ebp,%eax)
 8247      FFFEFFB2 
 8248 8316 6683ADC8 		subw	$1, -65592(%ebp)
 8248      FFFEFF01 
 8249 831e 0FB785C8 		movzwl	-65592(%ebp), %eax
 8249      FFFEFF
 8250 8325 C68405F4 		movb	$8, -65548(%ebp,%eax)
 8250      FFFEFF08 
5644:armor.c       ****       PC = 0xf61f;
 8251              		.loc 1 5644 0
 8252 832d 66C785CA 		movw	$-2529, -65590(%ebp)
 8252      FFFEFF1F 
 8252      F6
 8253              	.L318:
5645:armor.c       ****       JUMP;
5646:armor.c       ****       
5647:armor.c       ****       L08B2://        LDA   <$A6                    ; 08B2: 96 A6         
5648:armor.c       ****       A = memory_DP[0xa6];
 8254              		.loc 1 5648 0
 8255 8336 8B85DCFF 		movl	-65572(%ebp), %eax
 8255      FEFF
 8256 833c 05A60000 		addl	$166, %eax
 8256      00
 8257 8341 0FB600   		movzbl	(%eax), %eax
 8258 8344 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 323


 8259 8347 8985E0FF 		movl	%eax, -65568(%ebp)
 8259      FEFF
5649:armor.c       ****       N = A;
 8260              		.loc 1 5649 0
 8261 834d 8B85E0FF 		movl	-65568(%ebp), %eax
 8261      FEFF
 8262 8353 8885C1FF 		movb	%al, -65599(%ebp)
 8262      FEFF
5650:armor.c       ****       Z = A;
 8263              		.loc 1 5650 0
 8264 8359 8B85E0FF 		movl	-65568(%ebp), %eax
 8264      FEFF
 8265 835f 668985CC 		movw	%ax, -65588(%ebp)
 8265      FFFEFF
5651:armor.c       ****       V = 0;
 8266              		.loc 1 5651 0
 8267 8366 C685C2FF 		movb	$0, -65598(%ebp)
 8267      FEFF00
5652:armor.c       ****       
5653:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 08B4: BD F6 1F      
5654:armor.c       ****       memory[--S] = 0x08b7 & 0xff; memory[--S] = 0x08b7 >> 8;
 8268              		.loc 1 5654 0
 8269 836d 6683ADC8 		subw	$1, -65592(%ebp)
 8269      FFFEFF01 
 8270 8375 0FB785C8 		movzwl	-65592(%ebp), %eax
 8270      FFFEFF
 8271 837c C68405F4 		movb	$-73, -65548(%ebp,%eax)
 8271      FFFEFFB7 
 8272 8384 6683ADC8 		subw	$1, -65592(%ebp)
 8272      FFFEFF01 
 8273 838c 0FB785C8 		movzwl	-65592(%ebp), %eax
 8273      FFFEFF
 8274 8393 C68405F4 		movb	$8, -65548(%ebp,%eax)
 8274      FFFEFF08 
5655:armor.c       ****       PC = 0xf61f;
 8275              		.loc 1 5655 0
 8276 839b 66C785CA 		movw	$-2529, -65590(%ebp)
 8276      FFFEFF1F 
 8276      F6
 8277              	.L319:
5656:armor.c       ****       JUMP;
5657:armor.c       ****       
5658:armor.c       ****       L08B7://        JMP   $0965                   ; 08B7: 7E 09 65      
5659:armor.c       ****       PC = 0x0965;
 8278              		.loc 1 5659 0
 8279 83a4 66C785CA 		movw	$2405, -65590(%ebp)
 8279      FFFEFF65 
 8279      09
 8280              	.L320:
5660:armor.c       ****       JUMP;
5661:armor.c       ****       
5662:armor.c       ****       
5663:armor.c       ****       L08BA://        LDX   <$30                    ; 08BA: 9E 30         
5664:armor.c       ****       X = ((memory_DP[0x30]<<8)|memory_DP[0x30 + 1]);
 8281              		.loc 1 5664 0
 8282 83ad 8B85DCFF 		movl	-65572(%ebp), %eax
 8282      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 324


 8283 83b3 83C030   		addl	$48, %eax
 8284 83b6 0FB600   		movzbl	(%eax), %eax
 8285 83b9 0FB6C0   		movzbl	%al, %eax
 8286 83bc C1E008   		sall	$8, %eax
 8287 83bf 89C2     		movl	%eax, %edx
 8288 83c1 8B85DCFF 		movl	-65572(%ebp), %eax
 8288      FEFF
 8289 83c7 83C031   		addl	$49, %eax
 8290 83ca 0FB600   		movzbl	(%eax), %eax
 8291 83cd 0FB6C0   		movzbl	%al, %eax
 8292 83d0 09D0     		orl	%edx, %eax
 8293 83d2 668985C6 		movw	%ax, -65594(%ebp)
 8293      FFFEFF
5665:armor.c       ****       Z = X;
 8294              		.loc 1 5665 0
 8295 83d9 0FB785C6 		movzwl	-65594(%ebp), %eax
 8295      FFFEFF
 8296 83e0 668985CC 		movw	%ax, -65588(%ebp)
 8296      FFFEFF
5666:armor.c       ****   //  N = (X) >> 8;
5667:armor.c       ****   //  V = 0;
5668:armor.c       ****       
5669:armor.c       ****             //        BEQ   $0911                   ; 08BC: 27 53         
5670:armor.c       ****       if (!Z) {
 8297              		.loc 1 5670 0
 8298 83e7 6683BDCC 		cmpw	$0, -65588(%ebp)
 8298      FFFEFF00 
 8299 83ef 7509     		jne	.L321
5671:armor.c       ****       PC = 0x0911;
 8300              		.loc 1 5671 0
 8301 83f1 66C785CA 		movw	$2321, -65590(%ebp)
 8301      FFFEFF11 
 8301      09
 8302              	.L321:
5672:armor.c       ****       JUMP;
5673:armor.c       ****       }
5674:armor.c       ****       
5675:armor.c       ****             //        LEAX  $FFFF,X                 ; 08BE: 30 1F         
5676:armor.c       ****       X = (X + 0xffff);
 8303              		.loc 1 5676 0
 8304 83fa 6683ADC6 		subw	$1, -65594(%ebp)
 8304      FFFEFF01 
5677:armor.c       ****   //  Z = X;
5678:armor.c       ****       
5679:armor.c       ****             //        STX   <$30                    ; 08C0: 9F 30         
5680:armor.c       ****       Z = X;
 8305              		.loc 1 5680 0
 8306 8402 0FB785C6 		movzwl	-65594(%ebp), %eax
 8306      FFFEFF
 8307 8409 668985CC 		movw	%ax, -65588(%ebp)
 8307      FFFEFF
5681:armor.c       ****   //  N = (X) >> 8;
5682:armor.c       ****   //  V = 0;
5683:armor.c       ****       memory_DP[0x30] = (UINT8)((X) >> 8);
 8308              		.loc 1 5683 0
 8309 8410 0FB785C6 		movzwl	-65594(%ebp), %eax
 8309      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 325


 8310 8417 66C1E808 		shrw	$8, %ax
 8311 841b 89C2     		movl	%eax, %edx
 8312 841d 8B85DCFF 		movl	-65572(%ebp), %eax
 8312      FEFF
 8313 8423 83C030   		addl	$48, %eax
 8314 8426 8810     		movb	%dl, (%eax)
5684:armor.c       ****       memory_DP[(UINT16)(0x30 + 1)] = (UINT8)((X) & 0xff);
 8315              		.loc 1 5684 0
 8316 8428 8B85DCFF 		movl	-65572(%ebp), %eax
 8316      FEFF
 8317 842e 83C031   		addl	$49, %eax
 8318 8431 0FB795C6 		movzwl	-65594(%ebp), %edx
 8318      FFFEFF
 8319 8438 8810     		movb	%dl, (%eax)
5685:armor.c       ****       
5686:armor.c       ****             //        BNE   $0910                   ; 08C2: 26 4C         
5687:armor.c       ****       if (Z) {
 8320              		.loc 1 5687 0
 8321 843a 6683BDCC 		cmpw	$0, -65588(%ebp)
 8321      FFFEFF00 
 8322 8442 7409     		je	.L322
5688:armor.c       ****       PC = 0x0910;
 8323              		.loc 1 5688 0
 8324 8444 66C785CA 		movw	$2320, -65590(%ebp)
 8324      FFFEFF10 
 8324      09
 8325              	.L322:
5689:armor.c       ****       JUMP;
5690:armor.c       ****       }
5691:armor.c       ****       
5692:armor.c       ****             //        LDA   #$F7                    ; 08C4: 86 F7         
5693:armor.c       ****       A = (SINT8)0xf7;
 8326              		.loc 1 5693 0
 8327 844d C785E0FF 		movl	$-9, -65568(%ebp)
 8327      FEFFF7FF 
 8327      FFFF
5694:armor.c       ****   //  N = A;
5695:armor.c       ****   //  Z = A;
5696:armor.c       ****   //  V = 0;
5697:armor.c       ****       
5698:armor.c       ****             //        ANDA  <$67                    ; 08C6: 94 67         
5699:armor.c       ****       A = A & memory_DP[0x67];
 8328              		.loc 1 5699 0
 8329 8457 8B85DCFF 		movl	-65572(%ebp), %eax
 8329      FEFF
 8330 845d 83C067   		addl	$103, %eax
 8331 8460 0FB600   		movzbl	(%eax), %eax
 8332 8463 0FB6C0   		movzbl	%al, %eax
 8333 8466 2185E0FF 		andl	%eax, -65568(%ebp)
 8333      FEFF
5700:armor.c       ****   //  Z = A;
5701:armor.c       ****   //  N = A;
5702:armor.c       ****   //  V = 0;
5703:armor.c       ****       
5704:armor.c       ****             //        STA   <$67                    ; 08C8: 97 67         
5705:armor.c       ****   //  Z = A;
5706:armor.c       ****   //  N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 326


5707:armor.c       ****   //  V = 0;
5708:armor.c       ****       memory_DP[0x67] = A;
 8334              		.loc 1 5708 0
 8335 846c 8B85DCFF 		movl	-65572(%ebp), %eax
 8335      FEFF
 8336 8472 83C067   		addl	$103, %eax
 8337 8475 8B95E0FF 		movl	-65568(%ebp), %edx
 8337      FEFF
 8338 847b 8810     		movb	%dl, (%eax)
5709:armor.c       ****       
5710:armor.c       ****             //        COM   <$8A                    ; 08CA: 03 8A         
5711:armor.c       ****       memory_DP[0x8a] = memory_DP[0x8a] ^ 0xff;
 8339              		.loc 1 5711 0
 8340 847d 8B85DCFF 		movl	-65572(%ebp), %eax
 8340      FEFF
 8341 8483 058A0000 		addl	$138, %eax
 8341      00
 8342 8488 0FB610   		movzbl	(%eax), %edx
 8343 848b 8B85DCFF 		movl	-65572(%ebp), %eax
 8343      FEFF
 8344 8491 058A0000 		addl	$138, %eax
 8344      00
 8345 8496 F7D2     		notl	%edx
 8346 8498 8810     		movb	%dl, (%eax)
5712:armor.c       ****   //  Z = memory_DP[0x8a];
5713:armor.c       ****   //  N = memory_DP[0x8a];
5714:armor.c       ****   //  V = 0;
5715:armor.c       ****   //  C = 1;
5716:armor.c       ****       
5717:armor.c       ****             //        LDX   #$C894                  ; 08CC: 8E C8 94      
5718:armor.c       ****       X = 0xc894;
 8347              		.loc 1 5718 0
 8348 849a 66C785C6 		movw	$-14188, -65594(%ebp)
 8348      FFFEFF94 
 8348      C8
5719:armor.c       ****   //  Z = X;
5720:armor.c       ****   //  N = (X) >> 8;
5721:armor.c       ****   //  V = 0;
5722:armor.c       ****       
5723:armor.c       ****             //        LDB   #$19                    ; 08CF: C6 19         
5724:armor.c       ****       B = (SINT8)0x19;
 8349              		.loc 1 5724 0
 8350 84a3 C785E4FF 		movl	$25, -65564(%ebp)
 8350      FEFF1900 
 8350      0000
5725:armor.c       ****   //  N = B;
5726:armor.c       ****   //  Z = B;
5727:armor.c       ****   //  V = 0;
5728:armor.c       ****       
5729:armor.c       ****             //        JSR   Clear_x_b               ; 08D1: BD F5 3F      
5730:armor.c       ****       memory[--S] = 0x08d4 & 0xff; memory[--S] = 0x08d4 >> 8;
 8351              		.loc 1 5730 0
 8352 84ad 6683ADC8 		subw	$1, -65592(%ebp)
 8352      FFFEFF01 
 8353 84b5 0FB785C8 		movzwl	-65592(%ebp), %eax
 8353      FFFEFF
 8354 84bc C68405F4 		movb	$-44, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 327


 8354      FFFEFFD4 
 8355 84c4 6683ADC8 		subw	$1, -65592(%ebp)
 8355      FFFEFF01 
 8356 84cc 0FB785C8 		movzwl	-65592(%ebp), %eax
 8356      FFFEFF
 8357 84d3 C68405F4 		movb	$8, -65548(%ebp,%eax)
 8357      FFFEFF08 
5731:armor.c       ****       PC = 0xf53f;
 8358              		.loc 1 5731 0
 8359 84db 66C785CA 		movw	$-2753, -65590(%ebp)
 8359      FFFEFF3F 
 8359      F5
 8360              	.L323:
5732:armor.c       ****       JUMP;
5733:armor.c       ****       
5734:armor.c       ****       L08D4://        LDA   #$00                    ; 08D4: 86 00         
5735:armor.c       ****       A = (SINT8)0x00;
 8361              		.loc 1 5735 0
 8362 84e4 C785E0FF 		movl	$0, -65568(%ebp)
 8362      FEFF0000 
 8362      0000
5736:armor.c       ****   //  N = A;
5737:armor.c       ****   //  Z = A;
5738:armor.c       ****   //  V = 0;
5739:armor.c       ****       
5740:armor.c       ****             //        STA   <$71                    ; 08D6: 97 71         
5741:armor.c       ****   //  Z = A;
5742:armor.c       ****   //  N = A;
5743:armor.c       ****   //  V = 0;
5744:armor.c       ****       memory_DP[0x71] = A;
 8363              		.loc 1 5744 0
 8364 84ee 8B85DCFF 		movl	-65572(%ebp), %eax
 8364      FEFF
 8365 84f4 83C071   		addl	$113, %eax
 8366 84f7 8B95E0FF 		movl	-65568(%ebp), %edx
 8366      FEFF
 8367 84fd 8810     		movb	%dl, (%eax)
5745:armor.c       ****       
5746:armor.c       ****             //        LDA   #$02                    ; 08D8: 86 02         
5747:armor.c       ****       A = (SINT8)0x02;
 8368              		.loc 1 5747 0
 8369 84ff C785E0FF 		movl	$2, -65568(%ebp)
 8369      FEFF0200 
 8369      0000
5748:armor.c       ****   //  N = A;
5749:armor.c       ****   //  Z = A;
5750:armor.c       ****   //  V = 0;
5751:armor.c       ****       
5752:armor.c       ****             //        STA   <$94                    ; 08DA: 97 94         
5753:armor.c       ****   //  Z = A;
5754:armor.c       ****   //  N = A;
5755:armor.c       ****   //  V = 0;
5756:armor.c       ****       memory_DP[0x94] = A;
 8370              		.loc 1 5756 0
 8371 8509 8B85DCFF 		movl	-65572(%ebp), %eax
 8371      FEFF
 8372 850f 05940000 		addl	$148, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 328


 8372      00
 8373 8514 8B95E0FF 		movl	-65568(%ebp), %edx
 8373      FEFF
 8374 851a 8810     		movb	%dl, (%eax)
5757:armor.c       ****       
5758:armor.c       ****             //        DECA                          ; 08DC: 4A            
5759:armor.c       ****       res = (UINT8)(A - 1);
 8375              		.loc 1 5759 0
 8376 851c 8B85E0FF 		movl	-65568(%ebp), %eax
 8376      FEFF
 8377 8522 83E801   		subl	$1, %eax
 8378 8525 0FB6C0   		movzbl	%al, %eax
 8379 8528 8985E8FF 		movl	%eax, -65560(%ebp)
 8379      FEFF
5760:armor.c       ****   //  N = res;
5761:armor.c       ****   //  Z = res;
5762:armor.c       ****   //  V = A & ~res;
5763:armor.c       ****       A = res;
 8380              		.loc 1 5763 0
 8381 852e 8B85E8FF 		movl	-65560(%ebp), %eax
 8381      FEFF
 8382 8534 8985E0FF 		movl	%eax, -65568(%ebp)
 8382      FEFF
5764:armor.c       ****       
5765:armor.c       ****             //        STA   <$95                    ; 08DD: 97 95         
5766:armor.c       ****   //  Z = A;
5767:armor.c       ****   //  N = A;
5768:armor.c       ****   //  V = 0;
5769:armor.c       ****       memory_DP[0x95] = A;
 8383              		.loc 1 5769 0
 8384 853a 8B85DCFF 		movl	-65572(%ebp), %eax
 8384      FEFF
 8385 8540 05950000 		addl	$149, %eax
 8385      00
 8386 8545 8B95E0FF 		movl	-65568(%ebp), %edx
 8386      FEFF
 8387 854b 8810     		movb	%dl, (%eax)
5770:armor.c       ****       
5771:armor.c       ****             //        LDD   #$CA00                  ; 08DF: CC CA 00      
5772:armor.c       ****       A = (UINT8)((0xca00) >> 8);
 8388              		.loc 1 5772 0
 8389 854d C785E0FF 		movl	$202, -65568(%ebp)
 8389      FEFFCA00 
 8389      0000
5773:armor.c       ****       B = (UINT8)((0xca00) & 0xff);
 8390              		.loc 1 5773 0
 8391 8557 C785E4FF 		movl	$0, -65564(%ebp)
 8391      FEFF0000 
 8391      0000
5774:armor.c       ****   //  Z = A|B;
5775:armor.c       ****   //  N = A;
5776:armor.c       ****   //  V = 0;
5777:armor.c       ****       
5778:armor.c       ****             //        STD   <$9B                    ; 08E2: DD 9B         
5779:armor.c       ****   //  Z = A | B;
5780:armor.c       ****   //  N = A;
5781:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 329


5782:armor.c       ****       memory_DP[0x9b] = A;
 8392              		.loc 1 5782 0
 8393 8561 8B85DCFF 		movl	-65572(%ebp), %eax
 8393      FEFF
 8394 8567 059B0000 		addl	$155, %eax
 8394      00
 8395 856c 8B95E0FF 		movl	-65568(%ebp), %edx
 8395      FEFF
 8396 8572 8810     		movb	%dl, (%eax)
5783:armor.c       ****       memory_DP[0x9b + 1] = B;
 8397              		.loc 1 5783 0
 8398 8574 8B85DCFF 		movl	-65572(%ebp), %eax
 8398      FEFF
 8399 857a 059C0000 		addl	$156, %eax
 8399      00
 8400 857f 8B95E4FF 		movl	-65564(%ebp), %edx
 8400      FEFF
 8401 8585 8810     		movb	%dl, (%eax)
5784:armor.c       ****       
5785:armor.c       ****             //        LDA   <$83                    ; 08E4: 96 83         
5786:armor.c       ****       A = memory_DP[0x83];
 8402              		.loc 1 5786 0
 8403 8587 8B85DCFF 		movl	-65572(%ebp), %eax
 8403      FEFF
 8404 858d 05830000 		addl	$131, %eax
 8404      00
 8405 8592 0FB600   		movzbl	(%eax), %eax
 8406 8595 0FB6C0   		movzbl	%al, %eax
 8407 8598 8985E0FF 		movl	%eax, -65568(%ebp)
 8407      FEFF
5787:armor.c       ****   //  N = A;
5788:armor.c       ****   //  Z = A;
5789:armor.c       ****   //  V = 0;
5790:armor.c       ****       
5791:armor.c       ****             //        STA   <$96                    ; 08E6: 97 96         
5792:armor.c       ****   //  Z = A;
5793:armor.c       ****   //  N = A;
5794:armor.c       ****   //  V = 0;
5795:armor.c       ****       memory_DP[0x96] = A;
 8408              		.loc 1 5795 0
 8409 859e 8B85DCFF 		movl	-65572(%ebp), %eax
 8409      FEFF
 8410 85a4 05960000 		addl	$150, %eax
 8410      00
 8411 85a9 8B95E0FF 		movl	-65568(%ebp), %edx
 8411      FEFF
 8412 85af 8810     		movb	%dl, (%eax)
5796:armor.c       ****       
5797:armor.c       ****             //        LDA   <$86                    ; 08E8: 96 86         
5798:armor.c       ****       A = memory_DP[0x86];
 8413              		.loc 1 5798 0
 8414 85b1 8B85DCFF 		movl	-65572(%ebp), %eax
 8414      FEFF
 8415 85b7 05860000 		addl	$134, %eax
 8415      00
 8416 85bc 0FB600   		movzbl	(%eax), %eax
 8417 85bf 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 330


 8418 85c2 8985E0FF 		movl	%eax, -65568(%ebp)
 8418      FEFF
5799:armor.c       ****   //  N = A;
5800:armor.c       ****   //  Z = A;
5801:armor.c       ****   //  V = 0;
5802:armor.c       ****       
5803:armor.c       ****             //        STA   <$9A                    ; 08EA: 97 9A         
5804:armor.c       ****   //  Z = A;
5805:armor.c       ****   //  N = A;
5806:armor.c       ****   //  V = 0;
5807:armor.c       ****       memory_DP[0x9a] = A;
 8419              		.loc 1 5807 0
 8420 85c8 8B85DCFF 		movl	-65572(%ebp), %eax
 8420      FEFF
 8421 85ce 059A0000 		addl	$154, %eax
 8421      00
 8422 85d3 8B95E0FF 		movl	-65568(%ebp), %edx
 8422      FEFF
 8423 85d9 8810     		movb	%dl, (%eax)
5808:armor.c       ****       
5809:armor.c       ****             //        LEAX  $09,X                   ; 08EC: 30 09         
5810:armor.c       ****       X = (X + 0x0009);
 8424              		.loc 1 5810 0
 8425 85db 668385C6 		addw	$9, -65594(%ebp)
 8425      FFFEFF09 
5811:armor.c       ****   //  Z = X;
5812:armor.c       ****       
5813:armor.c       ****             //        JSR   Random                  ; 08EE: BD F5 17      
5814:armor.c       ****       memory[--S] = 0x08f1 & 0xff; memory[--S] = 0x08f1 >> 8;
 8426              		.loc 1 5814 0
 8427 85e3 6683ADC8 		subw	$1, -65592(%ebp)
 8427      FFFEFF01 
 8428 85eb 0FB785C8 		movzwl	-65592(%ebp), %eax
 8428      FFFEFF
 8429 85f2 C68405F4 		movb	$-15, -65548(%ebp,%eax)
 8429      FFFEFFF1 
 8430 85fa 6683ADC8 		subw	$1, -65592(%ebp)
 8430      FFFEFF01 
 8431 8602 0FB785C8 		movzwl	-65592(%ebp), %eax
 8431      FFFEFF
 8432 8609 C68405F4 		movb	$8, -65548(%ebp,%eax)
 8432      FFFEFF08 
5815:armor.c       ****       PC = 0xf517;
 8433              		.loc 1 5815 0
 8434 8611 66C785CA 		movw	$-2793, -65590(%ebp)
 8434      FFFEFF17 
 8434      F5
 8435              	.L324:
5816:armor.c       ****       JUMP;
5817:armor.c       ****       
5818:armor.c       ****       L08F1://        CLRB                          ; 08F1: 5F            
5819:armor.c       ****       B = 0;
 8436              		.loc 1 5819 0
 8437 861a C785E4FF 		movl	$0, -65564(%ebp)
 8437      FEFF0000 
 8437      0000
5820:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 331


5821:armor.c       ****   //  Z = 0;
5822:armor.c       ****   //  N = 0;
5823:armor.c       ****       C = 0;
 8438              		.loc 1 5823 0
 8439 8624 C785ECFF 		movl	$0, -65556(%ebp)
 8439      FEFF0000 
 8439      0000
5824:armor.c       ****       
5825:armor.c       ****             //        ROLA                          ; 08F2: 49            
5826:armor.c       ****       res = ((A) << 1) + (C != 0);
 8440              		.loc 1 5826 0
 8441 862e 8B85E0FF 		movl	-65568(%ebp), %eax
 8441      FEFF
 8442 8634 8D1400   		leal	(%eax,%eax), %edx
 8443 8637 83BDECFF 		cmpl	$0, -65556(%ebp)
 8443      FEFF00
 8444 863e 0F95C0   		setne	%al
 8445 8641 0FB6C0   		movzbl	%al, %eax
 8446 8644 01D0     		addl	%edx, %eax
 8447 8646 8985E8FF 		movl	%eax, -65560(%ebp)
 8447      FEFF
5827:armor.c       ****       C = res & 0x100;
 8448              		.loc 1 5827 0
 8449 864c 8B85E8FF 		movl	-65560(%ebp), %eax
 8449      FEFF
 8450 8652 25000100 		andl	$256, %eax
 8450      00
 8451 8657 8985ECFF 		movl	%eax, -65556(%ebp)
 8451      FEFF
5828:armor.c       ****       res = (UINT8)res;
 8452              		.loc 1 5828 0
 8453 865d 8B85E8FF 		movl	-65560(%ebp), %eax
 8453      FEFF
 8454 8663 0FB6C0   		movzbl	%al, %eax
 8455 8666 8985E8FF 		movl	%eax, -65560(%ebp)
 8455      FEFF
5829:armor.c       ****   //  Z = res;
5830:armor.c       ****   //  N = res;
5831:armor.c       ****   //  V = res ^ (A);
5832:armor.c       ****       A = res;
 8456              		.loc 1 5832 0
 8457 866c 8B85E8FF 		movl	-65560(%ebp), %eax
 8457      FEFF
 8458 8672 8985E0FF 		movl	%eax, -65568(%ebp)
 8458      FEFF
5833:armor.c       ****       
5834:armor.c       ****             //        ROLB                          ; 08F3: 59            
5835:armor.c       ****       res = ((B) << 1) + (C != 0);
 8459              		.loc 1 5835 0
 8460 8678 8B85E4FF 		movl	-65564(%ebp), %eax
 8460      FEFF
 8461 867e 8D1400   		leal	(%eax,%eax), %edx
 8462 8681 83BDECFF 		cmpl	$0, -65556(%ebp)
 8462      FEFF00
 8463 8688 0F95C0   		setne	%al
 8464 868b 0FB6C0   		movzbl	%al, %eax
 8465 868e 01D0     		addl	%edx, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 332


 8466 8690 8985E8FF 		movl	%eax, -65560(%ebp)
 8466      FEFF
5836:armor.c       ****       C = res & 0x100;
 8467              		.loc 1 5836 0
 8468 8696 8B85E8FF 		movl	-65560(%ebp), %eax
 8468      FEFF
 8469 869c 25000100 		andl	$256, %eax
 8469      00
 8470 86a1 8985ECFF 		movl	%eax, -65556(%ebp)
 8470      FEFF
5837:armor.c       ****       res = (UINT8)res;
 8471              		.loc 1 5837 0
 8472 86a7 8B85E8FF 		movl	-65560(%ebp), %eax
 8472      FEFF
 8473 86ad 0FB6C0   		movzbl	%al, %eax
 8474 86b0 8985E8FF 		movl	%eax, -65560(%ebp)
 8474      FEFF
5838:armor.c       ****   //  Z = res;
5839:armor.c       ****   //  N = res;
5840:armor.c       ****   //  V = res ^ (B);
5841:armor.c       ****       B = res;
 8475              		.loc 1 5841 0
 8476 86b6 8B85E8FF 		movl	-65560(%ebp), %eax
 8476      FEFF
 8477 86bc 8985E4FF 		movl	%eax, -65564(%ebp)
 8477      FEFF
5842:armor.c       ****       
5843:armor.c       ****             //        LEAX  B,X                     ; 08F4: 30 85         
5844:armor.c       ****       X = (X + (SINT8)B);
 8478              		.loc 1 5844 0
 8479 86c2 8B85E4FF 		movl	-65564(%ebp), %eax
 8479      FEFF
 8480 86c8 6698     		cbtw
 8481 86ca 660185C6 		addw	%ax, -65594(%ebp)
 8481      FFFEFF
5845:armor.c       ****   //  Z = X;
5846:armor.c       ****       
5847:armor.c       ****             //        STB   <$CB                    ; 08F6: D7 CB         
5848:armor.c       ****   //  Z = B;
5849:armor.c       ****   //  N = B;
5850:armor.c       ****   //  V = 0;
5851:armor.c       ****       memory_DP[0xcb] = B;
 8482              		.loc 1 5851 0
 8483 86d1 8B85DCFF 		movl	-65572(%ebp), %eax
 8483      FEFF
 8484 86d7 05CB0000 		addl	$203, %eax
 8484      00
 8485 86dc 8B95E4FF 		movl	-65564(%ebp), %edx
 8485      FEFF
 8486 86e2 8810     		movb	%dl, (%eax)
5852:armor.c       ****       
5853:armor.c       ****             //        LDB   #$7F                    ; 08F8: C6 7F         
5854:armor.c       ****       B = (SINT8)0x7f;
 8487              		.loc 1 5854 0
 8488 86e4 C785E4FF 		movl	$127, -65564(%ebp)
 8488      FEFF7F00 
 8488      0000
GAS LISTING /tmp/ccqXEnet.s 			page 333


5855:armor.c       ****   //  N = B;
5856:armor.c       ****   //  Z = B;
5857:armor.c       ****   //  V = 0;
5858:armor.c       ****       
5859:armor.c       ****             //        ROLA                          ; 08FA: 49            
5860:armor.c       ****       res = ((A) << 1) + (C != 0);
 8489              		.loc 1 5860 0
 8490 86ee 8B85E0FF 		movl	-65568(%ebp), %eax
 8490      FEFF
 8491 86f4 8D1400   		leal	(%eax,%eax), %edx
 8492 86f7 83BDECFF 		cmpl	$0, -65556(%ebp)
 8492      FEFF00
 8493 86fe 0F95C0   		setne	%al
 8494 8701 0FB6C0   		movzbl	%al, %eax
 8495 8704 01D0     		addl	%edx, %eax
 8496 8706 8985E8FF 		movl	%eax, -65560(%ebp)
 8496      FEFF
5861:armor.c       ****       C = res & 0x100;
 8497              		.loc 1 5861 0
 8498 870c 8B85E8FF 		movl	-65560(%ebp), %eax
 8498      FEFF
 8499 8712 25000100 		andl	$256, %eax
 8499      00
 8500 8717 8985ECFF 		movl	%eax, -65556(%ebp)
 8500      FEFF
5862:armor.c       ****       res = (UINT8)res;
 8501              		.loc 1 5862 0
 8502 871d 8B85E8FF 		movl	-65560(%ebp), %eax
 8502      FEFF
 8503 8723 0FB6C0   		movzbl	%al, %eax
 8504 8726 8985E8FF 		movl	%eax, -65560(%ebp)
 8504      FEFF
5863:armor.c       ****   //  Z = res;
5864:armor.c       ****   //  N = res;
5865:armor.c       ****   //  V = res ^ (A);
5866:armor.c       ****       A = res;
 8505              		.loc 1 5866 0
 8506 872c 8B85E8FF 		movl	-65560(%ebp), %eax
 8506      FEFF
 8507 8732 8985E0FF 		movl	%eax, -65568(%ebp)
 8507      FEFF
5867:armor.c       ****       
5868:armor.c       ****             //        BCC   $08FE                   ; 08FB: 24 01         
5869:armor.c       ****       if (!C) {
 8508              		.loc 1 5869 0
 8509 8738 83BDECFF 		cmpl	$0, -65556(%ebp)
 8509      FEFF00
 8510 873f 7509     		jne	.L325
5870:armor.c       ****       PC = 0x08fe;
 8511              		.loc 1 5870 0
 8512 8741 66C785CA 		movw	$2302, -65590(%ebp)
 8512      FFFEFFFE 
 8512      08
 8513              	.L325:
5871:armor.c       ****       JUMP;
5872:armor.c       ****       }
5873:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 334


5874:armor.c       ****             //        NEGB                          ; 08FD: 50            
5875:armor.c       ****   //  V = (UINT8)(-B) & (B);
5876:armor.c       ****       B = (UINT8)(-B);
 8514              		.loc 1 5876 0
 8515 874a 8B85E4FF 		movl	-65564(%ebp), %eax
 8515      FEFF
 8516 8750 F7D8     		negl	%eax
 8517 8752 0FB6C0   		movzbl	%al, %eax
 8518 8755 8985E4FF 		movl	%eax, -65564(%ebp)
 8518      FEFF
 8519              	.L326:
5877:armor.c       ****   //  Z = B;
5878:armor.c       ****   //  N = B;
5879:armor.c       ****   //  C = B;
5880:armor.c       ****       
5881:armor.c       ****       L08FE://        STB   ,X                      ; 08FE: E7 84         
5882:armor.c       ****   //  Z = B;
5883:armor.c       ****   //  N = B;
5884:armor.c       ****   //  V = 0;
5885:armor.c       ****       memory[X] = B;
 8520              		.loc 1 5885 0
 8521 875b 0FB785C6 		movzwl	-65594(%ebp), %eax
 8521      FFFEFF
 8522 8762 8B95E4FF 		movl	-65564(%ebp), %edx
 8522      FEFF
 8523 8768 889405F4 		movb	%dl, -65548(%ebp,%eax)
 8523      FFFEFF
5886:armor.c       ****       
5887:armor.c       ****             //        ASRB                          ; 0900: 57            
5888:armor.c       ****   //  C = B & 1;
5889:armor.c       ****       B = (UINT8)(B >> 1);
 8524              		.loc 1 5889 0
 8525 876f 8B85E4FF 		movl	-65564(%ebp), %eax
 8525      FEFF
 8526 8775 D1F8     		sarl	%eax
 8527 8777 0FB6C0   		movzbl	%al, %eax
 8528 877a 8985E4FF 		movl	%eax, -65564(%ebp)
 8528      FEFF
5890:armor.c       ****   //  Z = B;
5891:armor.c       ****   //  N = B;
5892:armor.c       ****       
5893:armor.c       ****             //        ASRB                          ; 0901: 57            
5894:armor.c       ****   //  C = B & 1;
5895:armor.c       ****       B = (UINT8)(B >> 1);
 8529              		.loc 1 5895 0
 8530 8780 8B85E4FF 		movl	-65564(%ebp), %eax
 8530      FEFF
 8531 8786 D1F8     		sarl	%eax
 8532 8788 0FB6C0   		movzbl	%al, %eax
 8533 878b 8985E4FF 		movl	%eax, -65564(%ebp)
 8533      FEFF
5896:armor.c       ****   //  Z = B;
5897:armor.c       ****   //  N = B;
5898:armor.c       ****       
5899:armor.c       ****             //        STB   $02,X                   ; 0902: E7 02         
5900:armor.c       ****   //  Z = B;
5901:armor.c       ****   //  N = B;
GAS LISTING /tmp/ccqXEnet.s 			page 335


5902:armor.c       ****   //  V = 0;
5903:armor.c       ****       memory[(UINT16)(X + 0x0002)] = B;
 8534              		.loc 1 5903 0
 8535 8791 0FB785C6 		movzwl	-65594(%ebp), %eax
 8535      FFFEFF
 8536 8798 83C002   		addl	$2, %eax
 8537 879b 0FB7C0   		movzwl	%ax, %eax
 8538 879e 8B95E4FF 		movl	-65564(%ebp), %edx
 8538      FEFF
 8539 87a4 889405F4 		movb	%dl, -65548(%ebp,%eax)
 8539      FFFEFF
5904:armor.c       ****       
5905:armor.c       ****             //        LDA   #$07                    ; 0904: 86 07         
5906:armor.c       ****       A = (SINT8)0x07;
 8540              		.loc 1 5906 0
 8541 87ab C785E0FF 		movl	$7, -65568(%ebp)
 8541      FEFF0700 
 8541      0000
5907:armor.c       ****   //  N = A;
5908:armor.c       ****   //  Z = A;
5909:armor.c       ****   //  V = 0;
5910:armor.c       ****       
5911:armor.c       ****             //        SUBA  <$CB                    ; 0906: 90 CB         
5912:armor.c       ****       A = (UINT8)(A - memory_DP[0xcb]);
 8542              		.loc 1 5912 0
 8543 87b5 8B85E0FF 		movl	-65568(%ebp), %eax
 8543      FEFF
 8544 87bb 89C2     		movl	%eax, %edx
 8545 87bd 8B85DCFF 		movl	-65572(%ebp), %eax
 8545      FEFF
 8546 87c3 05CB0000 		addl	$203, %eax
 8546      00
 8547 87c8 0FB600   		movzbl	(%eax), %eax
 8548 87cb 29C2     		subl	%eax, %edx
 8549 87cd 89D0     		movl	%edx, %eax
 8550 87cf 0FB6C0   		movzbl	%al, %eax
 8551 87d2 8985E0FF 		movl	%eax, -65568(%ebp)
 8551      FEFF
5913:armor.c       ****   //  res = A - memory_DP[0xcb];
5914:armor.c       ****   //  C = res & 0x100;
5915:armor.c       ****   //  res = (UINT8)res;
5916:armor.c       ****   //  Z = res;
5917:armor.c       ****   //  N = res;
5918:armor.c       ****   //  V = ((A) ^ (memory_DP[0xcb])) & ((A) ^ res);
5919:armor.c       ****       
5920:armor.c       ****             //        SUBA  <$CB                    ; 0908: 90 CB         
5921:armor.c       ****       A = (UINT8)(A - memory_DP[0xcb]);
 8552              		.loc 1 5921 0
 8553 87d8 8B85E0FF 		movl	-65568(%ebp), %eax
 8553      FEFF
 8554 87de 89C2     		movl	%eax, %edx
 8555 87e0 8B85DCFF 		movl	-65572(%ebp), %eax
 8555      FEFF
 8556 87e6 05CB0000 		addl	$203, %eax
 8556      00
 8557 87eb 0FB600   		movzbl	(%eax), %eax
 8558 87ee 29C2     		subl	%eax, %edx
GAS LISTING /tmp/ccqXEnet.s 			page 336


 8559 87f0 89D0     		movl	%edx, %eax
 8560 87f2 0FB6C0   		movzbl	%al, %eax
 8561 87f5 8985E0FF 		movl	%eax, -65568(%ebp)
 8561      FEFF
5922:armor.c       ****   //  res = A - memory_DP[0xcb];
5923:armor.c       ****   //  C = res & 0x100;
5924:armor.c       ****   //  res = (UINT8)res;
5925:armor.c       ****   //  Z = res;
5926:armor.c       ****   //  N = res;
5927:armor.c       ****   //  V = ((A) ^ (memory_DP[0xcb])) & ((A) ^ res);
5928:armor.c       ****       
5929:armor.c       ****             //        LEAX  A,X                     ; 090A: 30 86         
5930:armor.c       ****       X = (X + (SINT8)A);
 8562              		.loc 1 5930 0
 8563 87fb 8B85E0FF 		movl	-65568(%ebp), %eax
 8563      FEFF
 8564 8801 6698     		cbtw
 8565 8803 660185C6 		addw	%ax, -65594(%ebp)
 8565      FFFEFF
5931:armor.c       ****   //  Z = X;
5932:armor.c       ****       
5933:armor.c       ****             //        INC   ,X                      ; 090C: 6C 84         
5934:armor.c       ****       res = (UINT8)((memory[X]) + 1);
 8566              		.loc 1 5934 0
 8567 880a 0FB785C6 		movzwl	-65594(%ebp), %eax
 8567      FFFEFF
 8568 8811 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8568      F4FFFEFF 
 8569 8819 83C001   		addl	$1, %eax
 8570 881c 0FB6C0   		movzbl	%al, %eax
 8571 881f 8985E8FF 		movl	%eax, -65560(%ebp)
 8571      FEFF
5935:armor.c       ****   //  Z = res;
5936:armor.c       ****   //  N = res;
5937:armor.c       ****   //  V = res & ~(memory[X]);
5938:armor.c       ****       memory[X] = res;
 8572              		.loc 1 5938 0
 8573 8825 0FB785C6 		movzwl	-65594(%ebp), %eax
 8573      FFFEFF
 8574 882c 8B95E8FF 		movl	-65560(%ebp), %edx
 8574      FEFF
 8575 8832 889405F4 		movb	%dl, -65548(%ebp,%eax)
 8575      FFFEFF
5939:armor.c       ****       
5940:armor.c       ****             //        COM   <$98                    ; 090E: 03 98         
5941:armor.c       ****       memory_DP[0x98] = memory_DP[0x98] ^ 0xff;
 8576              		.loc 1 5941 0
 8577 8839 8B85DCFF 		movl	-65572(%ebp), %eax
 8577      FEFF
 8578 883f 05980000 		addl	$152, %eax
 8578      00
 8579 8844 0FB610   		movzbl	(%eax), %edx
 8580 8847 8B85DCFF 		movl	-65572(%ebp), %eax
 8580      FEFF
 8581 884d 05980000 		addl	$152, %eax
 8581      00
 8582 8852 F7D2     		notl	%edx
GAS LISTING /tmp/ccqXEnet.s 			page 337


 8583 8854 8810     		movb	%dl, (%eax)
5942:armor.c       ****       Z = memory_DP[0x98];
 8584              		.loc 1 5942 0
 8585 8856 8B85DCFF 		movl	-65572(%ebp), %eax
 8585      FEFF
 8586 885c 05980000 		addl	$152, %eax
 8586      00
 8587 8861 0FB600   		movzbl	(%eax), %eax
 8588 8864 0FB6C0   		movzbl	%al, %eax
 8589 8867 668985CC 		movw	%ax, -65588(%ebp)
 8589      FFFEFF
5943:armor.c       ****       N = memory_DP[0x98];
 8590              		.loc 1 5943 0
 8591 886e 8B85DCFF 		movl	-65572(%ebp), %eax
 8591      FEFF
 8592 8874 0FB68098 		movzbl	152(%eax), %eax
 8592      000000
 8593 887b 8885C1FF 		movb	%al, -65599(%ebp)
 8593      FEFF
5944:armor.c       ****       V = 0;
 8594              		.loc 1 5944 0
 8595 8881 C685C2FF 		movb	$0, -65598(%ebp)
 8595      FEFF00
5945:armor.c       ****       C = 1;
 8596              		.loc 1 5945 0
 8597 8888 C785ECFF 		movl	$1, -65556(%ebp)
 8597      FEFF0100 
 8597      0000
 8598              	.L327:
5946:armor.c       ****       
5947:armor.c       ****       L0910://        RTS                           ; 0910: 39            
5948:armor.c       ****       PC = memory[S++]<<8;
 8599              		.loc 1 5948 0
 8600 8892 0FB785C8 		movzwl	-65592(%ebp), %eax
 8600      FFFEFF
 8601 8899 8D5001   		leal	1(%eax), %edx
 8602 889c 668995C8 		movw	%dx, -65592(%ebp)
 8602      FFFEFF
 8603 88a3 0FB7C0   		movzwl	%ax, %eax
 8604 88a6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8604      F4FFFEFF 
 8605 88ae 0FB6C0   		movzbl	%al, %eax
 8606 88b1 C1E008   		sall	$8, %eax
 8607 88b4 668985CA 		movw	%ax, -65590(%ebp)
 8607      FFFEFF
5949:armor.c       ****       PC |= memory[S++];
 8608              		.loc 1 5949 0
 8609 88bb 0FB785C8 		movzwl	-65592(%ebp), %eax
 8609      FFFEFF
 8610 88c2 8D5001   		leal	1(%eax), %edx
 8611 88c5 668995C8 		movw	%dx, -65592(%ebp)
 8611      FFFEFF
 8612 88cc 0FB7C0   		movzwl	%ax, %eax
 8613 88cf 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8613      F4FFFEFF 
 8614 88d7 0FB6C0   		movzbl	%al, %eax
 8615 88da 660985CA 		orw	%ax, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 338


 8615      FFFEFF
 8616              	.L328:
5950:armor.c       ****       JUMP;
5951:armor.c       ****       
5952:armor.c       ****       
5953:armor.c       ****       L0911://        LDX   #$C894                  ; 0911: 8E C8 94      
5954:armor.c       ****       X = 0xc894;
 8617              		.loc 1 5954 0
 8618 88e1 66C785C6 		movw	$-14188, -65594(%ebp)
 8618      FFFEFF94 
 8618      C8
5955:armor.c       ****   //  Z = X;
5956:armor.c       ****   //  N = (X) >> 8;
5957:armor.c       ****   //  V = 0;
5958:armor.c       ****       
5959:armor.c       ****             //        JSR   $0709                   ; 0914: BD 07 09      
5960:armor.c       ****       memory[--S] = 0x0917 & 0xff; memory[--S] = 0x0917 >> 8;
 8619              		.loc 1 5960 0
 8620 88ea 6683ADC8 		subw	$1, -65592(%ebp)
 8620      FFFEFF01 
 8621 88f2 0FB785C8 		movzwl	-65592(%ebp), %eax
 8621      FFFEFF
 8622 88f9 C68405F4 		movb	$23, -65548(%ebp,%eax)
 8622      FFFEFF17 
 8623 8901 6683ADC8 		subw	$1, -65592(%ebp)
 8623      FFFEFF01 
 8624 8909 0FB785C8 		movzwl	-65592(%ebp), %eax
 8624      FFFEFF
 8625 8910 C68405F4 		movb	$9, -65548(%ebp,%eax)
 8625      FFFEFF09 
5961:armor.c       ****       PC = 0x0709;
 8626              		.loc 1 5961 0
 8627 8918 66C785CA 		movw	$1801, -65590(%ebp)
 8627      FFFEFF09 
 8627      07
 8628              	.L329:
5962:armor.c       ****       JUMP;
5963:armor.c       ****       
5964:armor.c       ****       L0917://        LEAX  $09,X                   ; 0917: 30 09         
5965:armor.c       ****       X = (X + 0x0009);
 8629              		.loc 1 5965 0
 8630 8921 668385C6 		addw	$9, -65594(%ebp)
 8630      FFFEFF09 
5966:armor.c       ****   //  Z = X;
5967:armor.c       ****       
5968:armor.c       ****             //        LDA   <$94                    ; 0919: 96 94         
5969:armor.c       ****       A = memory_DP[0x94];
 8631              		.loc 1 5969 0
 8632 8929 8B85DCFF 		movl	-65572(%ebp), %eax
 8632      FEFF
 8633 892f 05940000 		addl	$148, %eax
 8633      00
 8634 8934 0FB600   		movzbl	(%eax), %eax
 8635 8937 0FB6C0   		movzbl	%al, %eax
 8636 893a 8985E0FF 		movl	%eax, -65568(%ebp)
 8636      FEFF
5970:armor.c       ****       N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 339


 8637              		.loc 1 5970 0
 8638 8940 8B85E0FF 		movl	-65568(%ebp), %eax
 8638      FEFF
 8639 8946 8885C1FF 		movb	%al, -65599(%ebp)
 8639      FEFF
5971:armor.c       ****       Z = A;
 8640              		.loc 1 5971 0
 8641 894c 8B85E0FF 		movl	-65568(%ebp), %eax
 8641      FEFF
 8642 8952 668985CC 		movw	%ax, -65588(%ebp)
 8642      FFFEFF
5972:armor.c       ****       V = 0;
 8643              		.loc 1 5972 0
 8644 8959 C685C2FF 		movb	$0, -65598(%ebp)
 8644      FEFF00
5973:armor.c       ****       
5974:armor.c       ****             //        LBMI  $0879                   ; 091B: 10 2B FF 5A   
5975:armor.c       ****       if ((SINT8)N <  0) {
 8645              		.loc 1 5975 0
 8646 8960 0FB685C1 		movzbl	-65599(%ebp), %eax
 8646      FFFEFF
 8647 8967 84C0     		testb	%al, %al
 8648 8969 7909     		jns	.L330
5976:armor.c       ****       PC = 0x0879;
 8649              		.loc 1 5976 0
 8650 896b 66C785CA 		movw	$2169, -65590(%ebp)
 8650      FFFEFF79 
 8650      08
 8651              	.L330:
5977:armor.c       ****       JUMP;
5978:armor.c       ****       }
5979:armor.c       ****       
5980:armor.c       ****             //        BNE   $0928                   ; 091F: 26 07         
5981:armor.c       ****       if (Z) {
 8652              		.loc 1 5981 0
 8653 8974 6683BDCC 		cmpw	$0, -65588(%ebp)
 8653      FFFEFF00 
 8654 897c 7409     		je	.L331
5982:armor.c       ****       PC = 0x0928;
 8655              		.loc 1 5982 0
 8656 897e 66C785CA 		movw	$2344, -65590(%ebp)
 8656      FFFEFF28 
 8656      09
 8657              	.L331:
5983:armor.c       ****       JUMP;
5984:armor.c       ****       }
5985:armor.c       ****       
5986:armor.c       ****             //        STD   <$8C                    ; 0921: DD 8C         
5987:armor.c       ****   //  Z = A | B;
5988:armor.c       ****   //  N = A;
5989:armor.c       ****   //  V = 0;
5990:armor.c       ****       memory_DP[0x8c] = A;
 8658              		.loc 1 5990 0
 8659 8987 8B85DCFF 		movl	-65572(%ebp), %eax
 8659      FEFF
 8660 898d 058C0000 		addl	$140, %eax
 8660      00
GAS LISTING /tmp/ccqXEnet.s 			page 340


 8661 8992 8B95E0FF 		movl	-65568(%ebp), %edx
 8661      FEFF
 8662 8998 8810     		movb	%dl, (%eax)
5991:armor.c       ****       memory_DP[0x8c + 1] = B;
 8663              		.loc 1 5991 0
 8664 899a 8B85DCFF 		movl	-65572(%ebp), %eax
 8664      FEFF
 8665 89a0 058D0000 		addl	$141, %eax
 8665      00
 8666 89a5 8B95E4FF 		movl	-65564(%ebp), %edx
 8666      FEFF
 8667 89ab 8810     		movb	%dl, (%eax)
5992:armor.c       ****       
5993:armor.c       ****             //        LDD   <$DE                    ; 0923: DC DE         
5994:armor.c       ****       A = memory_DP[0xde];
 8668              		.loc 1 5994 0
 8669 89ad 8B85DCFF 		movl	-65572(%ebp), %eax
 8669      FEFF
 8670 89b3 05DE0000 		addl	$222, %eax
 8670      00
 8671 89b8 0FB600   		movzbl	(%eax), %eax
 8672 89bb 0FB6C0   		movzbl	%al, %eax
 8673 89be 8985E0FF 		movl	%eax, -65568(%ebp)
 8673      FEFF
5995:armor.c       ****       B = memory_DP[0xde + 1];
 8674              		.loc 1 5995 0
 8675 89c4 8B85DCFF 		movl	-65572(%ebp), %eax
 8675      FEFF
 8676 89ca 05DF0000 		addl	$223, %eax
 8676      00
 8677 89cf 0FB600   		movzbl	(%eax), %eax
 8678 89d2 0FB6C0   		movzbl	%al, %eax
 8679 89d5 8985E4FF 		movl	%eax, -65564(%ebp)
 8679      FEFF
5996:armor.c       ****   //  Z = A|B;
5997:armor.c       ****   //  N = A;
5998:armor.c       ****   //  V = 0;
5999:armor.c       ****       
6000:armor.c       ****             //        STD   <$30                    ; 0925: DD 30         
6001:armor.c       ****       Z = A | B;
 8680              		.loc 1 6001 0
 8681 89db 8B85E0FF 		movl	-65568(%ebp), %eax
 8681      FEFF
 8682 89e1 89C2     		movl	%eax, %edx
 8683 89e3 8B85E4FF 		movl	-65564(%ebp), %eax
 8683      FEFF
 8684 89e9 09D0     		orl	%edx, %eax
 8685 89eb 668985CC 		movw	%ax, -65588(%ebp)
 8685      FFFEFF
6002:armor.c       ****       N = A;
 8686              		.loc 1 6002 0
 8687 89f2 8B85E0FF 		movl	-65568(%ebp), %eax
 8687      FEFF
 8688 89f8 8885C1FF 		movb	%al, -65599(%ebp)
 8688      FEFF
6003:armor.c       ****       V = 0;
 8689              		.loc 1 6003 0
GAS LISTING /tmp/ccqXEnet.s 			page 341


 8690 89fe C685C2FF 		movb	$0, -65598(%ebp)
 8690      FEFF00
6004:armor.c       ****       memory_DP[0x30] = A;
 8691              		.loc 1 6004 0
 8692 8a05 8B85DCFF 		movl	-65572(%ebp), %eax
 8692      FEFF
 8693 8a0b 83C030   		addl	$48, %eax
 8694 8a0e 8B95E0FF 		movl	-65568(%ebp), %edx
 8694      FEFF
 8695 8a14 8810     		movb	%dl, (%eax)
6005:armor.c       ****       memory_DP[0x30 + 1] = B;
 8696              		.loc 1 6005 0
 8697 8a16 8B85DCFF 		movl	-65572(%ebp), %eax
 8697      FEFF
 8698 8a1c 83C031   		addl	$49, %eax
 8699 8a1f 8B95E4FF 		movl	-65564(%ebp), %edx
 8699      FEFF
 8700 8a25 8810     		movb	%dl, (%eax)
6006:armor.c       ****       
6007:armor.c       ****             //        RTS                           ; 0927: 39            
6008:armor.c       ****       PC = memory[S++]<<8;
 8701              		.loc 1 6008 0
 8702 8a27 0FB785C8 		movzwl	-65592(%ebp), %eax
 8702      FFFEFF
 8703 8a2e 8D5001   		leal	1(%eax), %edx
 8704 8a31 668995C8 		movw	%dx, -65592(%ebp)
 8704      FFFEFF
 8705 8a38 0FB7C0   		movzwl	%ax, %eax
 8706 8a3b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8706      F4FFFEFF 
 8707 8a43 0FB6C0   		movzbl	%al, %eax
 8708 8a46 C1E008   		sall	$8, %eax
 8709 8a49 668985CA 		movw	%ax, -65590(%ebp)
 8709      FFFEFF
6009:armor.c       ****       PC |= memory[S++];
 8710              		.loc 1 6009 0
 8711 8a50 0FB785C8 		movzwl	-65592(%ebp), %eax
 8711      FFFEFF
 8712 8a57 8D5001   		leal	1(%eax), %edx
 8713 8a5a 668995C8 		movw	%dx, -65592(%ebp)
 8713      FFFEFF
 8714 8a61 0FB7C0   		movzwl	%ax, %eax
 8715 8a64 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8715      F4FFFEFF 
 8716 8a6c 0FB6C0   		movzbl	%al, %eax
 8717 8a6f 660985CA 		orw	%ax, -65590(%ebp)
 8717      FFFEFF
 8718              	.L332:
6010:armor.c       ****       JUMP;
6011:armor.c       ****       
6012:armor.c       ****       
6013:armor.c       ****       L0928://        LDA   #$08                    ; 0928: 86 08         
6014:armor.c       ****       A = (SINT8)0x08;
 8719              		.loc 1 6014 0
 8720 8a76 C785E0FF 		movl	$8, -65568(%ebp)
 8720      FEFF0800 
 8720      0000
GAS LISTING /tmp/ccqXEnet.s 			page 342


6015:armor.c       ****   //  N = A;
6016:armor.c       ****   //  Z = A;
6017:armor.c       ****   //  V = 0;
6018:armor.c       ****       
6019:armor.c       ****             //        ORA   <$67                    ; 092A: 9A 67         
6020:armor.c       ****       A = A | memory_DP[0x67];
 8721              		.loc 1 6020 0
 8722 8a80 8B85DCFF 		movl	-65572(%ebp), %eax
 8722      FEFF
 8723 8a86 83C067   		addl	$103, %eax
 8724 8a89 0FB600   		movzbl	(%eax), %eax
 8725 8a8c 0FB6C0   		movzbl	%al, %eax
 8726 8a8f 0985E0FF 		orl	%eax, -65568(%ebp)
 8726      FEFF
6021:armor.c       ****   //  Z = A;
6022:armor.c       ****   //  N = A;
6023:armor.c       ****   //  V = 0;
6024:armor.c       ****       
6025:armor.c       ****             //        STA   <$67                    ; 092C: 97 67         
6026:armor.c       ****   //  Z = A;
6027:armor.c       ****   //  N = A;
6028:armor.c       ****   //  V = 0;
6029:armor.c       ****       memory_DP[0x67] = A;
 8727              		.loc 1 6029 0
 8728 8a95 8B85DCFF 		movl	-65572(%ebp), %eax
 8728      FEFF
 8729 8a9b 83C067   		addl	$103, %eax
 8730 8a9e 8B95E0FF 		movl	-65568(%ebp), %edx
 8730      FEFF
 8731 8aa4 8810     		movb	%dl, (%eax)
6030:armor.c       ****       
6031:armor.c       ****             //        LDB   <$98                    ; 092E: D6 98         
6032:armor.c       ****       B = memory_DP[0x98];
 8732              		.loc 1 6032 0
 8733 8aa6 8B85DCFF 		movl	-65572(%ebp), %eax
 8733      FEFF
 8734 8aac 05980000 		addl	$152, %eax
 8734      00
 8735 8ab1 0FB600   		movzbl	(%eax), %eax
 8736 8ab4 0FB6C0   		movzbl	%al, %eax
 8737 8ab7 8985E4FF 		movl	%eax, -65564(%ebp)
 8737      FEFF
6033:armor.c       ****       N = B;
 8738              		.loc 1 6033 0
 8739 8abd 8B85E4FF 		movl	-65564(%ebp), %eax
 8739      FEFF
 8740 8ac3 8885C1FF 		movb	%al, -65599(%ebp)
 8740      FEFF
6034:armor.c       ****   //  Z = B;
6035:armor.c       ****   //  V = 0;
6036:armor.c       ****       
6037:armor.c       ****             //        BPL   $0940                   ; 0930: 2A 0E         
6038:armor.c       ****       if ((SINT8)N >= 0) {
 8741              		.loc 1 6038 0
 8742 8ac9 0FB685C1 		movzbl	-65599(%ebp), %eax
 8742      FFFEFF
 8743 8ad0 84C0     		testb	%al, %al
GAS LISTING /tmp/ccqXEnet.s 			page 343


 8744 8ad2 7809     		js	.L333
6039:armor.c       ****       PC = 0x0940;
 8745              		.loc 1 6039 0
 8746 8ad4 66C785CA 		movw	$2368, -65590(%ebp)
 8746      FFFEFF40 
 8746      09
 8747              	.L333:
6040:armor.c       ****       JUMP;
6041:armor.c       ****       }
6042:armor.c       ****       
6043:armor.c       ****             //        LEAU  $0A,X                   ; 0932: 33 0A         
6044:armor.c       ****       U = (X + 0x000a);
 8748              		.loc 1 6044 0
 8749 8add 0FB785C6 		movzwl	-65594(%ebp), %eax
 8749      FFFEFF
 8750 8ae4 83C00A   		addl	$10, %eax
 8751 8ae7 668985CE 		movw	%ax, -65586(%ebp)
 8751      FFFEFF
6045:armor.c       ****       
6046:armor.c       ****             //        LDX   #$0FAF                  ; 0934: 8E 0F AF      
6047:armor.c       ****       X = 0x0faf;
 8752              		.loc 1 6047 0
 8753 8aee 66C785C6 		movw	$4015, -65594(%ebp)
 8753      FFFEFFAF 
 8753      0F
6048:armor.c       ****   //  Z = X;
6049:armor.c       ****   //  N = (X) >> 8;
6050:armor.c       ****   //  V = 0;
6051:armor.c       ****       
6052:armor.c       ****             //        LDA   <$A6                    ; 0937: 96 A6         
6053:armor.c       ****       A = memory_DP[0xa6];
 8754              		.loc 1 6053 0
 8755 8af7 8B85DCFF 		movl	-65572(%ebp), %eax
 8755      FEFF
 8756 8afd 05A60000 		addl	$166, %eax
 8756      00
 8757 8b02 0FB600   		movzbl	(%eax), %eax
 8758 8b05 0FB6C0   		movzbl	%al, %eax
 8759 8b08 8985E0FF 		movl	%eax, -65568(%ebp)
 8759      FEFF
6054:armor.c       ****   //  N = A;
6055:armor.c       ****   //  Z = A;
6056:armor.c       ****   //  V = 0;
6057:armor.c       ****       
6058:armor.c       ****             //        JSR   Rot_VL_Mode_a           ; 0939: BD F6 1F      
6059:armor.c       ****       memory[--S] = 0x093c & 0xff; memory[--S] = 0x093c >> 8;
 8760              		.loc 1 6059 0
 8761 8b0e 6683ADC8 		subw	$1, -65592(%ebp)
 8761      FFFEFF01 
 8762 8b16 0FB785C8 		movzwl	-65592(%ebp), %eax
 8762      FFFEFF
 8763 8b1d C68405F4 		movb	$60, -65548(%ebp,%eax)
 8763      FFFEFF3C 
 8764 8b25 6683ADC8 		subw	$1, -65592(%ebp)
 8764      FFFEFF01 
 8765 8b2d 0FB785C8 		movzwl	-65592(%ebp), %eax
 8765      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 344


 8766 8b34 C68405F4 		movb	$9, -65548(%ebp,%eax)
 8766      FFFEFF09 
6060:armor.c       ****       PC = 0xf61f;
 8767              		.loc 1 6060 0
 8768 8b3c 66C785CA 		movw	$-2529, -65590(%ebp)
 8768      FFFEFF1F 
 8768      F6
 8769              	.L334:
6061:armor.c       ****       JUMP;
6062:armor.c       ****       
6063:armor.c       ****       L093C://        CLR   <$98                    ; 093C: 0F 98         
6064:armor.c       ****       memory_DP[0x98] = 0;
 8770              		.loc 1 6064 0
 8771 8b45 8B85DCFF 		movl	-65572(%ebp), %eax
 8771      FEFF
 8772 8b4b 05980000 		addl	$152, %eax
 8772      00
 8773 8b50 C60000   		movb	$0, (%eax)
6065:armor.c       ****       V = 0;
 8774              		.loc 1 6065 0
 8775 8b53 C685C2FF 		movb	$0, -65598(%ebp)
 8775      FEFF00
6066:armor.c       ****       Z = 0;
 8776              		.loc 1 6066 0
 8777 8b5a 66C785CC 		movw	$0, -65588(%ebp)
 8777      FFFEFF00 
 8777      00
6067:armor.c       ****       N = 0;
 8778              		.loc 1 6067 0
 8779 8b63 C685C1FF 		movb	$0, -65599(%ebp)
 8779      FEFF00
6068:armor.c       ****       C = 0;
 8780              		.loc 1 6068 0
 8781 8b6a C785ECFF 		movl	$0, -65556(%ebp)
 8781      FEFF0000 
 8781      0000
6069:armor.c       ****       
6070:armor.c       ****             //        BRA   $0965                   ; 093E: 20 25         
6071:armor.c       ****       PC = 0x0965;
 8782              		.loc 1 6071 0
 8783 8b74 66C785CA 		movw	$2405, -65590(%ebp)
 8783      FFFEFF65 
 8783      09
 8784              	.L335:
6072:armor.c       ****       JUMP;
6073:armor.c       ****       
6074:armor.c       ****       
6075:armor.c       ****       L0940://        LDD   <$8C                    ; 0940: DC 8C         
6076:armor.c       ****       A = memory_DP[0x8c];
 8785              		.loc 1 6076 0
 8786 8b7d 8B85DCFF 		movl	-65572(%ebp), %eax
 8786      FEFF
 8787 8b83 058C0000 		addl	$140, %eax
 8787      00
 8788 8b88 0FB600   		movzbl	(%eax), %eax
 8789 8b8b 0FB6C0   		movzbl	%al, %eax
 8790 8b8e 8985E0FF 		movl	%eax, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 345


 8790      FEFF
6077:armor.c       ****       B = memory_DP[0x8c + 1];
 8791              		.loc 1 6077 0
 8792 8b94 8B85DCFF 		movl	-65572(%ebp), %eax
 8792      FEFF
 8793 8b9a 058D0000 		addl	$141, %eax
 8793      00
 8794 8b9f 0FB600   		movzbl	(%eax), %eax
 8795 8ba2 0FB6C0   		movzbl	%al, %eax
 8796 8ba5 8985E4FF 		movl	%eax, -65564(%ebp)
 8796      FEFF
6078:armor.c       ****   //  Z = A|B;
6079:armor.c       ****   //  N = A;
6080:armor.c       ****   //  V = 0;
6081:armor.c       ****       
6082:armor.c       ****             //        TFR   D,Y                     ; 0942: 1F 02         
6083:armor.c       ****       Y = ((A << 8) | B);
 8797              		.loc 1 6083 0
 8798 8bab 8B85E0FF 		movl	-65568(%ebp), %eax
 8798      FEFF
 8799 8bb1 C1E008   		sall	$8, %eax
 8800 8bb4 89C2     		movl	%eax, %edx
 8801 8bb6 8B85E4FF 		movl	-65564(%ebp), %eax
 8801      FEFF
 8802 8bbc 09D0     		orl	%edx, %eax
 8803 8bbe 668985D2 		movw	%ax, -65582(%ebp)
 8803      FFFEFF
6084:armor.c       ****       
6085:armor.c       ****             //        JSR   $0C66                   ; 0944: BD 0C 66      
6086:armor.c       ****       memory[--S] = 0x0947 & 0xff; memory[--S] = 0x0947 >> 8;
 8804              		.loc 1 6086 0
 8805 8bc5 6683ADC8 		subw	$1, -65592(%ebp)
 8805      FFFEFF01 
 8806 8bcd 0FB785C8 		movzwl	-65592(%ebp), %eax
 8806      FFFEFF
 8807 8bd4 C68405F4 		movb	$71, -65548(%ebp,%eax)
 8807      FFFEFF47 
 8808 8bdc 6683ADC8 		subw	$1, -65592(%ebp)
 8808      FFFEFF01 
 8809 8be4 0FB785C8 		movzwl	-65592(%ebp), %eax
 8809      FFFEFF
 8810 8beb C68405F4 		movb	$9, -65548(%ebp,%eax)
 8810      FFFEFF09 
6087:armor.c       ****       PC = 0x0c66;
 8811              		.loc 1 6087 0
 8812 8bf3 66C785CA 		movw	$3174, -65590(%ebp)
 8812      FFFEFF66 
 8812      0C
 8813              	.L336:
6088:armor.c       ****       JUMP;
6089:armor.c       ****       
6090:armor.c       ****       L0947://        ANDA  <$84                    ; 0947: 94 84         
6091:armor.c       ****       A = A & memory_DP[0x84];
 8814              		.loc 1 6091 0
 8815 8bfc 8B85DCFF 		movl	-65572(%ebp), %eax
 8815      FEFF
 8816 8c02 05840000 		addl	$132, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 346


 8816      00
 8817 8c07 0FB600   		movzbl	(%eax), %eax
 8818 8c0a 0FB6C0   		movzbl	%al, %eax
 8819 8c0d 2185E0FF 		andl	%eax, -65568(%ebp)
 8819      FEFF
6092:armor.c       ****   //  Z = A;
6093:armor.c       ****   //  N = A;
6094:armor.c       ****   //  V = 0;
6095:armor.c       ****       
6096:armor.c       ****             //        STD   <$CD                    ; 0949: DD CD         
6097:armor.c       ****   //  Z = A | B;
6098:armor.c       ****   //  N = A;
6099:armor.c       ****   //  V = 0;
6100:armor.c       ****       memory_DP[0xcd] = A;
 8820              		.loc 1 6100 0
 8821 8c13 8B85DCFF 		movl	-65572(%ebp), %eax
 8821      FEFF
 8822 8c19 05CD0000 		addl	$205, %eax
 8822      00
 8823 8c1e 8B95E0FF 		movl	-65568(%ebp), %edx
 8823      FEFF
 8824 8c24 8810     		movb	%dl, (%eax)
6101:armor.c       ****       memory_DP[0xcd + 1] = B;
 8825              		.loc 1 6101 0
 8826 8c26 8B85DCFF 		movl	-65572(%ebp), %eax
 8826      FEFF
 8827 8c2c 05CE0000 		addl	$206, %eax
 8827      00
 8828 8c31 8B95E4FF 		movl	-65564(%ebp), %edx
 8828      FEFF
 8829 8c37 8810     		movb	%dl, (%eax)
6102:armor.c       ****       
6103:armor.c       ****             //        LEAX  $09,X                   ; 094B: 30 09         
6104:armor.c       ****       X = (X + 0x0009);
 8830              		.loc 1 6104 0
 8831 8c39 668385C6 		addw	$9, -65594(%ebp)
 8831      FFFEFF09 
6105:armor.c       ****   //  Z = X;
6106:armor.c       ****       
6107:armor.c       ****             //        CMPB  #$08                    ; 094D: C1 08         
6108:armor.c       ****       res = B - (SINT8)0x08;
 8832              		.loc 1 6108 0
 8833 8c41 8B85E4FF 		movl	-65564(%ebp), %eax
 8833      FEFF
 8834 8c47 83E808   		subl	$8, %eax
 8835 8c4a 8985E8FF 		movl	%eax, -65560(%ebp)
 8835      FEFF
6109:armor.c       ****       C = res & 0x100;
 8836              		.loc 1 6109 0
 8837 8c50 8B85E8FF 		movl	-65560(%ebp), %eax
 8837      FEFF
 8838 8c56 25000100 		andl	$256, %eax
 8838      00
 8839 8c5b 8985ECFF 		movl	%eax, -65556(%ebp)
 8839      FEFF
6110:armor.c       ****       res = (UINT8)res;
 8840              		.loc 1 6110 0
GAS LISTING /tmp/ccqXEnet.s 			page 347


 8841 8c61 8B85E8FF 		movl	-65560(%ebp), %eax
 8841      FEFF
 8842 8c67 0FB6C0   		movzbl	%al, %eax
 8843 8c6a 8985E8FF 		movl	%eax, -65560(%ebp)
 8843      FEFF
6111:armor.c       ****       Z = res;
 8844              		.loc 1 6111 0
 8845 8c70 8B85E8FF 		movl	-65560(%ebp), %eax
 8845      FEFF
 8846 8c76 668985CC 		movw	%ax, -65588(%ebp)
 8846      FFFEFF
6112:armor.c       ****   //  N = res;
6113:armor.c       ****   //  V = (B ^ (SINT8)0x08) & (B ^ res);
6114:armor.c       ****       
6115:armor.c       ****             //        BLS   $0959                   ; 094F: 23 08         
6116:armor.c       ****       if ((!Z) || C) {
 8847              		.loc 1 6116 0
 8848 8c7d 6683BDCC 		cmpw	$0, -65588(%ebp)
 8848      FFFEFF00 
 8849 8c85 7409     		je	.L337
 8850              		.loc 1 6116 0 is_stmt 0 discriminator 1
 8851 8c87 83BDECFF 		cmpl	$0, -65556(%ebp)
 8851      FEFF00
 8852 8c8e 7409     		je	.L338
 8853              	.L337:
6117:armor.c       ****       PC = 0x0959;
 8854              		.loc 1 6117 0 is_stmt 1
 8855 8c90 66C785CA 		movw	$2393, -65590(%ebp)
 8855      FFFEFF59 
 8855      09
 8856              	.L338:
6118:armor.c       ****       JUMP;
6119:armor.c       ****       }
6120:armor.c       ****       
6121:armor.c       ****             //        SUBA  <$A6                    ; 0951: 90 A6         
6122:armor.c       ****       A = (UINT8)(A - memory_DP[0xa6]);
 8857              		.loc 1 6122 0
 8858 8c99 8B85E0FF 		movl	-65568(%ebp), %eax
 8858      FEFF
 8859 8c9f 89C2     		movl	%eax, %edx
 8860 8ca1 8B85DCFF 		movl	-65572(%ebp), %eax
 8860      FEFF
 8861 8ca7 05A60000 		addl	$166, %eax
 8861      00
 8862 8cac 0FB600   		movzbl	(%eax), %eax
 8863 8caf 29C2     		subl	%eax, %edx
 8864 8cb1 89D0     		movl	%edx, %eax
 8865 8cb3 0FB6C0   		movzbl	%al, %eax
 8866 8cb6 8985E0FF 		movl	%eax, -65568(%ebp)
 8866      FEFF
6123:armor.c       ****       res = A - memory_DP[0xa6];
 8867              		.loc 1 6123 0
 8868 8cbc 8B85DCFF 		movl	-65572(%ebp), %eax
 8868      FEFF
 8869 8cc2 05A60000 		addl	$166, %eax
 8869      00
 8870 8cc7 0FB600   		movzbl	(%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 348


 8871 8cca 0FB6C0   		movzbl	%al, %eax
 8872 8ccd 8B95E0FF 		movl	-65568(%ebp), %edx
 8872      FEFF
 8873 8cd3 29C2     		subl	%eax, %edx
 8874 8cd5 89D0     		movl	%edx, %eax
 8875 8cd7 8985E8FF 		movl	%eax, -65560(%ebp)
 8875      FEFF
6124:armor.c       ****       C = res & 0x100;
 8876              		.loc 1 6124 0
 8877 8cdd 8B85E8FF 		movl	-65560(%ebp), %eax
 8877      FEFF
 8878 8ce3 25000100 		andl	$256, %eax
 8878      00
 8879 8ce8 8985ECFF 		movl	%eax, -65556(%ebp)
 8879      FEFF
6125:armor.c       ****       res = (UINT8)res;
 8880              		.loc 1 6125 0
 8881 8cee 8B85E8FF 		movl	-65560(%ebp), %eax
 8881      FEFF
 8882 8cf4 0FB6C0   		movzbl	%al, %eax
 8883 8cf7 8985E8FF 		movl	%eax, -65560(%ebp)
 8883      FEFF
6126:armor.c       ****       Z = res;
 8884              		.loc 1 6126 0
 8885 8cfd 8B85E8FF 		movl	-65560(%ebp), %eax
 8885      FEFF
 8886 8d03 668985CC 		movw	%ax, -65588(%ebp)
 8886      FFFEFF
6127:armor.c       ****       N = res;
 8887              		.loc 1 6127 0
 8888 8d0a 8B85E8FF 		movl	-65560(%ebp), %eax
 8888      FEFF
 8889 8d10 8885C1FF 		movb	%al, -65599(%ebp)
 8889      FEFF
6128:armor.c       ****       V = ((A) ^ (memory_DP[0xa6])) & ((A) ^ res);
 8890              		.loc 1 6128 0
 8891 8d16 8B85DCFF 		movl	-65572(%ebp), %eax
 8891      FEFF
 8892 8d1c 05A60000 		addl	$166, %eax
 8892      00
 8893 8d21 0FB600   		movzbl	(%eax), %eax
 8894 8d24 89C2     		movl	%eax, %edx
 8895 8d26 8B85E0FF 		movl	-65568(%ebp), %eax
 8895      FEFF
 8896 8d2c 31C2     		xorl	%eax, %edx
 8897 8d2e 8B85E0FF 		movl	-65568(%ebp), %eax
 8897      FEFF
 8898 8d34 89C1     		movl	%eax, %ecx
 8899 8d36 8B85E8FF 		movl	-65560(%ebp), %eax
 8899      FEFF
 8900 8d3c 31C8     		xorl	%ecx, %eax
 8901 8d3e 21D0     		andl	%edx, %eax
 8902 8d40 8885C2FF 		movb	%al, -65598(%ebp)
 8902      FEFF
6129:armor.c       ****       
6130:armor.c       ****             //        BEQ   $0959                   ; 0953: 27 04         
6131:armor.c       ****       if (!Z) {
GAS LISTING /tmp/ccqXEnet.s 			page 349


 8903              		.loc 1 6131 0
 8904 8d46 6683BDCC 		cmpw	$0, -65588(%ebp)
 8904      FFFEFF00 
 8905 8d4e 7509     		jne	.L339
6132:armor.c       ****       PC = 0x0959;
 8906              		.loc 1 6132 0
 8907 8d50 66C785CA 		movw	$2393, -65590(%ebp)
 8907      FFFEFF59 
 8907      09
 8908              	.L339:
6133:armor.c       ****       JUMP;
6134:armor.c       ****       }
6135:armor.c       ****       
6136:armor.c       ****             //        BSR   $0989                   ; 0955: 8D 32         
6137:armor.c       ****       memory[--S] = 0x0957 & 0xff; memory[--S] = 0x0957 >> 8;
 8909              		.loc 1 6137 0
 8910 8d59 6683ADC8 		subw	$1, -65592(%ebp)
 8910      FFFEFF01 
 8911 8d61 0FB785C8 		movzwl	-65592(%ebp), %eax
 8911      FFFEFF
 8912 8d68 C68405F4 		movb	$87, -65548(%ebp,%eax)
 8912      FFFEFF57 
 8913 8d70 6683ADC8 		subw	$1, -65592(%ebp)
 8913      FFFEFF01 
 8914 8d78 0FB785C8 		movzwl	-65592(%ebp), %eax
 8914      FFFEFF
 8915 8d7f C68405F4 		movb	$9, -65548(%ebp,%eax)
 8915      FFFEFF09 
6138:armor.c       ****       PC = 0x0989;
 8916              		.loc 1 6138 0
 8917 8d87 66C785CA 		movw	$2441, -65590(%ebp)
 8917      FFFEFF89 
 8917      09
 8918              	.L340:
6139:armor.c       ****       JUMP;
6140:armor.c       ****       
6141:armor.c       ****       L0957://        DEC   <$98                    ; 0957: 0A 98         
6142:armor.c       ****       res = (UINT8)(memory_DP[0x98] - 1);
 8919              		.loc 1 6142 0
 8920 8d90 8B85DCFF 		movl	-65572(%ebp), %eax
 8920      FEFF
 8921 8d96 05980000 		addl	$152, %eax
 8921      00
 8922 8d9b 0FB600   		movzbl	(%eax), %eax
 8923 8d9e 83E801   		subl	$1, %eax
 8924 8da1 0FB6C0   		movzbl	%al, %eax
 8925 8da4 8985E8FF 		movl	%eax, -65560(%ebp)
 8925      FEFF
6143:armor.c       ****   //  N = res;
6144:armor.c       ****   //  Z = res;
6145:armor.c       ****   //  V = memory_DP[0x98] & ~res;
6146:armor.c       ****       memory_DP[0x98] = res;
 8926              		.loc 1 6146 0
 8927 8daa 8B85DCFF 		movl	-65572(%ebp), %eax
 8927      FEFF
 8928 8db0 05980000 		addl	$152, %eax
 8928      00
GAS LISTING /tmp/ccqXEnet.s 			page 350


 8929 8db5 8B95E8FF 		movl	-65560(%ebp), %edx
 8929      FEFF
 8930 8dbb 8810     		movb	%dl, (%eax)
 8931              	.L341:
6147:armor.c       ****       
6148:armor.c       ****       L0959://        LEAX  $FFFF,X                 ; 0959: 30 1F         
6149:armor.c       ****       X = (X + 0xffff);
 8932              		.loc 1 6149 0
 8933 8dbd 6683ADC6 		subw	$1, -65594(%ebp)
 8933      FFFEFF01 
6150:armor.c       ****   //  Z = X;
6151:armor.c       ****       
6152:armor.c       ****             //        LDA   <$95                    ; 095B: 96 95         
6153:armor.c       ****       A = memory_DP[0x95];
 8934              		.loc 1 6153 0
 8935 8dc5 8B85DCFF 		movl	-65572(%ebp), %eax
 8935      FEFF
 8936 8dcb 05950000 		addl	$149, %eax
 8936      00
 8937 8dd0 0FB600   		movzbl	(%eax), %eax
 8938 8dd3 0FB6C0   		movzbl	%al, %eax
 8939 8dd6 8985E0FF 		movl	%eax, -65568(%ebp)
 8939      FEFF
6154:armor.c       ****   //  N = A;
6155:armor.c       ****   //  Z = A;
6156:armor.c       ****   //  V = 0;
6157:armor.c       ****       
6158:armor.c       ****             //        ANDA  #$01                    ; 095D: 84 01         
6159:armor.c       ****       A = A & (SINT8)0x01;
 8940              		.loc 1 6159 0
 8941 8ddc 83A5E0FF 		andl	$1, -65568(%ebp)
 8941      FEFF01
6160:armor.c       ****   //  Z = A;
6161:armor.c       ****   //  N = A;
6162:armor.c       ****   //  V = 0;
6163:armor.c       ****       
6164:armor.c       ****             //        ASLA                          ; 095F: 48            
6165:armor.c       ****       res = A << 1;
 8942              		.loc 1 6165 0
 8943 8de3 8B85E0FF 		movl	-65568(%ebp), %eax
 8943      FEFF
 8944 8de9 01C0     		addl	%eax, %eax
 8945 8deb 8985E8FF 		movl	%eax, -65560(%ebp)
 8945      FEFF
6166:armor.c       ****   //  C = res & 0x100;
6167:armor.c       ****       res = (UINT8)res;
 8946              		.loc 1 6167 0
 8947 8df1 8B85E8FF 		movl	-65560(%ebp), %eax
 8947      FEFF
 8948 8df7 0FB6C0   		movzbl	%al, %eax
 8949 8dfa 8985E8FF 		movl	%eax, -65560(%ebp)
 8949      FEFF
6168:armor.c       ****   //  Z = res;
6169:armor.c       ****   //  N = res;
6170:armor.c       ****   //  V = A ^ res;
6171:armor.c       ****       A = res;
 8950              		.loc 1 6171 0
GAS LISTING /tmp/ccqXEnet.s 			page 351


 8951 8e00 8B85E8FF 		movl	-65560(%ebp), %eax
 8951      FEFF
 8952 8e06 8985E0FF 		movl	%eax, -65568(%ebp)
 8952      FEFF
6172:armor.c       ****       
6173:armor.c       ****             //        LDU   #$0A55                  ; 0960: CE 0A 55      
6174:armor.c       ****       U = 0x0a55;
 8953              		.loc 1 6174 0
 8954 8e0c 66C785CE 		movw	$2645, -65586(%ebp)
 8954      FFFEFF55 
 8954      0A
6175:armor.c       ****   //  Z = U;
6176:armor.c       ****   //  N = (U) >> 8;
6177:armor.c       ****   //  V = 0;
6178:armor.c       ****       
6179:armor.c       ****             //        JSR   [A,U]                   ; 0963: AD D6         
6180:armor.c       ****       memory[--S] = 0x0965 & 0xff; memory[--S] = 0x0965 >> 8;
 8955              		.loc 1 6180 0
 8956 8e15 6683ADC8 		subw	$1, -65592(%ebp)
 8956      FFFEFF01 
 8957 8e1d 0FB785C8 		movzwl	-65592(%ebp), %eax
 8957      FFFEFF
 8958 8e24 C68405F4 		movb	$101, -65548(%ebp,%eax)
 8958      FFFEFF65 
 8959 8e2c 6683ADC8 		subw	$1, -65592(%ebp)
 8959      FFFEFF01 
 8960 8e34 0FB785C8 		movzwl	-65592(%ebp), %eax
 8960      FFFEFF
 8961 8e3b C68405F4 		movb	$9, -65548(%ebp,%eax)
 8961      FFFEFF09 
6181:armor.c       ****       PC = ((memory[(UINT16)(U + (SINT8)A)]<<8)|memory[(UINT16)(U + (SINT8)A + 1)]);
 8962              		.loc 1 6181 0
 8963 8e43 8B85E0FF 		movl	-65568(%ebp), %eax
 8963      FEFF
 8964 8e49 660FBED0 		movsbw	%al, %dx
 8965 8e4d 0FB785CE 		movzwl	-65586(%ebp), %eax
 8965      FFFEFF
 8966 8e54 01D0     		addl	%edx, %eax
 8967 8e56 0FB7C0   		movzwl	%ax, %eax
 8968 8e59 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8968      F4FFFEFF 
 8969 8e61 0FB6C0   		movzbl	%al, %eax
 8970 8e64 C1E008   		sall	$8, %eax
 8971 8e67 89C1     		movl	%eax, %ecx
 8972 8e69 8B85E0FF 		movl	-65568(%ebp), %eax
 8972      FEFF
 8973 8e6f 660FBED0 		movsbw	%al, %dx
 8974 8e73 0FB785CE 		movzwl	-65586(%ebp), %eax
 8974      FFFEFF
 8975 8e7a 01D0     		addl	%edx, %eax
 8976 8e7c 83C001   		addl	$1, %eax
 8977 8e7f 0FB7C0   		movzwl	%ax, %eax
 8978 8e82 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8978      F4FFFEFF 
 8979 8e8a 0FB6C0   		movzbl	%al, %eax
 8980 8e8d 09C8     		orl	%ecx, %eax
 8981 8e8f 668985CA 		movw	%ax, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 352


 8981      FFFEFF
 8982              	.L342:
6182:armor.c       ****       JUMP;
6183:armor.c       ****       
6184:armor.c       ****       L0965://        LDD   #$78FF                  ; 0965: CC 78 FF      
6185:armor.c       ****       A = (UINT8)((0x78ff) >> 8);
 8983              		.loc 1 6185 0
 8984 8e96 C785E0FF 		movl	$120, -65568(%ebp)
 8984      FEFF7800 
 8984      0000
6186:armor.c       ****       B = (UINT8)((0x78ff) & 0xff);
 8985              		.loc 1 6186 0
 8986 8ea0 C785E4FF 		movl	$255, -65564(%ebp)
 8986      FEFFFF00 
 8986      0000
6187:armor.c       ****   //  Z = A|B;
6188:armor.c       ****   //  N = A;
6189:armor.c       ****   //  V = 0;
6190:armor.c       ****       
6191:armor.c       ****             //        LEAX  $FFFA,X                 ; 0968: 30 1A         
6192:armor.c       ****       X = (X + 0xfffa);
 8987              		.loc 1 6192 0
 8988 8eaa 6683ADC6 		subw	$6, -65594(%ebp)
 8988      FFFEFF06 
6193:armor.c       ****   //  Z = X;
6194:armor.c       ****       
6195:armor.c       ****             //        CMPA  ,X+                     ; 096A: A1 80         
6196:armor.c       ****       res = A - memory[X++];
 8989              		.loc 1 6196 0
 8990 8eb2 0FB785C6 		movzwl	-65594(%ebp), %eax
 8990      FFFEFF
 8991 8eb9 8D5001   		leal	1(%eax), %edx
 8992 8ebc 668995C6 		movw	%dx, -65594(%ebp)
 8992      FFFEFF
 8993 8ec3 0FB7C0   		movzwl	%ax, %eax
 8994 8ec6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 8994      F4FFFEFF 
 8995 8ece 0FB6C0   		movzbl	%al, %eax
 8996 8ed1 8B95E0FF 		movl	-65568(%ebp), %edx
 8996      FEFF
 8997 8ed7 29C2     		subl	%eax, %edx
 8998 8ed9 89D0     		movl	%edx, %eax
 8999 8edb 8985E8FF 		movl	%eax, -65560(%ebp)
 8999      FEFF
6197:armor.c       ****   //  C = res & 0x100;
6198:armor.c       ****       res = (UINT8)res;
 9000              		.loc 1 6198 0
 9001 8ee1 8B85E8FF 		movl	-65560(%ebp), %eax
 9001      FEFF
 9002 8ee7 0FB6C0   		movzbl	%al, %eax
 9003 8eea 8985E8FF 		movl	%eax, -65560(%ebp)
 9003      FEFF
6199:armor.c       ****   //  Z = res;
6200:armor.c       ****       N = res;
 9004              		.loc 1 6200 0
 9005 8ef0 8B85E8FF 		movl	-65560(%ebp), %eax
 9005      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 353


 9006 8ef6 8885C1FF 		movb	%al, -65599(%ebp)
 9006      FEFF
6201:armor.c       ****       V = (A ^ memory[X]) & (A ^ res);
 9007              		.loc 1 6201 0
 9008 8efc 0FB785C6 		movzwl	-65594(%ebp), %eax
 9008      FFFEFF
 9009 8f03 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9009      F4FFFEFF 
 9010 8f0b 89C2     		movl	%eax, %edx
 9011 8f0d 8B85E0FF 		movl	-65568(%ebp), %eax
 9011      FEFF
 9012 8f13 31C2     		xorl	%eax, %edx
 9013 8f15 8B85E0FF 		movl	-65568(%ebp), %eax
 9013      FEFF
 9014 8f1b 89C1     		movl	%eax, %ecx
 9015 8f1d 8B85E8FF 		movl	-65560(%ebp), %eax
 9015      FEFF
 9016 8f23 31C8     		xorl	%ecx, %eax
 9017 8f25 21D0     		andl	%edx, %eax
 9018 8f27 8885C2FF 		movb	%al, -65598(%ebp)
 9018      FEFF
6202:armor.c       ****       
6203:armor.c       ****             //        BLT   $097E                   ; 096C: 2D 10         
6204:armor.c       ****       if ((SINT8)(N^V) <  0) {
 9019              		.loc 1 6204 0
 9020 8f2d 0FB685C1 		movzbl	-65599(%ebp), %eax
 9020      FFFEFF
 9021 8f34 3285C2FF 		xorb	-65598(%ebp), %al
 9021      FEFF
 9022 8f3a 84C0     		testb	%al, %al
 9023 8f3c 7909     		jns	.L343
6205:armor.c       ****       PC = 0x097e;
 9024              		.loc 1 6205 0
 9025 8f3e 66C785CA 		movw	$2430, -65590(%ebp)
 9025      FFFEFF7E 
 9025      09
 9026              	.L343:
6206:armor.c       ****       JUMP;
6207:armor.c       ****       }
6208:armor.c       ****       
6209:armor.c       ****             //        CMPA  ,X+                     ; 096E: A1 80         
6210:armor.c       ****       res = A - memory[X++];
 9027              		.loc 1 6210 0
 9028 8f47 0FB785C6 		movzwl	-65594(%ebp), %eax
 9028      FFFEFF
 9029 8f4e 8D5001   		leal	1(%eax), %edx
 9030 8f51 668995C6 		movw	%dx, -65594(%ebp)
 9030      FFFEFF
 9031 8f58 0FB7C0   		movzwl	%ax, %eax
 9032 8f5b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9032      F4FFFEFF 
 9033 8f63 0FB6C0   		movzbl	%al, %eax
 9034 8f66 8B95E0FF 		movl	-65568(%ebp), %edx
 9034      FEFF
 9035 8f6c 29C2     		subl	%eax, %edx
 9036 8f6e 89D0     		movl	%edx, %eax
 9037 8f70 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 354


 9037      FEFF
6211:armor.c       ****   //  C = res & 0x100;
6212:armor.c       ****       res = (UINT8)res;
 9038              		.loc 1 6212 0
 9039 8f76 8B85E8FF 		movl	-65560(%ebp), %eax
 9039      FEFF
 9040 8f7c 0FB6C0   		movzbl	%al, %eax
 9041 8f7f 8985E8FF 		movl	%eax, -65560(%ebp)
 9041      FEFF
6213:armor.c       ****   //  Z = res;
6214:armor.c       ****       N = res;
 9042              		.loc 1 6214 0
 9043 8f85 8B85E8FF 		movl	-65560(%ebp), %eax
 9043      FEFF
 9044 8f8b 8885C1FF 		movb	%al, -65599(%ebp)
 9044      FEFF
6215:armor.c       ****       V = (A ^ memory[X]) & (A ^ res);
 9045              		.loc 1 6215 0
 9046 8f91 0FB785C6 		movzwl	-65594(%ebp), %eax
 9046      FFFEFF
 9047 8f98 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9047      F4FFFEFF 
 9048 8fa0 89C2     		movl	%eax, %edx
 9049 8fa2 8B85E0FF 		movl	-65568(%ebp), %eax
 9049      FEFF
 9050 8fa8 31C2     		xorl	%eax, %edx
 9051 8faa 8B85E0FF 		movl	-65568(%ebp), %eax
 9051      FEFF
 9052 8fb0 89C1     		movl	%eax, %ecx
 9053 8fb2 8B85E8FF 		movl	-65560(%ebp), %eax
 9053      FEFF
 9054 8fb8 31C8     		xorl	%ecx, %eax
 9055 8fba 21D0     		andl	%edx, %eax
 9056 8fbc 8885C2FF 		movb	%al, -65598(%ebp)
 9056      FEFF
6216:armor.c       ****       
6217:armor.c       ****             //        BLT   $097E                   ; 0970: 2D 0C         
6218:armor.c       ****       if ((SINT8)(N^V) <  0) {
 9057              		.loc 1 6218 0
 9058 8fc2 0FB685C1 		movzbl	-65599(%ebp), %eax
 9058      FFFEFF
 9059 8fc9 3285C2FF 		xorb	-65598(%ebp), %al
 9059      FEFF
 9060 8fcf 84C0     		testb	%al, %al
 9061 8fd1 7909     		jns	.L344
6219:armor.c       ****       PC = 0x097e;
 9062              		.loc 1 6219 0
 9063 8fd3 66C785CA 		movw	$2430, -65590(%ebp)
 9063      FFFEFF7E 
 9063      09
 9064              	.L344:
6220:armor.c       ****       JUMP;
6221:armor.c       ****       }
6222:armor.c       ****       
6223:armor.c       ****             //        NEGA                          ; 0972: 40            
6224:armor.c       ****   //  V = (UINT8)(-A) & (A);
6225:armor.c       ****       A = (UINT8)(-A);
GAS LISTING /tmp/ccqXEnet.s 			page 355


 9065              		.loc 1 6225 0
 9066 8fdc 8B85E0FF 		movl	-65568(%ebp), %eax
 9066      FEFF
 9067 8fe2 F7D8     		negl	%eax
 9068 8fe4 0FB6C0   		movzbl	%al, %eax
 9069 8fe7 8985E0FF 		movl	%eax, -65568(%ebp)
 9069      FEFF
6226:armor.c       ****   //  Z = A;
6227:armor.c       ****   //  N = A;
6228:armor.c       ****   //  C = A;
6229:armor.c       ****       
6230:armor.c       ****             //        NEGB                          ; 0973: 50            
6231:armor.c       ****   //  V = (UINT8)(-B) & (B);
6232:armor.c       ****       B = (UINT8)(-B);
 9070              		.loc 1 6232 0
 9071 8fed 8B85E4FF 		movl	-65564(%ebp), %eax
 9071      FEFF
 9072 8ff3 F7D8     		negl	%eax
 9073 8ff5 0FB6C0   		movzbl	%al, %eax
 9074 8ff8 8985E4FF 		movl	%eax, -65564(%ebp)
 9074      FEFF
6233:armor.c       ****   //  Z = B;
6234:armor.c       ****   //  N = B;
6235:armor.c       ****   //  C = B;
6236:armor.c       ****       
6237:armor.c       ****             //        LEAX  $FFFE,X                 ; 0974: 30 1E         
6238:armor.c       ****       X = (X + 0xfffe);
 9075              		.loc 1 6238 0
 9076 8ffe 6683ADC6 		subw	$2, -65594(%ebp)
 9076      FFFEFF02 
6239:armor.c       ****   //  Z = X;
6240:armor.c       ****       
6241:armor.c       ****             //        CMPA  ,X+                     ; 0976: A1 80         
6242:armor.c       ****       res = A - memory[X++];
 9077              		.loc 1 6242 0
 9078 9006 0FB785C6 		movzwl	-65594(%ebp), %eax
 9078      FFFEFF
 9079 900d 8D5001   		leal	1(%eax), %edx
 9080 9010 668995C6 		movw	%dx, -65594(%ebp)
 9080      FFFEFF
 9081 9017 0FB7C0   		movzwl	%ax, %eax
 9082 901a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9082      F4FFFEFF 
 9083 9022 0FB6C0   		movzbl	%al, %eax
 9084 9025 8B95E0FF 		movl	-65568(%ebp), %edx
 9084      FEFF
 9085 902b 29C2     		subl	%eax, %edx
 9086 902d 89D0     		movl	%edx, %eax
 9087 902f 8985E8FF 		movl	%eax, -65560(%ebp)
 9087      FEFF
6243:armor.c       ****   //  C = res & 0x100;
6244:armor.c       ****       res = (UINT8)res;
 9088              		.loc 1 6244 0
 9089 9035 8B85E8FF 		movl	-65560(%ebp), %eax
 9089      FEFF
 9090 903b 0FB6C0   		movzbl	%al, %eax
 9091 903e 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 356


 9091      FEFF
6245:armor.c       ****       Z = res;
 9092              		.loc 1 6245 0
 9093 9044 8B85E8FF 		movl	-65560(%ebp), %eax
 9093      FEFF
 9094 904a 668985CC 		movw	%ax, -65588(%ebp)
 9094      FFFEFF
6246:armor.c       ****       N = res;
 9095              		.loc 1 6246 0
 9096 9051 8B85E8FF 		movl	-65560(%ebp), %eax
 9096      FEFF
 9097 9057 8885C1FF 		movb	%al, -65599(%ebp)
 9097      FEFF
6247:armor.c       ****       V = (A ^ memory[X]) & (A ^ res);
 9098              		.loc 1 6247 0
 9099 905d 0FB785C6 		movzwl	-65594(%ebp), %eax
 9099      FFFEFF
 9100 9064 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9100      F4FFFEFF 
 9101 906c 89C2     		movl	%eax, %edx
 9102 906e 8B85E0FF 		movl	-65568(%ebp), %eax
 9102      FEFF
 9103 9074 31C2     		xorl	%eax, %edx
 9104 9076 8B85E0FF 		movl	-65568(%ebp), %eax
 9104      FEFF
 9105 907c 89C1     		movl	%eax, %ecx
 9106 907e 8B85E8FF 		movl	-65560(%ebp), %eax
 9106      FEFF
 9107 9084 31C8     		xorl	%ecx, %eax
 9108 9086 21D0     		andl	%edx, %eax
 9109 9088 8885C2FF 		movb	%al, -65598(%ebp)
 9109      FEFF
6248:armor.c       ****       
6249:armor.c       ****             //        BGT   $097E                   ; 0978: 2E 04         
6250:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 9110              		.loc 1 6250 0
 9111 908e 0FB685C1 		movzbl	-65599(%ebp), %eax
 9111      FFFEFF
 9112 9095 3285C2FF 		xorb	-65598(%ebp), %al
 9112      FEFF
 9113 909b 84C0     		testb	%al, %al
 9114 909d 7813     		js	.L345
 9115              		.loc 1 6250 0 is_stmt 0 discriminator 1
 9116 909f 6683BDCC 		cmpw	$0, -65588(%ebp)
 9116      FFFEFF00 
 9117 90a7 7409     		je	.L345
6251:armor.c       ****       PC = 0x097e;
 9118              		.loc 1 6251 0 is_stmt 1
 9119 90a9 66C785CA 		movw	$2430, -65590(%ebp)
 9119      FFFEFF7E 
 9119      09
 9120              	.L345:
6252:armor.c       ****       JUMP;
6253:armor.c       ****       }
6254:armor.c       ****       
6255:armor.c       ****             //        CMPA  ,X+                     ; 097A: A1 80         
6256:armor.c       ****       res = A - memory[X++];
GAS LISTING /tmp/ccqXEnet.s 			page 357


 9121              		.loc 1 6256 0
 9122 90b2 0FB785C6 		movzwl	-65594(%ebp), %eax
 9122      FFFEFF
 9123 90b9 8D5001   		leal	1(%eax), %edx
 9124 90bc 668995C6 		movw	%dx, -65594(%ebp)
 9124      FFFEFF
 9125 90c3 0FB7C0   		movzwl	%ax, %eax
 9126 90c6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9126      F4FFFEFF 
 9127 90ce 0FB6C0   		movzbl	%al, %eax
 9128 90d1 8B95E0FF 		movl	-65568(%ebp), %edx
 9128      FEFF
 9129 90d7 29C2     		subl	%eax, %edx
 9130 90d9 89D0     		movl	%edx, %eax
 9131 90db 8985E8FF 		movl	%eax, -65560(%ebp)
 9131      FEFF
6257:armor.c       ****   //  C = res & 0x100;
6258:armor.c       ****       res = (UINT8)res;
 9132              		.loc 1 6258 0
 9133 90e1 8B85E8FF 		movl	-65560(%ebp), %eax
 9133      FEFF
 9134 90e7 0FB6C0   		movzbl	%al, %eax
 9135 90ea 8985E8FF 		movl	%eax, -65560(%ebp)
 9135      FEFF
6259:armor.c       ****   //  Z = res;
6260:armor.c       ****       N = res;
 9136              		.loc 1 6260 0
 9137 90f0 8B85E8FF 		movl	-65560(%ebp), %eax
 9137      FEFF
 9138 90f6 8885C1FF 		movb	%al, -65599(%ebp)
 9138      FEFF
6261:armor.c       ****       V = (A ^ memory[X]) & (A ^ res);
 9139              		.loc 1 6261 0
 9140 90fc 0FB785C6 		movzwl	-65594(%ebp), %eax
 9140      FFFEFF
 9141 9103 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9141      F4FFFEFF 
 9142 910b 89C2     		movl	%eax, %edx
 9143 910d 8B85E0FF 		movl	-65568(%ebp), %eax
 9143      FEFF
 9144 9113 31C2     		xorl	%eax, %edx
 9145 9115 8B85E0FF 		movl	-65568(%ebp), %eax
 9145      FEFF
 9146 911b 89C1     		movl	%eax, %ecx
 9147 911d 8B85E8FF 		movl	-65560(%ebp), %eax
 9147      FEFF
 9148 9123 31C8     		xorl	%ecx, %eax
 9149 9125 21D0     		andl	%edx, %eax
 9150 9127 8885C2FF 		movb	%al, -65598(%ebp)
 9150      FEFF
6262:armor.c       ****       
6263:armor.c       ****             //        BLT   $0980                   ; 097C: 2D 02         
6264:armor.c       ****       if ((SINT8)(N^V) <  0) {
 9151              		.loc 1 6264 0
 9152 912d 0FB685C1 		movzbl	-65599(%ebp), %eax
 9152      FFFEFF
 9153 9134 3285C2FF 		xorb	-65598(%ebp), %al
GAS LISTING /tmp/ccqXEnet.s 			page 358


 9153      FEFF
 9154 913a 84C0     		testb	%al, %al
 9155 913c 790B     		jns	.L460
6265:armor.c       ****       PC = 0x0980;
 9156              		.loc 1 6265 0
 9157 913e 66C785CA 		movw	$2432, -65590(%ebp)
 9157      FFFEFF80 
 9157      09
 9158 9147 EB01     		jmp	.L346
 9159              	.L460:
6266:armor.c       ****       JUMP;
6267:armor.c       ****       }
6268:armor.c       ****       
6269:armor.c       ****       L097E://        STB   $03,X                   ; 097E: E7 03         
 9160              		.loc 1 6269 0
 9161 9149 90       		nop
 9162              	.L346:
6270:armor.c       ****   //  Z = B;
6271:armor.c       ****   //  N = B;
6272:armor.c       ****   //  V = 0;
6273:armor.c       ****       memory[(UINT16)(X + 0x0003)] = B;
 9163              		.loc 1 6273 0
 9164 914a 0FB785C6 		movzwl	-65594(%ebp), %eax
 9164      FFFEFF
 9165 9151 83C003   		addl	$3, %eax
 9166 9154 0FB7C0   		movzwl	%ax, %eax
 9167 9157 8B95E4FF 		movl	-65564(%ebp), %edx
 9167      FEFF
 9168 915d 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9168      FFFEFF
 9169              	.L347:
6274:armor.c       ****       
6275:armor.c       ****       L0980://        LDD   <$9F                    ; 0980: DC 9F         
6276:armor.c       ****       A = memory_DP[0x9f];
 9170              		.loc 1 6276 0
 9171 9164 8B85DCFF 		movl	-65572(%ebp), %eax
 9171      FEFF
 9172 916a 059F0000 		addl	$159, %eax
 9172      00
 9173 916f 0FB600   		movzbl	(%eax), %eax
 9174 9172 0FB6C0   		movzbl	%al, %eax
 9175 9175 8985E0FF 		movl	%eax, -65568(%ebp)
 9175      FEFF
6277:armor.c       ****       B = memory_DP[0x9f + 1];
 9176              		.loc 1 6277 0
 9177 917b 8B85DCFF 		movl	-65572(%ebp), %eax
 9177      FEFF
 9178 9181 05A00000 		addl	$160, %eax
 9178      00
 9179 9186 0FB600   		movzbl	(%eax), %eax
 9180 9189 0FB6C0   		movzbl	%al, %eax
 9181 918c 8985E4FF 		movl	%eax, -65564(%ebp)
 9181      FEFF
6278:armor.c       ****   //  Z = A|B;
6279:armor.c       ****   //  N = A;
6280:armor.c       ****   //  V = 0;
6281:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 359


6282:armor.c       ****             //        ADDA  <$A3                    ; 0982: 9B A3         
6283:armor.c       ****       A = (UINT8)(A + memory_DP[0xa3]);
 9182              		.loc 1 6283 0
 9183 9192 8B85E0FF 		movl	-65568(%ebp), %eax
 9183      FEFF
 9184 9198 89C2     		movl	%eax, %edx
 9185 919a 8B85DCFF 		movl	-65572(%ebp), %eax
 9185      FEFF
 9186 91a0 05A30000 		addl	$163, %eax
 9186      00
 9187 91a5 0FB600   		movzbl	(%eax), %eax
 9188 91a8 01D0     		addl	%edx, %eax
 9189 91aa 0FB6C0   		movzbl	%al, %eax
 9190 91ad 8985E0FF 		movl	%eax, -65568(%ebp)
 9190      FEFF
6284:armor.c       ****   //  res = A + memory_DP[0xa3];
6285:armor.c       ****   //  C = res & 0x100;
6286:armor.c       ****   //  res = (UINT8)res;
6287:armor.c       ****   //  Z = res;
6288:armor.c       ****   //  N = res;
6289:armor.c       ****   //  res = A ^ memory_DP[0xa3] ^ res ^ C;
6290:armor.c       ****   //  H = res;
6291:armor.c       ****   //  V = res;
6292:armor.c       ****       
6293:armor.c       ****             //        ADDB  <$A4                    ; 0984: DB A4         
6294:armor.c       ****       B = (UINT8)(B + memory_DP[0xa4]);
 9191              		.loc 1 6294 0
 9192 91b3 8B85E4FF 		movl	-65564(%ebp), %eax
 9192      FEFF
 9193 91b9 89C2     		movl	%eax, %edx
 9194 91bb 8B85DCFF 		movl	-65572(%ebp), %eax
 9194      FEFF
 9195 91c1 05A40000 		addl	$164, %eax
 9195      00
 9196 91c6 0FB600   		movzbl	(%eax), %eax
 9197 91c9 01D0     		addl	%edx, %eax
 9198 91cb 0FB6C0   		movzbl	%al, %eax
 9199 91ce 8985E4FF 		movl	%eax, -65564(%ebp)
 9199      FEFF
6295:armor.c       ****       res = B + memory_DP[0xa4];
 9200              		.loc 1 6295 0
 9201 91d4 8B85DCFF 		movl	-65572(%ebp), %eax
 9201      FEFF
 9202 91da 05A40000 		addl	$164, %eax
 9202      00
 9203 91df 0FB600   		movzbl	(%eax), %eax
 9204 91e2 0FB6D0   		movzbl	%al, %edx
 9205 91e5 8B85E4FF 		movl	-65564(%ebp), %eax
 9205      FEFF
 9206 91eb 01D0     		addl	%edx, %eax
 9207 91ed 8985E8FF 		movl	%eax, -65560(%ebp)
 9207      FEFF
6296:armor.c       ****       C = res & 0x100;
 9208              		.loc 1 6296 0
 9209 91f3 8B85E8FF 		movl	-65560(%ebp), %eax
 9209      FEFF
 9210 91f9 25000100 		andl	$256, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 360


 9210      00
 9211 91fe 8985ECFF 		movl	%eax, -65556(%ebp)
 9211      FEFF
6297:armor.c       ****       res = (UINT8)res;
 9212              		.loc 1 6297 0
 9213 9204 8B85E8FF 		movl	-65560(%ebp), %eax
 9213      FEFF
 9214 920a 0FB6C0   		movzbl	%al, %eax
 9215 920d 8985E8FF 		movl	%eax, -65560(%ebp)
 9215      FEFF
6298:armor.c       ****   //  Z = res;
6299:armor.c       ****   //  N = res;
6300:armor.c       ****       res = B ^ memory_DP[0xa4] ^ res ^ C;
 9216              		.loc 1 6300 0
 9217 9213 8B85DCFF 		movl	-65572(%ebp), %eax
 9217      FEFF
 9218 9219 05A40000 		addl	$164, %eax
 9218      00
 9219 921e 0FB600   		movzbl	(%eax), %eax
 9220 9221 0FB6C0   		movzbl	%al, %eax
 9221 9224 3385E4FF 		xorl	-65564(%ebp), %eax
 9221      FEFF
 9222 922a 3385E8FF 		xorl	-65560(%ebp), %eax
 9222      FEFF
 9223 9230 3385ECFF 		xorl	-65556(%ebp), %eax
 9223      FEFF
 9224 9236 8985E8FF 		movl	%eax, -65560(%ebp)
 9224      FEFF
6301:armor.c       ****       H = res;
 9225              		.loc 1 6301 0
 9226 923c 8B85E8FF 		movl	-65560(%ebp), %eax
 9226      FEFF
 9227 9242 8885C3FF 		movb	%al, -65597(%ebp)
 9227      FEFF
6302:armor.c       ****   //  V = res;
6303:armor.c       ****       
6304:armor.c       ****             //        STD   <$9F                    ; 0986: DD 9F         
6305:armor.c       ****       Z = A | B;
 9228              		.loc 1 6305 0
 9229 9248 8B85E0FF 		movl	-65568(%ebp), %eax
 9229      FEFF
 9230 924e 89C2     		movl	%eax, %edx
 9231 9250 8B85E4FF 		movl	-65564(%ebp), %eax
 9231      FEFF
 9232 9256 09D0     		orl	%edx, %eax
 9233 9258 668985CC 		movw	%ax, -65588(%ebp)
 9233      FFFEFF
6306:armor.c       ****       N = A;
 9234              		.loc 1 6306 0
 9235 925f 8B85E0FF 		movl	-65568(%ebp), %eax
 9235      FEFF
 9236 9265 8885C1FF 		movb	%al, -65599(%ebp)
 9236      FEFF
6307:armor.c       ****       V = 0;
 9237              		.loc 1 6307 0
 9238 926b C685C2FF 		movb	$0, -65598(%ebp)
 9238      FEFF00
GAS LISTING /tmp/ccqXEnet.s 			page 361


6308:armor.c       ****       memory_DP[0x9f] = A;
 9239              		.loc 1 6308 0
 9240 9272 8B85DCFF 		movl	-65572(%ebp), %eax
 9240      FEFF
 9241 9278 059F0000 		addl	$159, %eax
 9241      00
 9242 927d 8B95E0FF 		movl	-65568(%ebp), %edx
 9242      FEFF
 9243 9283 8810     		movb	%dl, (%eax)
6309:armor.c       ****       memory_DP[0x9f + 1] = B;
 9244              		.loc 1 6309 0
 9245 9285 8B85DCFF 		movl	-65572(%ebp), %eax
 9245      FEFF
 9246 928b 05A00000 		addl	$160, %eax
 9246      00
 9247 9290 8B95E4FF 		movl	-65564(%ebp), %edx
 9247      FEFF
 9248 9296 8810     		movb	%dl, (%eax)
6310:armor.c       ****       
6311:armor.c       ****             //        RTS                           ; 0988: 39            
6312:armor.c       ****       PC = memory[S++]<<8;
 9249              		.loc 1 6312 0
 9250 9298 0FB785C8 		movzwl	-65592(%ebp), %eax
 9250      FFFEFF
 9251 929f 8D5001   		leal	1(%eax), %edx
 9252 92a2 668995C8 		movw	%dx, -65592(%ebp)
 9252      FFFEFF
 9253 92a9 0FB7C0   		movzwl	%ax, %eax
 9254 92ac 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9254      F4FFFEFF 
 9255 92b4 0FB6C0   		movzbl	%al, %eax
 9256 92b7 C1E008   		sall	$8, %eax
 9257 92ba 668985CA 		movw	%ax, -65590(%ebp)
 9257      FFFEFF
6313:armor.c       ****       PC |= memory[S++];
 9258              		.loc 1 6313 0
 9259 92c1 0FB785C8 		movzwl	-65592(%ebp), %eax
 9259      FFFEFF
 9260 92c8 8D5001   		leal	1(%eax), %edx
 9261 92cb 668995C8 		movw	%dx, -65592(%ebp)
 9261      FFFEFF
 9262 92d2 0FB7C0   		movzwl	%ax, %eax
 9263 92d5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9263      F4FFFEFF 
 9264 92dd 0FB6C0   		movzbl	%al, %eax
 9265 92e0 660985CA 		orw	%ax, -65590(%ebp)
 9265      FFFEFF
 9266              	.L348:
6314:armor.c       ****       JUMP;
6315:armor.c       ****       
6316:armor.c       ****       
6317:armor.c       ****       L0989://        ANDA  #$3F                    ; 0989: 84 3F         
6318:armor.c       ****       A = A & (SINT8)0x3f;
 9267              		.loc 1 6318 0
 9268 92e7 83A5E0FF 		andl	$63, -65568(%ebp)
 9268      FEFF3F
6319:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 362


6320:armor.c       ****   //  N = A;
6321:armor.c       ****   //  V = 0;
6322:armor.c       ****       
6323:armor.c       ****             //        LDB   #$01                    ; 098B: C6 01         
6324:armor.c       ****       B = (SINT8)0x01;
 9269              		.loc 1 6324 0
 9270 92ee C785E4FF 		movl	$1, -65564(%ebp)
 9270      FEFF0100 
 9270      0000
6325:armor.c       ****   //  N = B;
6326:armor.c       ****   //  Z = B;
6327:armor.c       ****   //  V = 0;
6328:armor.c       ****       
6329:armor.c       ****             //        CMPA  #$20                    ; 098D: 81 20         
6330:armor.c       ****       res = A - (SINT8)0x20;
 9271              		.loc 1 6330 0
 9272 92f8 8B85E0FF 		movl	-65568(%ebp), %eax
 9272      FEFF
 9273 92fe 83E820   		subl	$32, %eax
 9274 9301 8985E8FF 		movl	%eax, -65560(%ebp)
 9274      FEFF
6331:armor.c       ****   //  C = res & 0x100;
6332:armor.c       ****       res = (UINT8)res;
 9275              		.loc 1 6332 0
 9276 9307 8B85E8FF 		movl	-65560(%ebp), %eax
 9276      FEFF
 9277 930d 0FB6C0   		movzbl	%al, %eax
 9278 9310 8985E8FF 		movl	%eax, -65560(%ebp)
 9278      FEFF
6333:armor.c       ****       Z = res;
 9279              		.loc 1 6333 0
 9280 9316 8B85E8FF 		movl	-65560(%ebp), %eax
 9280      FEFF
 9281 931c 668985CC 		movw	%ax, -65588(%ebp)
 9281      FFFEFF
6334:armor.c       ****       N = res;
 9282              		.loc 1 6334 0
 9283 9323 8B85E8FF 		movl	-65560(%ebp), %eax
 9283      FEFF
 9284 9329 8885C1FF 		movb	%al, -65599(%ebp)
 9284      FEFF
6335:armor.c       ****       V = (A ^ (SINT8)0x20) & (A ^ res);
 9285              		.loc 1 6335 0
 9286 932f 8B85E0FF 		movl	-65568(%ebp), %eax
 9286      FEFF
 9287 9335 83F020   		xorl	$32, %eax
 9288 9338 89C2     		movl	%eax, %edx
 9289 933a 8B85E0FF 		movl	-65568(%ebp), %eax
 9289      FEFF
 9290 9340 89C1     		movl	%eax, %ecx
 9291 9342 8B85E8FF 		movl	-65560(%ebp), %eax
 9291      FEFF
 9292 9348 31C8     		xorl	%ecx, %eax
 9293 934a 21D0     		andl	%edx, %eax
 9294 934c 8885C2FF 		movb	%al, -65598(%ebp)
 9294      FEFF
6336:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 363


6337:armor.c       ****             //        BLE   $0992                   ; 098F: 2F 01         
6338:armor.c       ****       if (((SINT8)(N^V) <  0) || (!Z)) {
 9295              		.loc 1 6338 0
 9296 9352 0FB685C1 		movzbl	-65599(%ebp), %eax
 9296      FFFEFF
 9297 9359 3285C2FF 		xorb	-65598(%ebp), %al
 9297      FEFF
 9298 935f 84C0     		testb	%al, %al
 9299 9361 780A     		js	.L349
 9300              		.loc 1 6338 0 is_stmt 0 discriminator 1
 9301 9363 6683BDCC 		cmpw	$0, -65588(%ebp)
 9301      FFFEFF00 
 9302 936b 7509     		jne	.L350
 9303              	.L349:
6339:armor.c       ****       PC = 0x0992;
 9304              		.loc 1 6339 0 is_stmt 1
 9305 936d 66C785CA 		movw	$2450, -65590(%ebp)
 9305      FFFEFF92 
 9305      09
 9306              	.L350:
6340:armor.c       ****       JUMP;
6341:armor.c       ****       }
6342:armor.c       ****       
6343:armor.c       ****             //        NEGB                          ; 0991: 50            
6344:armor.c       ****   //  V = (UINT8)(-B) & (B);
6345:armor.c       ****       B = (UINT8)(-B);
 9307              		.loc 1 6345 0
 9308 9376 8B85E4FF 		movl	-65564(%ebp), %eax
 9308      FEFF
 9309 937c F7D8     		negl	%eax
 9310 937e 0FB6C0   		movzbl	%al, %eax
 9311 9381 8985E4FF 		movl	%eax, -65564(%ebp)
 9311      FEFF
 9312              	.L351:
6346:armor.c       ****   //  Z = B;
6347:armor.c       ****   //  N = B;
6348:armor.c       ****   //  C = B;
6349:armor.c       ****       
6350:armor.c       ****       L0992://        STB   <$CF                    ; 0992: D7 CF         
6351:armor.c       ****   //  Z = B;
6352:armor.c       ****   //  N = B;
6353:armor.c       ****   //  V = 0;
6354:armor.c       ****       memory_DP[0xcf] = B;
 9313              		.loc 1 6354 0
 9314 9387 8B85DCFF 		movl	-65572(%ebp), %eax
 9314      FEFF
 9315 938d 05CF0000 		addl	$207, %eax
 9315      00
 9316 9392 8B95E4FF 		movl	-65564(%ebp), %edx
 9316      FEFF
 9317 9398 8810     		movb	%dl, (%eax)
6355:armor.c       ****       
6356:armor.c       ****             //        ADDB  ,X                      ; 0994: EB 84         
6357:armor.c       ****       B = (UINT8)(B + memory[X]);
 9318              		.loc 1 6357 0
 9319 939a 8B85E4FF 		movl	-65564(%ebp), %eax
 9319      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 364


 9320 93a0 89C2     		movl	%eax, %edx
 9321 93a2 0FB785C6 		movzwl	-65594(%ebp), %eax
 9321      FFFEFF
 9322 93a9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9322      F4FFFEFF 
 9323 93b1 01D0     		addl	%edx, %eax
 9324 93b3 0FB6C0   		movzbl	%al, %eax
 9325 93b6 8985E4FF 		movl	%eax, -65564(%ebp)
 9325      FEFF
6358:armor.c       ****   //  res = B + memory[X];
6359:armor.c       ****   //  C = res & 0x100;
6360:armor.c       ****   //  res = (UINT8)res;
6361:armor.c       ****   //  Z = res;
6362:armor.c       ****   //  N = res;
6363:armor.c       ****   //  res = B ^ memory[X] ^ res ^ C;
6364:armor.c       ****   //  H = res;
6365:armor.c       ****   //  V = res;
6366:armor.c       ****       
6367:armor.c       ****             //        ANDB  #$3F                    ; 0996: C4 3F         
6368:armor.c       ****       B = B & (SINT8)0x3f;
 9326              		.loc 1 6368 0
 9327 93bc 83A5E4FF 		andl	$63, -65564(%ebp)
 9327      FEFF3F
6369:armor.c       ****   //  Z = B;
6370:armor.c       ****   //  N = B;
6371:armor.c       ****   //  V = 0;
6372:armor.c       ****       
6373:armor.c       ****             //        CMPB  <$CD                    ; 0998: D1 CD         
6374:armor.c       ****       res = B - memory_DP[0xcd];
 9328              		.loc 1 6374 0
 9329 93c3 8B85DCFF 		movl	-65572(%ebp), %eax
 9329      FEFF
 9330 93c9 05CD0000 		addl	$205, %eax
 9330      00
 9331 93ce 0FB600   		movzbl	(%eax), %eax
 9332 93d1 0FB6C0   		movzbl	%al, %eax
 9333 93d4 8B95E4FF 		movl	-65564(%ebp), %edx
 9333      FEFF
 9334 93da 29C2     		subl	%eax, %edx
 9335 93dc 89D0     		movl	%edx, %eax
 9336 93de 8985E8FF 		movl	%eax, -65560(%ebp)
 9336      FEFF
6375:armor.c       ****   //  C = res & 0x100;
6376:armor.c       ****       res = (UINT8)res;
 9337              		.loc 1 6376 0
 9338 93e4 8B85E8FF 		movl	-65560(%ebp), %eax
 9338      FEFF
 9339 93ea 0FB6C0   		movzbl	%al, %eax
 9340 93ed 8985E8FF 		movl	%eax, -65560(%ebp)
 9340      FEFF
6377:armor.c       ****       Z = res;
 9341              		.loc 1 6377 0
 9342 93f3 8B85E8FF 		movl	-65560(%ebp), %eax
 9342      FEFF
 9343 93f9 668985CC 		movw	%ax, -65588(%ebp)
 9343      FFFEFF
6378:armor.c       ****   //  N = res;
GAS LISTING /tmp/ccqXEnet.s 			page 365


6379:armor.c       ****   //  V = (B ^ memory_DP[0xcd]) & (B ^ res);
6380:armor.c       ****       
6381:armor.c       ****             //        BEQ   $09A0                   ; 099A: 27 04         
6382:armor.c       ****       if (!Z) {
 9344              		.loc 1 6382 0
 9345 9400 6683BDCC 		cmpw	$0, -65588(%ebp)
 9345      FFFEFF00 
 9346 9408 7509     		jne	.L352
6383:armor.c       ****       PC = 0x09a0;
 9347              		.loc 1 6383 0
 9348 940a 66C785CA 		movw	$2464, -65590(%ebp)
 9348      FFFEFFA0 
 9348      09
 9349              	.L352:
6384:armor.c       ****       JUMP;
6385:armor.c       ****       }
6386:armor.c       ****       
6387:armor.c       ****             //        ADDB  <$CF                    ; 099C: DB CF         
6388:armor.c       ****       B = (UINT8)(B + memory_DP[0xcf]);
 9350              		.loc 1 6388 0
 9351 9413 8B85E4FF 		movl	-65564(%ebp), %eax
 9351      FEFF
 9352 9419 89C2     		movl	%eax, %edx
 9353 941b 8B85DCFF 		movl	-65572(%ebp), %eax
 9353      FEFF
 9354 9421 05CF0000 		addl	$207, %eax
 9354      00
 9355 9426 0FB600   		movzbl	(%eax), %eax
 9356 9429 01D0     		addl	%edx, %eax
 9357 942b 0FB6C0   		movzbl	%al, %eax
 9358 942e 8985E4FF 		movl	%eax, -65564(%ebp)
 9358      FEFF
6389:armor.c       ****       res = B + memory_DP[0xcf];
 9359              		.loc 1 6389 0
 9360 9434 8B85DCFF 		movl	-65572(%ebp), %eax
 9360      FEFF
 9361 943a 05CF0000 		addl	$207, %eax
 9361      00
 9362 943f 0FB600   		movzbl	(%eax), %eax
 9363 9442 0FB6D0   		movzbl	%al, %edx
 9364 9445 8B85E4FF 		movl	-65564(%ebp), %eax
 9364      FEFF
 9365 944b 01D0     		addl	%edx, %eax
 9366 944d 8985E8FF 		movl	%eax, -65560(%ebp)
 9366      FEFF
6390:armor.c       ****       C = res & 0x100;
 9367              		.loc 1 6390 0
 9368 9453 8B85E8FF 		movl	-65560(%ebp), %eax
 9368      FEFF
 9369 9459 25000100 		andl	$256, %eax
 9369      00
 9370 945e 8985ECFF 		movl	%eax, -65556(%ebp)
 9370      FEFF
6391:armor.c       ****       res = (UINT8)res;
 9371              		.loc 1 6391 0
 9372 9464 8B85E8FF 		movl	-65560(%ebp), %eax
 9372      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 366


 9373 946a 0FB6C0   		movzbl	%al, %eax
 9374 946d 8985E8FF 		movl	%eax, -65560(%ebp)
 9374      FEFF
6392:armor.c       ****   //  Z = res;
6393:armor.c       ****   //  N = res;
6394:armor.c       ****       res = B ^ memory_DP[0xcf] ^ res ^ C;
 9375              		.loc 1 6394 0
 9376 9473 8B85DCFF 		movl	-65572(%ebp), %eax
 9376      FEFF
 9377 9479 05CF0000 		addl	$207, %eax
 9377      00
 9378 947e 0FB600   		movzbl	(%eax), %eax
 9379 9481 0FB6C0   		movzbl	%al, %eax
 9380 9484 3385E4FF 		xorl	-65564(%ebp), %eax
 9380      FEFF
 9381 948a 3385E8FF 		xorl	-65560(%ebp), %eax
 9381      FEFF
 9382 9490 3385ECFF 		xorl	-65556(%ebp), %eax
 9382      FEFF
 9383 9496 8985E8FF 		movl	%eax, -65560(%ebp)
 9383      FEFF
6395:armor.c       ****       H = res;
 9384              		.loc 1 6395 0
 9385 949c 8B85E8FF 		movl	-65560(%ebp), %eax
 9385      FEFF
 9386 94a2 8885C3FF 		movb	%al, -65597(%ebp)
 9386      FEFF
6396:armor.c       ****   //  V = res;
6397:armor.c       ****       
6398:armor.c       ****             //        ANDB  #$3F                    ; 099E: C4 3F         
6399:armor.c       ****       B = B & (SINT8)0x3f;
 9387              		.loc 1 6399 0
 9388 94a8 83A5E4FF 		andl	$63, -65564(%ebp)
 9388      FEFF3F
 9389              	.L353:
6400:armor.c       ****   //  Z = B;
6401:armor.c       ****   //  N = B;
6402:armor.c       ****   //  V = 0;
6403:armor.c       ****       
6404:armor.c       ****       L09A0://        STB   ,X                      ; 09A0: E7 84         
6405:armor.c       ****       Z = B;
 9390              		.loc 1 6405 0
 9391 94af 8B85E4FF 		movl	-65564(%ebp), %eax
 9391      FEFF
 9392 94b5 668985CC 		movw	%ax, -65588(%ebp)
 9392      FFFEFF
6406:armor.c       ****       N = B;
 9393              		.loc 1 6406 0
 9394 94bc 8B85E4FF 		movl	-65564(%ebp), %eax
 9394      FEFF
 9395 94c2 8885C1FF 		movb	%al, -65599(%ebp)
 9395      FEFF
6407:armor.c       ****       V = 0;
 9396              		.loc 1 6407 0
 9397 94c8 C685C2FF 		movb	$0, -65598(%ebp)
 9397      FEFF00
6408:armor.c       ****       memory[X] = B;
GAS LISTING /tmp/ccqXEnet.s 			page 367


 9398              		.loc 1 6408 0
 9399 94cf 0FB785C6 		movzwl	-65594(%ebp), %eax
 9399      FFFEFF
 9400 94d6 8B95E4FF 		movl	-65564(%ebp), %edx
 9400      FEFF
 9401 94dc 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9401      FFFEFF
6409:armor.c       ****       
6410:armor.c       ****             //        RTS                           ; 09A2: 39            
6411:armor.c       ****       PC = memory[S++]<<8;
 9402              		.loc 1 6411 0
 9403 94e3 0FB785C8 		movzwl	-65592(%ebp), %eax
 9403      FFFEFF
 9404 94ea 8D5001   		leal	1(%eax), %edx
 9405 94ed 668995C8 		movw	%dx, -65592(%ebp)
 9405      FFFEFF
 9406 94f4 0FB7C0   		movzwl	%ax, %eax
 9407 94f7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9407      F4FFFEFF 
 9408 94ff 0FB6C0   		movzbl	%al, %eax
 9409 9502 C1E008   		sall	$8, %eax
 9410 9505 668985CA 		movw	%ax, -65590(%ebp)
 9410      FFFEFF
6412:armor.c       ****       PC |= memory[S++];
 9411              		.loc 1 6412 0
 9412 950c 0FB785C8 		movzwl	-65592(%ebp), %eax
 9412      FFFEFF
 9413 9513 8D5001   		leal	1(%eax), %edx
 9414 9516 668995C8 		movw	%dx, -65592(%ebp)
 9414      FFFEFF
 9415 951d 0FB7C0   		movzwl	%ax, %eax
 9416 9520 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9416      F4FFFEFF 
 9417 9528 0FB6C0   		movzbl	%al, %eax
 9418 952b 660985CA 		orw	%ax, -65590(%ebp)
 9418      FFFEFF
 9419              	.L354:
6413:armor.c       ****       JUMP;
6414:armor.c       ****       
6415:armor.c       ****       
6416:armor.c       ****       L0A59://        NEG   <$91                    ; 0A59: 00 91         
6417:armor.c       ****   //  V = (UINT8)(-memory_DP[0x91]) & (memory_DP[0x91]);
6418:armor.c       ****       memory_DP[0x91] = (UINT8)(-memory_DP[0x91]);
 9420              		.loc 1 6418 0
 9421 9532 8B85DCFF 		movl	-65572(%ebp), %eax
 9421      FEFF
 9422 9538 05910000 		addl	$145, %eax
 9422      00
 9423 953d 0FB610   		movzbl	(%eax), %edx
 9424 9540 8B85DCFF 		movl	-65572(%ebp), %eax
 9424      FEFF
 9425 9546 05910000 		addl	$145, %eax
 9425      00
 9426 954b F7DA     		negl	%edx
 9427 954d 8810     		movb	%dl, (%eax)
6419:armor.c       ****   //  Z = memory_DP[0x91];
6420:armor.c       ****   //  N = memory_DP[0x91];
GAS LISTING /tmp/ccqXEnet.s 			page 368


6421:armor.c       ****   //  C = memory_DP[0x91];
6422:armor.c       ****       
6423:armor.c       ****             //        LDY   #$C8E3                  ; 0A5B: 10 8E C8 E3   
6424:armor.c       ****       Y = 0xc8e3;
 9428              		.loc 1 6424 0
 9429 954f 66C785D2 		movw	$-14109, -65582(%ebp)
 9429      FFFEFFE3 
 9429      C8
6425:armor.c       ****   //  Z = Y;
6426:armor.c       ****   //  N = (Y) >> 8;
6427:armor.c       ****   //  V = 0;
6428:armor.c       ****       
6429:armor.c       ****             //        CLR   $02,Y                   ; 0A5F: 6F 22         
6430:armor.c       ****       memory[(UINT16)(Y + 0x0002)] = 0;
 9430              		.loc 1 6430 0
 9431 9558 0FB785D2 		movzwl	-65582(%ebp), %eax
 9431      FFFEFF
 9432 955f 83C002   		addl	$2, %eax
 9433 9562 0FB7C0   		movzwl	%ax, %eax
 9434 9565 C68405F4 		movb	$0, -65548(%ebp,%eax)
 9434      FFFEFF00 
6431:armor.c       ****   //  V = 0;
6432:armor.c       ****   //  Z = 0;
6433:armor.c       ****   //  N = 0;
6434:armor.c       ****   //  C = 0;
6435:armor.c       ****       
6436:armor.c       ****             //        CLR   $03,Y                   ; 0A61: 6F 23         
6437:armor.c       ****       memory[(UINT16)(Y + 0x0003)] = 0;
 9435              		.loc 1 6437 0
 9436 956d 0FB785D2 		movzwl	-65582(%ebp), %eax
 9436      FFFEFF
 9437 9574 83C003   		addl	$3, %eax
 9438 9577 0FB7C0   		movzwl	%ax, %eax
 9439 957a C68405F4 		movb	$0, -65548(%ebp,%eax)
 9439      FFFEFF00 
6438:armor.c       ****   //  V = 0;
6439:armor.c       ****   //  Z = 0;
6440:armor.c       ****   //  N = 0;
6441:armor.c       ****   //  C = 0;
6442:armor.c       ****       
6443:armor.c       ****             //        LDA   #$02                    ; 0A63: 86 02         
6444:armor.c       ****       A = (SINT8)0x02;
 9440              		.loc 1 6444 0
 9441 9582 C785E0FF 		movl	$2, -65568(%ebp)
 9441      FEFF0200 
 9441      0000
6445:armor.c       ****   //  N = A;
6446:armor.c       ****   //  Z = A;
6447:armor.c       ****   //  V = 0;
6448:armor.c       ****       
6449:armor.c       ****             //        STA   <$DA                    ; 0A65: 97 DA         
6450:armor.c       ****   //  Z = A;
6451:armor.c       ****   //  N = A;
6452:armor.c       ****   //  V = 0;
6453:armor.c       ****       memory_DP[0xda] = A;
 9442              		.loc 1 6453 0
 9443 958c 8B85DCFF 		movl	-65572(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 369


 9443      FEFF
 9444 9592 05DA0000 		addl	$218, %eax
 9444      00
 9445 9597 8B95E0FF 		movl	-65568(%ebp), %edx
 9445      FEFF
 9446 959d 8810     		movb	%dl, (%eax)
6454:armor.c       ****       
6455:armor.c       ****             //        LDX   #$C9C0                  ; 0A67: 8E C9 C0      
6456:armor.c       ****       X = 0xc9c0;
 9447              		.loc 1 6456 0
 9448 959f 66C785C6 		movw	$-13888, -65594(%ebp)
 9448      FFFEFFC0 
 9448      C9
6457:armor.c       ****   //  Z = X;
6458:armor.c       ****   //  N = (X) >> 8;
6459:armor.c       ****   //  V = 0;
6460:armor.c       ****       
6461:armor.c       ****             //        LDD   #$0B6E                  ; 0A6A: CC 0B 6E      
6462:armor.c       ****       A = (UINT8)((0x0b6e) >> 8);
 9449              		.loc 1 6462 0
 9450 95a8 C785E0FF 		movl	$11, -65568(%ebp)
 9450      FEFF0B00 
 9450      0000
6463:armor.c       ****       B = (UINT8)((0x0b6e) & 0xff);
 9451              		.loc 1 6463 0
 9452 95b2 C785E4FF 		movl	$110, -65564(%ebp)
 9452      FEFF6E00 
 9452      0000
6464:armor.c       ****   //  Z = A|B;
6465:armor.c       ****   //  N = A;
6466:armor.c       ****   //  V = 0;
6467:armor.c       ****       
6468:armor.c       ****             //        STD   <$CC                    ; 0A6D: DD CC         
6469:armor.c       ****   //  Z = A | B;
6470:armor.c       ****   //  N = A;
6471:armor.c       ****   //  V = 0;
6472:armor.c       ****       memory_DP[0xcc] = A;
 9453              		.loc 1 6472 0
 9454 95bc 8B85DCFF 		movl	-65572(%ebp), %eax
 9454      FEFF
 9455 95c2 05CC0000 		addl	$204, %eax
 9455      00
 9456 95c7 8B95E0FF 		movl	-65568(%ebp), %edx
 9456      FEFF
 9457 95cd 8810     		movb	%dl, (%eax)
6473:armor.c       ****       memory_DP[0xcc + 1] = B;
 9458              		.loc 1 6473 0
 9459 95cf 8B85DCFF 		movl	-65572(%ebp), %eax
 9459      FEFF
 9460 95d5 05CD0000 		addl	$205, %eax
 9460      00
 9461 95da 8B95E4FF 		movl	-65564(%ebp), %edx
 9461      FEFF
 9462 95e0 8810     		movb	%dl, (%eax)
6474:armor.c       ****       
6475:armor.c       ****             //        LDB   #$08                    ; 0A6F: C6 08         
6476:armor.c       ****       B = (SINT8)0x08;
GAS LISTING /tmp/ccqXEnet.s 			page 370


 9463              		.loc 1 6476 0
 9464 95e2 C785E4FF 		movl	$8, -65564(%ebp)
 9464      FEFF0800 
 9464      0000
 9465              	.L355:
6477:armor.c       ****   //  N = B;
6478:armor.c       ****   //  Z = B;
6479:armor.c       ****   //  V = 0;
6480:armor.c       ****       
6481:armor.c       ****       L0A71://        STB   <$D2                    ; 0A71: D7 D2         
6482:armor.c       ****   //  Z = B;
6483:armor.c       ****   //  N = B;
6484:armor.c       ****   //  V = 0;
6485:armor.c       ****       memory_DP[0xd2] = B;
 9466              		.loc 1 6485 0
 9467 95ec 8B85DCFF 		movl	-65572(%ebp), %eax
 9467      FEFF
 9468 95f2 05D20000 		addl	$210, %eax
 9468      00
 9469 95f7 8B95E4FF 		movl	-65564(%ebp), %edx
 9469      FEFF
 9470 95fd 8810     		movb	%dl, (%eax)
6486:armor.c       ****       
6487:armor.c       ****             //        LDA   ,X                      ; 0A73: A6 84         
6488:armor.c       ****       A = memory[X];
 9471              		.loc 1 6488 0
 9472 95ff 0FB785C6 		movzwl	-65594(%ebp), %eax
 9472      FFFEFF
 9473 9606 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9473      F4FFFEFF 
 9474 960e 0FB6C0   		movzbl	%al, %eax
 9475 9611 8985E0FF 		movl	%eax, -65568(%ebp)
 9475      FEFF
6489:armor.c       ****       N = A;
 9476              		.loc 1 6489 0
 9477 9617 8B85E0FF 		movl	-65568(%ebp), %eax
 9477      FEFF
 9478 961d 8885C1FF 		movb	%al, -65599(%ebp)
 9478      FEFF
6490:armor.c       ****       Z = A;
 9479              		.loc 1 6490 0
 9480 9623 8B85E0FF 		movl	-65568(%ebp), %eax
 9480      FEFF
 9481 9629 668985CC 		movw	%ax, -65588(%ebp)
 9481      FFFEFF
6491:armor.c       ****   //  V = 0;
6492:armor.c       ****       
6493:armor.c       ****             //        BMI   $0AAD                   ; 0A75: 2B 36         
6494:armor.c       ****       if ((SINT8)N <  0) {
 9482              		.loc 1 6494 0
 9483 9630 0FB685C1 		movzbl	-65599(%ebp), %eax
 9483      FFFEFF
 9484 9637 84C0     		testb	%al, %al
 9485 9639 7909     		jns	.L356
6495:armor.c       ****       PC = 0x0aad;
 9486              		.loc 1 6495 0
 9487 963b 66C785CA 		movw	$2733, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 371


 9487      FFFEFFAD 
 9487      0A
 9488              	.L356:
6496:armor.c       ****       JUMP;
6497:armor.c       ****       }
6498:armor.c       ****       
6499:armor.c       ****             //        BEQ   $0A92                   ; 0A77: 27 19         
6500:armor.c       ****       if (!Z) {
 9489              		.loc 1 6500 0
 9490 9644 6683BDCC 		cmpw	$0, -65588(%ebp)
 9490      FFFEFF00 
 9491 964c 7509     		jne	.L357
6501:armor.c       ****       PC = 0x0a92;
 9492              		.loc 1 6501 0
 9493 964e 66C785CA 		movw	$2706, -65590(%ebp)
 9493      FFFEFF92 
 9493      0A
 9494              	.L357:
6502:armor.c       ****       JUMP;
6503:armor.c       ****       }
6504:armor.c       ****       
6505:armor.c       ****             //        LDU   #$CB00                  ; 0A79: CE CB 00      
6506:armor.c       ****       U = 0xcb00;
 9495              		.loc 1 6506 0
 9496 9657 66C785CE 		movw	$-13568, -65586(%ebp)
 9496      FFFEFF00 
 9496      CB
6507:armor.c       ****   //  Z = U;
6508:armor.c       ****   //  N = (U) >> 8;
6509:armor.c       ****   //  V = 0;
6510:armor.c       ****       
6511:armor.c       ****             //        DECA                          ; 0A7C: 4A            
6512:armor.c       ****       res = (UINT8)(A - 1);
 9497              		.loc 1 6512 0
 9498 9660 8B85E0FF 		movl	-65568(%ebp), %eax
 9498      FEFF
 9499 9666 83E801   		subl	$1, %eax
 9500 9669 0FB6C0   		movzbl	%al, %eax
 9501 966c 8985E8FF 		movl	%eax, -65560(%ebp)
 9501      FEFF
6513:armor.c       ****   //  N = res;
6514:armor.c       ****   //  Z = res;
6515:armor.c       ****   //  V = A & ~res;
6516:armor.c       ****       A = res;
 9502              		.loc 1 6516 0
 9503 9672 8B85E8FF 		movl	-65560(%ebp), %eax
 9503      FEFF
 9504 9678 8985E0FF 		movl	%eax, -65568(%ebp)
 9504      FEFF
6517:armor.c       ****       
6518:armor.c       ****             //        STA   ,X                      ; 0A7D: A7 84         
6519:armor.c       ****   //  Z = A;
6520:armor.c       ****   //  N = A;
6521:armor.c       ****   //  V = 0;
6522:armor.c       ****       memory[X] = A;
 9505              		.loc 1 6522 0
 9506 967e 0FB785C6 		movzwl	-65594(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 372


 9506      FFFEFF
 9507 9685 8B95E0FF 		movl	-65568(%ebp), %edx
 9507      FEFF
 9508 968b 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9508      FFFEFF
6523:armor.c       ****       
6524:armor.c       ****             //        ANDA  #$03                    ; 0A7F: 84 03         
6525:armor.c       ****       A = A & (SINT8)0x03;
 9509              		.loc 1 6525 0
 9510 9692 83A5E0FF 		andl	$3, -65568(%ebp)
 9510      FEFF03
6526:armor.c       ****       Z = A;
 9511              		.loc 1 6526 0
 9512 9699 8B85E0FF 		movl	-65568(%ebp), %eax
 9512      FEFF
 9513 969f 668985CC 		movw	%ax, -65588(%ebp)
 9513      FFFEFF
6527:armor.c       ****   //  N = A;
6528:armor.c       ****   //  V = 0;
6529:armor.c       ****       
6530:armor.c       ****             //        BNE   $0A8B                   ; 0A81: 26 08         
6531:armor.c       ****       if (Z) {
 9514              		.loc 1 6531 0
 9515 96a6 6683BDCC 		cmpw	$0, -65588(%ebp)
 9515      FFFEFF00 
 9516 96ae 7409     		je	.L358
6532:armor.c       ****       PC = 0x0a8b;
 9517              		.loc 1 6532 0
 9518 96b0 66C785CA 		movw	$2699, -65590(%ebp)
 9518      FFFEFF8B 
 9518      0A
 9519              	.L358:
6533:armor.c       ****       JUMP;
6534:armor.c       ****       }
6535:armor.c       ****       
6536:armor.c       ****             //        LDB   $04,X                   ; 0A83: E6 04         
6537:armor.c       ****       B = memory[(UINT16)(X + 0x0004)];
 9520              		.loc 1 6537 0
 9521 96b9 0FB785C6 		movzwl	-65594(%ebp), %eax
 9521      FFFEFF
 9522 96c0 83C004   		addl	$4, %eax
 9523 96c3 0FB7C0   		movzwl	%ax, %eax
 9524 96c6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9524      F4FFFEFF 
 9525 96ce 0FB6C0   		movzbl	%al, %eax
 9526 96d1 8985E4FF 		movl	%eax, -65564(%ebp)
 9526      FEFF
6538:armor.c       ****   //  N = B;
6539:armor.c       ****   //  Z = B;
6540:armor.c       ****   //  V = 0;
6541:armor.c       ****       
6542:armor.c       ****             //        ADDB  $04,X                   ; 0A85: EB 04         
6543:armor.c       ****       B = (UINT8)(B + memory[(UINT16)(X + 0x0004)]);
 9527              		.loc 1 6543 0
 9528 96d7 8B85E4FF 		movl	-65564(%ebp), %eax
 9528      FEFF
 9529 96dd 89C2     		movl	%eax, %edx
GAS LISTING /tmp/ccqXEnet.s 			page 373


 9530 96df 0FB785C6 		movzwl	-65594(%ebp), %eax
 9530      FFFEFF
 9531 96e6 83C004   		addl	$4, %eax
 9532 96e9 0FB7C0   		movzwl	%ax, %eax
 9533 96ec 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9533      F4FFFEFF 
 9534 96f4 01D0     		addl	%edx, %eax
 9535 96f6 0FB6C0   		movzbl	%al, %eax
 9536 96f9 8985E4FF 		movl	%eax, -65564(%ebp)
 9536      FEFF
6544:armor.c       ****       res = B + memory[(UINT16)(X + 0x0004)];
 9537              		.loc 1 6544 0
 9538 96ff 0FB785C6 		movzwl	-65594(%ebp), %eax
 9538      FFFEFF
 9539 9706 83C004   		addl	$4, %eax
 9540 9709 0FB7C0   		movzwl	%ax, %eax
 9541 970c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9541      F4FFFEFF 
 9542 9714 0FB6D0   		movzbl	%al, %edx
 9543 9717 8B85E4FF 		movl	-65564(%ebp), %eax
 9543      FEFF
 9544 971d 01D0     		addl	%edx, %eax
 9545 971f 8985E8FF 		movl	%eax, -65560(%ebp)
 9545      FEFF
6545:armor.c       ****       C = res & 0x100;
 9546              		.loc 1 6545 0
 9547 9725 8B85E8FF 		movl	-65560(%ebp), %eax
 9547      FEFF
 9548 972b 25000100 		andl	$256, %eax
 9548      00
 9549 9730 8985ECFF 		movl	%eax, -65556(%ebp)
 9549      FEFF
6546:armor.c       ****       res = (UINT8)res;
 9550              		.loc 1 6546 0
 9551 9736 8B85E8FF 		movl	-65560(%ebp), %eax
 9551      FEFF
 9552 973c 0FB6C0   		movzbl	%al, %eax
 9553 973f 8985E8FF 		movl	%eax, -65560(%ebp)
 9553      FEFF
6547:armor.c       ****   //  Z = res;
6548:armor.c       ****   //  N = res;
6549:armor.c       ****       res = B ^ memory[(UINT16)(X + 0x0004)] ^ res ^ C;
 9554              		.loc 1 6549 0
 9555 9745 0FB785C6 		movzwl	-65594(%ebp), %eax
 9555      FFFEFF
 9556 974c 83C004   		addl	$4, %eax
 9557 974f 0FB7C0   		movzwl	%ax, %eax
 9558 9752 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9558      F4FFFEFF 
 9559 975a 0FB6C0   		movzbl	%al, %eax
 9560 975d 3385E4FF 		xorl	-65564(%ebp), %eax
 9560      FEFF
 9561 9763 3385E8FF 		xorl	-65560(%ebp), %eax
 9561      FEFF
 9562 9769 3385ECFF 		xorl	-65556(%ebp), %eax
 9562      FEFF
 9563 976f 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 374


 9563      FEFF
6550:armor.c       ****       H = res;
 9564              		.loc 1 6550 0
 9565 9775 8B85E8FF 		movl	-65560(%ebp), %eax
 9565      FEFF
 9566 977b 8885C3FF 		movb	%al, -65597(%ebp)
 9566      FEFF
6551:armor.c       ****   //  V = res;
6552:armor.c       ****       
6553:armor.c       ****             //        STB   $04,X                   ; 0A87: E7 04         
6554:armor.c       ****   //  Z = B;
6555:armor.c       ****   //  N = B;
6556:armor.c       ****   //  V = 0;
6557:armor.c       ****       memory[(UINT16)(X + 0x0004)] = B;
 9567              		.loc 1 6557 0
 9568 9781 0FB785C6 		movzwl	-65594(%ebp), %eax
 9568      FFFEFF
 9569 9788 83C004   		addl	$4, %eax
 9570 978b 0FB7C0   		movzwl	%ax, %eax
 9571 978e 8B95E4FF 		movl	-65564(%ebp), %edx
 9571      FEFF
 9572 9794 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9572      FFFEFF
6558:armor.c       ****       
6559:armor.c       ****             //        DEC   $03,X                   ; 0A89: 6A 03         
6560:armor.c       ****       res = (UINT8)(memory[(UINT16)(X + 0x0003)] - 1);
 9573              		.loc 1 6560 0
 9574 979b 0FB785C6 		movzwl	-65594(%ebp), %eax
 9574      FFFEFF
 9575 97a2 83C003   		addl	$3, %eax
 9576 97a5 0FB7C0   		movzwl	%ax, %eax
 9577 97a8 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9577      F4FFFEFF 
 9578 97b0 83E801   		subl	$1, %eax
 9579 97b3 0FB6C0   		movzbl	%al, %eax
 9580 97b6 8985E8FF 		movl	%eax, -65560(%ebp)
 9580      FEFF
6561:armor.c       ****   //  N = res;
6562:armor.c       ****   //  Z = res;
6563:armor.c       ****   //  V = memory[(UINT16)(X + 0x0003)] & ~res;
6564:armor.c       ****       memory[(UINT16)(X + 0x0003)] = res;
 9581              		.loc 1 6564 0
 9582 97bc 0FB785C6 		movzwl	-65594(%ebp), %eax
 9582      FFFEFF
 9583 97c3 83C003   		addl	$3, %eax
 9584 97c6 0FB7C0   		movzwl	%ax, %eax
 9585 97c9 8B95E8FF 		movl	-65560(%ebp), %edx
 9585      FEFF
 9586 97cf 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9586      FFFEFF
 9587              	.L359:
6565:armor.c       ****       
6566:armor.c       ****       L0A8B://        LDB   #$08                    ; 0A8B: C6 08         
6567:armor.c       ****       B = (SINT8)0x08;
 9588              		.loc 1 6567 0
 9589 97d6 C785E4FF 		movl	$8, -65564(%ebp)
 9589      FEFF0800 
GAS LISTING /tmp/ccqXEnet.s 			page 375


 9589      0000
6568:armor.c       ****   //  N = B;
6569:armor.c       ****   //  Z = B;
6570:armor.c       ****   //  V = 0;
6571:armor.c       ****       
6572:armor.c       ****             //        MUL                           ; 0A8D: 3D            
6573:armor.c       ****       res = (UINT16)(A * B);
 9590              		.loc 1 6573 0
 9591 97e0 8B85E0FF 		movl	-65568(%ebp), %eax
 9591      FEFF
 9592 97e6 89C2     		movl	%eax, %edx
 9593 97e8 8B85E4FF 		movl	-65564(%ebp), %eax
 9593      FEFF
 9594 97ee 0FAFC2   		imull	%edx, %eax
 9595 97f1 0FB7C0   		movzwl	%ax, %eax
 9596 97f4 8985E8FF 		movl	%eax, -65560(%ebp)
 9596      FEFF
6574:armor.c       ****   //  Z = res;
6575:armor.c       ****   //  C = res & 0x80; /* ??? 8000 ??? */
6576:armor.c       ****       A = res >> 8;
 9597              		.loc 1 6576 0
 9598 97fa 8B85E8FF 		movl	-65560(%ebp), %eax
 9598      FEFF
 9599 9800 C1F808   		sarl	$8, %eax
 9600 9803 8985E0FF 		movl	%eax, -65568(%ebp)
 9600      FEFF
6577:armor.c       ****       B = (UINT8)res;
 9601              		.loc 1 6577 0
 9602 9809 8B85E8FF 		movl	-65560(%ebp), %eax
 9602      FEFF
 9603 980f 0FB6C0   		movzbl	%al, %eax
 9604 9812 8985E4FF 		movl	%eax, -65564(%ebp)
 9604      FEFF
6578:armor.c       ****       
6579:armor.c       ****             //        LEAU  B,U                     ; 0A8E: 33 C5         
6580:armor.c       ****       U = (U + (SINT8)B);
 9605              		.loc 1 6580 0
 9606 9818 8B85E4FF 		movl	-65564(%ebp), %eax
 9606      FEFF
 9607 981e 6698     		cbtw
 9608 9820 660185CE 		addw	%ax, -65586(%ebp)
 9608      FFFEFF
6581:armor.c       ****       
6582:armor.c       ****             //        STU   $05,X                   ; 0A90: EF 05         
6583:armor.c       ****   //  Z = U;
6584:armor.c       ****   //  N = (U) >> 8;
6585:armor.c       ****   //  V = 0;
6586:armor.c       ****       memory[(UINT16)(X + 0x0005)] = (UINT8)((U) >> 8);
 9609              		.loc 1 6586 0
 9610 9827 0FB785CE 		movzwl	-65586(%ebp), %eax
 9610      FFFEFF
 9611 982e 66C1E808 		shrw	$8, %ax
 9612 9832 89C2     		movl	%eax, %edx
 9613 9834 0FB785C6 		movzwl	-65594(%ebp), %eax
 9613      FFFEFF
 9614 983b 83C005   		addl	$5, %eax
 9615 983e 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 376


 9616 9841 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9616      FFFEFF
6587:armor.c       ****       memory[(UINT16)((X + 0x0005) + 1)] = (UINT8)((U) & 0xff);
 9617              		.loc 1 6587 0
 9618 9848 0FB785C6 		movzwl	-65594(%ebp), %eax
 9618      FFFEFF
 9619 984f 83C006   		addl	$6, %eax
 9620 9852 0FB7C0   		movzwl	%ax, %eax
 9621 9855 0FB795CE 		movzwl	-65586(%ebp), %edx
 9621      FFFEFF
 9622 985c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9622      FFFEFF
 9623              	.L360:
6588:armor.c       ****       
6589:armor.c       ****       L0A92://        LEAX  $07,X                   ; 0A92: 30 07         
6590:armor.c       ****       X = (X + 0x0007);
 9624              		.loc 1 6590 0
 9625 9863 668385C6 		addw	$7, -65594(%ebp)
 9625      FFFEFF07 
6591:armor.c       ****   //  Z = X;
6592:armor.c       ****       
6593:armor.c       ****             //        LDB   <$D2                    ; 0A94: D6 D2         
6594:armor.c       ****       B = memory_DP[0xd2];
 9626              		.loc 1 6594 0
 9627 986b 8B85DCFF 		movl	-65572(%ebp), %eax
 9627      FEFF
 9628 9871 05D20000 		addl	$210, %eax
 9628      00
 9629 9876 0FB600   		movzbl	(%eax), %eax
 9630 9879 0FB6C0   		movzbl	%al, %eax
 9631 987c 8985E4FF 		movl	%eax, -65564(%ebp)
 9631      FEFF
6595:armor.c       ****   //  N = B;
6596:armor.c       ****   //  Z = B;
6597:armor.c       ****   //  V = 0;
6598:armor.c       ****       
6599:armor.c       ****             //        DECB                          ; 0A96: 5A            
6600:armor.c       ****       res = (UINT8)(B - 1);
 9632              		.loc 1 6600 0
 9633 9882 8B85E4FF 		movl	-65564(%ebp), %eax
 9633      FEFF
 9634 9888 83E801   		subl	$1, %eax
 9635 988b 0FB6C0   		movzbl	%al, %eax
 9636 988e 8985E8FF 		movl	%eax, -65560(%ebp)
 9636      FEFF
6601:armor.c       ****   //  N = res;
6602:armor.c       ****       Z = res;
 9637              		.loc 1 6602 0
 9638 9894 8B85E8FF 		movl	-65560(%ebp), %eax
 9638      FEFF
 9639 989a 668985CC 		movw	%ax, -65588(%ebp)
 9639      FFFEFF
6603:armor.c       ****   //  V = B & ~res;
6604:armor.c       ****       B = res;
 9640              		.loc 1 6604 0
 9641 98a1 8B85E8FF 		movl	-65560(%ebp), %eax
 9641      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 377


 9642 98a7 8985E4FF 		movl	%eax, -65564(%ebp)
 9642      FEFF
6605:armor.c       ****       
6606:armor.c       ****             //        BEQ   $0AAC                   ; 0A97: 27 13         
6607:armor.c       ****       if (!Z) {
 9643              		.loc 1 6607 0
 9644 98ad 6683BDCC 		cmpw	$0, -65588(%ebp)
 9644      FFFEFF00 
 9645 98b5 7509     		jne	.L361
6608:armor.c       ****       PC = 0x0aac;
 9646              		.loc 1 6608 0
 9647 98b7 66C785CA 		movw	$2732, -65590(%ebp)
 9647      FFFEFFAC 
 9647      0A
 9648              	.L361:
6609:armor.c       ****       JUMP;
6610:armor.c       ****       }
6611:armor.c       ****       
6612:armor.c       ****             //        CMPB  #$06                    ; 0A99: C1 06         
6613:armor.c       ****       res = B - (SINT8)0x06;
 9649              		.loc 1 6613 0
 9650 98c0 8B85E4FF 		movl	-65564(%ebp), %eax
 9650      FEFF
 9651 98c6 83E806   		subl	$6, %eax
 9652 98c9 8985E8FF 		movl	%eax, -65560(%ebp)
 9652      FEFF
6614:armor.c       ****   //  C = res & 0x100;
6615:armor.c       ****       res = (UINT8)res;
 9653              		.loc 1 6615 0
 9654 98cf 8B85E8FF 		movl	-65560(%ebp), %eax
 9654      FEFF
 9655 98d5 0FB6C0   		movzbl	%al, %eax
 9656 98d8 8985E8FF 		movl	%eax, -65560(%ebp)
 9656      FEFF
6616:armor.c       ****       Z = res;
 9657              		.loc 1 6616 0
 9658 98de 8B85E8FF 		movl	-65560(%ebp), %eax
 9658      FEFF
 9659 98e4 668985CC 		movw	%ax, -65588(%ebp)
 9659      FFFEFF
6617:armor.c       ****   //  N = res;
6618:armor.c       ****   //  V = (B ^ (SINT8)0x06) & (B ^ res);
6619:armor.c       ****       
6620:armor.c       ****             //        BNE   $0A9F                   ; 0A9B: 26 02         
6621:armor.c       ****       if (Z) {
 9660              		.loc 1 6621 0
 9661 98eb 6683BDCC 		cmpw	$0, -65588(%ebp)
 9661      FFFEFF00 
 9662 98f3 7409     		je	.L362
6622:armor.c       ****       PC = 0x0a9f;
 9663              		.loc 1 6622 0
 9664 98f5 66C785CA 		movw	$2719, -65590(%ebp)
 9664      FFFEFF9F 
 9664      0A
 9665              	.L362:
6623:armor.c       ****       JUMP;
6624:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 378


6625:armor.c       ****       
6626:armor.c       ****             //        INC   <$DA                    ; 0A9D: 0C DA         
6627:armor.c       ****       res = (UINT8)((memory_DP[0xda]) + 1);
 9666              		.loc 1 6627 0
 9667 98fe 8B85DCFF 		movl	-65572(%ebp), %eax
 9667      FEFF
 9668 9904 05DA0000 		addl	$218, %eax
 9668      00
 9669 9909 0FB600   		movzbl	(%eax), %eax
 9670 990c 83C001   		addl	$1, %eax
 9671 990f 0FB6C0   		movzbl	%al, %eax
 9672 9912 8985E8FF 		movl	%eax, -65560(%ebp)
 9672      FEFF
6628:armor.c       ****   //  Z = res;
6629:armor.c       ****   //  N = res;
6630:armor.c       ****   //  V = res & ~(memory_DP[0xda]);
6631:armor.c       ****       memory_DP[0xda] = res;
 9673              		.loc 1 6631 0
 9674 9918 8B85DCFF 		movl	-65572(%ebp), %eax
 9674      FEFF
 9675 991e 05DA0000 		addl	$218, %eax
 9675      00
 9676 9923 8B95E8FF 		movl	-65560(%ebp), %edx
 9676      FEFF
 9677 9929 8810     		movb	%dl, (%eax)
 9678              	.L363:
6632:armor.c       ****       
6633:armor.c       ****       L0A9F://        CMPB  #$04                    ; 0A9F: C1 04         
6634:armor.c       ****       res = B - (SINT8)0x04;
 9679              		.loc 1 6634 0
 9680 992b 8B85E4FF 		movl	-65564(%ebp), %eax
 9680      FEFF
 9681 9931 83E804   		subl	$4, %eax
 9682 9934 8985E8FF 		movl	%eax, -65560(%ebp)
 9682      FEFF
6635:armor.c       ****       C = res & 0x100;
 9683              		.loc 1 6635 0
 9684 993a 8B85E8FF 		movl	-65560(%ebp), %eax
 9684      FEFF
 9685 9940 25000100 		andl	$256, %eax
 9685      00
 9686 9945 8985ECFF 		movl	%eax, -65556(%ebp)
 9686      FEFF
6636:armor.c       ****       res = (UINT8)res;
 9687              		.loc 1 6636 0
 9688 994b 8B85E8FF 		movl	-65560(%ebp), %eax
 9688      FEFF
 9689 9951 0FB6C0   		movzbl	%al, %eax
 9690 9954 8985E8FF 		movl	%eax, -65560(%ebp)
 9690      FEFF
6637:armor.c       ****       Z = res;
 9691              		.loc 1 6637 0
 9692 995a 8B85E8FF 		movl	-65560(%ebp), %eax
 9692      FEFF
 9693 9960 668985CC 		movw	%ax, -65588(%ebp)
 9693      FFFEFF
6638:armor.c       ****   //  N = res;
GAS LISTING /tmp/ccqXEnet.s 			page 379


6639:armor.c       ****   //  V = (B ^ (SINT8)0x04) & (B ^ res);
6640:armor.c       ****       
6641:armor.c       ****             //        BNE   $0A71                   ; 0AA1: 26 CE         
6642:armor.c       ****       if (Z) {
 9694              		.loc 1 6642 0
 9695 9967 6683BDCC 		cmpw	$0, -65588(%ebp)
 9695      FFFEFF00 
 9696 996f 7409     		je	.L364
6643:armor.c       ****       PC = 0x0a71;
 9697              		.loc 1 6643 0
 9698 9971 66C785CA 		movw	$2673, -65590(%ebp)
 9698      FFFEFF71 
 9698      0A
 9699              	.L364:
6644:armor.c       ****       JUMP;
6645:armor.c       ****       }
6646:armor.c       ****       
6647:armor.c       ****             //        LDU   #$0B2C                  ; 0AA3: CE 0B 2C      
6648:armor.c       ****       U = 0x0b2c;
 9700              		.loc 1 6648 0
 9701 997a 66C785CE 		movw	$2860, -65586(%ebp)
 9701      FFFEFF2C 
 9701      0B
6649:armor.c       ****   //  Z = U;
6650:armor.c       ****   //  N = (U) >> 8;
6651:armor.c       ****   //  V = 0;
6652:armor.c       ****       
6653:armor.c       ****             //        STU   <$CC                    ; 0AA6: DF CC         
6654:armor.c       ****   //  Z = U;
6655:armor.c       ****   //  N = (U) >> 8;
6656:armor.c       ****   //  V = 0;
6657:armor.c       ****       memory_DP[0xcc] = (UINT8)((U) >> 8);
 9702              		.loc 1 6657 0
 9703 9983 0FB785CE 		movzwl	-65586(%ebp), %eax
 9703      FFFEFF
 9704 998a 66C1E808 		shrw	$8, %ax
 9705 998e 89C2     		movl	%eax, %edx
 9706 9990 8B85DCFF 		movl	-65572(%ebp), %eax
 9706      FEFF
 9707 9996 05CC0000 		addl	$204, %eax
 9707      00
 9708 999b 8810     		movb	%dl, (%eax)
6658:armor.c       ****       memory_DP[(UINT16)(0xcc + 1)] = (UINT8)((U) & 0xff);
 9709              		.loc 1 6658 0
 9710 999d 8B85DCFF 		movl	-65572(%ebp), %eax
 9710      FEFF
 9711 99a3 05CD0000 		addl	$205, %eax
 9711      00
 9712 99a8 0FB795CE 		movzwl	-65586(%ebp), %edx
 9712      FFFEFF
 9713 99af 8810     		movb	%dl, (%eax)
6659:armor.c       ****       
6660:armor.c       ****             //        INC   <$DA                    ; 0AA8: 0C DA         
6661:armor.c       ****       res = (UINT8)((memory_DP[0xda]) + 1);
 9714              		.loc 1 6661 0
 9715 99b1 8B85DCFF 		movl	-65572(%ebp), %eax
 9715      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 380


 9716 99b7 05DA0000 		addl	$218, %eax
 9716      00
 9717 99bc 0FB600   		movzbl	(%eax), %eax
 9718 99bf 83C001   		addl	$1, %eax
 9719 99c2 0FB6C0   		movzbl	%al, %eax
 9720 99c5 8985E8FF 		movl	%eax, -65560(%ebp)
 9720      FEFF
6662:armor.c       ****       Z = res;
 9721              		.loc 1 6662 0
 9722 99cb 8B85E8FF 		movl	-65560(%ebp), %eax
 9722      FEFF
 9723 99d1 668985CC 		movw	%ax, -65588(%ebp)
 9723      FFFEFF
6663:armor.c       ****       N = res;
 9724              		.loc 1 6663 0
 9725 99d8 8B85E8FF 		movl	-65560(%ebp), %eax
 9725      FEFF
 9726 99de 8885C1FF 		movb	%al, -65599(%ebp)
 9726      FEFF
6664:armor.c       ****       V = res & ~(memory_DP[0xda]);
 9727              		.loc 1 6664 0
 9728 99e4 8B85DCFF 		movl	-65572(%ebp), %eax
 9728      FEFF
 9729 99ea 05DA0000 		addl	$218, %eax
 9729      00
 9730 99ef 0FB600   		movzbl	(%eax), %eax
 9731 99f2 F7D0     		notl	%eax
 9732 99f4 89C2     		movl	%eax, %edx
 9733 99f6 8B85E8FF 		movl	-65560(%ebp), %eax
 9733      FEFF
 9734 99fc 21D0     		andl	%edx, %eax
 9735 99fe 8885C2FF 		movb	%al, -65598(%ebp)
 9735      FEFF
6665:armor.c       ****       memory_DP[0xda] = res;
 9736              		.loc 1 6665 0
 9737 9a04 8B85DCFF 		movl	-65572(%ebp), %eax
 9737      FEFF
 9738 9a0a 05DA0000 		addl	$218, %eax
 9738      00
 9739 9a0f 8B95E8FF 		movl	-65560(%ebp), %edx
 9739      FEFF
 9740 9a15 8810     		movb	%dl, (%eax)
6666:armor.c       ****       
6667:armor.c       ****             //        BRA   $0A71                   ; 0AAA: 20 C5         
6668:armor.c       ****       PC = 0x0a71;
 9741              		.loc 1 6668 0
 9742 9a17 66C785CA 		movw	$2673, -65590(%ebp)
 9742      FFFEFF71 
 9742      0A
 9743              	.L365:
6669:armor.c       ****       JUMP;
6670:armor.c       ****       
6671:armor.c       ****       
6672:armor.c       ****       L0AAC://        RTS                           ; 0AAC: 39            
6673:armor.c       ****       PC = memory[S++]<<8;
 9744              		.loc 1 6673 0
 9745 9a20 0FB785C8 		movzwl	-65592(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 381


 9745      FFFEFF
 9746 9a27 8D5001   		leal	1(%eax), %edx
 9747 9a2a 668995C8 		movw	%dx, -65592(%ebp)
 9747      FFFEFF
 9748 9a31 0FB7C0   		movzwl	%ax, %eax
 9749 9a34 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9749      F4FFFEFF 
 9750 9a3c 0FB6C0   		movzbl	%al, %eax
 9751 9a3f C1E008   		sall	$8, %eax
 9752 9a42 668985CA 		movw	%ax, -65590(%ebp)
 9752      FFFEFF
6674:armor.c       ****       PC |= memory[S++];
 9753              		.loc 1 6674 0
 9754 9a49 0FB785C8 		movzwl	-65592(%ebp), %eax
 9754      FFFEFF
 9755 9a50 8D5001   		leal	1(%eax), %edx
 9756 9a53 668995C8 		movw	%dx, -65592(%ebp)
 9756      FFFEFF
 9757 9a5a 0FB7C0   		movzwl	%ax, %eax
 9758 9a5d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9758      F4FFFEFF 
 9759 9a65 0FB6C0   		movzbl	%al, %eax
 9760 9a68 660985CA 		orw	%ax, -65590(%ebp)
 9760      FFFEFF
 9761              	.L366:
6675:armor.c       ****       JUMP;
6676:armor.c       ****       
6677:armor.c       ****       
6678:armor.c       ****       L0AAD://        LDA   <$91                    ; 0AAD: 96 91         
6679:armor.c       ****       A = memory_DP[0x91];
 9762              		.loc 1 6679 0
 9763 9a6f 8B85DCFF 		movl	-65572(%ebp), %eax
 9763      FEFF
 9764 9a75 05910000 		addl	$145, %eax
 9764      00
 9765 9a7a 0FB600   		movzbl	(%eax), %eax
 9766 9a7d 0FB6C0   		movzbl	%al, %eax
 9767 9a80 8985E0FF 		movl	%eax, -65568(%ebp)
 9767      FEFF
6680:armor.c       ****   //  N = A;
6681:armor.c       ****   //  Z = A;
6682:armor.c       ****   //  V = 0;
6683:armor.c       ****       
6684:armor.c       ****             //        ADDA  #$04                    ; 0AAF: 8B 04         
6685:armor.c       ****       A = (UINT8)(A + (SINT8)0x04);
 9768              		.loc 1 6685 0
 9769 9a86 8B85E0FF 		movl	-65568(%ebp), %eax
 9769      FEFF
 9770 9a8c 83C004   		addl	$4, %eax
 9771 9a8f 0FB6C0   		movzbl	%al, %eax
 9772 9a92 8985E0FF 		movl	%eax, -65568(%ebp)
 9772      FEFF
6686:armor.c       ****   //  res = A + (SINT8)0x04;
6687:armor.c       ****   //  C = res & 0x100;
6688:armor.c       ****   //  res = (UINT8)res;
6689:armor.c       ****   //  Z = res;
6690:armor.c       ****   //  N = res;
GAS LISTING /tmp/ccqXEnet.s 			page 382


6691:armor.c       ****   //  res = A ^ (SINT8)0x04 ^ res ^ C;
6692:armor.c       ****   //  H = res;
6693:armor.c       ****   //  V = res;
6694:armor.c       ****       
6695:armor.c       ****             //        LEAU  A,X                     ; 0AB1: 33 86         
6696:armor.c       ****       U = (X + (SINT8)A);
 9773              		.loc 1 6696 0
 9774 9a98 8B85E0FF 		movl	-65568(%ebp), %eax
 9774      FEFF
 9775 9a9e 660FBED0 		movsbw	%al, %dx
 9776 9aa2 0FB785C6 		movzwl	-65594(%ebp), %eax
 9776      FFFEFF
 9777 9aa9 01D0     		addl	%edx, %eax
 9778 9aab 668985CE 		movw	%ax, -65586(%ebp)
 9778      FFFEFF
6697:armor.c       ****       
6698:armor.c       ****             //        LDD   $01,X                   ; 0AB3: EC 01         
6699:armor.c       ****       A = memory[(UINT16)(X + 0x0001)];
 9779              		.loc 1 6699 0
 9780 9ab2 0FB785C6 		movzwl	-65594(%ebp), %eax
 9780      FFFEFF
 9781 9ab9 83C001   		addl	$1, %eax
 9782 9abc 0FB7C0   		movzwl	%ax, %eax
 9783 9abf 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9783      F4FFFEFF 
 9784 9ac7 0FB6C0   		movzbl	%al, %eax
 9785 9aca 8985E0FF 		movl	%eax, -65568(%ebp)
 9785      FEFF
6700:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0001))+1)];
 9786              		.loc 1 6700 0
 9787 9ad0 0FB785C6 		movzwl	-65594(%ebp), %eax
 9787      FFFEFF
 9788 9ad7 83C002   		addl	$2, %eax
 9789 9ada 0FB7C0   		movzwl	%ax, %eax
 9790 9add 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9790      F4FFFEFF 
 9791 9ae5 0FB6C0   		movzbl	%al, %eax
 9792 9ae8 8985E4FF 		movl	%eax, -65564(%ebp)
 9792      FEFF
6701:armor.c       ****   //  Z = A|B;
6702:armor.c       ****   //  N = A;
6703:armor.c       ****   //  V = 0;
6704:armor.c       ****       
6705:armor.c       ****             //        ADDA  ,U                      ; 0AB5: AB C4         
6706:armor.c       ****       A = (UINT8)(A + memory[U]);
 9793              		.loc 1 6706 0
 9794 9aee 8B85E0FF 		movl	-65568(%ebp), %eax
 9794      FEFF
 9795 9af4 89C2     		movl	%eax, %edx
 9796 9af6 0FB785CE 		movzwl	-65586(%ebp), %eax
 9796      FFFEFF
 9797 9afd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9797      F4FFFEFF 
 9798 9b05 01D0     		addl	%edx, %eax
 9799 9b07 0FB6C0   		movzbl	%al, %eax
 9800 9b0a 8985E0FF 		movl	%eax, -65568(%ebp)
 9800      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 383


6707:armor.c       ****   //  res = A + memory[U];
6708:armor.c       ****   //  C = res & 0x100;
6709:armor.c       ****   //  res = (UINT8)res;
6710:armor.c       ****   //  Z = res;
6711:armor.c       ****   //  N = res;
6712:armor.c       ****   //  res = A ^ memory[U] ^ res ^ C;
6713:armor.c       ****   //  H = res;
6714:armor.c       ****   //  V = res;
6715:armor.c       ****       
6716:armor.c       ****             //        ADDB  $01,U                   ; 0AB7: EB 41         
6717:armor.c       ****       B = (UINT8)(B + memory[(UINT16)(U + 0x0001)]);
 9801              		.loc 1 6717 0
 9802 9b10 8B85E4FF 		movl	-65564(%ebp), %eax
 9802      FEFF
 9803 9b16 89C2     		movl	%eax, %edx
 9804 9b18 0FB785CE 		movzwl	-65586(%ebp), %eax
 9804      FFFEFF
 9805 9b1f 83C001   		addl	$1, %eax
 9806 9b22 0FB7C0   		movzwl	%ax, %eax
 9807 9b25 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 9807      F4FFFEFF 
 9808 9b2d 01D0     		addl	%edx, %eax
 9809 9b2f 0FB6C0   		movzbl	%al, %eax
 9810 9b32 8985E4FF 		movl	%eax, -65564(%ebp)
 9810      FEFF
6718:armor.c       ****   //  res = B + memory[(UINT16)(U + 0x0001)];
6719:armor.c       ****   //  C = res & 0x100;
6720:armor.c       ****   //  res = (UINT8)res;
6721:armor.c       ****   //  Z = res;
6722:armor.c       ****   //  N = res;
6723:armor.c       ****   //  res = B ^ memory[(UINT16)(U + 0x0001)] ^ res ^ C;
6724:armor.c       ****   //  H = res;
6725:armor.c       ****   //  V = res;
6726:armor.c       ****       
6727:armor.c       ****             //        STD   $01,X                   ; 0AB9: ED 01         
6728:armor.c       ****   //  Z = A | B;
6729:armor.c       ****   //  N = A;
6730:armor.c       ****   //  V = 0;
6731:armor.c       ****       memory[(UINT16)(X + 0x0001)] = A;
 9811              		.loc 1 6731 0
 9812 9b38 0FB785C6 		movzwl	-65594(%ebp), %eax
 9812      FFFEFF
 9813 9b3f 83C001   		addl	$1, %eax
 9814 9b42 0FB7C0   		movzwl	%ax, %eax
 9815 9b45 8B95E0FF 		movl	-65568(%ebp), %edx
 9815      FEFF
 9816 9b4b 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9816      FFFEFF
6732:armor.c       ****       memory[(UINT16)(X + 0x0001) + 1] = B;
 9817              		.loc 1 6732 0
 9818 9b52 0FB785C6 		movzwl	-65594(%ebp), %eax
 9818      FFFEFF
 9819 9b59 83C001   		addl	$1, %eax
 9820 9b5c 0FB7C0   		movzwl	%ax, %eax
 9821 9b5f 83C001   		addl	$1, %eax
 9822 9b62 8B95E4FF 		movl	-65564(%ebp), %edx
 9822      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 384


 9823 9b68 889405F4 		movb	%dl, -65548(%ebp,%eax)
 9823      FFFEFF
6733:armor.c       ****       
6734:armor.c       ****             //        JSR   Abs_a_b                 ; 0ABB: BD F5 84      
6735:armor.c       ****       memory[--S] = 0x0abe & 0xff; memory[--S] = 0x0abe >> 8;
 9824              		.loc 1 6735 0
 9825 9b6f 6683ADC8 		subw	$1, -65592(%ebp)
 9825      FFFEFF01 
 9826 9b77 0FB785C8 		movzwl	-65592(%ebp), %eax
 9826      FFFEFF
 9827 9b7e C68405F4 		movb	$-66, -65548(%ebp,%eax)
 9827      FFFEFFBE 
 9828 9b86 6683ADC8 		subw	$1, -65592(%ebp)
 9828      FFFEFF01 
 9829 9b8e 0FB785C8 		movzwl	-65592(%ebp), %eax
 9829      FFFEFF
 9830 9b95 C68405F4 		movb	$10, -65548(%ebp,%eax)
 9830      FFFEFF0A 
6736:armor.c       ****       PC = 0xf584;
 9831              		.loc 1 6736 0
 9832 9b9d 66C785CA 		movw	$-2684, -65590(%ebp)
 9832      FFFEFF84 
 9832      F5
 9833              	.L367:
6737:armor.c       ****       JUMP;
6738:armor.c       ****       
6739:armor.c       ****       L0ABE://        STD   <$DB                    ; 0ABE: DD DB         
6740:armor.c       ****   //  Z = A | B;
6741:armor.c       ****   //  N = A;
6742:armor.c       ****   //  V = 0;
6743:armor.c       ****       memory_DP[0xdb] = A;
 9834              		.loc 1 6743 0
 9835 9ba6 8B85DCFF 		movl	-65572(%ebp), %eax
 9835      FEFF
 9836 9bac 05DB0000 		addl	$219, %eax
 9836      00
 9837 9bb1 8B95E0FF 		movl	-65568(%ebp), %edx
 9837      FEFF
 9838 9bb7 8810     		movb	%dl, (%eax)
6744:armor.c       ****       memory_DP[0xdb + 1] = B;
 9839              		.loc 1 6744 0
 9840 9bb9 8B85DCFF 		movl	-65572(%ebp), %eax
 9840      FEFF
 9841 9bbf 05DC0000 		addl	$220, %eax
 9841      00
 9842 9bc4 8B95E4FF 		movl	-65564(%ebp), %edx
 9842      FEFF
 9843 9bca 8810     		movb	%dl, (%eax)
6745:armor.c       ****       
6746:armor.c       ****             //        CMPA  #$78                    ; 0AC0: 81 78         
6747:armor.c       ****       res = A - (SINT8)0x78;
 9844              		.loc 1 6747 0
 9845 9bcc 8B85E0FF 		movl	-65568(%ebp), %eax
 9845      FEFF
 9846 9bd2 83E878   		subl	$120, %eax
 9847 9bd5 8985E8FF 		movl	%eax, -65560(%ebp)
 9847      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 385


6748:armor.c       ****       C = res & 0x100;
 9848              		.loc 1 6748 0
 9849 9bdb 8B85E8FF 		movl	-65560(%ebp), %eax
 9849      FEFF
 9850 9be1 25000100 		andl	$256, %eax
 9850      00
 9851 9be6 8985ECFF 		movl	%eax, -65556(%ebp)
 9851      FEFF
6749:armor.c       ****   //  res = (UINT8)res;
6750:armor.c       ****   //  Z = res;
6751:armor.c       ****   //  N = res;
6752:armor.c       ****   //  V = (A ^ (SINT8)0x78) & (A ^ res);
6753:armor.c       ****       
6754:armor.c       ****             //        BCC   $0B1B                   ; 0AC2: 24 57         
6755:armor.c       ****       if (!C) {
 9852              		.loc 1 6755 0
 9853 9bec 83BDECFF 		cmpl	$0, -65556(%ebp)
 9853      FEFF00
 9854 9bf3 7509     		jne	.L368
6756:armor.c       ****       PC = 0x0b1b;
 9855              		.loc 1 6756 0
 9856 9bf5 66C785CA 		movw	$2843, -65590(%ebp)
 9856      FFFEFF1B 
 9856      0B
 9857              	.L368:
6757:armor.c       ****       JUMP;
6758:armor.c       ****       }
6759:armor.c       ****       
6760:armor.c       ****             //        CMPB  #$78                    ; 0AC4: C1 78         
6761:armor.c       ****       res = B - (SINT8)0x78;
 9858              		.loc 1 6761 0
 9859 9bfe 8B85E4FF 		movl	-65564(%ebp), %eax
 9859      FEFF
 9860 9c04 83E878   		subl	$120, %eax
 9861 9c07 8985E8FF 		movl	%eax, -65560(%ebp)
 9861      FEFF
6762:armor.c       ****       C = res & 0x100;
 9862              		.loc 1 6762 0
 9863 9c0d 8B85E8FF 		movl	-65560(%ebp), %eax
 9863      FEFF
 9864 9c13 25000100 		andl	$256, %eax
 9864      00
 9865 9c18 8985ECFF 		movl	%eax, -65556(%ebp)
 9865      FEFF
6763:armor.c       ****   //  res = (UINT8)res;
6764:armor.c       ****   //  Z = res;
6765:armor.c       ****   //  N = res;
6766:armor.c       ****   //  V = (B ^ (SINT8)0x78) & (B ^ res);
6767:armor.c       ****       
6768:armor.c       ****             //        BCC   $0B1B                   ; 0AC6: 24 53         
6769:armor.c       ****       if (!C) {
 9866              		.loc 1 6769 0
 9867 9c1e 83BDECFF 		cmpl	$0, -65556(%ebp)
 9867      FEFF00
 9868 9c25 7509     		jne	.L369
6770:armor.c       ****       PC = 0x0b1b;
 9869              		.loc 1 6770 0
GAS LISTING /tmp/ccqXEnet.s 			page 386


 9870 9c27 66C785CA 		movw	$2843, -65590(%ebp)
 9870      FFFEFF1B 
 9870      0B
 9871              	.L369:
6771:armor.c       ****       JUMP;
6772:armor.c       ****       }
6773:armor.c       ****       
6774:armor.c       ****             //        LDU   #$0F20                  ; 0AC8: CE 0F 20      
6775:armor.c       ****       U = 0x0f20;
 9872              		.loc 1 6775 0
 9873 9c30 66C785CE 		movw	$3872, -65586(%ebp)
 9873      FFFEFF20 
 9873      0F
6776:armor.c       ****   //  Z = U;
6777:armor.c       ****   //  N = (U) >> 8;
6778:armor.c       ****       V = 0;
 9874              		.loc 1 6778 0
 9875 9c39 C685C2FF 		movb	$0, -65598(%ebp)
 9875      FEFF00
6779:armor.c       ****       
6780:armor.c       ****             //        JSR   $081C                   ; 0ACB: BD 08 1C      
6781:armor.c       ****       memory[--S] = 0x0ace & 0xff; memory[--S] = 0x0ace >> 8;
 9876              		.loc 1 6781 0
 9877 9c40 6683ADC8 		subw	$1, -65592(%ebp)
 9877      FFFEFF01 
 9878 9c48 0FB785C8 		movzwl	-65592(%ebp), %eax
 9878      FFFEFF
 9879 9c4f C68405F4 		movb	$-50, -65548(%ebp,%eax)
 9879      FFFEFFCE 
 9880 9c57 6683ADC8 		subw	$1, -65592(%ebp)
 9880      FFFEFF01 
 9881 9c5f 0FB785C8 		movzwl	-65592(%ebp), %eax
 9881      FFFEFF
 9882 9c66 C68405F4 		movb	$10, -65548(%ebp,%eax)
 9882      FFFEFF0A 
6782:armor.c       ****       PC = 0x081c;
 9883              		.loc 1 6782 0
 9884 9c6e 66C785CA 		movw	$2076, -65590(%ebp)
 9884      FFFEFF1C 
 9884      08
 9885              	.L370:
6783:armor.c       ****       JUMP;
6784:armor.c       ****       
6785:armor.c       ****       L0ACE://        BVS   $0B1B                   ; 0ACE: 29 4B         
6786:armor.c       ****       if ((SINT8)V <  0) {
 9886              		.loc 1 6786 0
 9887 9c77 0FB685C2 		movzbl	-65598(%ebp), %eax
 9887      FFFEFF
 9888 9c7e 84C0     		testb	%al, %al
 9889 9c80 7909     		jns	.L371
6787:armor.c       ****       PC = 0x0b1b;
 9890              		.loc 1 6787 0
 9891 9c82 66C785CA 		movw	$2843, -65590(%ebp)
 9891      FFFEFF1B 
 9891      0B
 9892              	.L371:
6788:armor.c       ****       JUMP;
GAS LISTING /tmp/ccqXEnet.s 			page 387


6789:armor.c       ****       }
6790:armor.c       ****       
6791:armor.c       ****             //        LDB   <$DB                    ; 0AD0: D6 DB         
6792:armor.c       ****       B = memory_DP[0xdb];
 9893              		.loc 1 6792 0
 9894 9c8b 8B85DCFF 		movl	-65572(%ebp), %eax
 9894      FEFF
 9895 9c91 05DB0000 		addl	$219, %eax
 9895      00
 9896 9c96 0FB600   		movzbl	(%eax), %eax
 9897 9c99 0FB6C0   		movzbl	%al, %eax
 9898 9c9c 8985E4FF 		movl	%eax, -65564(%ebp)
 9898      FEFF
6793:armor.c       ****   //  N = B;
6794:armor.c       ****   //  Z = B;
6795:armor.c       ****   //  V = 0;
6796:armor.c       ****       
6797:armor.c       ****             //        LDU   #$0F6A                  ; 0AD2: CE 0F 6A      
6798:armor.c       ****       U = 0x0f6a;
 9899              		.loc 1 6798 0
 9900 9ca2 66C785CE 		movw	$3946, -65586(%ebp)
 9900      FFFEFF6A 
 9900      0F
6799:armor.c       ****   //  Z = U;
6800:armor.c       ****   //  N = (U) >> 8;
6801:armor.c       ****       V = 0;
 9901              		.loc 1 6801 0
 9902 9cab C685C2FF 		movb	$0, -65598(%ebp)
 9902      FEFF00
6802:armor.c       ****       
6803:armor.c       ****             //        JSR   $081C                   ; 0AD5: BD 08 1C      
6804:armor.c       ****       memory[--S] = 0x0ad8 & 0xff; memory[--S] = 0x0ad8 >> 8;
 9903              		.loc 1 6804 0
 9904 9cb2 6683ADC8 		subw	$1, -65592(%ebp)
 9904      FFFEFF01 
 9905 9cba 0FB785C8 		movzwl	-65592(%ebp), %eax
 9905      FFFEFF
 9906 9cc1 C68405F4 		movb	$-40, -65548(%ebp,%eax)
 9906      FFFEFFD8 
 9907 9cc9 6683ADC8 		subw	$1, -65592(%ebp)
 9907      FFFEFF01 
 9908 9cd1 0FB785C8 		movzwl	-65592(%ebp), %eax
 9908      FFFEFF
 9909 9cd8 C68405F4 		movb	$10, -65548(%ebp,%eax)
 9909      FFFEFF0A 
6805:armor.c       ****       PC = 0x081c;
 9910              		.loc 1 6805 0
 9911 9ce0 66C785CA 		movw	$2076, -65590(%ebp)
 9911      FFFEFF1C 
 9911      08
 9912              	.L372:
6806:armor.c       ****       JUMP;
6807:armor.c       ****       
6808:armor.c       ****       L0AD8://        BVS   $0B1B                   ; 0AD8: 29 41         
6809:armor.c       ****       if ((SINT8)V <  0) {
 9913              		.loc 1 6809 0
 9914 9ce9 0FB685C2 		movzbl	-65598(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 388


 9914      FFFEFF
 9915 9cf0 84C0     		testb	%al, %al
 9916 9cf2 7909     		jns	.L373
6810:armor.c       ****       PC = 0x0b1b;
 9917              		.loc 1 6810 0
 9918 9cf4 66C785CA 		movw	$2843, -65590(%ebp)
 9918      FFFEFF1B 
 9918      0B
 9919              	.L373:
6811:armor.c       ****       JUMP;
6812:armor.c       ****       }
6813:armor.c       ****       
6814:armor.c       ****             //        LDU   #$C900                  ; 0ADA: CE C9 00      
6815:armor.c       ****       U = 0xc900;
 9920              		.loc 1 6815 0
 9921 9cfd 66C785CE 		movw	$-14080, -65586(%ebp)
 9921      FFFEFF00 
 9921      C9
6816:armor.c       ****   //  Z = U;
6817:armor.c       ****   //  N = (U) >> 8;
6818:armor.c       ****   //  V = 0;
6819:armor.c       ****       
6820:armor.c       ****             //        LDB   <$81                    ; 0ADD: D6 81         
6821:armor.c       ****       B = memory_DP[0x81];
 9922              		.loc 1 6821 0
 9923 9d06 8B85DCFF 		movl	-65572(%ebp), %eax
 9923      FEFF
 9924 9d0c 05810000 		addl	$129, %eax
 9924      00
 9925 9d11 0FB600   		movzbl	(%eax), %eax
 9926 9d14 0FB6C0   		movzbl	%al, %eax
 9927 9d17 8985E4FF 		movl	%eax, -65564(%ebp)
 9927      FEFF
 9928              	.L374:
6822:armor.c       ****   //  N = B;
6823:armor.c       ****   //  Z = B;
6824:armor.c       ****   //  V = 0;
6825:armor.c       ****       
6826:armor.c       ****       L0ADF://        STB   <$CB                    ; 0ADF: D7 CB         
6827:armor.c       ****   //  Z = B;
6828:armor.c       ****   //  N = B;
6829:armor.c       ****   //  V = 0;
6830:armor.c       ****       memory_DP[0xcb] = B;
 9929              		.loc 1 6830 0
 9930 9d1d 8B85DCFF 		movl	-65572(%ebp), %eax
 9930      FEFF
 9931 9d23 05CB0000 		addl	$203, %eax
 9931      00
 9932 9d28 8B95E4FF 		movl	-65564(%ebp), %edx
 9932      FEFF
 9933 9d2e 8810     		movb	%dl, (%eax)
6831:armor.c       ****       
6832:armor.c       ****             //        SUBB  <$D2                    ; 0AE1: D0 D2         
6833:armor.c       ****       B = (UINT8)(B - memory_DP[0xd2]);
 9934              		.loc 1 6833 0
 9935 9d30 8B85E4FF 		movl	-65564(%ebp), %eax
 9935      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 389


 9936 9d36 89C2     		movl	%eax, %edx
 9937 9d38 8B85DCFF 		movl	-65572(%ebp), %eax
 9937      FEFF
 9938 9d3e 05D20000 		addl	$210, %eax
 9938      00
 9939 9d43 0FB600   		movzbl	(%eax), %eax
 9940 9d46 29C2     		subl	%eax, %edx
 9941 9d48 89D0     		movl	%edx, %eax
 9942 9d4a 0FB6C0   		movzbl	%al, %eax
 9943 9d4d 8985E4FF 		movl	%eax, -65564(%ebp)
 9943      FEFF
6834:armor.c       ****   //  res = B - memory_DP[0xd2];
6835:armor.c       ****   //  C = res & 0x100;
6836:armor.c       ****   //  res = (UINT8)res;
6837:armor.c       ****   //  Z = res;
6838:armor.c       ****   //  N = res;
6839:armor.c       ****   //  V = ((B) ^ (memory_DP[0xd2])) & ((B) ^ res);
6840:armor.c       ****       
6841:armor.c       ****             //        ADDB  #$03                    ; 0AE3: CB 03         
6842:armor.c       ****       B = (UINT8)(B + (SINT8)0x03);
 9944              		.loc 1 6842 0
 9945 9d53 8B85E4FF 		movl	-65564(%ebp), %eax
 9945      FEFF
 9946 9d59 83C003   		addl	$3, %eax
 9947 9d5c 0FB6C0   		movzbl	%al, %eax
 9948 9d5f 8985E4FF 		movl	%eax, -65564(%ebp)
 9948      FEFF
6843:armor.c       ****       res = B + (SINT8)0x03;
 9949              		.loc 1 6843 0
 9950 9d65 8B85E4FF 		movl	-65564(%ebp), %eax
 9950      FEFF
 9951 9d6b 83C003   		addl	$3, %eax
 9952 9d6e 8985E8FF 		movl	%eax, -65560(%ebp)
 9952      FEFF
6844:armor.c       ****       C = res & 0x100;
 9953              		.loc 1 6844 0
 9954 9d74 8B85E8FF 		movl	-65560(%ebp), %eax
 9954      FEFF
 9955 9d7a 25000100 		andl	$256, %eax
 9955      00
 9956 9d7f 8985ECFF 		movl	%eax, -65556(%ebp)
 9956      FEFF
6845:armor.c       ****       res = (UINT8)res;
 9957              		.loc 1 6845 0
 9958 9d85 8B85E8FF 		movl	-65560(%ebp), %eax
 9958      FEFF
 9959 9d8b 0FB6C0   		movzbl	%al, %eax
 9960 9d8e 8985E8FF 		movl	%eax, -65560(%ebp)
 9960      FEFF
6846:armor.c       ****   //  Z = res;
6847:armor.c       ****   //  N = res;
6848:armor.c       ****       res = B ^ (SINT8)0x03 ^ res ^ C;
 9961              		.loc 1 6848 0
 9962 9d94 8B85E4FF 		movl	-65564(%ebp), %eax
 9962      FEFF
 9963 9d9a 83F003   		xorl	$3, %eax
 9964 9d9d 3385E8FF 		xorl	-65560(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 390


 9964      FEFF
 9965 9da3 3385ECFF 		xorl	-65556(%ebp), %eax
 9965      FEFF
 9966 9da9 8985E8FF 		movl	%eax, -65560(%ebp)
 9966      FEFF
6849:armor.c       ****       H = res;
 9967              		.loc 1 6849 0
 9968 9daf 8B85E8FF 		movl	-65560(%ebp), %eax
 9968      FEFF
 9969 9db5 8885C3FF 		movb	%al, -65597(%ebp)
 9969      FEFF
6850:armor.c       ****   //  V = res;
6851:armor.c       ****       
6852:armor.c       ****             //        SUBB  <$81                    ; 0AE5: D0 81         
6853:armor.c       ****       B = (UINT8)(B - memory_DP[0x81]);
 9970              		.loc 1 6853 0
 9971 9dbb 8B85E4FF 		movl	-65564(%ebp), %eax
 9971      FEFF
 9972 9dc1 89C2     		movl	%eax, %edx
 9973 9dc3 8B85DCFF 		movl	-65572(%ebp), %eax
 9973      FEFF
 9974 9dc9 05810000 		addl	$129, %eax
 9974      00
 9975 9dce 0FB600   		movzbl	(%eax), %eax
 9976 9dd1 29C2     		subl	%eax, %edx
 9977 9dd3 89D0     		movl	%edx, %eax
 9978 9dd5 0FB6C0   		movzbl	%al, %eax
 9979 9dd8 8985E4FF 		movl	%eax, -65564(%ebp)
 9979      FEFF
6854:armor.c       ****       res = B - memory_DP[0x81];
 9980              		.loc 1 6854 0
 9981 9dde 8B85DCFF 		movl	-65572(%ebp), %eax
 9981      FEFF
 9982 9de4 05810000 		addl	$129, %eax
 9982      00
 9983 9de9 0FB600   		movzbl	(%eax), %eax
 9984 9dec 0FB6C0   		movzbl	%al, %eax
 9985 9def 8B95E4FF 		movl	-65564(%ebp), %edx
 9985      FEFF
 9986 9df5 29C2     		subl	%eax, %edx
 9987 9df7 89D0     		movl	%edx, %eax
 9988 9df9 8985E8FF 		movl	%eax, -65560(%ebp)
 9988      FEFF
6855:armor.c       ****   //  C = res & 0x100;
6856:armor.c       ****       res = (UINT8)res;
 9989              		.loc 1 6856 0
 9990 9dff 8B85E8FF 		movl	-65560(%ebp), %eax
 9990      FEFF
 9991 9e05 0FB6C0   		movzbl	%al, %eax
 9992 9e08 8985E8FF 		movl	%eax, -65560(%ebp)
 9992      FEFF
6857:armor.c       ****       Z = res;
 9993              		.loc 1 6857 0
 9994 9e0e 8B85E8FF 		movl	-65560(%ebp), %eax
 9994      FEFF
 9995 9e14 668985CC 		movw	%ax, -65588(%ebp)
 9995      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 391


6858:armor.c       ****   //  N = res;
6859:armor.c       ****   //  V = ((B) ^ (memory_DP[0x81])) & ((B) ^ res);
6860:armor.c       ****       
6861:armor.c       ****             //        BEQ   $0B0B                   ; 0AE7: 27 22         
6862:armor.c       ****       if (!Z) {
 9996              		.loc 1 6862 0
 9997 9e1b 6683BDCC 		cmpw	$0, -65588(%ebp)
 9997      FFFEFF00 
 9998 9e23 7509     		jne	.L375
6863:armor.c       ****       PC = 0x0b0b;
 9999              		.loc 1 6863 0
 10000 9e25 66C785CA 		movw	$2827, -65590(%ebp)
 10000      FFFEFF0B 
 10000      0B
 10001              	.L375:
6864:armor.c       ****       JUMP;
6865:armor.c       ****       }
6866:armor.c       ****       
6867:armor.c       ****             //        LDD   ,U                      ; 0AE9: EC C4         
6868:armor.c       ****       A = memory[U];
 10002              		.loc 1 6868 0
 10003 9e2e 0FB785CE 		movzwl	-65586(%ebp), %eax
 10003      FFFEFF
 10004 9e35 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10004      F4FFFEFF 
 10005 9e3d 0FB6C0   		movzbl	%al, %eax
 10006 9e40 8985E0FF 		movl	%eax, -65568(%ebp)
 10006      FEFF
6869:armor.c       ****       B = memory[(UINT16)((U)+1)];
 10007              		.loc 1 6869 0
 10008 9e46 0FB785CE 		movzwl	-65586(%ebp), %eax
 10008      FFFEFF
 10009 9e4d 83C001   		addl	$1, %eax
 10010 9e50 0FB7C0   		movzwl	%ax, %eax
 10011 9e53 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10011      F4FFFEFF 
 10012 9e5b 0FB6C0   		movzbl	%al, %eax
 10013 9e5e 8985E4FF 		movl	%eax, -65564(%ebp)
 10013      FEFF
6870:armor.c       ****   //  Z = A|B;
6871:armor.c       ****   //  N = A;
6872:armor.c       ****   //  V = 0;
6873:armor.c       ****       
6874:armor.c       ****             //        TSTA                          ; 0AEB: 4D            
6875:armor.c       ****       Z = A;
 10014              		.loc 1 6875 0
 10015 9e64 8B85E0FF 		movl	-65568(%ebp), %eax
 10015      FEFF
 10016 9e6a 668985CC 		movw	%ax, -65588(%ebp)
 10016      FFFEFF
6876:armor.c       ****   //  N = A;
6877:armor.c       ****   //  V = 0;
6878:armor.c       ****       
6879:armor.c       ****             //        BEQ   $0B0B                   ; 0AEC: 27 1D         
6880:armor.c       ****       if (!Z) {
 10017              		.loc 1 6880 0
 10018 9e71 6683BDCC 		cmpw	$0, -65588(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 392


 10018      FFFEFF00 
 10019 9e79 7509     		jne	.L376
6881:armor.c       ****       PC = 0x0b0b;
 10020              		.loc 1 6881 0
 10021 9e7b 66C785CA 		movw	$2827, -65590(%ebp)
 10021      FFFEFF0B 
 10021      0B
 10022              	.L376:
6882:armor.c       ****       JUMP;
6883:armor.c       ****       }
6884:armor.c       ****       
6885:armor.c       ****             //        CMPB  #$02                    ; 0AEE: C1 02         
6886:armor.c       ****       res = B - (SINT8)0x02;
 10023              		.loc 1 6886 0
 10024 9e84 8B85E4FF 		movl	-65564(%ebp), %eax
 10024      FEFF
 10025 9e8a 83E802   		subl	$2, %eax
 10026 9e8d 8985E8FF 		movl	%eax, -65560(%ebp)
 10026      FEFF
6887:armor.c       ****       C = res & 0x100;
 10027              		.loc 1 6887 0
 10028 9e93 8B85E8FF 		movl	-65560(%ebp), %eax
 10028      FEFF
 10029 9e99 25000100 		andl	$256, %eax
 10029      00
 10030 9e9e 8985ECFF 		movl	%eax, -65556(%ebp)
 10030      FEFF
6888:armor.c       ****       res = (UINT8)res;
 10031              		.loc 1 6888 0
 10032 9ea4 8B85E8FF 		movl	-65560(%ebp), %eax
 10032      FEFF
 10033 9eaa 0FB6C0   		movzbl	%al, %eax
 10034 9ead 8985E8FF 		movl	%eax, -65560(%ebp)
 10034      FEFF
6889:armor.c       ****   //  Z = res;
6890:armor.c       ****       N = res;
 10035              		.loc 1 6890 0
 10036 9eb3 8B85E8FF 		movl	-65560(%ebp), %eax
 10036      FEFF
 10037 9eb9 8885C1FF 		movb	%al, -65599(%ebp)
 10037      FEFF
6891:armor.c       ****       V = (B ^ (SINT8)0x02) & (B ^ res);
 10038              		.loc 1 6891 0
 10039 9ebf 8B85E4FF 		movl	-65564(%ebp), %eax
 10039      FEFF
 10040 9ec5 83F002   		xorl	$2, %eax
 10041 9ec8 89C2     		movl	%eax, %edx
 10042 9eca 8B85E4FF 		movl	-65564(%ebp), %eax
 10042      FEFF
 10043 9ed0 89C1     		movl	%eax, %ecx
 10044 9ed2 8B85E8FF 		movl	-65560(%ebp), %eax
 10044      FEFF
 10045 9ed8 31C8     		xorl	%ecx, %eax
 10046 9eda 21D0     		andl	%edx, %eax
 10047 9edc 8885C2FF 		movb	%al, -65598(%ebp)
 10047      FEFF
6892:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 393


6893:armor.c       ****             //        BGE   $0B0B                   ; 0AF0: 2C 19         
6894:armor.c       ****       if ((SINT8)(N^V) >= 0) {
 10048              		.loc 1 6894 0
 10049 9ee2 0FB685C1 		movzbl	-65599(%ebp), %eax
 10049      FFFEFF
 10050 9ee9 3285C2FF 		xorb	-65598(%ebp), %al
 10050      FEFF
 10051 9eef 84C0     		testb	%al, %al
 10052 9ef1 7809     		js	.L377
6895:armor.c       ****       PC = 0x0b0b;
 10053              		.loc 1 6895 0
 10054 9ef3 66C785CA 		movw	$2827, -65590(%ebp)
 10054      FFFEFF0B 
 10054      0B
 10055              	.L377:
6896:armor.c       ****       JUMP;
6897:armor.c       ****       }
6898:armor.c       ****       
6899:armor.c       ****             //        LDA   #$05                    ; 0AF2: 86 05         
6900:armor.c       ****       A = (SINT8)0x05;
 10056              		.loc 1 6900 0
 10057 9efc C785E0FF 		movl	$5, -65568(%ebp)
 10057      FEFF0500 
 10057      0000
6901:armor.c       ****   //  N = A;
6902:armor.c       ****   //  Z = A;
6903:armor.c       ****   //  V = 0;
6904:armor.c       ****       
6905:armor.c       ****             //        STA   <$E8                    ; 0AF4: 97 E8         
6906:armor.c       ****   //  Z = A;
6907:armor.c       ****   //  N = A;
6908:armor.c       ****   //  V = 0;
6909:armor.c       ****       memory_DP[0xe8] = A;
 10058              		.loc 1 6909 0
 10059 9f06 8B85DCFF 		movl	-65572(%ebp), %eax
 10059      FEFF
 10060 9f0c 05E80000 		addl	$232, %eax
 10060      00
 10061 9f11 8B95E0FF 		movl	-65568(%ebp), %edx
 10061      FEFF
 10062 9f17 8810     		movb	%dl, (%eax)
6910:armor.c       ****       
6911:armor.c       ****             //        LDD   $0E,U                   ; 0AF6: EC 4E         
6912:armor.c       ****       A = memory[(UINT16)(U + 0x000e)];
 10063              		.loc 1 6912 0
 10064 9f19 0FB785CE 		movzwl	-65586(%ebp), %eax
 10064      FFFEFF
 10065 9f20 83C00E   		addl	$14, %eax
 10066 9f23 0FB7C0   		movzwl	%ax, %eax
 10067 9f26 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10067      F4FFFEFF 
 10068 9f2e 0FB6C0   		movzbl	%al, %eax
 10069 9f31 8985E0FF 		movl	%eax, -65568(%ebp)
 10069      FEFF
6913:armor.c       ****       B = memory[(UINT16)(((UINT16)(U + 0x000e))+1)];
 10070              		.loc 1 6913 0
 10071 9f37 0FB785CE 		movzwl	-65586(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 394


 10071      FFFEFF
 10072 9f3e 83C00F   		addl	$15, %eax
 10073 9f41 0FB7C0   		movzwl	%ax, %eax
 10074 9f44 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10074      F4FFFEFF 
 10075 9f4c 0FB6C0   		movzbl	%al, %eax
 10076 9f4f 8985E4FF 		movl	%eax, -65564(%ebp)
 10076      FEFF
6914:armor.c       ****       Z = A|B;
 10077              		.loc 1 6914 0
 10078 9f55 8B85E0FF 		movl	-65568(%ebp), %eax
 10078      FEFF
 10079 9f5b 89C2     		movl	%eax, %edx
 10080 9f5d 8B85E4FF 		movl	-65564(%ebp), %eax
 10080      FEFF
 10081 9f63 09D0     		orl	%edx, %eax
 10082 9f65 668985CC 		movw	%ax, -65588(%ebp)
 10082      FFFEFF
6915:armor.c       ****       N = A;
 10083              		.loc 1 6915 0
 10084 9f6c 8B85E0FF 		movl	-65568(%ebp), %eax
 10084      FEFF
 10085 9f72 8885C1FF 		movb	%al, -65599(%ebp)
 10085      FEFF
6916:armor.c       ****       V = 0;
 10086              		.loc 1 6916 0
 10087 9f78 C685C2FF 		movb	$0, -65598(%ebp)
 10087      FEFF00
6917:armor.c       ****       
6918:armor.c       ****             //        BSR   $0B52                   ; 0AF8: 8D 58         
6919:armor.c       ****       memory[--S] = 0x0afa & 0xff; memory[--S] = 0x0afa >> 8;
 10088              		.loc 1 6919 0
 10089 9f7f 6683ADC8 		subw	$1, -65592(%ebp)
 10089      FFFEFF01 
 10090 9f87 0FB785C8 		movzwl	-65592(%ebp), %eax
 10090      FFFEFF
 10091 9f8e C68405F4 		movb	$-6, -65548(%ebp,%eax)
 10091      FFFEFFFA 
 10092 9f96 6683ADC8 		subw	$1, -65592(%ebp)
 10092      FFFEFF01 
 10093 9f9e 0FB785C8 		movzwl	-65592(%ebp), %eax
 10093      FFFEFF
 10094 9fa5 C68405F4 		movb	$10, -65548(%ebp,%eax)
 10094      FFFEFF0A 
6920:armor.c       ****       PC = 0x0b52;
 10095              		.loc 1 6920 0
 10096 9fad 66C785CA 		movw	$2898, -65590(%ebp)
 10096      FFFEFF52 
 10096      0B
 10097              	.L378:
6921:armor.c       ****       JUMP;
6922:armor.c       ****       
6923:armor.c       ****       L0AFA://        BVC   $0B0B                   ; 0AFA: 28 0F         
6924:armor.c       ****       if ((SINT8)V >= 0) {
 10098              		.loc 1 6924 0
 10099 9fb6 0FB685C2 		movzbl	-65598(%ebp), %eax
 10099      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 395


 10100 9fbd 84C0     		testb	%al, %al
 10101 9fbf 7809     		js	.L379
6925:armor.c       ****       PC = 0x0b0b;
 10102              		.loc 1 6925 0
 10103 9fc1 66C785CA 		movw	$2827, -65590(%ebp)
 10103      FFFEFF0B 
 10103      0B
 10104              	.L379:
6926:armor.c       ****       JUMP;
6927:armor.c       ****       }
6928:armor.c       ****       
6929:armor.c       ****             //        LDB   $01,U                   ; 0AFC: E6 41         
6930:armor.c       ****       B = memory[(UINT16)(U + 0x0001)];
 10105              		.loc 1 6930 0
 10106 9fca 0FB785CE 		movzwl	-65586(%ebp), %eax
 10106      FFFEFF
 10107 9fd1 83C001   		addl	$1, %eax
 10108 9fd4 0FB7C0   		movzwl	%ax, %eax
 10109 9fd7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10109      F4FFFEFF 
 10110 9fdf 0FB6C0   		movzbl	%al, %eax
 10111 9fe2 8985E4FF 		movl	%eax, -65564(%ebp)
 10111      FEFF
6931:armor.c       ****   //  N = B;
6932:armor.c       ****   //  Z = B;
6933:armor.c       ****   //  V = 0;
6934:armor.c       ****       
6935:armor.c       ****             //        LDA   B,Y                     ; 0AFE: A6 A5         
6936:armor.c       ****       A = memory[(UINT16)(Y + (SINT8)B)];
 10112              		.loc 1 6936 0
 10113 9fe8 8B85E4FF 		movl	-65564(%ebp), %eax
 10113      FEFF
 10114 9fee 660FBED0 		movsbw	%al, %dx
 10115 9ff2 0FB785D2 		movzwl	-65582(%ebp), %eax
 10115      FFFEFF
 10116 9ff9 01D0     		addl	%edx, %eax
 10117 9ffb 0FB7C0   		movzwl	%ax, %eax
 10118 9ffe 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10118      F4FFFEFF 
 10119 a006 0FB6C0   		movzbl	%al, %eax
 10120 a009 8985E0FF 		movl	%eax, -65568(%ebp)
 10120      FEFF
6937:armor.c       ****   //  N = A;
6938:armor.c       ****   //  Z = A;
6939:armor.c       ****   //  V = 0;
6940:armor.c       ****       
6941:armor.c       ****             //        LDB   <$DA                    ; 0B00: D6 DA         
6942:armor.c       ****       B = memory_DP[0xda];
 10121              		.loc 1 6942 0
 10122 a00f 8B85DCFF 		movl	-65572(%ebp), %eax
 10122      FEFF
 10123 a015 05DA0000 		addl	$218, %eax
 10123      00
 10124 a01a 0FB600   		movzbl	(%eax), %eax
 10125 a01d 0FB6C0   		movzbl	%al, %eax
 10126 a020 8985E4FF 		movl	%eax, -65564(%ebp)
 10126      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 396


6943:armor.c       ****   //  N = B;
6944:armor.c       ****   //  Z = B;
6945:armor.c       ****   //  V = 0;
6946:armor.c       ****       
6947:armor.c       ****             //        ADDA  B,Y                     ; 0B02: AB A5         
6948:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(Y + (SINT8)B)]);
 10127              		.loc 1 6948 0
 10128 a026 8B85E0FF 		movl	-65568(%ebp), %eax
 10128      FEFF
 10129 a02c 89C1     		movl	%eax, %ecx
 10130 a02e 8B85E4FF 		movl	-65564(%ebp), %eax
 10130      FEFF
 10131 a034 660FBED0 		movsbw	%al, %dx
 10132 a038 0FB785D2 		movzwl	-65582(%ebp), %eax
 10132      FFFEFF
 10133 a03f 01D0     		addl	%edx, %eax
 10134 a041 0FB7C0   		movzwl	%ax, %eax
 10135 a044 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10135      F4FFFEFF 
 10136 a04c 01C8     		addl	%ecx, %eax
 10137 a04e 0FB6C0   		movzbl	%al, %eax
 10138 a051 8985E0FF 		movl	%eax, -65568(%ebp)
 10138      FEFF
6949:armor.c       ****       res = A + memory[(UINT16)(Y + (SINT8)B)];
 10139              		.loc 1 6949 0
 10140 a057 8B85E4FF 		movl	-65564(%ebp), %eax
 10140      FEFF
 10141 a05d 660FBED0 		movsbw	%al, %dx
 10142 a061 0FB785D2 		movzwl	-65582(%ebp), %eax
 10142      FFFEFF
 10143 a068 01D0     		addl	%edx, %eax
 10144 a06a 0FB7C0   		movzwl	%ax, %eax
 10145 a06d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10145      F4FFFEFF 
 10146 a075 0FB6D0   		movzbl	%al, %edx
 10147 a078 8B85E0FF 		movl	-65568(%ebp), %eax
 10147      FEFF
 10148 a07e 01D0     		addl	%edx, %eax
 10149 a080 8985E8FF 		movl	%eax, -65560(%ebp)
 10149      FEFF
6950:armor.c       ****       C = res & 0x100;
 10150              		.loc 1 6950 0
 10151 a086 8B85E8FF 		movl	-65560(%ebp), %eax
 10151      FEFF
 10152 a08c 25000100 		andl	$256, %eax
 10152      00
 10153 a091 8985ECFF 		movl	%eax, -65556(%ebp)
 10153      FEFF
6951:armor.c       ****       res = (UINT8)res;
 10154              		.loc 1 6951 0
 10155 a097 8B85E8FF 		movl	-65560(%ebp), %eax
 10155      FEFF
 10156 a09d 0FB6C0   		movzbl	%al, %eax
 10157 a0a0 8985E8FF 		movl	%eax, -65560(%ebp)
 10157      FEFF
6952:armor.c       ****   //  Z = res;
6953:armor.c       ****   //  N = res;
GAS LISTING /tmp/ccqXEnet.s 			page 397


6954:armor.c       ****       res = A ^ memory[(UINT16)(Y + (SINT8)B)] ^ res ^ C;
 10158              		.loc 1 6954 0
 10159 a0a6 8B85E4FF 		movl	-65564(%ebp), %eax
 10159      FEFF
 10160 a0ac 660FBED0 		movsbw	%al, %dx
 10161 a0b0 0FB785D2 		movzwl	-65582(%ebp), %eax
 10161      FFFEFF
 10162 a0b7 01D0     		addl	%edx, %eax
 10163 a0b9 0FB7C0   		movzwl	%ax, %eax
 10164 a0bc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10164      F4FFFEFF 
 10165 a0c4 0FB6C0   		movzbl	%al, %eax
 10166 a0c7 3385E0FF 		xorl	-65568(%ebp), %eax
 10166      FEFF
 10167 a0cd 3385E8FF 		xorl	-65560(%ebp), %eax
 10167      FEFF
 10168 a0d3 3385ECFF 		xorl	-65556(%ebp), %eax
 10168      FEFF
 10169 a0d9 8985E8FF 		movl	%eax, -65560(%ebp)
 10169      FEFF
6955:armor.c       ****       H = res;
 10170              		.loc 1 6955 0
 10171 a0df 8B85E8FF 		movl	-65560(%ebp), %eax
 10171      FEFF
 10172 a0e5 8885C3FF 		movb	%al, -65597(%ebp)
 10172      FEFF
6956:armor.c       ****   //  V = res;
6957:armor.c       ****       
6958:armor.c       ****             //        DAA                           ; 0B04: 19            
6959:armor.c       ****       res = A;
 10173              		.loc 1 6959 0
 10174 a0eb 8B85E0FF 		movl	-65568(%ebp), %eax
 10174      FEFF
 10175 a0f1 8985E8FF 		movl	%eax, -65560(%ebp)
 10175      FEFF
6960:armor.c       ****       msn = res & 0xf0;
 10176              		.loc 1 6960 0
 10177 a0f7 8B85E8FF 		movl	-65560(%ebp), %eax
 10177      FEFF
 10178 a0fd 6625F000 		andw	$240, %ax
 10179 a101 668985D8 		movw	%ax, -65576(%ebp)
 10179      FFFEFF
6961:armor.c       ****       lsn = res & 0x0f;
 10180              		.loc 1 6961 0
 10181 a108 8B85E8FF 		movl	-65560(%ebp), %eax
 10181      FEFF
 10182 a10e 83E00F   		andl	$15, %eax
 10183 a111 668985DA 		movw	%ax, -65574(%ebp)
 10183      FFFEFF
6962:armor.c       ****       res = res | (((lsn > 0x09) || (H & 0x10)) ? 0x06 : 0);
 10184              		.loc 1 6962 0
 10185 a118 6683BDDA 		cmpw	$9, -65574(%ebp)
 10185      FFFEFF09 
 10186 a120 770E     		ja	.L380
 10187              		.loc 1 6962 0 is_stmt 0 discriminator 2
 10188 a122 0FB685C3 		movzbl	-65597(%ebp), %eax
 10188      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 398


 10189 a129 83E010   		andl	$16, %eax
 10190 a12c 85C0     		testl	%eax, %eax
 10191 a12e 7407     		je	.L381
 10192              	.L380:
 10193              		.loc 1 6962 0 discriminator 3
 10194 a130 B8060000 		movl	$6, %eax
 10194      00
 10195 a135 EB05     		jmp	.L382
 10196              	.L381:
 10197              		.loc 1 6962 0 discriminator 4
 10198 a137 B8000000 		movl	$0, %eax
 10198      00
 10199              	.L382:
 10200              		.loc 1 6962 0 discriminator 6
 10201 a13c 0985E8FF 		orl	%eax, -65560(%ebp)
 10201      FEFF
6963:armor.c       ****       res = res | (((msn > 0x80) && (lsn > 0x09)) ? 0x60 : 0);
 10202              		.loc 1 6963 0 is_stmt 1 discriminator 6
 10203 a142 6681BDD8 		cmpw	$128, -65576(%ebp)
 10203      FFFEFF80 
 10203      00
 10204 a14b 7611     		jbe	.L383
 10205              		.loc 1 6963 0 is_stmt 0 discriminator 1
 10206 a14d 6683BDDA 		cmpw	$9, -65574(%ebp)
 10206      FFFEFF09 
 10207 a155 7607     		jbe	.L383
 10208              		.loc 1 6963 0 discriminator 3
 10209 a157 B8600000 		movl	$96, %eax
 10209      00
 10210 a15c EB05     		jmp	.L384
 10211              	.L383:
 10212              		.loc 1 6963 0 discriminator 4
 10213 a15e B8000000 		movl	$0, %eax
 10213      00
 10214              	.L384:
 10215              		.loc 1 6963 0 discriminator 6
 10216 a163 0985E8FF 		orl	%eax, -65560(%ebp)
 10216      FEFF
6964:armor.c       ****       res = res | (((msn > 0x90) || (C != 0)) ? 0x60 : 0);
 10217              		.loc 1 6964 0 is_stmt 1 discriminator 6
 10218 a169 6681BDD8 		cmpw	$144, -65576(%ebp)
 10218      FFFEFF90 
 10218      00
 10219 a172 7709     		ja	.L385
 10220              		.loc 1 6964 0 is_stmt 0 discriminator 2
 10221 a174 83BDECFF 		cmpl	$0, -65556(%ebp)
 10221      FEFF00
 10222 a17b 7407     		je	.L386
 10223              	.L385:
 10224              		.loc 1 6964 0 discriminator 3
 10225 a17d B8600000 		movl	$96, %eax
 10225      00
 10226 a182 EB05     		jmp	.L387
 10227              	.L386:
 10228              		.loc 1 6964 0 discriminator 4
 10229 a184 B8000000 		movl	$0, %eax
 10229      00
GAS LISTING /tmp/ccqXEnet.s 			page 399


 10230              	.L387:
 10231              		.loc 1 6964 0 discriminator 6
 10232 a189 0985E8FF 		orl	%eax, -65560(%ebp)
 10232      FEFF
6965:armor.c       ****       C = C | (res & 0x100);
 10233              		.loc 1 6965 0 is_stmt 1 discriminator 6
 10234 a18f 8B85E8FF 		movl	-65560(%ebp), %eax
 10234      FEFF
 10235 a195 25000100 		andl	$256, %eax
 10235      00
 10236 a19a 0985ECFF 		orl	%eax, -65556(%ebp)
 10236      FEFF
6966:armor.c       ****       res = (UINT8)res;
 10237              		.loc 1 6966 0 discriminator 6
 10238 a1a0 8B85E8FF 		movl	-65560(%ebp), %eax
 10238      FEFF
 10239 a1a6 0FB6C0   		movzbl	%al, %eax
 10240 a1a9 8985E8FF 		movl	%eax, -65560(%ebp)
 10240      FEFF
6967:armor.c       ****       A = res;
 10241              		.loc 1 6967 0 discriminator 6
 10242 a1af 8B85E8FF 		movl	-65560(%ebp), %eax
 10242      FEFF
 10243 a1b5 8985E0FF 		movl	%eax, -65568(%ebp)
 10243      FEFF
6968:armor.c       ****   //  N = res;
6969:armor.c       ****   //  Z = res;
6970:armor.c       ****   //  V = 0;
6971:armor.c       ****       
6972:armor.c       ****             //        STA   B,Y                     ; 0B05: A7 A5         
6973:armor.c       ****   //  Z = A;
6974:armor.c       ****   //  N = A;
6975:armor.c       ****   //  V = 0;
6976:armor.c       ****       memory[(UINT16)(Y + (SINT8)B)] = A;
 10244              		.loc 1 6976 0 discriminator 6
 10245 a1bb 8B85E4FF 		movl	-65564(%ebp), %eax
 10245      FEFF
 10246 a1c1 660FBED0 		movsbw	%al, %dx
 10247 a1c5 0FB785D2 		movzwl	-65582(%ebp), %eax
 10247      FFFEFF
 10248 a1cc 01D0     		addl	%edx, %eax
 10249 a1ce 0FB7C0   		movzwl	%ax, %eax
 10250 a1d1 8B95E0FF 		movl	-65568(%ebp), %edx
 10250      FEFF
 10251 a1d7 889405F4 		movb	%dl, -65548(%ebp,%eax)
 10251      FFFEFF
6977:armor.c       ****       
6978:armor.c       ****             //        INC   $01,U                   ; 0B07: 6C 41         
6979:armor.c       ****       res = (UINT8)((memory[(UINT16)(U + 0x0001)]) + 1);
 10252              		.loc 1 6979 0 discriminator 6
 10253 a1de 0FB785CE 		movzwl	-65586(%ebp), %eax
 10253      FFFEFF
 10254 a1e5 83C001   		addl	$1, %eax
 10255 a1e8 0FB7C0   		movzwl	%ax, %eax
 10256 a1eb 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10256      F4FFFEFF 
 10257 a1f3 83C001   		addl	$1, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 400


 10258 a1f6 0FB6C0   		movzbl	%al, %eax
 10259 a1f9 8985E8FF 		movl	%eax, -65560(%ebp)
 10259      FEFF
6980:armor.c       ****       Z = res;
 10260              		.loc 1 6980 0 discriminator 6
 10261 a1ff 8B85E8FF 		movl	-65560(%ebp), %eax
 10261      FEFF
 10262 a205 668985CC 		movw	%ax, -65588(%ebp)
 10262      FFFEFF
6981:armor.c       ****       N = res;
 10263              		.loc 1 6981 0 discriminator 6
 10264 a20c 8B85E8FF 		movl	-65560(%ebp), %eax
 10264      FEFF
 10265 a212 8885C1FF 		movb	%al, -65599(%ebp)
 10265      FEFF
6982:armor.c       ****       V = res & ~(memory[(UINT16)(U + 0x0001)]);
 10266              		.loc 1 6982 0 discriminator 6
 10267 a218 0FB785CE 		movzwl	-65586(%ebp), %eax
 10267      FFFEFF
 10268 a21f 83C001   		addl	$1, %eax
 10269 a222 0FB7C0   		movzwl	%ax, %eax
 10270 a225 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10270      F4FFFEFF 
 10271 a22d F7D0     		notl	%eax
 10272 a22f 89C2     		movl	%eax, %edx
 10273 a231 8B85E8FF 		movl	-65560(%ebp), %eax
 10273      FEFF
 10274 a237 21D0     		andl	%edx, %eax
 10275 a239 8885C2FF 		movb	%al, -65598(%ebp)
 10275      FEFF
6983:armor.c       ****       memory[(UINT16)(U + 0x0001)] = res;
 10276              		.loc 1 6983 0 discriminator 6
 10277 a23f 0FB785CE 		movzwl	-65586(%ebp), %eax
 10277      FFFEFF
 10278 a246 83C001   		addl	$1, %eax
 10279 a249 0FB7C0   		movzwl	%ax, %eax
 10280 a24c 8B95E8FF 		movl	-65560(%ebp), %edx
 10280      FEFF
 10281 a252 889405F4 		movb	%dl, -65548(%ebp,%eax)
 10281      FFFEFF
6984:armor.c       ****       
6985:armor.c       ****             //        BRA   $0B1B                   ; 0B09: 20 10         
6986:armor.c       ****       PC = 0x0b1b;
 10282              		.loc 1 6986 0 discriminator 6
 10283 a259 66C785CA 		movw	$2843, -65590(%ebp)
 10283      FFFEFF1B 
 10283      0B
 10284              	.L388:
6987:armor.c       ****       JUMP;
6988:armor.c       ****       
6989:armor.c       ****       
6990:armor.c       ****       L0B0B://        LEAU  $40,U                   ; 0B0B: 33 C8 40      
6991:armor.c       ****       U = (U + (SINT8)0x40);
 10285              		.loc 1 6991 0 discriminator 6
 10286 a262 668385CE 		addw	$64, -65586(%ebp)
 10286      FFFEFF40 
6992:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 401


6993:armor.c       ****             //        LDB   <$CB                    ; 0B0E: D6 CB         
6994:armor.c       ****       B = memory_DP[0xcb];
 10287              		.loc 1 6994 0 discriminator 6
 10288 a26a 8B85DCFF 		movl	-65572(%ebp), %eax
 10288      FEFF
 10289 a270 05CB0000 		addl	$203, %eax
 10289      00
 10290 a275 0FB600   		movzbl	(%eax), %eax
 10291 a278 0FB6C0   		movzbl	%al, %eax
 10292 a27b 8985E4FF 		movl	%eax, -65564(%ebp)
 10292      FEFF
6995:armor.c       ****   //  N = B;
6996:armor.c       ****   //  Z = B;
6997:armor.c       ****   //  V = 0;
6998:armor.c       ****       
6999:armor.c       ****             //        DECB                          ; 0B10: 5A            
7000:armor.c       ****       res = (UINT8)(B - 1);
 10293              		.loc 1 7000 0 discriminator 6
 10294 a281 8B85E4FF 		movl	-65564(%ebp), %eax
 10294      FEFF
 10295 a287 83E801   		subl	$1, %eax
 10296 a28a 0FB6C0   		movzbl	%al, %eax
 10297 a28d 8985E8FF 		movl	%eax, -65560(%ebp)
 10297      FEFF
7001:armor.c       ****       N = res;
 10298              		.loc 1 7001 0 discriminator 6
 10299 a293 8B85E8FF 		movl	-65560(%ebp), %eax
 10299      FEFF
 10300 a299 8885C1FF 		movb	%al, -65599(%ebp)
 10300      FEFF
7002:armor.c       ****       Z = res;
 10301              		.loc 1 7002 0 discriminator 6
 10302 a29f 8B85E8FF 		movl	-65560(%ebp), %eax
 10302      FEFF
 10303 a2a5 668985CC 		movw	%ax, -65588(%ebp)
 10303      FFFEFF
7003:armor.c       ****       V = B & ~res;
 10304              		.loc 1 7003 0 discriminator 6
 10305 a2ac 8B85E8FF 		movl	-65560(%ebp), %eax
 10305      FEFF
 10306 a2b2 F7D0     		notl	%eax
 10307 a2b4 89C2     		movl	%eax, %edx
 10308 a2b6 8B85E4FF 		movl	-65564(%ebp), %eax
 10308      FEFF
 10309 a2bc 21D0     		andl	%edx, %eax
 10310 a2be 8885C2FF 		movb	%al, -65598(%ebp)
 10310      FEFF
7004:armor.c       ****       B = res;
 10311              		.loc 1 7004 0 discriminator 6
 10312 a2c4 8B85E8FF 		movl	-65560(%ebp), %eax
 10312      FEFF
 10313 a2ca 8985E4FF 		movl	%eax, -65564(%ebp)
 10313      FEFF
7005:armor.c       ****       
7006:armor.c       ****             //        BNE   $0ADF                   ; 0B11: 26 CC         
7007:armor.c       ****       if (Z) {
 10314              		.loc 1 7007 0 discriminator 6
GAS LISTING /tmp/ccqXEnet.s 			page 402


 10315 a2d0 6683BDCC 		cmpw	$0, -65588(%ebp)
 10315      FFFEFF00 
 10316 a2d8 7409     		je	.L389
7008:armor.c       ****       PC = 0x0adf;
 10317              		.loc 1 7008 0
 10318 a2da 66C785CA 		movw	$2783, -65590(%ebp)
 10318      FFFEFFDF 
 10318      0A
 10319              	.L389:
7009:armor.c       ****       JUMP;
7010:armor.c       ****       }
7011:armor.c       ****       
7012:armor.c       ****             //        JSR   [$C8CC]                 ; 0B13: AD 9F C8 CC   
7013:armor.c       ****       memory[--S] = 0x0b17 & 0xff; memory[--S] = 0x0b17 >> 8;
 10320              		.loc 1 7013 0
 10321 a2e3 6683ADC8 		subw	$1, -65592(%ebp)
 10321      FFFEFF01 
 10322 a2eb 0FB785C8 		movzwl	-65592(%ebp), %eax
 10322      FFFEFF
 10323 a2f2 C68405F4 		movb	$23, -65548(%ebp,%eax)
 10323      FFFEFF17 
 10324 a2fa 6683ADC8 		subw	$1, -65592(%ebp)
 10324      FFFEFF01 
 10325 a302 0FB785C8 		movzwl	-65592(%ebp), %eax
 10325      FFFEFF
 10326 a309 C68405F4 		movb	$11, -65548(%ebp,%eax)
 10326      FFFEFF0B 
7014:armor.c       ****       PC = ((memory[0xc8cc]<<8)|memory[(UINT16)((0xc8cc)+1)]);
 10327              		.loc 1 7014 0
 10328 a311 0FB685C0 		movzbl	-14144(%ebp), %eax
 10328      C8FFFF
 10329 a318 0FB6C0   		movzbl	%al, %eax
 10330 a31b C1E008   		sall	$8, %eax
 10331 a31e 89C2     		movl	%eax, %edx
 10332 a320 0FB685C1 		movzbl	-14143(%ebp), %eax
 10332      C8FFFF
 10333 a327 0FB6C0   		movzbl	%al, %eax
 10334 a32a 09D0     		orl	%edx, %eax
 10335 a32c 668985CA 		movw	%ax, -65590(%ebp)
 10335      FFFEFF
 10336              	.L390:
7015:armor.c       ****       JUMP;
7016:armor.c       ****       
7017:armor.c       ****       L0B17://        LBVC  $0A92                   ; 0B17: 10 28 FF 77   
7018:armor.c       ****       if ((SINT8)V >= 0) {
 10337              		.loc 1 7018 0
 10338 a333 0FB685C2 		movzbl	-65598(%ebp), %eax
 10338      FFFEFF
 10339 a33a 84C0     		testb	%al, %al
 10340 a33c 780B     		js	.L461
7019:armor.c       ****       PC = 0x0a92;
 10341              		.loc 1 7019 0
 10342 a33e 66C785CA 		movw	$2706, -65590(%ebp)
 10342      FFFEFF92 
 10342      0A
 10343 a347 EB01     		jmp	.L391
 10344              	.L461:
GAS LISTING /tmp/ccqXEnet.s 			page 403


7020:armor.c       ****       JUMP;
7021:armor.c       ****       }
7022:armor.c       ****       
7023:armor.c       ****       L0B1B://        LDA   #$08                    ; 0B1B: 86 08         
 10345              		.loc 1 7023 0
 10346 a349 90       		nop
 10347              	.L391:
7024:armor.c       ****       A = (SINT8)0x08;
 10348              		.loc 1 7024 0
 10349 a34a C785E0FF 		movl	$8, -65568(%ebp)
 10349      FEFF0800 
 10349      0000
7025:armor.c       ****   //  N = A;
7026:armor.c       ****   //  Z = A;
7027:armor.c       ****   //  V = 0;
7028:armor.c       ****       
7029:armor.c       ****             //        STA   ,X                      ; 0B1D: A7 84         
7030:armor.c       ****   //  Z = A;
7031:armor.c       ****   //  N = A;
7032:armor.c       ****   //  V = 0;
7033:armor.c       ****       memory[X] = A;
 10350              		.loc 1 7033 0
 10351 a354 0FB785C6 		movzwl	-65594(%ebp), %eax
 10351      FFFEFF
 10352 a35b 8B95E0FF 		movl	-65568(%ebp), %edx
 10352      FEFF
 10353 a361 889405F4 		movb	%dl, -65548(%ebp,%eax)
 10353      FFFEFF
7034:armor.c       ****       
7035:armor.c       ****             //        LDD   #$090A                  ; 0B1F: CC 09 0A      
7036:armor.c       ****       A = (UINT8)((0x090a) >> 8);
 10354              		.loc 1 7036 0
 10355 a368 C785E0FF 		movl	$9, -65568(%ebp)
 10355      FEFF0900 
 10355      0000
7037:armor.c       ****       B = (UINT8)((0x090a) & 0xff);
 10356              		.loc 1 7037 0
 10357 a372 C785E4FF 		movl	$10, -65564(%ebp)
 10357      FEFF0A00 
 10357      0000
7038:armor.c       ****   //  Z = A|B;
7039:armor.c       ****   //  N = A;
7040:armor.c       ****   //  V = 0;
7041:armor.c       ****       
7042:armor.c       ****             //        STD   $03,X                   ; 0B22: ED 03         
7043:armor.c       ****   //  Z = A | B;
7044:armor.c       ****   //  N = A;
7045:armor.c       ****   //  V = 0;
7046:armor.c       ****       memory[(UINT16)(X + 0x0003)] = A;
 10358              		.loc 1 7046 0
 10359 a37c 0FB785C6 		movzwl	-65594(%ebp), %eax
 10359      FFFEFF
 10360 a383 83C003   		addl	$3, %eax
 10361 a386 0FB7C0   		movzwl	%ax, %eax
 10362 a389 8B95E0FF 		movl	-65568(%ebp), %edx
 10362      FEFF
 10363 a38f 889405F4 		movb	%dl, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 404


 10363      FFFEFF
7047:armor.c       ****       memory[(UINT16)(X + 0x0003) + 1] = B;
 10364              		.loc 1 7047 0
 10365 a396 0FB785C6 		movzwl	-65594(%ebp), %eax
 10365      FFFEFF
 10366 a39d 83C003   		addl	$3, %eax
 10367 a3a0 0FB7C0   		movzwl	%ax, %eax
 10368 a3a3 83C001   		addl	$1, %eax
 10369 a3a6 8B95E4FF 		movl	-65564(%ebp), %edx
 10369      FEFF
 10370 a3ac 889405F4 		movb	%dl, -65548(%ebp,%eax)
 10370      FFFEFF
7048:armor.c       ****       
7049:armor.c       ****             //        LDD   #$CB00                  ; 0B24: CC CB 00      
7050:armor.c       ****       A = (UINT8)((0xcb00) >> 8);
 10371              		.loc 1 7050 0
 10372 a3b3 C785E0FF 		movl	$203, -65568(%ebp)
 10372      FEFFCB00 
 10372      0000
7051:armor.c       ****       B = (UINT8)((0xcb00) & 0xff);
 10373              		.loc 1 7051 0
 10374 a3bd C785E4FF 		movl	$0, -65564(%ebp)
 10374      FEFF0000 
 10374      0000
7052:armor.c       ****   //  Z = A|B;
7053:armor.c       ****   //  N = A;
7054:armor.c       ****   //  V = 0;
7055:armor.c       ****       
7056:armor.c       ****             //        STD   $05,X                   ; 0B27: ED 05         
7057:armor.c       ****       Z = A | B;
 10375              		.loc 1 7057 0
 10376 a3c7 8B85E0FF 		movl	-65568(%ebp), %eax
 10376      FEFF
 10377 a3cd 89C2     		movl	%eax, %edx
 10378 a3cf 8B85E4FF 		movl	-65564(%ebp), %eax
 10378      FEFF
 10379 a3d5 09D0     		orl	%edx, %eax
 10380 a3d7 668985CC 		movw	%ax, -65588(%ebp)
 10380      FFFEFF
7058:armor.c       ****       N = A;
 10381              		.loc 1 7058 0
 10382 a3de 8B85E0FF 		movl	-65568(%ebp), %eax
 10382      FEFF
 10383 a3e4 8885C1FF 		movb	%al, -65599(%ebp)
 10383      FEFF
7059:armor.c       ****       V = 0;
 10384              		.loc 1 7059 0
 10385 a3ea C685C2FF 		movb	$0, -65598(%ebp)
 10385      FEFF00
7060:armor.c       ****       memory[(UINT16)(X + 0x0005)] = A;
 10386              		.loc 1 7060 0
 10387 a3f1 0FB785C6 		movzwl	-65594(%ebp), %eax
 10387      FFFEFF
 10388 a3f8 83C005   		addl	$5, %eax
 10389 a3fb 0FB7C0   		movzwl	%ax, %eax
 10390 a3fe 8B95E0FF 		movl	-65568(%ebp), %edx
 10390      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 405


 10391 a404 889405F4 		movb	%dl, -65548(%ebp,%eax)
 10391      FFFEFF
7061:armor.c       ****       memory[(UINT16)(X + 0x0005) + 1] = B;
 10392              		.loc 1 7061 0
 10393 a40b 0FB785C6 		movzwl	-65594(%ebp), %eax
 10393      FFFEFF
 10394 a412 83C005   		addl	$5, %eax
 10395 a415 0FB7C0   		movzwl	%ax, %eax
 10396 a418 83C001   		addl	$1, %eax
 10397 a41b 8B95E4FF 		movl	-65564(%ebp), %edx
 10397      FEFF
 10398 a421 889405F4 		movb	%dl, -65548(%ebp,%eax)
 10398      FFFEFF
7062:armor.c       ****       
7063:armor.c       ****             //        JMP   $0A92                   ; 0B29: 7E 0A 92      
7064:armor.c       ****       PC = 0x0a92;
 10399              		.loc 1 7064 0
 10400 a428 66C785CA 		movw	$2706, -65590(%ebp)
 10400      FFFEFF92 
 10400      0A
 10401              	.L392:
7065:armor.c       ****       JUMP;
7066:armor.c       ****       
7067:armor.c       ****       
7068:armor.c       ****       L0B52://        SUBA  $01,X                   ; 0B52: A0 01         
7069:armor.c       ****       A = (UINT8)(A - memory[(UINT16)(X + 0x0001)]);
 10402              		.loc 1 7069 0
 10403 a431 8B85E0FF 		movl	-65568(%ebp), %eax
 10403      FEFF
 10404 a437 89C2     		movl	%eax, %edx
 10405 a439 0FB785C6 		movzwl	-65594(%ebp), %eax
 10405      FFFEFF
 10406 a440 83C001   		addl	$1, %eax
 10407 a443 0FB7C0   		movzwl	%ax, %eax
 10408 a446 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10408      F4FFFEFF 
 10409 a44e 29C2     		subl	%eax, %edx
 10410 a450 89D0     		movl	%edx, %eax
 10411 a452 0FB6C0   		movzbl	%al, %eax
 10412 a455 8985E0FF 		movl	%eax, -65568(%ebp)
 10412      FEFF
7070:armor.c       ****       res = A - memory[(UINT16)(X + 0x0001)];
 10413              		.loc 1 7070 0
 10414 a45b 0FB785C6 		movzwl	-65594(%ebp), %eax
 10414      FFFEFF
 10415 a462 83C001   		addl	$1, %eax
 10416 a465 0FB7C0   		movzwl	%ax, %eax
 10417 a468 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10417      F4FFFEFF 
 10418 a470 0FB6C0   		movzbl	%al, %eax
 10419 a473 8B95E0FF 		movl	-65568(%ebp), %edx
 10419      FEFF
 10420 a479 29C2     		subl	%eax, %edx
 10421 a47b 89D0     		movl	%edx, %eax
 10422 a47d 8985E8FF 		movl	%eax, -65560(%ebp)
 10422      FEFF
7071:armor.c       ****   //  C = res & 0x100;
GAS LISTING /tmp/ccqXEnet.s 			page 406


7072:armor.c       ****       res = (UINT8)res;
 10423              		.loc 1 7072 0
 10424 a483 8B85E8FF 		movl	-65560(%ebp), %eax
 10424      FEFF
 10425 a489 0FB6C0   		movzbl	%al, %eax
 10426 a48c 8985E8FF 		movl	%eax, -65560(%ebp)
 10426      FEFF
7073:armor.c       ****   //  Z = res;
7074:armor.c       ****       N = res;
 10427              		.loc 1 7074 0
 10428 a492 8B85E8FF 		movl	-65560(%ebp), %eax
 10428      FEFF
 10429 a498 8885C1FF 		movb	%al, -65599(%ebp)
 10429      FEFF
7075:armor.c       ****       V = ((A) ^ (memory[(UINT16)(X + 0x0001)])) & ((A) ^ res);
 10430              		.loc 1 7075 0
 10431 a49e 0FB785C6 		movzwl	-65594(%ebp), %eax
 10431      FFFEFF
 10432 a4a5 83C001   		addl	$1, %eax
 10433 a4a8 0FB7C0   		movzwl	%ax, %eax
 10434 a4ab 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10434      F4FFFEFF 
 10435 a4b3 89C2     		movl	%eax, %edx
 10436 a4b5 8B85E0FF 		movl	-65568(%ebp), %eax
 10436      FEFF
 10437 a4bb 31C2     		xorl	%eax, %edx
 10438 a4bd 8B85E0FF 		movl	-65568(%ebp), %eax
 10438      FEFF
 10439 a4c3 89C1     		movl	%eax, %ecx
 10440 a4c5 8B85E8FF 		movl	-65560(%ebp), %eax
 10440      FEFF
 10441 a4cb 31C8     		xorl	%ecx, %eax
 10442 a4cd 21D0     		andl	%edx, %eax
 10443 a4cf 8885C2FF 		movb	%al, -65598(%ebp)
 10443      FEFF
7076:armor.c       ****       
7077:armor.c       ****             //        BVS   $0B6B                   ; 0B54: 29 15         
7078:armor.c       ****       if ((SINT8)V <  0) {
 10444              		.loc 1 7078 0
 10445 a4d5 0FB685C2 		movzbl	-65598(%ebp), %eax
 10445      FFFEFF
 10446 a4dc 84C0     		testb	%al, %al
 10447 a4de 7909     		jns	.L393
7079:armor.c       ****       PC = 0x0b6b;
 10448              		.loc 1 7079 0
 10449 a4e0 66C785CA 		movw	$2923, -65590(%ebp)
 10449      FFFEFF6B 
 10449      0B
 10450              	.L393:
7080:armor.c       ****       JUMP;
7081:armor.c       ****       }
7082:armor.c       ****       
7083:armor.c       ****             //        BPL   $0B59                   ; 0B56: 2A 01         
7084:armor.c       ****       if ((SINT8)N >= 0) {
 10451              		.loc 1 7084 0
 10452 a4e9 0FB685C1 		movzbl	-65599(%ebp), %eax
 10452      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 407


 10453 a4f0 84C0     		testb	%al, %al
 10454 a4f2 7809     		js	.L394
7085:armor.c       ****       PC = 0x0b59;
 10455              		.loc 1 7085 0
 10456 a4f4 66C785CA 		movw	$2905, -65590(%ebp)
 10456      FFFEFF59 
 10456      0B
 10457              	.L394:
7086:armor.c       ****       JUMP;
7087:armor.c       ****       }
7088:armor.c       ****       
7089:armor.c       ****             //        NEGA                          ; 0B58: 40            
7090:armor.c       ****   //  V = (UINT8)(-A) & (A);
7091:armor.c       ****       A = (UINT8)(-A);
 10458              		.loc 1 7091 0
 10459 a4fd 8B85E0FF 		movl	-65568(%ebp), %eax
 10459      FEFF
 10460 a503 F7D8     		negl	%eax
 10461 a505 0FB6C0   		movzbl	%al, %eax
 10462 a508 8985E0FF 		movl	%eax, -65568(%ebp)
 10462      FEFF
 10463              	.L395:
7092:armor.c       ****   //  Z = A;
7093:armor.c       ****   //  N = A;
7094:armor.c       ****   //  C = A;
7095:armor.c       ****       
7096:armor.c       ****       L0B59://        SUBB  $02,X                   ; 0B59: E0 02         
7097:armor.c       ****       B = (UINT8)(B - memory[(UINT16)(X + 0x0002)]);
 10464              		.loc 1 7097 0
 10465 a50e 8B85E4FF 		movl	-65564(%ebp), %eax
 10465      FEFF
 10466 a514 89C2     		movl	%eax, %edx
 10467 a516 0FB785C6 		movzwl	-65594(%ebp), %eax
 10467      FFFEFF
 10468 a51d 83C002   		addl	$2, %eax
 10469 a520 0FB7C0   		movzwl	%ax, %eax
 10470 a523 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10470      F4FFFEFF 
 10471 a52b 29C2     		subl	%eax, %edx
 10472 a52d 89D0     		movl	%edx, %eax
 10473 a52f 0FB6C0   		movzbl	%al, %eax
 10474 a532 8985E4FF 		movl	%eax, -65564(%ebp)
 10474      FEFF
7098:armor.c       ****       res = B - memory[(UINT16)(X + 0x0002)];
 10475              		.loc 1 7098 0
 10476 a538 0FB785C6 		movzwl	-65594(%ebp), %eax
 10476      FFFEFF
 10477 a53f 83C002   		addl	$2, %eax
 10478 a542 0FB7C0   		movzwl	%ax, %eax
 10479 a545 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10479      F4FFFEFF 
 10480 a54d 0FB6C0   		movzbl	%al, %eax
 10481 a550 8B95E4FF 		movl	-65564(%ebp), %edx
 10481      FEFF
 10482 a556 29C2     		subl	%eax, %edx
 10483 a558 89D0     		movl	%edx, %eax
 10484 a55a 8985E8FF 		movl	%eax, -65560(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 408


 10484      FEFF
7099:armor.c       ****   //  C = res & 0x100;
7100:armor.c       ****       res = (UINT8)res;
 10485              		.loc 1 7100 0
 10486 a560 8B85E8FF 		movl	-65560(%ebp), %eax
 10486      FEFF
 10487 a566 0FB6C0   		movzbl	%al, %eax
 10488 a569 8985E8FF 		movl	%eax, -65560(%ebp)
 10488      FEFF
7101:armor.c       ****   //  Z = res;
7102:armor.c       ****       N = res;
 10489              		.loc 1 7102 0
 10490 a56f 8B85E8FF 		movl	-65560(%ebp), %eax
 10490      FEFF
 10491 a575 8885C1FF 		movb	%al, -65599(%ebp)
 10491      FEFF
7103:armor.c       ****       V = ((B) ^ (memory[(UINT16)(X + 0x0002)])) & ((B) ^ res);
 10492              		.loc 1 7103 0
 10493 a57b 0FB785C6 		movzwl	-65594(%ebp), %eax
 10493      FFFEFF
 10494 a582 83C002   		addl	$2, %eax
 10495 a585 0FB7C0   		movzwl	%ax, %eax
 10496 a588 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10496      F4FFFEFF 
 10497 a590 89C2     		movl	%eax, %edx
 10498 a592 8B85E4FF 		movl	-65564(%ebp), %eax
 10498      FEFF
 10499 a598 31C2     		xorl	%eax, %edx
 10500 a59a 8B85E4FF 		movl	-65564(%ebp), %eax
 10500      FEFF
 10501 a5a0 89C1     		movl	%eax, %ecx
 10502 a5a2 8B85E8FF 		movl	-65560(%ebp), %eax
 10502      FEFF
 10503 a5a8 31C8     		xorl	%ecx, %eax
 10504 a5aa 21D0     		andl	%edx, %eax
 10505 a5ac 8885C2FF 		movb	%al, -65598(%ebp)
 10505      FEFF
7104:armor.c       ****       
7105:armor.c       ****             //        BVS   $0B6B                   ; 0B5B: 29 0E         
7106:armor.c       ****       if ((SINT8)V <  0) {
 10506              		.loc 1 7106 0
 10507 a5b2 0FB685C2 		movzbl	-65598(%ebp), %eax
 10507      FFFEFF
 10508 a5b9 84C0     		testb	%al, %al
 10509 a5bb 7909     		jns	.L396
7107:armor.c       ****       PC = 0x0b6b;
 10510              		.loc 1 7107 0
 10511 a5bd 66C785CA 		movw	$2923, -65590(%ebp)
 10511      FFFEFF6B 
 10511      0B
 10512              	.L396:
7108:armor.c       ****       JUMP;
7109:armor.c       ****       }
7110:armor.c       ****       
7111:armor.c       ****             //        BPL   $0B60                   ; 0B5D: 2A 01         
7112:armor.c       ****       if ((SINT8)N >= 0) {
 10513              		.loc 1 7112 0
GAS LISTING /tmp/ccqXEnet.s 			page 409


 10514 a5c6 0FB685C1 		movzbl	-65599(%ebp), %eax
 10514      FFFEFF
 10515 a5cd 84C0     		testb	%al, %al
 10516 a5cf 7809     		js	.L397
7113:armor.c       ****       PC = 0x0b60;
 10517              		.loc 1 7113 0
 10518 a5d1 66C785CA 		movw	$2912, -65590(%ebp)
 10518      FFFEFF60 
 10518      0B
 10519              	.L397:
7114:armor.c       ****       JUMP;
7115:armor.c       ****       }
7116:armor.c       ****       
7117:armor.c       ****             //        NEGB                          ; 0B5F: 50            
7118:armor.c       ****   //  V = (UINT8)(-B) & (B);
7119:armor.c       ****       B = (UINT8)(-B);
 10520              		.loc 1 7119 0
 10521 a5da 8B85E4FF 		movl	-65564(%ebp), %eax
 10521      FEFF
 10522 a5e0 F7D8     		negl	%eax
 10523 a5e2 0FB6C0   		movzbl	%al, %eax
 10524 a5e5 8985E4FF 		movl	%eax, -65564(%ebp)
 10524      FEFF
 10525              	.L398:
7120:armor.c       ****   //  Z = B;
7121:armor.c       ****   //  N = B;
7122:armor.c       ****   //  C = B;
7123:armor.c       ****       
7124:armor.c       ****       L0B60://        CMPA  <$E8                    ; 0B60: 91 E8         
7125:armor.c       ****       res = A - memory_DP[0xe8];
 10526              		.loc 1 7125 0
 10527 a5eb 8B85DCFF 		movl	-65572(%ebp), %eax
 10527      FEFF
 10528 a5f1 05E80000 		addl	$232, %eax
 10528      00
 10529 a5f6 0FB600   		movzbl	(%eax), %eax
 10530 a5f9 0FB6C0   		movzbl	%al, %eax
 10531 a5fc 8B95E0FF 		movl	-65568(%ebp), %edx
 10531      FEFF
 10532 a602 29C2     		subl	%eax, %edx
 10533 a604 89D0     		movl	%edx, %eax
 10534 a606 8985E8FF 		movl	%eax, -65560(%ebp)
 10534      FEFF
7126:armor.c       ****   //  C = res & 0x100;
7127:armor.c       ****       res = (UINT8)res;
 10535              		.loc 1 7127 0
 10536 a60c 8B85E8FF 		movl	-65560(%ebp), %eax
 10536      FEFF
 10537 a612 0FB6C0   		movzbl	%al, %eax
 10538 a615 8985E8FF 		movl	%eax, -65560(%ebp)
 10538      FEFF
7128:armor.c       ****       Z = res;
 10539              		.loc 1 7128 0
 10540 a61b 8B85E8FF 		movl	-65560(%ebp), %eax
 10540      FEFF
 10541 a621 668985CC 		movw	%ax, -65588(%ebp)
 10541      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 410


7129:armor.c       ****       N = res;
 10542              		.loc 1 7129 0
 10543 a628 8B85E8FF 		movl	-65560(%ebp), %eax
 10543      FEFF
 10544 a62e 8885C1FF 		movb	%al, -65599(%ebp)
 10544      FEFF
7130:armor.c       ****       V = (A ^ memory_DP[0xe8]) & (A ^ res);
 10545              		.loc 1 7130 0
 10546 a634 8B85DCFF 		movl	-65572(%ebp), %eax
 10546      FEFF
 10547 a63a 05E80000 		addl	$232, %eax
 10547      00
 10548 a63f 0FB600   		movzbl	(%eax), %eax
 10549 a642 89C2     		movl	%eax, %edx
 10550 a644 8B85E0FF 		movl	-65568(%ebp), %eax
 10550      FEFF
 10551 a64a 31C2     		xorl	%eax, %edx
 10552 a64c 8B85E0FF 		movl	-65568(%ebp), %eax
 10552      FEFF
 10553 a652 89C1     		movl	%eax, %ecx
 10554 a654 8B85E8FF 		movl	-65560(%ebp), %eax
 10554      FEFF
 10555 a65a 31C8     		xorl	%ecx, %eax
 10556 a65c 21D0     		andl	%edx, %eax
 10557 a65e 8885C2FF 		movb	%al, -65598(%ebp)
 10557      FEFF
7131:armor.c       ****       
7132:armor.c       ****             //        BGT   $0B6B                   ; 0B62: 2E 07         
7133:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
 10558              		.loc 1 7133 0
 10559 a664 0FB685C1 		movzbl	-65599(%ebp), %eax
 10559      FFFEFF
 10560 a66b 3285C2FF 		xorb	-65598(%ebp), %al
 10560      FEFF
 10561 a671 84C0     		testb	%al, %al
 10562 a673 7813     		js	.L399
 10563              		.loc 1 7133 0 is_stmt 0 discriminator 1
 10564 a675 6683BDCC 		cmpw	$0, -65588(%ebp)
 10564      FFFEFF00 
 10565 a67d 7409     		je	.L399
7134:armor.c       ****       PC = 0x0b6b;
 10566              		.loc 1 7134 0 is_stmt 1
 10567 a67f 66C785CA 		movw	$2923, -65590(%ebp)
 10567      FFFEFF6B 
 10567      0B
 10568              	.L399:
7135:armor.c       ****       JUMP;
7136:armor.c       ****       }
7137:armor.c       ****       
7138:armor.c       ****             //        CMPB  <$E8                    ; 0B64: D1 E8         
7139:armor.c       ****       res = B - memory_DP[0xe8];
 10569              		.loc 1 7139 0
 10570 a688 8B85DCFF 		movl	-65572(%ebp), %eax
 10570      FEFF
 10571 a68e 05E80000 		addl	$232, %eax
 10571      00
 10572 a693 0FB600   		movzbl	(%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 411


 10573 a696 0FB6C0   		movzbl	%al, %eax
 10574 a699 8B95E4FF 		movl	-65564(%ebp), %edx
 10574      FEFF
 10575 a69f 29C2     		subl	%eax, %edx
 10576 a6a1 89D0     		movl	%edx, %eax
 10577 a6a3 8985E8FF 		movl	%eax, -65560(%ebp)
 10577      FEFF
7140:armor.c       ****       C = res & 0x100;
 10578              		.loc 1 7140 0
 10579 a6a9 8B85E8FF 		movl	-65560(%ebp), %eax
 10579      FEFF
 10580 a6af 25000100 		andl	$256, %eax
 10580      00
 10581 a6b4 8985ECFF 		movl	%eax, -65556(%ebp)
 10581      FEFF
7141:armor.c       ****       res = (UINT8)res;
 10582              		.loc 1 7141 0
 10583 a6ba 8B85E8FF 		movl	-65560(%ebp), %eax
 10583      FEFF
 10584 a6c0 0FB6C0   		movzbl	%al, %eax
 10585 a6c3 8985E8FF 		movl	%eax, -65560(%ebp)
 10585      FEFF
7142:armor.c       ****       Z = res;
 10586              		.loc 1 7142 0
 10587 a6c9 8B85E8FF 		movl	-65560(%ebp), %eax
 10587      FEFF
 10588 a6cf 668985CC 		movw	%ax, -65588(%ebp)
 10588      FFFEFF
7143:armor.c       ****       N = res;
 10589              		.loc 1 7143 0
 10590 a6d6 8B85E8FF 		movl	-65560(%ebp), %eax
 10590      FEFF
 10591 a6dc 8885C1FF 		movb	%al, -65599(%ebp)
 10591      FEFF
7144:armor.c       ****       V = (B ^ memory_DP[0xe8]) & (B ^ res);
 10592              		.loc 1 7144 0
 10593 a6e2 8B85DCFF 		movl	-65572(%ebp), %eax
 10593      FEFF
 10594 a6e8 05E80000 		addl	$232, %eax
 10594      00
 10595 a6ed 0FB600   		movzbl	(%eax), %eax
 10596 a6f0 89C2     		movl	%eax, %edx
 10597 a6f2 8B85E4FF 		movl	-65564(%ebp), %eax
 10597      FEFF
 10598 a6f8 31C2     		xorl	%eax, %edx
 10599 a6fa 8B85E4FF 		movl	-65564(%ebp), %eax
 10599      FEFF
 10600 a700 89C1     		movl	%eax, %ecx
 10601 a702 8B85E8FF 		movl	-65560(%ebp), %eax
 10601      FEFF
 10602 a708 31C8     		xorl	%ecx, %eax
 10603 a70a 21D0     		andl	%edx, %eax
 10604 a70c 8885C2FF 		movb	%al, -65598(%ebp)
 10604      FEFF
7145:armor.c       ****       
7146:armor.c       ****             //        BGT   $0B6B                   ; 0B66: 2E 03         
7147:armor.c       ****       if (((SINT8)(N^V) >= 0) && Z) {
GAS LISTING /tmp/ccqXEnet.s 			page 412


 10605              		.loc 1 7147 0
 10606 a712 0FB685C1 		movzbl	-65599(%ebp), %eax
 10606      FFFEFF
 10607 a719 3285C2FF 		xorb	-65598(%ebp), %al
 10607      FEFF
 10608 a71f 84C0     		testb	%al, %al
 10609 a721 7813     		js	.L400
 10610              		.loc 1 7147 0 is_stmt 0 discriminator 1
 10611 a723 6683BDCC 		cmpw	$0, -65588(%ebp)
 10611      FFFEFF00 
 10612 a72b 7409     		je	.L400
7148:armor.c       ****       PC = 0x0b6b;
 10613              		.loc 1 7148 0 is_stmt 1
 10614 a72d 66C785CA 		movw	$2923, -65590(%ebp)
 10614      FFFEFF6B 
 10614      0B
 10615              	.L400:
7149:armor.c       ****       JUMP;
7150:armor.c       ****       }
7151:armor.c       ****       
7152:armor.c       ****             //        ORCC  #$02                    ; 0B68: 1A 02         
7153:armor.c       ****       V = 1;
 10616              		.loc 1 7153 0
 10617 a736 C685C2FF 		movb	$1, -65598(%ebp)
 10617      FEFF01
7154:armor.c       ****       
7155:armor.c       ****             //        RTS                           ; 0B6A: 39            
7156:armor.c       ****       PC = memory[S++]<<8;
 10618              		.loc 1 7156 0
 10619 a73d 0FB785C8 		movzwl	-65592(%ebp), %eax
 10619      FFFEFF
 10620 a744 8D5001   		leal	1(%eax), %edx
 10621 a747 668995C8 		movw	%dx, -65592(%ebp)
 10621      FFFEFF
 10622 a74e 0FB7C0   		movzwl	%ax, %eax
 10623 a751 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10623      F4FFFEFF 
 10624 a759 0FB6C0   		movzbl	%al, %eax
 10625 a75c C1E008   		sall	$8, %eax
 10626 a75f 668985CA 		movw	%ax, -65590(%ebp)
 10626      FFFEFF
7157:armor.c       ****       PC |= memory[S++];
 10627              		.loc 1 7157 0
 10628 a766 0FB785C8 		movzwl	-65592(%ebp), %eax
 10628      FFFEFF
 10629 a76d 8D5001   		leal	1(%eax), %edx
 10630 a770 668995C8 		movw	%dx, -65592(%ebp)
 10630      FFFEFF
 10631 a777 0FB7C0   		movzwl	%ax, %eax
 10632 a77a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10632      F4FFFEFF 
 10633 a782 0FB6C0   		movzbl	%al, %eax
 10634 a785 660985CA 		orw	%ax, -65590(%ebp)
 10634      FFFEFF
 10635              	.L401:
7158:armor.c       ****       JUMP;
7159:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 413


7160:armor.c       ****       
7161:armor.c       ****       L0B6B://        ANDCC #$FD                    ; 0B6B: 1C FD         
7162:armor.c       ****       V = 0;
 10636              		.loc 1 7162 0
 10637 a78c C685C2FF 		movb	$0, -65598(%ebp)
 10637      FEFF00
7163:armor.c       ****       
7164:armor.c       ****             //        RTS                           ; 0B6D: 39            
7165:armor.c       ****       PC = memory[S++]<<8;
 10638              		.loc 1 7165 0
 10639 a793 0FB785C8 		movzwl	-65592(%ebp), %eax
 10639      FFFEFF
 10640 a79a 8D5001   		leal	1(%eax), %edx
 10641 a79d 668995C8 		movw	%dx, -65592(%ebp)
 10641      FFFEFF
 10642 a7a4 0FB7C0   		movzwl	%ax, %eax
 10643 a7a7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10643      F4FFFEFF 
 10644 a7af 0FB6C0   		movzbl	%al, %eax
 10645 a7b2 C1E008   		sall	$8, %eax
 10646 a7b5 668985CA 		movw	%ax, -65590(%ebp)
 10646      FFFEFF
7166:armor.c       ****       PC |= memory[S++];
 10647              		.loc 1 7166 0
 10648 a7bc 0FB785C8 		movzwl	-65592(%ebp), %eax
 10648      FFFEFF
 10649 a7c3 8D5001   		leal	1(%eax), %edx
 10650 a7c6 668995C8 		movw	%dx, -65592(%ebp)
 10650      FFFEFF
 10651 a7cd 0FB7C0   		movzwl	%ax, %eax
 10652 a7d0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 10652      F4FFFEFF 
 10653 a7d8 0FB6C0   		movzbl	%al, %eax
 10654 a7db 660985CA 		orw	%ax, -65590(%ebp)
 10654      FFFEFF
 10655              	.L402:
7167:armor.c       ****       JUMP;
7168:armor.c       ****       
7169:armor.c       ****       
7170:armor.c       ****       L0BD0://        JMP   Explosion_Snd           ; 0BD0: 7E F9 2E      
7171:armor.c       ****       PC = 0xf92e;
 10656              		.loc 1 7171 0
 10657 a7e2 66C785CA 		movw	$-1746, -65590(%ebp)
 10657      FFFEFF2E 
 10657      F9
 10658              	.L403:
7172:armor.c       ****       JUMP;
7173:armor.c       ****       
7174:armor.c       ****       
7175:armor.c       ****       L0BD3://        LDU   #$0C5E                  ; 0BD3: CE 0C 5E      
7176:armor.c       ****       U = 0x0c5e;
 10659              		.loc 1 7176 0
 10660 a7eb 66C785CE 		movw	$3166, -65586(%ebp)
 10660      FFFEFF5E 
 10660      0C
7177:armor.c       ****   //  Z = U;
7178:armor.c       ****   //  N = (U) >> 8;
GAS LISTING /tmp/ccqXEnet.s 			page 414


7179:armor.c       ****   //  V = 0;
7180:armor.c       ****       
7181:armor.c       ****             //        LDA   <$EF                    ; 0BD6: 96 EF         
7182:armor.c       ****       A = memory_DP[0xef];
 10661              		.loc 1 7182 0
 10662 a7f4 8B85DCFF 		movl	-65572(%ebp), %eax
 10662      FEFF
 10663 a7fa 05EF0000 		addl	$239, %eax
 10663      00
 10664 a7ff 0FB600   		movzbl	(%eax), %eax
 10665 a802 0FB6C0   		movzbl	%al, %eax
 10666 a805 8985E0FF 		movl	%eax, -65568(%ebp)
 10666      FEFF
7183:armor.c       ****       N = A;
 10667              		.loc 1 7183 0
 10668 a80b 8B85E0FF 		movl	-65568(%ebp), %eax
 10668      FEFF
 10669 a811 8885C1FF 		movb	%al, -65599(%ebp)
 10669      FEFF
7184:armor.c       ****       Z = A;
 10670              		.loc 1 7184 0
 10671 a817 8B85E0FF 		movl	-65568(%ebp), %eax
 10671      FEFF
 10672 a81d 668985CC 		movw	%ax, -65588(%ebp)
 10672      FFFEFF
7185:armor.c       ****   //  V = 0;
7186:armor.c       ****       
7187:armor.c       ****             //        BEQ   $0BE5                   ; 0BD8: 27 0B         
7188:armor.c       ****       if (!Z) {
 10673              		.loc 1 7188 0
 10674 a824 6683BDCC 		cmpw	$0, -65588(%ebp)
 10674      FFFEFF00 
 10675 a82c 7509     		jne	.L404
7189:armor.c       ****       PC = 0x0be5;
 10676              		.loc 1 7189 0
 10677 a82e 66C785CA 		movw	$3045, -65590(%ebp)
 10677      FFFEFFE5 
 10677      0B
 10678              	.L404:
7190:armor.c       ****       JUMP;
7191:armor.c       ****       }
7192:armor.c       ****       
7193:armor.c       ****             //        BMI   $0BD0                   ; 0BDA: 2B F4         
7194:armor.c       ****       if ((SINT8)N <  0) {
 10679              		.loc 1 7194 0
 10680 a837 0FB685C1 		movzbl	-65599(%ebp), %eax
 10680      FFFEFF
 10681 a83e 84C0     		testb	%al, %al
 10682 a840 7909     		jns	.L405
7195:armor.c       ****       PC = 0x0bd0;
 10683              		.loc 1 7195 0
 10684 a842 66C785CA 		movw	$3024, -65590(%ebp)
 10684      FFFEFFD0 
 10684      0B
 10685              	.L405:
7196:armor.c       ****       JUMP;
7197:armor.c       ****       }
GAS LISTING /tmp/ccqXEnet.s 			page 415


7198:armor.c       ****       
7199:armor.c       ****             //        DEC   <$EF                    ; 0BDC: 0A EF         
7200:armor.c       ****       res = (UINT8)(memory_DP[0xef] - 1);
 10686              		.loc 1 7200 0
 10687 a84b 8B85DCFF 		movl	-65572(%ebp), %eax
 10687      FEFF
 10688 a851 05EF0000 		addl	$239, %eax
 10688      00
 10689 a856 0FB600   		movzbl	(%eax), %eax
 10690 a859 83E801   		subl	$1, %eax
 10691 a85c 0FB6C0   		movzbl	%al, %eax
 10692 a85f 8985E8FF 		movl	%eax, -65560(%ebp)
 10692      FEFF
7201:armor.c       ****       N = res;
 10693              		.loc 1 7201 0
 10694 a865 8B85E8FF 		movl	-65560(%ebp), %eax
 10694      FEFF
 10695 a86b 8885C1FF 		movb	%al, -65599(%ebp)
 10695      FEFF
7202:armor.c       ****       Z = res;
 10696              		.loc 1 7202 0
 10697 a871 8B85E8FF 		movl	-65560(%ebp), %eax
 10697      FEFF
 10698 a877 668985CC 		movw	%ax, -65588(%ebp)
 10698      FFFEFF
7203:armor.c       ****       V = memory_DP[0xef] & ~res;
 10699              		.loc 1 7203 0
 10700 a87e 8B85DCFF 		movl	-65572(%ebp), %eax
 10700      FEFF
 10701 a884 05EF0000 		addl	$239, %eax
 10701      00
 10702 a889 0FB600   		movzbl	(%eax), %eax
 10703 a88c 89C2     		movl	%eax, %edx
 10704 a88e 8B85E8FF 		movl	-65560(%ebp), %eax
 10704      FEFF
 10705 a894 F7D0     		notl	%eax
 10706 a896 21D0     		andl	%edx, %eax
 10707 a898 8885C2FF 		movb	%al, -65598(%ebp)
 10707      FEFF
7204:armor.c       ****       memory_DP[0xef] = res;
 10708              		.loc 1 7204 0
 10709 a89e 8B85DCFF 		movl	-65572(%ebp), %eax
 10709      FEFF
 10710 a8a4 05EF0000 		addl	$239, %eax
 10710      00
 10711 a8a9 8B95E8FF 		movl	-65560(%ebp), %edx
 10711      FEFF
 10712 a8af 8810     		movb	%dl, (%eax)
7205:armor.c       ****       
7206:armor.c       ****             //        LEAU  $04,U                   ; 0BDE: 33 44         
7207:armor.c       ****       U = (U + 0x0004);
 10713              		.loc 1 7207 0
 10714 a8b1 668385CE 		addw	$4, -65586(%ebp)
 10714      FFFEFF04 
7208:armor.c       ****       
7209:armor.c       ****             //        JSR   Explosion_Snd           ; 0BE0: BD F9 2E      
7210:armor.c       ****       memory[--S] = 0x0be3 & 0xff; memory[--S] = 0x0be3 >> 8;
GAS LISTING /tmp/ccqXEnet.s 			page 416


 10715              		.loc 1 7210 0
 10716 a8b9 6683ADC8 		subw	$1, -65592(%ebp)
 10716      FFFEFF01 
 10717 a8c1 0FB785C8 		movzwl	-65592(%ebp), %eax
 10717      FFFEFF
 10718 a8c8 C68405F4 		movb	$-29, -65548(%ebp,%eax)
 10718      FFFEFFE3 
 10719 a8d0 6683ADC8 		subw	$1, -65592(%ebp)
 10719      FFFEFF01 
 10720 a8d8 0FB785C8 		movzwl	-65592(%ebp), %eax
 10720      FFFEFF
 10721 a8df C68405F4 		movb	$11, -65548(%ebp,%eax)
 10721      FFFEFF0B 
7211:armor.c       ****       PC = 0xf92e;
 10722              		.loc 1 7211 0
 10723 a8e7 66C785CA 		movw	$-1746, -65590(%ebp)
 10723      FFFEFF2E 
 10723      F9
 10724              	.L406:
7212:armor.c       ****       JUMP;
7213:armor.c       ****       
7214:armor.c       ****       L0BE3://        BRA   $0C33                   ; 0BE3: 20 4E         
7215:armor.c       ****       PC = 0x0c33;
 10725              		.loc 1 7215 0
 10726 a8f0 66C785CA 		movw	$3123, -65590(%ebp)
 10726      FFFEFF33 
 10726      0C
 10727              	.L407:
7216:armor.c       ****       JUMP;
7217:armor.c       ****       
7218:armor.c       ****       
7219:armor.c       ****       L0BE5://        LDA   #$0F                    ; 0BE5: 86 0F         
7220:armor.c       ****       A = (SINT8)0x0f;
 10728              		.loc 1 7220 0
 10729 a8f9 C785E0FF 		movl	$15, -65568(%ebp)
 10729      FEFF0F00 
 10729      0000
7221:armor.c       ****   //  N = A;
7222:armor.c       ****   //  Z = A;
7223:armor.c       ****   //  V = 0;
7224:armor.c       ****       
7225:armor.c       ****             //        STA   <$44                    ; 0BE7: 97 44         
7226:armor.c       ****   //  Z = A;
7227:armor.c       ****   //  N = A;
7228:armor.c       ****   //  V = 0;
7229:armor.c       ****       memory_DP[0x44] = A;
 10730              		.loc 1 7229 0
 10731 a903 8B85DCFF 		movl	-65572(%ebp), %eax
 10731      FEFF
 10732 a909 83C044   		addl	$68, %eax
 10733 a90c 8B95E0FF 		movl	-65568(%ebp), %edx
 10733      FEFF
 10734 a912 8810     		movb	%dl, (%eax)
7230:armor.c       ****       
7231:armor.c       ****             //        STA   <$43                    ; 0BE9: 97 43         
7232:armor.c       ****   //  Z = A;
7233:armor.c       ****   //  N = A;
GAS LISTING /tmp/ccqXEnet.s 			page 417


7234:armor.c       ****   //  V = 0;
7235:armor.c       ****       memory_DP[0x43] = A;
 10735              		.loc 1 7235 0
 10736 a914 8B85DCFF 		movl	-65572(%ebp), %eax
 10736      FEFF
 10737 a91a 83C043   		addl	$67, %eax
 10738 a91d 8B95E0FF 		movl	-65568(%ebp), %edx
 10738      FEFF
 10739 a923 8810     		movb	%dl, (%eax)
7236:armor.c       ****       
7237:armor.c       ****             //        STA   <$42                    ; 0BEB: 97 42         
7238:armor.c       ****   //  Z = A;
7239:armor.c       ****   //  N = A;
7240:armor.c       ****   //  V = 0;
7241:armor.c       ****       memory_DP[0x42] = A;
 10740              		.loc 1 7241 0
 10741 a925 8B85DCFF 		movl	-65572(%ebp), %eax
 10741      FEFF
 10742 a92b 83C042   		addl	$66, %eax
 10743 a92e 8B95E0FF 		movl	-65568(%ebp), %edx
 10743      FEFF
 10744 a934 8810     		movb	%dl, (%eax)
7242:armor.c       ****       
7243:armor.c       ****             //        LDB   <$45                    ; 0BED: D6 45         
7244:armor.c       ****       B = memory_DP[0x45];
 10745              		.loc 1 7244 0
 10746 a936 8B85DCFF 		movl	-65572(%ebp), %eax
 10746      FEFF
 10747 a93c 83C045   		addl	$69, %eax
 10748 a93f 0FB600   		movzbl	(%eax), %eax
 10749 a942 0FB6C0   		movzbl	%al, %eax
 10750 a945 8985E4FF 		movl	%eax, -65564(%ebp)
 10750      FEFF
7245:armor.c       ****   //  N = B;
7246:armor.c       ****   //  Z = B;
7247:armor.c       ****   //  V = 0;
7248:armor.c       ****       
7249:armor.c       ****             //        LDA   <$67                    ; 0BEF: 96 67         
7250:armor.c       ****       A = memory_DP[0x67];
 10751              		.loc 1 7250 0
 10752 a94b 8B85DCFF 		movl	-65572(%ebp), %eax
 10752      FEFF
 10753 a951 83C067   		addl	$103, %eax
 10754 a954 0FB600   		movzbl	(%eax), %eax
 10755 a957 0FB6C0   		movzbl	%al, %eax
 10756 a95a 8985E0FF 		movl	%eax, -65568(%ebp)
 10756      FEFF
7251:armor.c       ****   //  N = A;
7252:armor.c       ****   //  Z = A;
7253:armor.c       ****   //  V = 0;
7254:armor.c       ****       
7255:armor.c       ****             //        ANDA  #$03                    ; 0BF1: 84 03         
7256:armor.c       ****       A = A & (SINT8)0x03;
 10757              		.loc 1 7256 0
 10758 a960 83A5E0FF 		andl	$3, -65568(%ebp)
 10758      FEFF03
7257:armor.c       ****       Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 418


 10759              		.loc 1 7257 0
 10760 a967 8B85E0FF 		movl	-65568(%ebp), %eax
 10760      FEFF
 10761 a96d 668985CC 		movw	%ax, -65588(%ebp)
 10761      FFFEFF
7258:armor.c       ****   //  N = A;
7259:armor.c       ****   //  V = 0;
7260:armor.c       ****       
7261:armor.c       ****             //        BEQ   $0C2F                   ; 0BF3: 27 3A         
7262:armor.c       ****       if (!Z) {
 10762              		.loc 1 7262 0
 10763 a974 6683BDCC 		cmpw	$0, -65588(%ebp)
 10763      FFFEFF00 
 10764 a97c 7509     		jne	.L408
7263:armor.c       ****       PC = 0x0c2f;
 10765              		.loc 1 7263 0
 10766 a97e 66C785CA 		movw	$3119, -65590(%ebp)
 10766      FFFEFF2F 
 10766      0C
 10767              	.L408:
7264:armor.c       ****       JUMP;
7265:armor.c       ****       }
7266:armor.c       ****       
7267:armor.c       ****             //        ANDB  #$F9                    ; 0BF5: C4 F9         
7268:armor.c       ****       B = B & (SINT8)0xf9;
 10768              		.loc 1 7268 0
 10769 a987 83A5E4FF 		andl	$-7, -65564(%ebp)
 10769      FEFFF9
7269:armor.c       ****   //  Z = B;
7270:armor.c       ****   //  N = B;
7271:armor.c       ****   //  V = 0;
7272:armor.c       ****       
7273:armor.c       ****             //        ORB   #$30                    ; 0BF7: CA 30         
7274:armor.c       ****       B = B | (SINT8)0x30;
 10770              		.loc 1 7274 0
 10771 a98e 838DE4FF 		orl	$48, -65564(%ebp)
 10771      FEFF30
7275:armor.c       ****   //  Z = B;
7276:armor.c       ****   //  N = B;
7277:armor.c       ****   //  V = 0;
7278:armor.c       ****       
7279:armor.c       ****             //        STB   <$45                    ; 0BF9: D7 45         
7280:armor.c       ****   //  Z = B;
7281:armor.c       ****   //  N = B;
7282:armor.c       ****   //  V = 0;
7283:armor.c       ****       memory_DP[0x45] = B;
 10772              		.loc 1 7283 0
 10773 a995 8B85DCFF 		movl	-65572(%ebp), %eax
 10773      FEFF
 10774 a99b 83C045   		addl	$69, %eax
 10775 a99e 8B95E4FF 		movl	-65564(%ebp), %edx
 10775      FEFF
 10776 a9a4 8810     		movb	%dl, (%eax)
7284:armor.c       ****       
7285:armor.c       ****             //        ADDA  <$76                    ; 0BFB: 9B 76         
7286:armor.c       ****       A = (UINT8)(A + memory_DP[0x76]);
 10777              		.loc 1 7286 0
GAS LISTING /tmp/ccqXEnet.s 			page 419


 10778 a9a6 8B85E0FF 		movl	-65568(%ebp), %eax
 10778      FEFF
 10779 a9ac 89C2     		movl	%eax, %edx
 10780 a9ae 8B85DCFF 		movl	-65572(%ebp), %eax
 10780      FEFF
 10781 a9b4 83C076   		addl	$118, %eax
 10782 a9b7 0FB600   		movzbl	(%eax), %eax
 10783 a9ba 01D0     		addl	%edx, %eax
 10784 a9bc 0FB6C0   		movzbl	%al, %eax
 10785 a9bf 8985E0FF 		movl	%eax, -65568(%ebp)
 10785      FEFF
7287:armor.c       ****   //  res = A + memory_DP[0x76];
7288:armor.c       ****   //  C = res & 0x100;
7289:armor.c       ****   //  res = (UINT8)res;
7290:armor.c       ****   //  Z = res;
7291:armor.c       ****   //  N = res;
7292:armor.c       ****   //  res = A ^ memory_DP[0x76] ^ res ^ C;
7293:armor.c       ****   //  H = res;
7294:armor.c       ****   //  V = res;
7295:armor.c       ****       
7296:armor.c       ****             //        STA   <$76                    ; 0BFD: 97 76         
7297:armor.c       ****   //  Z = A;
7298:armor.c       ****   //  N = A;
7299:armor.c       ****   //  V = 0;
7300:armor.c       ****       memory_DP[0x76] = A;
 10786              		.loc 1 7300 0
 10787 a9c5 8B85DCFF 		movl	-65572(%ebp), %eax
 10787      FEFF
 10788 a9cb 83C076   		addl	$118, %eax
 10789 a9ce 8B95E0FF 		movl	-65568(%ebp), %edx
 10789      FEFF
 10790 a9d4 8810     		movb	%dl, (%eax)
7301:armor.c       ****       
7302:armor.c       ****             //        BITA  #$08                    ; 0BFF: 85 08         
7303:armor.c       ****       res = A & (SINT8)0x08;
 10791              		.loc 1 7303 0
 10792 a9d6 8B85E0FF 		movl	-65568(%ebp), %eax
 10792      FEFF
 10793 a9dc 83E008   		andl	$8, %eax
 10794 a9df 8985E8FF 		movl	%eax, -65560(%ebp)
 10794      FEFF
7304:armor.c       ****       Z = res;
 10795              		.loc 1 7304 0
 10796 a9e5 8B85E8FF 		movl	-65560(%ebp), %eax
 10796      FEFF
 10797 a9eb 668985CC 		movw	%ax, -65588(%ebp)
 10797      FFFEFF
7305:armor.c       ****   //  N = res;
7306:armor.c       ****   //  V = 0;
7307:armor.c       ****       
7308:armor.c       ****             //        BNE   $0C07                   ; 0C01: 26 04         
7309:armor.c       ****       if (Z) {
 10798              		.loc 1 7309 0
 10799 a9f2 6683BDCC 		cmpw	$0, -65588(%ebp)
 10799      FFFEFF00 
 10800 a9fa 7409     		je	.L409
7310:armor.c       ****       PC = 0x0c07;
GAS LISTING /tmp/ccqXEnet.s 			page 420


 10801              		.loc 1 7310 0
 10802 a9fc 66C785CA 		movw	$3079, -65590(%ebp)
 10802      FFFEFF07 
 10802      0C
 10803              	.L409:
7311:armor.c       ****       JUMP;
7312:armor.c       ****       }
7313:armor.c       ****       
7314:armor.c       ****             //        ORB   #$04                    ; 0C03: CA 04         
7315:armor.c       ****       B = B | (SINT8)0x04;
 10804              		.loc 1 7315 0
 10805 aa05 838DE4FF 		orl	$4, -65564(%ebp)
 10805      FEFF04
7316:armor.c       ****   //  Z = B;
7317:armor.c       ****   //  N = B;
7318:armor.c       ****   //  V = 0;
7319:armor.c       ****       
7320:armor.c       ****             //        STB   <$45                    ; 0C05: D7 45         
7321:armor.c       ****   //  Z = B;
7322:armor.c       ****   //  N = B;
7323:armor.c       ****   //  V = 0;
7324:armor.c       ****       memory_DP[0x45] = B;
 10806              		.loc 1 7324 0
 10807 aa0c 8B85DCFF 		movl	-65572(%ebp), %eax
 10807      FEFF
 10808 aa12 83C045   		addl	$69, %eax
 10809 aa15 8B95E4FF 		movl	-65564(%ebp), %edx
 10809      FEFF
 10810 aa1b 8810     		movb	%dl, (%eax)
 10811              	.L410:
7325:armor.c       ****       
7326:armor.c       ****       L0C07://        BITA  #$10                    ; 0C07: 85 10         
7327:armor.c       ****       res = A & (SINT8)0x10;
 10812              		.loc 1 7327 0
 10813 aa1d 8B85E0FF 		movl	-65568(%ebp), %eax
 10813      FEFF
 10814 aa23 83E010   		andl	$16, %eax
 10815 aa26 8985E8FF 		movl	%eax, -65560(%ebp)
 10815      FEFF
7328:armor.c       ****       Z = res;
 10816              		.loc 1 7328 0
 10817 aa2c 8B85E8FF 		movl	-65560(%ebp), %eax
 10817      FEFF
 10818 aa32 668985CC 		movw	%ax, -65588(%ebp)
 10818      FFFEFF
7329:armor.c       ****   //  N = res;
7330:armor.c       ****   //  V = 0;
7331:armor.c       ****       
7332:armor.c       ****             //        BNE   $0C0D                   ; 0C09: 26 02         
7333:armor.c       ****       if (Z) {
 10819              		.loc 1 7333 0
 10820 aa39 6683BDCC 		cmpw	$0, -65588(%ebp)
 10820      FFFEFF00 
 10821 aa41 7409     		je	.L411
7334:armor.c       ****       PC = 0x0c0d;
 10822              		.loc 1 7334 0
 10823 aa43 66C785CA 		movw	$3085, -65590(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 421


 10823      FFFEFF0D 
 10823      0C
 10824              	.L411:
7335:armor.c       ****       JUMP;
7336:armor.c       ****       }
7337:armor.c       ****       
7338:armor.c       ****             //        EORA  #$07                    ; 0C0B: 88 07         
7339:armor.c       ****       A = A ^ (SINT8)0x07;
 10825              		.loc 1 7339 0
 10826 aa4c 83B5E0FF 		xorl	$7, -65568(%ebp)
 10826      FEFF07
 10827              	.L412:
7340:armor.c       ****   //  N = A;
7341:armor.c       ****   //  Z = A;
7342:armor.c       ****   //  V = 0;
7343:armor.c       ****       
7344:armor.c       ****       L0C0D://        ANDA  #$07                    ; 0C0D: 84 07         
7345:armor.c       ****       A = A & (SINT8)0x07;
 10828              		.loc 1 7345 0
 10829 aa53 83A5E0FF 		andl	$7, -65568(%ebp)
 10829      FEFF07
7346:armor.c       ****   //  Z = A;
7347:armor.c       ****   //  N = A;
7348:armor.c       ****   //  V = 0;
7349:armor.c       ****       
7350:armor.c       ****             //        ADDA  #$10                    ; 0C0F: 8B 10         
7351:armor.c       ****       A = (UINT8)(A + (SINT8)0x10);
 10830              		.loc 1 7351 0
 10831 aa5a 8B85E0FF 		movl	-65568(%ebp), %eax
 10831      FEFF
 10832 aa60 83C010   		addl	$16, %eax
 10833 aa63 0FB6C0   		movzbl	%al, %eax
 10834 aa66 8985E0FF 		movl	%eax, -65568(%ebp)
 10834      FEFF
7352:armor.c       ****       res = A + (SINT8)0x10;
 10835              		.loc 1 7352 0
 10836 aa6c 8B85E0FF 		movl	-65568(%ebp), %eax
 10836      FEFF
 10837 aa72 83C010   		addl	$16, %eax
 10838 aa75 8985E8FF 		movl	%eax, -65560(%ebp)
 10838      FEFF
7353:armor.c       ****       C = res & 0x100;
 10839              		.loc 1 7353 0
 10840 aa7b 8B85E8FF 		movl	-65560(%ebp), %eax
 10840      FEFF
 10841 aa81 25000100 		andl	$256, %eax
 10841      00
 10842 aa86 8985ECFF 		movl	%eax, -65556(%ebp)
 10842      FEFF
7354:armor.c       ****       res = (UINT8)res;
 10843              		.loc 1 7354 0
 10844 aa8c 8B85E8FF 		movl	-65560(%ebp), %eax
 10844      FEFF
 10845 aa92 0FB6C0   		movzbl	%al, %eax
 10846 aa95 8985E8FF 		movl	%eax, -65560(%ebp)
 10846      FEFF
7355:armor.c       ****   //  Z = res;
GAS LISTING /tmp/ccqXEnet.s 			page 422


7356:armor.c       ****   //  N = res;
7357:armor.c       ****       res = A ^ (SINT8)0x10 ^ res ^ C;
 10847              		.loc 1 7357 0
 10848 aa9b 8B85E0FF 		movl	-65568(%ebp), %eax
 10848      FEFF
 10849 aaa1 83F010   		xorl	$16, %eax
 10850 aaa4 3385E8FF 		xorl	-65560(%ebp), %eax
 10850      FEFF
 10851 aaaa 3385ECFF 		xorl	-65556(%ebp), %eax
 10851      FEFF
 10852 aab0 8985E8FF 		movl	%eax, -65560(%ebp)
 10852      FEFF
7358:armor.c       ****       H = res;
 10853              		.loc 1 7358 0
 10854 aab6 8B85E8FF 		movl	-65560(%ebp), %eax
 10854      FEFF
 10855 aabc 8885C3FF 		movb	%al, -65597(%ebp)
 10855      FEFF
7359:armor.c       ****   //  V = res;
7360:armor.c       ****       
7361:armor.c       ****             //        STA   <$48                    ; 0C11: 97 48         
7362:armor.c       ****   //  Z = A;
7363:armor.c       ****   //  N = A;
7364:armor.c       ****   //  V = 0;
7365:armor.c       ****       memory_DP[0x48] = A;
 10856              		.loc 1 7365 0
 10857 aac2 8B85DCFF 		movl	-65572(%ebp), %eax
 10857      FEFF
 10858 aac8 83C048   		addl	$72, %eax
 10859 aacb 8B95E0FF 		movl	-65568(%ebp), %edx
 10859      FEFF
 10860 aad1 8810     		movb	%dl, (%eax)
7366:armor.c       ****       
7367:armor.c       ****             //        CLR   <$47                    ; 0C13: 0F 47         
7368:armor.c       ****       memory_DP[0x47] = 0;
 10861              		.loc 1 7368 0
 10862 aad3 8B85DCFF 		movl	-65572(%ebp), %eax
 10862      FEFF
 10863 aad9 83C047   		addl	$71, %eax
 10864 aadc C60000   		movb	$0, (%eax)
7369:armor.c       ****   //  V = 0;
7370:armor.c       ****   //  Z = 0;
7371:armor.c       ****   //  N = 0;
7372:armor.c       ****       C = 0;
 10865              		.loc 1 7372 0
 10866 aadf C785ECFF 		movl	$0, -65556(%ebp)
 10866      FEFF0000 
 10866      0000
7373:armor.c       ****       
7374:armor.c       ****             //        LDA   #$08                    ; 0C15: 86 08         
7375:armor.c       ****       A = (SINT8)0x08;
 10867              		.loc 1 7375 0
 10868 aae9 C785E0FF 		movl	$8, -65568(%ebp)
 10868      FEFF0800 
 10868      0000
7376:armor.c       ****   //  N = A;
7377:armor.c       ****   //  Z = A;
GAS LISTING /tmp/ccqXEnet.s 			page 423


7378:armor.c       ****   //  V = 0;
7379:armor.c       ****       
7380:armor.c       ****             //        STA   <$42                    ; 0C17: 97 42         
7381:armor.c       ****   //  Z = A;
7382:armor.c       ****   //  N = A;
7383:armor.c       ****   //  V = 0;
7384:armor.c       ****       memory_DP[0x42] = A;
 10869              		.loc 1 7384 0
 10870 aaf3 8B85DCFF 		movl	-65572(%ebp), %eax
 10870      FEFF
 10871 aaf9 83C042   		addl	$66, %eax
 10872 aafc 8B95E0FF 		movl	-65568(%ebp), %edx
 10872      FEFF
 10873 ab02 8810     		movb	%dl, (%eax)
7385:armor.c       ****       
7386:armor.c       ****             //        LDA   <$67                    ; 0C19: 96 67         
7387:armor.c       ****       A = memory_DP[0x67];
 10874              		.loc 1 7387 0
 10875 ab04 8B85DCFF 		movl	-65572(%ebp), %eax
 10875      FEFF
 10876 ab0a 83C067   		addl	$103, %eax
 10877 ab0d 0FB600   		movzbl	(%eax), %eax
 10878 ab10 0FB6C0   		movzbl	%al, %eax
 10879 ab13 8985E0FF 		movl	%eax, -65568(%ebp)
 10879      FEFF
7388:armor.c       ****   //  N = A;
7389:armor.c       ****   //  Z = A;
7390:armor.c       ****   //  V = 0;
7391:armor.c       ****       
7392:armor.c       ****             //        BITA  #$01                    ; 0C1B: 85 01         
7393:armor.c       ****       res = A & (SINT8)0x01;
 10880              		.loc 1 7393 0
 10881 ab19 8B85E0FF 		movl	-65568(%ebp), %eax
 10881      FEFF
 10882 ab1f 83E001   		andl	$1, %eax
 10883 ab22 8985E8FF 		movl	%eax, -65560(%ebp)
 10883      FEFF
7394:armor.c       ****       Z = res;
 10884              		.loc 1 7394 0
 10885 ab28 8B85E8FF 		movl	-65560(%ebp), %eax
 10885      FEFF
 10886 ab2e 668985CC 		movw	%ax, -65588(%ebp)
 10886      FFFEFF
7395:armor.c       ****   //  N = res;
7396:armor.c       ****   //  V = 0;
7397:armor.c       ****       
7398:armor.c       ****             //        BEQ   $0C24                   ; 0C1D: 27 05         
7399:armor.c       ****       if (!Z) {
 10887              		.loc 1 7399 0
 10888 ab35 6683BDCC 		cmpw	$0, -65588(%ebp)
 10888      FFFEFF00 
 10889 ab3d 7509     		jne	.L413
7400:armor.c       ****       PC = 0x0c24;
 10890              		.loc 1 7400 0
 10891 ab3f 66C785CA 		movw	$3108, -65590(%ebp)
 10891      FFFEFF24 
 10891      0C
GAS LISTING /tmp/ccqXEnet.s 			page 424


 10892              	.L413:
7401:armor.c       ****       JUMP;
7402:armor.c       ****       }
7403:armor.c       ****       
7404:armor.c       ****             //        LDD   #$0FFF                  ; 0C1F: CC 0F FF      
7405:armor.c       ****       A = (UINT8)((0x0fff) >> 8);
 10893              		.loc 1 7405 0
 10894 ab48 C785E0FF 		movl	$15, -65568(%ebp)
 10894      FEFF0F00 
 10894      0000
7406:armor.c       ****       B = (UINT8)((0x0fff) & 0xff);
 10895              		.loc 1 7406 0
 10896 ab52 C785E4FF 		movl	$255, -65564(%ebp)
 10896      FEFFFF00 
 10896      0000
7407:armor.c       ****       Z = A|B;
 10897              		.loc 1 7407 0
 10898 ab5c 8B85E0FF 		movl	-65568(%ebp), %eax
 10898      FEFF
 10899 ab62 89C2     		movl	%eax, %edx
 10900 ab64 8B85E4FF 		movl	-65564(%ebp), %eax
 10900      FEFF
 10901 ab6a 09D0     		orl	%edx, %eax
 10902 ab6c 668985CC 		movw	%ax, -65588(%ebp)
 10902      FFFEFF
7408:armor.c       ****       N = A;
 10903              		.loc 1 7408 0
 10904 ab73 8B85E0FF 		movl	-65568(%ebp), %eax
 10904      FEFF
 10905 ab79 8885C1FF 		movb	%al, -65599(%ebp)
 10905      FEFF
7409:armor.c       ****       V = 0;
 10906              		.loc 1 7409 0
 10907 ab7f C685C2FF 		movb	$0, -65598(%ebp)
 10907      FEFF00
7410:armor.c       ****       
7411:armor.c       ****             //        BRA   $0C27                   ; 0C22: 20 03         
7412:armor.c       ****       PC = 0x0c27;
 10908              		.loc 1 7412 0
 10909 ab86 66C785CA 		movw	$3111, -65590(%ebp)
 10909      FFFEFF27 
 10909      0C
 10910              	.L414:
7413:armor.c       ****       JUMP;
7414:armor.c       ****       
7415:armor.c       ****       
7416:armor.c       ****       L0C24://        LDD   #$0BFF                  ; 0C24: CC 0B FF      
7417:armor.c       ****       A = (UINT8)((0x0bff) >> 8);
 10911              		.loc 1 7417 0
 10912 ab8f C785E0FF 		movl	$11, -65568(%ebp)
 10912      FEFF0B00 
 10912      0000
7418:armor.c       ****       B = (UINT8)((0x0bff) & 0xff);
 10913              		.loc 1 7418 0
 10914 ab99 C785E4FF 		movl	$255, -65564(%ebp)
 10914      FEFFFF00 
 10914      0000
GAS LISTING /tmp/ccqXEnet.s 			page 425


 10915              	.L415:
7419:armor.c       ****   //  Z = A|B;
7420:armor.c       ****   //  N = A;
7421:armor.c       ****   //  V = 0;
7422:armor.c       ****       
7423:armor.c       ****       L0C27://        STD   <$49                    ; 0C27: DD 49         
7424:armor.c       ****   //  Z = A | B;
7425:armor.c       ****   //  N = A;
7426:armor.c       ****   //  V = 0;
7427:armor.c       ****       memory_DP[0x49] = A;
 10916              		.loc 1 7427 0
 10917 aba3 8B85DCFF 		movl	-65572(%ebp), %eax
 10917      FEFF
 10918 aba9 83C049   		addl	$73, %eax
 10919 abac 8B95E0FF 		movl	-65568(%ebp), %edx
 10919      FEFF
 10920 abb2 8810     		movb	%dl, (%eax)
7428:armor.c       ****       memory_DP[0x49 + 1] = B;
 10921              		.loc 1 7428 0
 10922 abb4 8B85DCFF 		movl	-65572(%ebp), %eax
 10922      FEFF
 10923 abba 83C04A   		addl	$74, %eax
 10924 abbd 8B95E4FF 		movl	-65564(%ebp), %edx
 10924      FEFF
 10925 abc3 8810     		movb	%dl, (%eax)
7429:armor.c       ****       
7430:armor.c       ****             //        LDA   #$0E                    ; 0C29: 86 0E         
7431:armor.c       ****       A = (SINT8)0x0e;
 10926              		.loc 1 7431 0
 10927 abc5 C785E0FF 		movl	$14, -65568(%ebp)
 10927      FEFF0E00 
 10927      0000
7432:armor.c       ****   //  N = A;
7433:armor.c       ****   //  Z = A;
7434:armor.c       ****   //  V = 0;
7435:armor.c       ****       
7436:armor.c       ****             //        STD   <$43                    ; 0C2B: DD 43         
7437:armor.c       ****       Z = A | B;
 10928              		.loc 1 7437 0
 10929 abcf 8B85E0FF 		movl	-65568(%ebp), %eax
 10929      FEFF
 10930 abd5 89C2     		movl	%eax, %edx
 10931 abd7 8B85E4FF 		movl	-65564(%ebp), %eax
 10931      FEFF
 10932 abdd 09D0     		orl	%edx, %eax
 10933 abdf 668985CC 		movw	%ax, -65588(%ebp)
 10933      FFFEFF
7438:armor.c       ****       N = A;
 10934              		.loc 1 7438 0
 10935 abe6 8B85E0FF 		movl	-65568(%ebp), %eax
 10935      FEFF
 10936 abec 8885C1FF 		movb	%al, -65599(%ebp)
 10936      FEFF
7439:armor.c       ****       V = 0;
 10937              		.loc 1 7439 0
 10938 abf2 C685C2FF 		movb	$0, -65598(%ebp)
 10938      FEFF00
GAS LISTING /tmp/ccqXEnet.s 			page 426


7440:armor.c       ****       memory_DP[0x43] = A;
 10939              		.loc 1 7440 0
 10940 abf9 8B85DCFF 		movl	-65572(%ebp), %eax
 10940      FEFF
 10941 abff 83C043   		addl	$67, %eax
 10942 ac02 8B95E0FF 		movl	-65568(%ebp), %edx
 10942      FEFF
 10943 ac08 8810     		movb	%dl, (%eax)
7441:armor.c       ****       memory_DP[0x43 + 1] = B;
 10944              		.loc 1 7441 0
 10945 ac0a 8B85DCFF 		movl	-65572(%ebp), %eax
 10945      FEFF
 10946 ac10 83C044   		addl	$68, %eax
 10947 ac13 8B95E4FF 		movl	-65564(%ebp), %edx
 10947      FEFF
 10948 ac19 8810     		movb	%dl, (%eax)
7442:armor.c       ****       
7443:armor.c       ****             //        BRA   $0C33                   ; 0C2D: 20 04         
7444:armor.c       ****       PC = 0x0c33;
 10949              		.loc 1 7444 0
 10950 ac1b 66C785CA 		movw	$3123, -65590(%ebp)
 10950      FFFEFF33 
 10950      0C
 10951              	.L416:
7445:armor.c       ****       JUMP;
7446:armor.c       ****       
7447:armor.c       ****       
7448:armor.c       ****       L0C2F://        ORB   #$36                    ; 0C2F: CA 36         
7449:armor.c       ****       B = B | (SINT8)0x36;
 10952              		.loc 1 7449 0
 10953 ac24 838DE4FF 		orl	$54, -65564(%ebp)
 10953      FEFF36
7450:armor.c       ****   //  Z = B;
7451:armor.c       ****   //  N = B;
7452:armor.c       ****   //  V = 0;
7453:armor.c       ****       
7454:armor.c       ****             //        STB   <$45                    ; 0C31: D7 45         
7455:armor.c       ****   //  Z = B;
7456:armor.c       ****   //  N = B;
7457:armor.c       ****   //  V = 0;
7458:armor.c       ****       memory_DP[0x45] = B;
 10954              		.loc 1 7458 0
 10955 ac2b 8B85DCFF 		movl	-65572(%ebp), %eax
 10955      FEFF
 10956 ac31 83C045   		addl	$69, %eax
 10957 ac34 8B95E4FF 		movl	-65564(%ebp), %edx
 10957      FEFF
 10958 ac3a 8810     		movb	%dl, (%eax)
 10959              	.L417:
7459:armor.c       ****       
7460:armor.c       ****       L0C33://        LDB   <$45                    ; 0C33: D6 45         
7461:armor.c       ****       B = memory_DP[0x45];
 10960              		.loc 1 7461 0
 10961 ac3c 8B85DCFF 		movl	-65572(%ebp), %eax
 10961      FEFF
 10962 ac42 83C045   		addl	$69, %eax
 10963 ac45 0FB600   		movzbl	(%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 427


 10964 ac48 0FB6C0   		movzbl	%al, %eax
 10965 ac4b 8985E4FF 		movl	%eax, -65564(%ebp)
 10965      FEFF
7462:armor.c       ****   //  N = B;
7463:armor.c       ****   //  Z = B;
7464:armor.c       ****   //  V = 0;
7465:armor.c       ****       
7466:armor.c       ****             //        LDA   <$67                    ; 0C35: 96 67         
7467:armor.c       ****       A = memory_DP[0x67];
 10966              		.loc 1 7467 0
 10967 ac51 8B85DCFF 		movl	-65572(%ebp), %eax
 10967      FEFF
 10968 ac57 83C067   		addl	$103, %eax
 10969 ac5a 0FB600   		movzbl	(%eax), %eax
 10970 ac5d 0FB6C0   		movzbl	%al, %eax
 10971 ac60 8985E0FF 		movl	%eax, -65568(%ebp)
 10971      FEFF
7468:armor.c       ****   //  N = A;
7469:armor.c       ****   //  Z = A;
7470:armor.c       ****   //  V = 0;
7471:armor.c       ****       
7472:armor.c       ****             //        BITA  #$08                    ; 0C37: 85 08         
7473:armor.c       ****       res = A & (SINT8)0x08;
 10972              		.loc 1 7473 0
 10973 ac66 8B85E0FF 		movl	-65568(%ebp), %eax
 10973      FEFF
 10974 ac6c 83E008   		andl	$8, %eax
 10975 ac6f 8985E8FF 		movl	%eax, -65560(%ebp)
 10975      FEFF
7474:armor.c       ****       Z = res;
 10976              		.loc 1 7474 0
 10977 ac75 8B85E8FF 		movl	-65560(%ebp), %eax
 10977      FEFF
 10978 ac7b 668985CC 		movw	%ax, -65588(%ebp)
 10978      FFFEFF
7475:armor.c       ****   //  N = res;
7476:armor.c       ****   //  V = 0;
7477:armor.c       ****       
7478:armor.c       ****             //        BEQ   $0C59                   ; 0C39: 27 1E         
7479:armor.c       ****       if (!Z) {
 10979              		.loc 1 7479 0
 10980 ac82 6683BDCC 		cmpw	$0, -65588(%ebp)
 10980      FFFEFF00 
 10981 ac8a 7509     		jne	.L418
7480:armor.c       ****       PC = 0x0c59;
 10982              		.loc 1 7480 0
 10983 ac8c 66C785CA 		movw	$3161, -65590(%ebp)
 10983      FFFEFF59 
 10983      0C
 10984              	.L418:
7481:armor.c       ****       JUMP;
7482:armor.c       ****       }
7483:armor.c       ****       
7484:armor.c       ****             //        INC   <$6A                    ; 0C3B: 0C 6A         
7485:armor.c       ****       res = (UINT8)((memory_DP[0x6a]) + 1);
 10985              		.loc 1 7485 0
 10986 ac95 8B85DCFF 		movl	-65572(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 428


 10986      FEFF
 10987 ac9b 83C06A   		addl	$106, %eax
 10988 ac9e 0FB600   		movzbl	(%eax), %eax
 10989 aca1 83C001   		addl	$1, %eax
 10990 aca4 0FB6C0   		movzbl	%al, %eax
 10991 aca7 8985E8FF 		movl	%eax, -65560(%ebp)
 10991      FEFF
7486:armor.c       ****   //  Z = res;
7487:armor.c       ****   //  N = res;
7488:armor.c       ****   //  V = res & ~(memory_DP[0x6a]);
7489:armor.c       ****       memory_DP[0x6a] = res;
 10992              		.loc 1 7489 0
 10993 acad 8B85DCFF 		movl	-65572(%ebp), %eax
 10993      FEFF
 10994 acb3 83C06A   		addl	$106, %eax
 10995 acb6 8B95E8FF 		movl	-65560(%ebp), %edx
 10995      FEFF
 10996 acbc 8810     		movb	%dl, (%eax)
7490:armor.c       ****       
7491:armor.c       ****             //        LDA   <$6A                    ; 0C3D: 96 6A         
7492:armor.c       ****       A = memory_DP[0x6a];
 10997              		.loc 1 7492 0
 10998 acbe 8B85DCFF 		movl	-65572(%ebp), %eax
 10998      FEFF
 10999 acc4 83C06A   		addl	$106, %eax
 11000 acc7 0FB600   		movzbl	(%eax), %eax
 11001 acca 0FB6C0   		movzbl	%al, %eax
 11002 accd 8985E0FF 		movl	%eax, -65568(%ebp)
 11002      FEFF
7493:armor.c       ****   //  N = A;
7494:armor.c       ****   //  Z = A;
7495:armor.c       ****   //  V = 0;
7496:armor.c       ****       
7497:armor.c       ****             //        BITA  #$02                    ; 0C3F: 85 02         
7498:armor.c       ****       res = A & (SINT8)0x02;
 11003              		.loc 1 7498 0
 11004 acd3 8B85E0FF 		movl	-65568(%ebp), %eax
 11004      FEFF
 11005 acd9 83E002   		andl	$2, %eax
 11006 acdc 8985E8FF 		movl	%eax, -65560(%ebp)
 11006      FEFF
7499:armor.c       ****       Z = res;
 11007              		.loc 1 7499 0
 11008 ace2 8B85E8FF 		movl	-65560(%ebp), %eax
 11008      FEFF
 11009 ace8 668985CC 		movw	%ax, -65588(%ebp)
 11009      FFFEFF
7500:armor.c       ****   //  N = res;
7501:armor.c       ****   //  V = 0;
7502:armor.c       ****       
7503:armor.c       ****             //        BEQ   $0C59                   ; 0C41: 27 16         
7504:armor.c       ****       if (!Z) {
 11010              		.loc 1 7504 0
 11011 acef 6683BDCC 		cmpw	$0, -65588(%ebp)
 11011      FFFEFF00 
 11012 acf7 7509     		jne	.L419
7505:armor.c       ****       PC = 0x0c59;
GAS LISTING /tmp/ccqXEnet.s 			page 429


 11013              		.loc 1 7505 0
 11014 acf9 66C785CA 		movw	$3161, -65590(%ebp)
 11014      FFFEFF59 
 11014      0C
 11015              	.L419:
7506:armor.c       ****       JUMP;
7507:armor.c       ****       }
7508:armor.c       ****       
7509:armor.c       ****             //        ANDB  #$F7                    ; 0C43: C4 F7         
7510:armor.c       ****       B = B & (SINT8)0xf7;
 11016              		.loc 1 7510 0
 11017 ad02 83A5E4FF 		andl	$-9, -65564(%ebp)
 11017      FEFFF7
7511:armor.c       ****   //  Z = B;
7512:armor.c       ****   //  N = B;
7513:armor.c       ****   //  V = 0;
7514:armor.c       ****       
7515:armor.c       ****             //        STB   <$45                    ; 0C45: D7 45         
7516:armor.c       ****   //  Z = B;
7517:armor.c       ****   //  N = B;
7518:armor.c       ****   //  V = 0;
7519:armor.c       ****       memory_DP[0x45] = B;
 11018              		.loc 1 7519 0
 11019 ad09 8B85DCFF 		movl	-65572(%ebp), %eax
 11019      FEFF
 11020 ad0f 83C045   		addl	$69, %eax
 11021 ad12 8B95E4FF 		movl	-65564(%ebp), %edx
 11021      FEFF
 11022 ad18 8810     		movb	%dl, (%eax)
7520:armor.c       ****       
7521:armor.c       ****             //        RORA                          ; 0C47: 46            
7522:armor.c       ****       res = A;
 11023              		.loc 1 7522 0
 11024 ad1a 8B85E0FF 		movl	-65568(%ebp), %eax
 11024      FEFF
 11025 ad20 8985E8FF 		movl	%eax, -65560(%ebp)
 11025      FEFF
7523:armor.c       ****       res = res | (C != 0) ? 0x100 : 0;
 11026              		.loc 1 7523 0
 11027 ad26 83BDECFF 		cmpl	$0, -65556(%ebp)
 11027      FEFF00
 11028 ad2d 0F95C0   		setne	%al
 11029 ad30 0FB6C0   		movzbl	%al, %eax
 11030 ad33 0B85E8FF 		orl	-65560(%ebp), %eax
 11030      FEFF
 11031 ad39 85C0     		testl	%eax, %eax
 11032 ad3b 7407     		je	.L420
 11033              		.loc 1 7523 0 is_stmt 0 discriminator 1
 11034 ad3d B8000100 		movl	$256, %eax
 11034      00
 11035 ad42 EB05     		jmp	.L421
 11036              	.L420:
 11037              		.loc 1 7523 0 discriminator 2
 11038 ad44 B8000000 		movl	$0, %eax
 11038      00
 11039              	.L421:
 11040              		.loc 1 7523 0 discriminator 4
GAS LISTING /tmp/ccqXEnet.s 			page 430


 11041 ad49 8985E8FF 		movl	%eax, -65560(%ebp)
 11041      FEFF
7524:armor.c       ****       C = res & 1;
 11042              		.loc 1 7524 0 is_stmt 1 discriminator 4
 11043 ad4f 8B85E8FF 		movl	-65560(%ebp), %eax
 11043      FEFF
 11044 ad55 83E001   		andl	$1, %eax
 11045 ad58 8985ECFF 		movl	%eax, -65556(%ebp)
 11045      FEFF
7525:armor.c       ****       res = res >> 1;
 11046              		.loc 1 7525 0 discriminator 4
 11047 ad5e D1BDE8FF 		sarl	-65560(%ebp)
 11047      FEFF
7526:armor.c       ****   //  Z = res;
7527:armor.c       ****   //  N = res;
7528:armor.c       ****       A = res;
 11048              		.loc 1 7528 0 discriminator 4
 11049 ad64 8B85E8FF 		movl	-65560(%ebp), %eax
 11049      FEFF
 11050 ad6a 8985E0FF 		movl	%eax, -65568(%ebp)
 11050      FEFF
7529:armor.c       ****       
7530:armor.c       ****             //        LDB   #$20                    ; 0C48: C6 20         
7531:armor.c       ****       B = (SINT8)0x20;
 11051              		.loc 1 7531 0 discriminator 4
 11052 ad70 C785E4FF 		movl	$32, -65564(%ebp)
 11052      FEFF2000 
 11052      0000
7532:armor.c       ****   //  N = B;
7533:armor.c       ****   //  Z = B;
7534:armor.c       ****   //  V = 0;
7535:armor.c       ****       
7536:armor.c       ****             //        BCS   $0C4D                   ; 0C4A: 25 01         
7537:armor.c       ****       if (C) {
 11053              		.loc 1 7537 0 discriminator 4
 11054 ad7a 83BDECFF 		cmpl	$0, -65556(%ebp)
 11054      FEFF00
 11055 ad81 7409     		je	.L422
7538:armor.c       ****       PC = 0x0c4d;
 11056              		.loc 1 7538 0
 11057 ad83 66C785CA 		movw	$3149, -65590(%ebp)
 11057      FFFEFF4D 
 11057      0C
 11058              	.L422:
7539:armor.c       ****       JUMP;
7540:armor.c       ****       }
7541:armor.c       ****       
7542:armor.c       ****             //        LSRB                          ; 0C4C: 54            
7543:armor.c       ****   //  C = (B) & 1;
7544:armor.c       ****       B = (B) >> 1;
 11059              		.loc 1 7544 0
 11060 ad8c D1BDE4FF 		sarl	-65564(%ebp)
 11060      FEFF
 11061              	.L423:
7545:armor.c       ****   //  N = 0;
7546:armor.c       ****   //  Z = B;
7547:armor.c       ****       
GAS LISTING /tmp/ccqXEnet.s 			page 431


7548:armor.c       ****       L0C4D://        CLRA                          ; 0C4D: 4F            
7549:armor.c       ****       A = 0;
 11062              		.loc 1 7549 0
 11063 ad92 C785E0FF 		movl	$0, -65568(%ebp)
 11063      FEFF0000 
 11063      0000
7550:armor.c       ****   //  V = 0;
7551:armor.c       ****   //  Z = 0;
7552:armor.c       ****   //  N = 0;
7553:armor.c       ****       C = 0;
 11064              		.loc 1 7553 0
 11065 ad9c C785ECFF 		movl	$0, -65556(%ebp)
 11065      FEFF0000 
 11065      0000
7554:armor.c       ****       
7555:armor.c       ****             //        STD   <$4B                    ; 0C4E: DD 4B         
7556:armor.c       ****   //  Z = A | B;
7557:armor.c       ****   //  N = A;
7558:armor.c       ****   //  V = 0;
7559:armor.c       ****       memory_DP[0x4b] = A;
 11066              		.loc 1 7559 0
 11067 ada6 8B85DCFF 		movl	-65572(%ebp), %eax
 11067      FEFF
 11068 adac 83C04B   		addl	$75, %eax
 11069 adaf 8B95E0FF 		movl	-65568(%ebp), %edx
 11069      FEFF
 11070 adb5 8810     		movb	%dl, (%eax)
7560:armor.c       ****       memory_DP[0x4b + 1] = B;
 11071              		.loc 1 7560 0
 11072 adb7 8B85DCFF 		movl	-65572(%ebp), %eax
 11072      FEFF
 11073 adbd 83C04C   		addl	$76, %eax
 11074 adc0 8B95E4FF 		movl	-65564(%ebp), %edx
 11074      FEFF
 11075 adc6 8810     		movb	%dl, (%eax)
7561:armor.c       ****       
7562:armor.c       ****             //        LDB   #$03                    ; 0C50: C6 03         
7563:armor.c       ****       B = (SINT8)0x03;
 11076              		.loc 1 7563 0
 11077 adc8 C785E4FF 		movl	$3, -65564(%ebp)
 11077      FEFF0300 
 11077      0000
7564:armor.c       ****   //  N = B;
7565:armor.c       ****   //  Z = B;
7566:armor.c       ****   //  V = 0;
7567:armor.c       ****       
7568:armor.c       ****             //        STB   <$46                    ; 0C52: D7 46         
7569:armor.c       ****   //  Z = B;
7570:armor.c       ****   //  N = B;
7571:armor.c       ****   //  V = 0;
7572:armor.c       ****       memory_DP[0x46] = B;
 11078              		.loc 1 7572 0
 11079 add2 8B85DCFF 		movl	-65572(%ebp), %eax
 11079      FEFF
 11080 add8 83C046   		addl	$70, %eax
 11081 addb 8B95E4FF 		movl	-65564(%ebp), %edx
 11081      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 432


 11082 ade1 8810     		movb	%dl, (%eax)
7573:armor.c       ****       
7574:armor.c       ****             //        LDA   #$0D                    ; 0C54: 86 0D         
7575:armor.c       ****       A = (SINT8)0x0d;
 11083              		.loc 1 7575 0
 11084 ade3 C785E0FF 		movl	$13, -65568(%ebp)
 11084      FEFF0D00 
 11084      0000
7576:armor.c       ****   //  N = A;
7577:armor.c       ****   //  Z = A;
7578:armor.c       ****   //  V = 0;
7579:armor.c       ****       
7580:armor.c       ****             //        STA   <$44                    ; 0C56: 97 44         
7581:armor.c       ****       Z = A;
 11085              		.loc 1 7581 0
 11086 aded 8B85E0FF 		movl	-65568(%ebp), %eax
 11086      FEFF
 11087 adf3 668985CC 		movw	%ax, -65588(%ebp)
 11087      FFFEFF
7582:armor.c       ****       N = A;
 11088              		.loc 1 7582 0
 11089 adfa 8B85E0FF 		movl	-65568(%ebp), %eax
 11089      FEFF
 11090 ae00 8885C1FF 		movb	%al, -65599(%ebp)
 11090      FEFF
7583:armor.c       ****       V = 0;
 11091              		.loc 1 7583 0
 11092 ae06 C685C2FF 		movb	$0, -65598(%ebp)
 11092      FEFF00
7584:armor.c       ****       memory_DP[0x44] = A;
 11093              		.loc 1 7584 0
 11094 ae0d 8B85DCFF 		movl	-65572(%ebp), %eax
 11094      FEFF
 11095 ae13 83C044   		addl	$68, %eax
 11096 ae16 8B95E0FF 		movl	-65568(%ebp), %edx
 11096      FEFF
 11097 ae1c 8810     		movb	%dl, (%eax)
7585:armor.c       ****       
7586:armor.c       ****             //        RTS                           ; 0C58: 39            
7587:armor.c       ****       PC = memory[S++]<<8;
 11098              		.loc 1 7587 0
 11099 ae1e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11099      FFFEFF
 11100 ae25 8D5001   		leal	1(%eax), %edx
 11101 ae28 668995C8 		movw	%dx, -65592(%ebp)
 11101      FFFEFF
 11102 ae2f 0FB7C0   		movzwl	%ax, %eax
 11103 ae32 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11103      F4FFFEFF 
 11104 ae3a 0FB6C0   		movzbl	%al, %eax
 11105 ae3d C1E008   		sall	$8, %eax
 11106 ae40 668985CA 		movw	%ax, -65590(%ebp)
 11106      FFFEFF
7588:armor.c       ****       PC |= memory[S++];
 11107              		.loc 1 7588 0
 11108 ae47 0FB785C8 		movzwl	-65592(%ebp), %eax
 11108      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 433


 11109 ae4e 8D5001   		leal	1(%eax), %edx
 11110 ae51 668995C8 		movw	%dx, -65592(%ebp)
 11110      FFFEFF
 11111 ae58 0FB7C0   		movzwl	%ax, %eax
 11112 ae5b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11112      F4FFFEFF 
 11113 ae63 0FB6C0   		movzbl	%al, %eax
 11114 ae66 660985CA 		orw	%ax, -65590(%ebp)
 11114      FFFEFF
 11115              	.L424:
7589:armor.c       ****       JUMP;
7590:armor.c       ****       
7591:armor.c       ****       
7592:armor.c       ****       L0C59://        ORB   #$09                    ; 0C59: CA 09         
7593:armor.c       ****       B = B | (SINT8)0x09;
 11116              		.loc 1 7593 0
 11117 ae6d 838DE4FF 		orl	$9, -65564(%ebp)
 11117      FEFF09
7594:armor.c       ****   //  Z = B;
7595:armor.c       ****   //  N = B;
7596:armor.c       ****   //  V = 0;
7597:armor.c       ****       
7598:armor.c       ****             //        STB   <$45                    ; 0C5B: D7 45         
7599:armor.c       ****       Z = B;
 11118              		.loc 1 7599 0
 11119 ae74 8B85E4FF 		movl	-65564(%ebp), %eax
 11119      FEFF
 11120 ae7a 668985CC 		movw	%ax, -65588(%ebp)
 11120      FFFEFF
7600:armor.c       ****       N = B;
 11121              		.loc 1 7600 0
 11122 ae81 8B85E4FF 		movl	-65564(%ebp), %eax
 11122      FEFF
 11123 ae87 8885C1FF 		movb	%al, -65599(%ebp)
 11123      FEFF
7601:armor.c       ****       V = 0;
 11124              		.loc 1 7601 0
 11125 ae8d C685C2FF 		movb	$0, -65598(%ebp)
 11125      FEFF00
7602:armor.c       ****       memory_DP[0x45] = B;
 11126              		.loc 1 7602 0
 11127 ae94 8B85DCFF 		movl	-65572(%ebp), %eax
 11127      FEFF
 11128 ae9a 83C045   		addl	$69, %eax
 11129 ae9d 8B95E4FF 		movl	-65564(%ebp), %edx
 11129      FEFF
 11130 aea3 8810     		movb	%dl, (%eax)
7603:armor.c       ****       
7604:armor.c       ****             //        RTS                           ; 0C5D: 39            
7605:armor.c       ****       PC = memory[S++]<<8;
 11131              		.loc 1 7605 0
 11132 aea5 0FB785C8 		movzwl	-65592(%ebp), %eax
 11132      FFFEFF
 11133 aeac 8D5001   		leal	1(%eax), %edx
 11134 aeaf 668995C8 		movw	%dx, -65592(%ebp)
 11134      FFFEFF
 11135 aeb6 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 434


 11136 aeb9 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11136      F4FFFEFF 
 11137 aec1 0FB6C0   		movzbl	%al, %eax
 11138 aec4 C1E008   		sall	$8, %eax
 11139 aec7 668985CA 		movw	%ax, -65590(%ebp)
 11139      FFFEFF
7606:armor.c       ****       PC |= memory[S++];
 11140              		.loc 1 7606 0
 11141 aece 0FB785C8 		movzwl	-65592(%ebp), %eax
 11141      FFFEFF
 11142 aed5 8D5001   		leal	1(%eax), %edx
 11143 aed8 668995C8 		movw	%dx, -65592(%ebp)
 11143      FFFEFF
 11144 aedf 0FB7C0   		movzwl	%ax, %eax
 11145 aee2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11145      F4FFFEFF 
 11146 aeea 0FB6C0   		movzbl	%al, %eax
 11147 aeed 660985CA 		orw	%ax, -65590(%ebp)
 11147      FFFEFF
 11148              	.L425:
7607:armor.c       ****       JUMP;
7608:armor.c       ****       
7609:armor.c       ****       
7610:armor.c       ****       L0C66://        LDD   ,X                      ; 0C66: EC 84         
7611:armor.c       ****       A = memory[X];
 11149              		.loc 1 7611 0
 11150 aef4 0FB785C6 		movzwl	-65594(%ebp), %eax
 11150      FFFEFF
 11151 aefb 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11151      F4FFFEFF 
 11152 af03 0FB6C0   		movzbl	%al, %eax
 11153 af06 8985E0FF 		movl	%eax, -65568(%ebp)
 11153      FEFF
7612:armor.c       ****       B = memory[(UINT16)((X)+1)];
 11154              		.loc 1 7612 0
 11155 af0c 0FB785C6 		movzwl	-65594(%ebp), %eax
 11155      FFFEFF
 11156 af13 83C001   		addl	$1, %eax
 11157 af16 0FB7C0   		movzwl	%ax, %eax
 11158 af19 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11158      F4FFFEFF 
 11159 af21 0FB6C0   		movzbl	%al, %eax
 11160 af24 8985E4FF 		movl	%eax, -65564(%ebp)
 11160      FEFF
7613:armor.c       ****   //  Z = A|B;
7614:armor.c       ****   //  N = A;
7615:armor.c       ****   //  V = 0;
7616:armor.c       ****       
7617:armor.c       ****             //        ASRA                          ; 0C68: 47            
7618:armor.c       ****   //  C = A & 1;
7619:armor.c       ****       A = (UINT8)(A >> 1);
 11161              		.loc 1 7619 0
 11162 af2a 8B85E0FF 		movl	-65568(%ebp), %eax
 11162      FEFF
 11163 af30 D1F8     		sarl	%eax
 11164 af32 0FB6C0   		movzbl	%al, %eax
 11165 af35 8985E0FF 		movl	%eax, -65568(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 435


 11165      FEFF
7620:armor.c       ****   //  Z = A;
7621:armor.c       ****   //  N = A;
7622:armor.c       ****       
7623:armor.c       ****             //        ASRB                          ; 0C69: 57            
7624:armor.c       ****   //  C = B & 1;
7625:armor.c       ****       B = (UINT8)(B >> 1);
 11166              		.loc 1 7625 0
 11167 af3b 8B85E4FF 		movl	-65564(%ebp), %eax
 11167      FEFF
 11168 af41 D1F8     		sarl	%eax
 11169 af43 0FB6C0   		movzbl	%al, %eax
 11170 af46 8985E4FF 		movl	%eax, -65564(%ebp)
 11170      FEFF
7626:armor.c       ****   //  Z = B;
7627:armor.c       ****   //  N = B;
7628:armor.c       ****       
7629:armor.c       ****             //        STD   $FFFE,S                 ; 0C6A: ED 7E         
7630:armor.c       ****   //  Z = A | B;
7631:armor.c       ****   //  N = A;
7632:armor.c       ****   //  V = 0;
7633:armor.c       ****       memory[(UINT16)(S + 0xfffe)] = A;
 11171              		.loc 1 7633 0
 11172 af4c 0FB785C8 		movzwl	-65592(%ebp), %eax
 11172      FFFEFF
 11173 af53 83E802   		subl	$2, %eax
 11174 af56 0FB7C0   		movzwl	%ax, %eax
 11175 af59 8B95E0FF 		movl	-65568(%ebp), %edx
 11175      FEFF
 11176 af5f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11176      FFFEFF
7634:armor.c       ****       memory[(UINT16)(S + 0xfffe) + 1] = B;
 11177              		.loc 1 7634 0
 11178 af66 0FB785C8 		movzwl	-65592(%ebp), %eax
 11178      FFFEFF
 11179 af6d 83E802   		subl	$2, %eax
 11180 af70 0FB7C0   		movzwl	%ax, %eax
 11181 af73 83C001   		addl	$1, %eax
 11182 af76 8B95E4FF 		movl	-65564(%ebp), %edx
 11182      FEFF
 11183 af7c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11183      FFFEFF
7635:armor.c       ****       
7636:armor.c       ****             //        LDD   $02,X                   ; 0C6C: EC 02         
7637:armor.c       ****       A = memory[(UINT16)(X + 0x0002)];
 11184              		.loc 1 7637 0
 11185 af83 0FB785C6 		movzwl	-65594(%ebp), %eax
 11185      FFFEFF
 11186 af8a 83C002   		addl	$2, %eax
 11187 af8d 0FB7C0   		movzwl	%ax, %eax
 11188 af90 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11188      F4FFFEFF 
 11189 af98 0FB6C0   		movzbl	%al, %eax
 11190 af9b 8985E0FF 		movl	%eax, -65568(%ebp)
 11190      FEFF
7638:armor.c       ****       B = memory[(UINT16)(((UINT16)(X + 0x0002))+1)];
 11191              		.loc 1 7638 0
GAS LISTING /tmp/ccqXEnet.s 			page 436


 11192 afa1 0FB785C6 		movzwl	-65594(%ebp), %eax
 11192      FFFEFF
 11193 afa8 83C003   		addl	$3, %eax
 11194 afab 0FB7C0   		movzwl	%ax, %eax
 11195 afae 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11195      F4FFFEFF 
 11196 afb6 0FB6C0   		movzbl	%al, %eax
 11197 afb9 8985E4FF 		movl	%eax, -65564(%ebp)
 11197      FEFF
7639:armor.c       ****   //  Z = A|B;
7640:armor.c       ****   //  N = A;
7641:armor.c       ****   //  V = 0;
7642:armor.c       ****       
7643:armor.c       ****             //        ASRA                          ; 0C6E: 47            
7644:armor.c       ****   //  C = A & 1;
7645:armor.c       ****       A = (UINT8)(A >> 1);
 11198              		.loc 1 7645 0
 11199 afbf 8B85E0FF 		movl	-65568(%ebp), %eax
 11199      FEFF
 11200 afc5 D1F8     		sarl	%eax
 11201 afc7 0FB6C0   		movzbl	%al, %eax
 11202 afca 8985E0FF 		movl	%eax, -65568(%ebp)
 11202      FEFF
7646:armor.c       ****   //  Z = A;
7647:armor.c       ****   //  N = A;
7648:armor.c       ****       
7649:armor.c       ****             //        ASRB                          ; 0C6F: 57            
7650:armor.c       ****   //  C = B & 1;
7651:armor.c       ****       B = (UINT8)(B >> 1);
 11203              		.loc 1 7651 0
 11204 afd0 8B85E4FF 		movl	-65564(%ebp), %eax
 11204      FEFF
 11205 afd6 D1F8     		sarl	%eax
 11206 afd8 0FB6C0   		movzbl	%al, %eax
 11207 afdb 8985E4FF 		movl	%eax, -65564(%ebp)
 11207      FEFF
7652:armor.c       ****   //  Z = B;
7653:armor.c       ****   //  N = B;
7654:armor.c       ****       
7655:armor.c       ****             //        ADDA  $FFFE,S                 ; 0C70: AB 7E         
7656:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(S + 0xfffe)]);
 11208              		.loc 1 7656 0
 11209 afe1 8B85E0FF 		movl	-65568(%ebp), %eax
 11209      FEFF
 11210 afe7 89C2     		movl	%eax, %edx
 11211 afe9 0FB785C8 		movzwl	-65592(%ebp), %eax
 11211      FFFEFF
 11212 aff0 83E802   		subl	$2, %eax
 11213 aff3 0FB7C0   		movzwl	%ax, %eax
 11214 aff6 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11214      F4FFFEFF 
 11215 affe 01D0     		addl	%edx, %eax
 11216 b000 0FB6C0   		movzbl	%al, %eax
 11217 b003 8985E0FF 		movl	%eax, -65568(%ebp)
 11217      FEFF
7657:armor.c       ****   //  res = A + memory[(UINT16)(S + 0xfffe)];
7658:armor.c       ****   //  C = res & 0x100;
GAS LISTING /tmp/ccqXEnet.s 			page 437


7659:armor.c       ****   //  res = (UINT8)res;
7660:armor.c       ****   //  Z = res;
7661:armor.c       ****   //  N = res;
7662:armor.c       ****   //  res = A ^ memory[(UINT16)(S + 0xfffe)] ^ res ^ C;
7663:armor.c       ****   //  H = res;
7664:armor.c       ****   //  V = res;
7665:armor.c       ****       
7666:armor.c       ****             //        ADDB  $FFFF,S                 ; 0C72: EB 7F         
7667:armor.c       ****       B = (UINT8)(B + memory[(UINT16)(S + 0xffff)]);
 11218              		.loc 1 7667 0
 11219 b009 8B85E4FF 		movl	-65564(%ebp), %eax
 11219      FEFF
 11220 b00f 89C2     		movl	%eax, %edx
 11221 b011 0FB785C8 		movzwl	-65592(%ebp), %eax
 11221      FFFEFF
 11222 b018 83E801   		subl	$1, %eax
 11223 b01b 0FB7C0   		movzwl	%ax, %eax
 11224 b01e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11224      F4FFFEFF 
 11225 b026 01D0     		addl	%edx, %eax
 11226 b028 0FB6C0   		movzbl	%al, %eax
 11227 b02b 8985E4FF 		movl	%eax, -65564(%ebp)
 11227      FEFF
7668:armor.c       ****       res = B + memory[(UINT16)(S + 0xffff)];
 11228              		.loc 1 7668 0
 11229 b031 0FB785C8 		movzwl	-65592(%ebp), %eax
 11229      FFFEFF
 11230 b038 83E801   		subl	$1, %eax
 11231 b03b 0FB7C0   		movzwl	%ax, %eax
 11232 b03e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11232      F4FFFEFF 
 11233 b046 0FB6D0   		movzbl	%al, %edx
 11234 b049 8B85E4FF 		movl	-65564(%ebp), %eax
 11234      FEFF
 11235 b04f 01D0     		addl	%edx, %eax
 11236 b051 8985E8FF 		movl	%eax, -65560(%ebp)
 11236      FEFF
7669:armor.c       ****       C = res & 0x100;
 11237              		.loc 1 7669 0
 11238 b057 8B85E8FF 		movl	-65560(%ebp), %eax
 11238      FEFF
 11239 b05d 25000100 		andl	$256, %eax
 11239      00
 11240 b062 8985ECFF 		movl	%eax, -65556(%ebp)
 11240      FEFF
7670:armor.c       ****       res = (UINT8)res;
 11241              		.loc 1 7670 0
 11242 b068 8B85E8FF 		movl	-65560(%ebp), %eax
 11242      FEFF
 11243 b06e 0FB6C0   		movzbl	%al, %eax
 11244 b071 8985E8FF 		movl	%eax, -65560(%ebp)
 11244      FEFF
7671:armor.c       ****       Z = res;
 11245              		.loc 1 7671 0
 11246 b077 8B85E8FF 		movl	-65560(%ebp), %eax
 11246      FEFF
 11247 b07d 668985CC 		movw	%ax, -65588(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 438


 11247      FFFEFF
7672:armor.c       ****       N = res;
 11248              		.loc 1 7672 0
 11249 b084 8B85E8FF 		movl	-65560(%ebp), %eax
 11249      FEFF
 11250 b08a 8885C1FF 		movb	%al, -65599(%ebp)
 11250      FEFF
7673:armor.c       ****       res = B ^ memory[(UINT16)(S + 0xffff)] ^ res ^ C;
 11251              		.loc 1 7673 0
 11252 b090 0FB785C8 		movzwl	-65592(%ebp), %eax
 11252      FFFEFF
 11253 b097 83E801   		subl	$1, %eax
 11254 b09a 0FB7C0   		movzwl	%ax, %eax
 11255 b09d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11255      F4FFFEFF 
 11256 b0a5 0FB6C0   		movzbl	%al, %eax
 11257 b0a8 3385E4FF 		xorl	-65564(%ebp), %eax
 11257      FEFF
 11258 b0ae 3385E8FF 		xorl	-65560(%ebp), %eax
 11258      FEFF
 11259 b0b4 3385ECFF 		xorl	-65556(%ebp), %eax
 11259      FEFF
 11260 b0ba 8985E8FF 		movl	%eax, -65560(%ebp)
 11260      FEFF
7674:armor.c       ****       H = res;
 11261              		.loc 1 7674 0
 11262 b0c0 8B85E8FF 		movl	-65560(%ebp), %eax
 11262      FEFF
 11263 b0c6 8885C3FF 		movb	%al, -65597(%ebp)
 11263      FEFF
7675:armor.c       ****       V = res;
 11264              		.loc 1 7675 0
 11265 b0cc 8B85E8FF 		movl	-65560(%ebp), %eax
 11265      FEFF
 11266 b0d2 8885C2FF 		movb	%al, -65598(%ebp)
 11266      FEFF
7676:armor.c       ****       
7677:armor.c       ****             //        BRA   $0C82                   ; 0C74: 20 0C         
7678:armor.c       ****       PC = 0x0c82;
 11267              		.loc 1 7678 0
 11268 b0d8 66C785CA 		movw	$3202, -65590(%ebp)
 11268      FFFEFF82 
 11268      0C
 11269              	.L426:
7679:armor.c       ****       JUMP;
7680:armor.c       ****       
7681:armor.c       ****       
7682:armor.c       ****       L0C76://        PSHS  B,A                     ; 0C76: 34 06         
7683:armor.c       ****       memory[--S] = B;
 11270              		.loc 1 7683 0
 11271 b0e1 6683ADC8 		subw	$1, -65592(%ebp)
 11271      FFFEFF01 
 11272 b0e9 0FB785C8 		movzwl	-65592(%ebp), %eax
 11272      FFFEFF
 11273 b0f0 8B95E4FF 		movl	-65564(%ebp), %edx
 11273      FEFF
 11274 b0f6 889405F4 		movb	%dl, -65548(%ebp,%eax)
GAS LISTING /tmp/ccqXEnet.s 			page 439


 11274      FFFEFF
7684:armor.c       ****       memory[--S] = A;
 11275              		.loc 1 7684 0
 11276 b0fd 6683ADC8 		subw	$1, -65592(%ebp)
 11276      FFFEFF01 
 11277 b105 0FB785C8 		movzwl	-65592(%ebp), %eax
 11277      FFFEFF
 11278 b10c 8B95E0FF 		movl	-65568(%ebp), %edx
 11278      FEFF
 11279 b112 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11279      FFFEFF
7685:armor.c       ****       
7686:armor.c       ****             //        LDA   ,U                      ; 0C78: A6 C4         
7687:armor.c       ****       A = memory[U];
 11280              		.loc 1 7687 0
 11281 b119 0FB785CE 		movzwl	-65586(%ebp), %eax
 11281      FFFEFF
 11282 b120 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11282      F4FFFEFF 
 11283 b128 0FB6C0   		movzbl	%al, %eax
 11284 b12b 8985E0FF 		movl	%eax, -65568(%ebp)
 11284      FEFF
7688:armor.c       ****   //  N = A;
7689:armor.c       ****   //  Z = A;
7690:armor.c       ****   //  V = 0;
7691:armor.c       ****       
7692:armor.c       ****             //        LDB   $02,U                   ; 0C7A: E6 42         
7693:armor.c       ****       B = memory[(UINT16)(U + 0x0002)];
 11285              		.loc 1 7693 0
 11286 b131 0FB785CE 		movzwl	-65586(%ebp), %eax
 11286      FFFEFF
 11287 b138 83C002   		addl	$2, %eax
 11288 b13b 0FB7C0   		movzwl	%ax, %eax
 11289 b13e 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11289      F4FFFEFF 
 11290 b146 0FB6C0   		movzbl	%al, %eax
 11291 b149 8985E4FF 		movl	%eax, -65564(%ebp)
 11291      FEFF
7694:armor.c       ****   //  N = B;
7695:armor.c       ****   //  Z = B;
7696:armor.c       ****   //  V = 0;
7697:armor.c       ****       
7698:armor.c       ****             //        TFR   D,Y                     ; 0C7C: 1F 02         
7699:armor.c       ****       Y = ((A << 8) | B);
 11292              		.loc 1 7699 0
 11293 b14f 8B85E0FF 		movl	-65568(%ebp), %eax
 11293      FEFF
 11294 b155 C1E008   		sall	$8, %eax
 11295 b158 89C2     		movl	%eax, %edx
 11296 b15a 8B85E4FF 		movl	-65564(%ebp), %eax
 11296      FEFF
 11297 b160 09D0     		orl	%edx, %eax
 11298 b162 668985D2 		movw	%ax, -65582(%ebp)
 11298      FFFEFF
7700:armor.c       ****       
7701:armor.c       ****             //        PULS  A,B                     ; 0C7E: 35 06         
7702:armor.c       ****       A = memory[S++];
GAS LISTING /tmp/ccqXEnet.s 			page 440


 11299              		.loc 1 7702 0
 11300 b169 0FB785C8 		movzwl	-65592(%ebp), %eax
 11300      FFFEFF
 11301 b170 8D5001   		leal	1(%eax), %edx
 11302 b173 668995C8 		movw	%dx, -65592(%ebp)
 11302      FFFEFF
 11303 b17a 0FB7C0   		movzwl	%ax, %eax
 11304 b17d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11304      F4FFFEFF 
 11305 b185 0FB6C0   		movzbl	%al, %eax
 11306 b188 8985E0FF 		movl	%eax, -65568(%ebp)
 11306      FEFF
7703:armor.c       ****       B = memory[S++];
 11307              		.loc 1 7703 0
 11308 b18e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11308      FFFEFF
 11309 b195 8D5001   		leal	1(%eax), %edx
 11310 b198 668995C8 		movw	%dx, -65592(%ebp)
 11310      FFFEFF
 11311 b19f 0FB7C0   		movzwl	%ax, %eax
 11312 b1a2 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11312      F4FFFEFF 
 11313 b1aa 0FB6C0   		movzbl	%al, %eax
 11314 b1ad 8985E4FF 		movl	%eax, -65564(%ebp)
 11314      FEFF
 11315              	.L427:
7704:armor.c       ****       
7705:armor.c       ****       L0C80://        ASRA                          ; 0C80: 47            
7706:armor.c       ****   //  C = A & 1;
7707:armor.c       ****       A = (UINT8)(A >> 1);
 11316              		.loc 1 7707 0
 11317 b1b3 8B85E0FF 		movl	-65568(%ebp), %eax
 11317      FEFF
 11318 b1b9 D1F8     		sarl	%eax
 11319 b1bb 0FB6C0   		movzbl	%al, %eax
 11320 b1be 8985E0FF 		movl	%eax, -65568(%ebp)
 11320      FEFF
7708:armor.c       ****   //  Z = A;
7709:armor.c       ****   //  N = A;
7710:armor.c       ****       
7711:armor.c       ****             //        ASRB                          ; 0C81: 57            
7712:armor.c       ****   //  C = B & 1;
7713:armor.c       ****       B = (UINT8)(B >> 1);
 11321              		.loc 1 7713 0
 11322 b1c4 8B85E4FF 		movl	-65564(%ebp), %eax
 11322      FEFF
 11323 b1ca D1F8     		sarl	%eax
 11324 b1cc 0FB6C0   		movzbl	%al, %eax
 11325 b1cf 8985E4FF 		movl	%eax, -65564(%ebp)
 11325      FEFF
 11326              	.L428:
7714:armor.c       ****   //  Z = B;
7715:armor.c       ****   //  N = B;
7716:armor.c       ****       
7717:armor.c       ****       L0C82://        PSHS  B,A                     ; 0C82: 34 06         
7718:armor.c       ****       memory[--S] = B;
 11327              		.loc 1 7718 0
GAS LISTING /tmp/ccqXEnet.s 			page 441


 11328 b1d5 6683ADC8 		subw	$1, -65592(%ebp)
 11328      FFFEFF01 
 11329 b1dd 0FB785C8 		movzwl	-65592(%ebp), %eax
 11329      FFFEFF
 11330 b1e4 8B95E4FF 		movl	-65564(%ebp), %edx
 11330      FEFF
 11331 b1ea 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11331      FFFEFF
7719:armor.c       ****       memory[--S] = A;
 11332              		.loc 1 7719 0
 11333 b1f1 6683ADC8 		subw	$1, -65592(%ebp)
 11333      FFFEFF01 
 11334 b1f9 0FB785C8 		movzwl	-65592(%ebp), %eax
 11334      FFFEFF
 11335 b200 8B95E0FF 		movl	-65568(%ebp), %edx
 11335      FEFF
 11336 b206 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11336      FFFEFF
7720:armor.c       ****       
7721:armor.c       ****             //        TFR   Y,D                     ; 0C84: 1F 20         
7722:armor.c       ****       A = (UINT8)((Y) >> 8);
 11337              		.loc 1 7722 0
 11338 b20d 0FB785D2 		movzwl	-65582(%ebp), %eax
 11338      FFFEFF
 11339 b214 66C1E808 		shrw	$8, %ax
 11340 b218 0FB6C0   		movzbl	%al, %eax
 11341 b21b 8985E0FF 		movl	%eax, -65568(%ebp)
 11341      FEFF
7723:armor.c       ****       B = (UINT8)((Y) & 0xff);
 11342              		.loc 1 7723 0
 11343 b221 0FB785D2 		movzwl	-65582(%ebp), %eax
 11343      FFFEFF
 11344 b228 0FB6C0   		movzbl	%al, %eax
 11345 b22b 8985E4FF 		movl	%eax, -65564(%ebp)
 11345      FEFF
7724:armor.c       ****       
7725:armor.c       ****             //        ASRA                          ; 0C86: 47            
7726:armor.c       ****   //  C = A & 1;
7727:armor.c       ****       A = (UINT8)(A >> 1);
 11346              		.loc 1 7727 0
 11347 b231 8B85E0FF 		movl	-65568(%ebp), %eax
 11347      FEFF
 11348 b237 D1F8     		sarl	%eax
 11349 b239 0FB6C0   		movzbl	%al, %eax
 11350 b23c 8985E0FF 		movl	%eax, -65568(%ebp)
 11350      FEFF
7728:armor.c       ****   //  Z = A;
7729:armor.c       ****   //  N = A;
7730:armor.c       ****       
7731:armor.c       ****             //        ASRB                          ; 0C87: 57            
7732:armor.c       ****   //  C = B & 1;
7733:armor.c       ****       B = (UINT8)(B >> 1);
 11351              		.loc 1 7733 0
 11352 b242 8B85E4FF 		movl	-65564(%ebp), %eax
 11352      FEFF
 11353 b248 D1F8     		sarl	%eax
 11354 b24a 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 442


 11355 b24d 8985E4FF 		movl	%eax, -65564(%ebp)
 11355      FEFF
7734:armor.c       ****   //  Z = B;
7735:armor.c       ****   //  N = B;
7736:armor.c       ****       
7737:armor.c       ****             //        SUBA  ,S+                     ; 0C88: A0 E0         
7738:armor.c       ****       A = (UINT8)(A - memory[S++]);
 11356              		.loc 1 7738 0
 11357 b253 8B85E0FF 		movl	-65568(%ebp), %eax
 11357      FEFF
 11358 b259 89C1     		movl	%eax, %ecx
 11359 b25b 0FB785C8 		movzwl	-65592(%ebp), %eax
 11359      FFFEFF
 11360 b262 8D5001   		leal	1(%eax), %edx
 11361 b265 668995C8 		movw	%dx, -65592(%ebp)
 11361      FFFEFF
 11362 b26c 0FB7C0   		movzwl	%ax, %eax
 11363 b26f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11363      F4FFFEFF 
 11364 b277 29C1     		subl	%eax, %ecx
 11365 b279 89C8     		movl	%ecx, %eax
 11366 b27b 0FB6C0   		movzbl	%al, %eax
 11367 b27e 8985E0FF 		movl	%eax, -65568(%ebp)
 11367      FEFF
7739:armor.c       ****   //  res = A - memory[S];
7740:armor.c       ****   //  C = res & 0x100;
7741:armor.c       ****   //  res = (UINT8)res;
7742:armor.c       ****   //  Z = res;
7743:armor.c       ****   //  N = res;
7744:armor.c       ****   //  V = ((A) ^ (memory[S])) & ((A) ^ res);
7745:armor.c       ****       
7746:armor.c       ****             //        SUBB  ,S+                     ; 0C8A: E0 E0         
7747:armor.c       ****       B = (UINT8)(B - memory[S++]);
 11368              		.loc 1 7747 0
 11369 b284 8B85E4FF 		movl	-65564(%ebp), %eax
 11369      FEFF
 11370 b28a 89C1     		movl	%eax, %ecx
 11371 b28c 0FB785C8 		movzwl	-65592(%ebp), %eax
 11371      FFFEFF
 11372 b293 8D5001   		leal	1(%eax), %edx
 11373 b296 668995C8 		movw	%dx, -65592(%ebp)
 11373      FFFEFF
 11374 b29d 0FB7C0   		movzwl	%ax, %eax
 11375 b2a0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11375      F4FFFEFF 
 11376 b2a8 29C1     		subl	%eax, %ecx
 11377 b2aa 89C8     		movl	%ecx, %eax
 11378 b2ac 0FB6C0   		movzbl	%al, %eax
 11379 b2af 8985E4FF 		movl	%eax, -65564(%ebp)
 11379      FEFF
7748:armor.c       ****       res = B - memory[S];
 11380              		.loc 1 7748 0
 11381 b2b5 0FB785C8 		movzwl	-65592(%ebp), %eax
 11381      FFFEFF
 11382 b2bc 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11382      F4FFFEFF 
 11383 b2c4 0FB6C0   		movzbl	%al, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 443


 11384 b2c7 8B95E4FF 		movl	-65564(%ebp), %edx
 11384      FEFF
 11385 b2cd 29C2     		subl	%eax, %edx
 11386 b2cf 89D0     		movl	%edx, %eax
 11387 b2d1 8985E8FF 		movl	%eax, -65560(%ebp)
 11387      FEFF
7749:armor.c       ****       C = res & 0x100;
 11388              		.loc 1 7749 0
 11389 b2d7 8B85E8FF 		movl	-65560(%ebp), %eax
 11389      FEFF
 11390 b2dd 25000100 		andl	$256, %eax
 11390      00
 11391 b2e2 8985ECFF 		movl	%eax, -65556(%ebp)
 11391      FEFF
7750:armor.c       ****       res = (UINT8)res;
 11392              		.loc 1 7750 0
 11393 b2e8 8B85E8FF 		movl	-65560(%ebp), %eax
 11393      FEFF
 11394 b2ee 0FB6C0   		movzbl	%al, %eax
 11395 b2f1 8985E8FF 		movl	%eax, -65560(%ebp)
 11395      FEFF
7751:armor.c       ****   //  Z = res;
7752:armor.c       ****   //  N = res;
7753:armor.c       ****   //  V = ((B) ^ (memory[S])) & ((B) ^ res);
7754:armor.c       ****       
7755:armor.c       ****             //        PSHS  B,A                     ; 0C8C: 34 06         
7756:armor.c       ****       memory[--S] = B;
 11396              		.loc 1 7756 0
 11397 b2f7 6683ADC8 		subw	$1, -65592(%ebp)
 11397      FFFEFF01 
 11398 b2ff 0FB785C8 		movzwl	-65592(%ebp), %eax
 11398      FFFEFF
 11399 b306 8B95E4FF 		movl	-65564(%ebp), %edx
 11399      FEFF
 11400 b30c 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11400      FFFEFF
7757:armor.c       ****       memory[--S] = A;
 11401              		.loc 1 7757 0
 11402 b313 6683ADC8 		subw	$1, -65592(%ebp)
 11402      FFFEFF01 
 11403 b31b 0FB785C8 		movzwl	-65592(%ebp), %eax
 11403      FFFEFF
 11404 b322 8B95E0FF 		movl	-65568(%ebp), %edx
 11404      FEFF
 11405 b328 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11405      FFFEFF
7758:armor.c       ****       
7759:armor.c       ****             //        JSR   Rise_Run_Angle          ; 0C8E: BD F5 93      
7760:armor.c       ****       memory[--S] = 0x0c91 & 0xff; memory[--S] = 0x0c91 >> 8;
 11406              		.loc 1 7760 0
 11407 b32f 6683ADC8 		subw	$1, -65592(%ebp)
 11407      FFFEFF01 
 11408 b337 0FB785C8 		movzwl	-65592(%ebp), %eax
 11408      FFFEFF
 11409 b33e C68405F4 		movb	$-111, -65548(%ebp,%eax)
 11409      FFFEFF91 
 11410 b346 6683ADC8 		subw	$1, -65592(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 444


 11410      FFFEFF01 
 11411 b34e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11411      FFFEFF
 11412 b355 C68405F4 		movb	$12, -65548(%ebp,%eax)
 11412      FFFEFF0C 
7761:armor.c       ****       PC = 0xf593;
 11413              		.loc 1 7761 0
 11414 b35d 66C785CA 		movw	$-2669, -65590(%ebp)
 11414      FFFEFF93 
 11414      F5
 11415              	.L429:
7762:armor.c       ****       JUMP;
7763:armor.c       ****       
7764:armor.c       ****       L0C91://        PULS  A,B                     ; 0C91: 35 06         
7765:armor.c       ****       A = memory[S++];
 11416              		.loc 1 7765 0
 11417 b366 0FB785C8 		movzwl	-65592(%ebp), %eax
 11417      FFFEFF
 11418 b36d 8D5001   		leal	1(%eax), %edx
 11419 b370 668995C8 		movw	%dx, -65592(%ebp)
 11419      FFFEFF
 11420 b377 0FB7C0   		movzwl	%ax, %eax
 11421 b37a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11421      F4FFFEFF 
 11422 b382 0FB6C0   		movzbl	%al, %eax
 11423 b385 8985E0FF 		movl	%eax, -65568(%ebp)
 11423      FEFF
7766:armor.c       ****       B = memory[S++];
 11424              		.loc 1 7766 0
 11425 b38b 0FB785C8 		movzwl	-65592(%ebp), %eax
 11425      FFFEFF
 11426 b392 8D5001   		leal	1(%eax), %edx
 11427 b395 668995C8 		movw	%dx, -65592(%ebp)
 11427      FFFEFF
 11428 b39c 0FB7C0   		movzwl	%ax, %eax
 11429 b39f 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11429      F4FFFEFF 
 11430 b3a7 0FB6C0   		movzbl	%al, %eax
 11431 b3aa 8985E4FF 		movl	%eax, -65564(%ebp)
 11431      FEFF
7767:armor.c       ****       
7768:armor.c       ****             //        JSR   Abs_a_b                 ; 0C93: BD F5 84      
7769:armor.c       ****       memory[--S] = 0x0c96 & 0xff; memory[--S] = 0x0c96 >> 8;
 11432              		.loc 1 7769 0
 11433 b3b0 6683ADC8 		subw	$1, -65592(%ebp)
 11433      FFFEFF01 
 11434 b3b8 0FB785C8 		movzwl	-65592(%ebp), %eax
 11434      FFFEFF
 11435 b3bf C68405F4 		movb	$-106, -65548(%ebp,%eax)
 11435      FFFEFF96 
 11436 b3c7 6683ADC8 		subw	$1, -65592(%ebp)
 11436      FFFEFF01 
 11437 b3cf 0FB785C8 		movzwl	-65592(%ebp), %eax
 11437      FFFEFF
 11438 b3d6 C68405F4 		movb	$12, -65548(%ebp,%eax)
 11438      FFFEFF0C 
7770:armor.c       ****       PC = 0xf584;
GAS LISTING /tmp/ccqXEnet.s 			page 445


 11439              		.loc 1 7770 0
 11440 b3de 66C785CA 		movw	$-2684, -65590(%ebp)
 11440      FFFEFF84 
 11440      F5
 11441              	.L430:
7771:armor.c       ****       JUMP;
7772:armor.c       ****       
7773:armor.c       ****       L0C96://        PSHS  A                       ; 0C96: 34 02         
7774:armor.c       ****       memory[--S] = A;
 11442              		.loc 1 7774 0
 11443 b3e7 6683ADC8 		subw	$1, -65592(%ebp)
 11443      FFFEFF01 
 11444 b3ef 0FB785C8 		movzwl	-65592(%ebp), %eax
 11444      FFFEFF
 11445 b3f6 8B95E0FF 		movl	-65568(%ebp), %edx
 11445      FEFF
 11446 b3fc 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11446      FFFEFF
7775:armor.c       ****       
7776:armor.c       ****             //        ORB   ,S+                     ; 0C98: EA E0         
7777:armor.c       ****       B = B | memory[S++];
 11447              		.loc 1 7777 0
 11448 b403 0FB785C8 		movzwl	-65592(%ebp), %eax
 11448      FFFEFF
 11449 b40a 8D5001   		leal	1(%eax), %edx
 11450 b40d 668995C8 		movw	%dx, -65592(%ebp)
 11450      FFFEFF
 11451 b414 0FB7C0   		movzwl	%ax, %eax
 11452 b417 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11452      F4FFFEFF 
 11453 b41f 0FB6C0   		movzbl	%al, %eax
 11454 b422 0985E4FF 		orl	%eax, -65564(%ebp)
 11454      FEFF
7778:armor.c       ****   //  Z = B;
7779:armor.c       ****   //  N = B;
7780:armor.c       ****   //  V = 0;
7781:armor.c       ****       
7782:armor.c       ****             //        LDA   <$36                    ; 0C9A: 96 36         
7783:armor.c       ****       A = memory_DP[0x36];
 11455              		.loc 1 7783 0
 11456 b428 8B85DCFF 		movl	-65572(%ebp), %eax
 11456      FEFF
 11457 b42e 83C036   		addl	$54, %eax
 11458 b431 0FB600   		movzbl	(%eax), %eax
 11459 b434 0FB6C0   		movzbl	%al, %eax
 11460 b437 8985E0FF 		movl	%eax, -65568(%ebp)
 11460      FEFF
7784:armor.c       ****       N = A;
 11461              		.loc 1 7784 0
 11462 b43d 8B85E0FF 		movl	-65568(%ebp), %eax
 11462      FEFF
 11463 b443 8885C1FF 		movb	%al, -65599(%ebp)
 11463      FEFF
7785:armor.c       ****       Z = A;
 11464              		.loc 1 7785 0
 11465 b449 8B85E0FF 		movl	-65568(%ebp), %eax
 11465      FEFF
GAS LISTING /tmp/ccqXEnet.s 			page 446


 11466 b44f 668985CC 		movw	%ax, -65588(%ebp)
 11466      FFFEFF
7786:armor.c       ****       V = 0;
 11467              		.loc 1 7786 0
 11468 b456 C685C2FF 		movb	$0, -65598(%ebp)
 11468      FEFF00
7787:armor.c       ****       
7788:armor.c       ****             //        RTS                           ; 0C9C: 39            
7789:armor.c       ****       PC = memory[S++]<<8;
 11469              		.loc 1 7789 0
 11470 b45d 0FB785C8 		movzwl	-65592(%ebp), %eax
 11470      FFFEFF
 11471 b464 8D5001   		leal	1(%eax), %edx
 11472 b467 668995C8 		movw	%dx, -65592(%ebp)
 11472      FFFEFF
 11473 b46e 0FB7C0   		movzwl	%ax, %eax
 11474 b471 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11474      F4FFFEFF 
 11475 b479 0FB6C0   		movzbl	%al, %eax
 11476 b47c C1E008   		sall	$8, %eax
 11477 b47f 668985CA 		movw	%ax, -65590(%ebp)
 11477      FFFEFF
7790:armor.c       ****       PC |= memory[S++];
 11478              		.loc 1 7790 0
 11479 b486 0FB785C8 		movzwl	-65592(%ebp), %eax
 11479      FFFEFF
 11480 b48d 8D5001   		leal	1(%eax), %edx
 11481 b490 668995C8 		movw	%dx, -65592(%ebp)
 11481      FFFEFF
 11482 b497 0FB7C0   		movzwl	%ax, %eax
 11483 b49a 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11483      F4FFFEFF 
 11484 b4a2 0FB6C0   		movzbl	%al, %eax
 11485 b4a5 660985CA 		orw	%ax, -65590(%ebp)
 11485      FFFEFF
 11486              	.L431:
7791:armor.c       ****       JUMP;
7792:armor.c       ****       
7793:armor.c       ****       
7794:armor.c       ****       L0CAC://        LEAY  ,X                      ; 0CAC: 31 84         
7795:armor.c       ****       Y = X;
 11487              		.loc 1 7795 0
 11488 b4ac 0FB785C6 		movzwl	-65594(%ebp), %eax
 11488      FFFEFF
 11489 b4b3 668985D2 		movw	%ax, -65582(%ebp)
 11489      FFFEFF
7796:armor.c       ****   //  Z = Y;
7797:armor.c       ****       
7798:armor.c       ****             //        LDA   #$04                    ; 0CAE: 86 04         
7799:armor.c       ****       A = (SINT8)0x04;
 11490              		.loc 1 7799 0
 11491 b4ba C785E0FF 		movl	$4, -65568(%ebp)
 11491      FEFF0400 
 11491      0000
7800:armor.c       ****   //  N = A;
7801:armor.c       ****   //  Z = A;
7802:armor.c       ****   //  V = 0;
GAS LISTING /tmp/ccqXEnet.s 			page 447


7803:armor.c       ****       
7804:armor.c       ****             //        PSHS  B,A                     ; 0CB0: 34 06         
7805:armor.c       ****       memory[--S] = B;
 11492              		.loc 1 7805 0
 11493 b4c4 6683ADC8 		subw	$1, -65592(%ebp)
 11493      FFFEFF01 
 11494 b4cc 0FB785C8 		movzwl	-65592(%ebp), %eax
 11494      FFFEFF
 11495 b4d3 8B95E4FF 		movl	-65564(%ebp), %edx
 11495      FEFF
 11496 b4d9 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11496      FFFEFF
7806:armor.c       ****       memory[--S] = A;
 11497              		.loc 1 7806 0
 11498 b4e0 6683ADC8 		subw	$1, -65592(%ebp)
 11498      FFFEFF01 
 11499 b4e8 0FB785C8 		movzwl	-65592(%ebp), %eax
 11499      FFFEFF
 11500 b4ef 8B95E0FF 		movl	-65568(%ebp), %edx
 11500      FEFF
 11501 b4f5 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11501      FFFEFF
7807:armor.c       ****       
7808:armor.c       ****             //        LDB   #$04                    ; 0CB2: C6 04         
7809:armor.c       ****       B = (SINT8)0x04;
 11502              		.loc 1 7809 0
 11503 b4fc C785E4FF 		movl	$4, -65564(%ebp)
 11503      FEFF0400 
 11503      0000
7810:armor.c       ****   //  N = B;
7811:armor.c       ****   //  Z = B;
7812:armor.c       ****   //  V = 0;
7813:armor.c       ****       
7814:armor.c       ****             //        PSHS  B,A                     ; 0CB4: 34 06         
7815:armor.c       ****       memory[--S] = B;
 11504              		.loc 1 7815 0
 11505 b506 6683ADC8 		subw	$1, -65592(%ebp)
 11505      FFFEFF01 
 11506 b50e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11506      FFFEFF
 11507 b515 8B95E4FF 		movl	-65564(%ebp), %edx
 11507      FEFF
 11508 b51b 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11508      FFFEFF
7816:armor.c       ****       memory[--S] = A;
 11509              		.loc 1 7816 0
 11510 b522 6683ADC8 		subw	$1, -65592(%ebp)
 11510      FFFEFF01 
 11511 b52a 0FB785C8 		movzwl	-65592(%ebp), %eax
 11511      FFFEFF
 11512 b531 8B95E0FF 		movl	-65568(%ebp), %edx
 11512      FEFF
 11513 b537 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11513      FFFEFF
 11514              	.L432:
7817:armor.c       ****       
7818:armor.c       ****       L0CB6://        LDA   $01,S                   ; 0CB6: A6 61         
GAS LISTING /tmp/ccqXEnet.s 			page 448


7819:armor.c       ****       A = memory[(UINT16)(S + 0x0001)];
 11515              		.loc 1 7819 0
 11516 b53e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11516      FFFEFF
 11517 b545 83C001   		addl	$1, %eax
 11518 b548 0FB7C0   		movzwl	%ax, %eax
 11519 b54b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11519      F4FFFEFF 
 11520 b553 0FB6C0   		movzbl	%al, %eax
 11521 b556 8985E0FF 		movl	%eax, -65568(%ebp)
 11521      FEFF
 11522              	.L433:
7820:armor.c       ****   //  N = A;
7821:armor.c       ****   //  Z = A;
7822:armor.c       ****   //  V = 0;
7823:armor.c       ****       
7824:armor.c       ****       L0CB8://        ADDA  #$10                    ; 0CB8: 8B 10         
7825:armor.c       ****       A = (UINT8)(A + (SINT8)0x10);
 11523              		.loc 1 7825 0
 11524 b55c 8B85E0FF 		movl	-65568(%ebp), %eax
 11524      FEFF
 11525 b562 83C010   		addl	$16, %eax
 11526 b565 0FB6C0   		movzbl	%al, %eax
 11527 b568 8985E0FF 		movl	%eax, -65568(%ebp)
 11527      FEFF
7826:armor.c       ****   //  res = A + (SINT8)0x10;
7827:armor.c       ****   //  C = res & 0x100;
7828:armor.c       ****   //  res = (UINT8)res;
7829:armor.c       ****   //  Z = res;
7830:armor.c       ****   //  N = res;
7831:armor.c       ****   //  res = A ^ (SINT8)0x10 ^ res ^ C;
7832:armor.c       ****   //  H = res;
7833:armor.c       ****   //  V = res;
7834:armor.c       ****       
7835:armor.c       ****             //        STA   $01,S                   ; 0CBA: A7 61         
7836:armor.c       ****   //  Z = A;
7837:armor.c       ****   //  N = A;
7838:armor.c       ****   //  V = 0;
7839:armor.c       ****       memory[(UINT16)(S + 0x0001)] = A;
 11528              		.loc 1 7839 0
 11529 b56e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11529      FFFEFF
 11530 b575 83C001   		addl	$1, %eax
 11531 b578 0FB7C0   		movzwl	%ax, %eax
 11532 b57b 8B95E0FF 		movl	-65568(%ebp), %edx
 11532      FEFF
 11533 b581 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11533      FFFEFF
7840:armor.c       ****       
7841:armor.c       ****             //        LDB   $03,S                   ; 0CBC: E6 63         
7842:armor.c       ****       B = memory[(UINT16)(S + 0x0003)];
 11534              		.loc 1 7842 0
 11535 b588 0FB785C8 		movzwl	-65592(%ebp), %eax
 11535      FFFEFF
 11536 b58f 83C003   		addl	$3, %eax
 11537 b592 0FB7C0   		movzwl	%ax, %eax
 11538 b595 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 449


 11538      F4FFFEFF 
 11539 b59d 0FB6C0   		movzbl	%al, %eax
 11540 b5a0 8985E4FF 		movl	%eax, -65564(%ebp)
 11540      FEFF
7843:armor.c       ****   //  N = B;
7844:armor.c       ****   //  Z = B;
7845:armor.c       ****   //  V = 0;
7846:armor.c       ****       
7847:armor.c       ****             //        JSR   Rot_VL_ab               ; 0CBE: BD F6 10      
7848:armor.c       ****       memory[--S] = 0x0cc1 & 0xff; memory[--S] = 0x0cc1 >> 8;
 11541              		.loc 1 7848 0
 11542 b5a6 6683ADC8 		subw	$1, -65592(%ebp)
 11542      FFFEFF01 
 11543 b5ae 0FB785C8 		movzwl	-65592(%ebp), %eax
 11543      FFFEFF
 11544 b5b5 C68405F4 		movb	$-63, -65548(%ebp,%eax)
 11544      FFFEFFC1 
 11545 b5bd 6683ADC8 		subw	$1, -65592(%ebp)
 11545      FFFEFF01 
 11546 b5c5 0FB785C8 		movzwl	-65592(%ebp), %eax
 11546      FFFEFF
 11547 b5cc C68405F4 		movb	$12, -65548(%ebp,%eax)
 11547      FFFEFF0C 
7849:armor.c       ****       PC = 0xf610;
 11548              		.loc 1 7849 0
 11549 b5d4 66C785CA 		movw	$-2544, -65590(%ebp)
 11549      FFFEFF10 
 11549      F6
7850:armor.c       ****       JUMP;
7851:armor.c       ****       DP = 0xc8 << 8; memory_DP = &memory[DP]; // Unfortunately this should be inserted after the l
 11550              		.loc 1 7851 0
 11551 b5dd 66C785C4 		movw	$-14336, -65596(%ebp)
 11551      FFFEFF00 
 11551      C8
 11552 b5e6 0FB785C4 		movzwl	-65596(%ebp), %eax
 11552      FFFEFF
 11553 b5ed 8D95F4FF 		leal	-65548(%ebp), %edx
 11553      FEFF
 11554 b5f3 01D0     		addl	%edx, %eax
 11555 b5f5 8985DCFF 		movl	%eax, -65572(%ebp)
 11555      FEFF
 11556              	.L434:
7852:armor.c       ****       
7853:armor.c       ****       L0CC1://        LEAX  ,Y                      ; 0CC1: 30 A4         
7854:armor.c       ****       X = Y;
 11557              		.loc 1 7854 0
 11558 b5fb 0FB785D2 		movzwl	-65582(%ebp), %eax
 11558      FFFEFF
 11559 b602 668985C6 		movw	%ax, -65594(%ebp)
 11559      FFFEFF
7855:armor.c       ****   //  Z = X;
7856:armor.c       ****       
7857:armor.c       ****             //        DEC   ,S                      ; 0CC3: 6A E4         
7858:armor.c       ****       res = (UINT8)(memory[S] - 1);
 11560              		.loc 1 7858 0
 11561 b609 0FB785C8 		movzwl	-65592(%ebp), %eax
 11561      FFFEFF
GAS LISTING /tmp/ccqXEnet.s 			page 450


 11562 b610 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11562      F4FFFEFF 
 11563 b618 83E801   		subl	$1, %eax
 11564 b61b 0FB6C0   		movzbl	%al, %eax
 11565 b61e 8985E8FF 		movl	%eax, -65560(%ebp)
 11565      FEFF
7859:armor.c       ****   //  N = res;
7860:armor.c       ****       Z = res;
 11566              		.loc 1 7860 0
 11567 b624 8B85E8FF 		movl	-65560(%ebp), %eax
 11567      FEFF
 11568 b62a 668985CC 		movw	%ax, -65588(%ebp)
 11568      FFFEFF
7861:armor.c       ****   //  V = memory[S] & ~res;
7862:armor.c       ****       memory[S] = res;
 11569              		.loc 1 7862 0
 11570 b631 0FB785C8 		movzwl	-65592(%ebp), %eax
 11570      FFFEFF
 11571 b638 8B95E8FF 		movl	-65560(%ebp), %edx
 11571      FEFF
 11572 b63e 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11572      FFFEFF
7863:armor.c       ****       
7864:armor.c       ****             //        BNE   $0CB6                   ; 0CC5: 26 EF         
7865:armor.c       ****       if (Z) {
 11573              		.loc 1 7865 0
 11574 b645 6683BDCC 		cmpw	$0, -65588(%ebp)
 11574      FFFEFF00 
 11575 b64d 7409     		je	.L435
7866:armor.c       ****       PC = 0x0cb6;
 11576              		.loc 1 7866 0
 11577 b64f 66C785CA 		movw	$3254, -65590(%ebp)
 11577      FFFEFFB6 
 11577      0C
 11578              	.L435:
7867:armor.c       ****       JUMP;
7868:armor.c       ****       }
7869:armor.c       ****       
7870:armor.c       ****             //        LDA   #$04                    ; 0CC7: 86 04         
7871:armor.c       ****       A = (SINT8)0x04;
 11579              		.loc 1 7871 0
 11580 b658 C785E0FF 		movl	$4, -65568(%ebp)
 11580      FEFF0400 
 11580      0000
7872:armor.c       ****   //  N = A;
7873:armor.c       ****   //  Z = A;
7874:armor.c       ****   //  V = 0;
7875:armor.c       ****       
7876:armor.c       ****             //        STA   ,S                      ; 0CC9: A7 E4         
7877:armor.c       ****   //  Z = A;
7878:armor.c       ****   //  N = A;
7879:armor.c       ****   //  V = 0;
7880:armor.c       ****       memory[S] = A;
 11581              		.loc 1 7880 0
 11582 b662 0FB785C8 		movzwl	-65592(%ebp), %eax
 11582      FFFEFF
 11583 b669 8B95E0FF 		movl	-65568(%ebp), %edx
GAS LISTING /tmp/ccqXEnet.s 			page 451


 11583      FEFF
 11584 b66f 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11584      FFFEFF
7881:armor.c       ****       
7882:armor.c       ****             //        ADDA  $01,S                   ; 0CCB: AB 61         
7883:armor.c       ****       A = (UINT8)(A + memory[(UINT16)(S + 0x0001)]);
 11585              		.loc 1 7883 0
 11586 b676 8B85E0FF 		movl	-65568(%ebp), %eax
 11586      FEFF
 11587 b67c 89C2     		movl	%eax, %edx
 11588 b67e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11588      FFFEFF
 11589 b685 83C001   		addl	$1, %eax
 11590 b688 0FB7C0   		movzwl	%ax, %eax
 11591 b68b 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11591      F4FFFEFF 
 11592 b693 01D0     		addl	%edx, %eax
 11593 b695 0FB6C0   		movzbl	%al, %eax
 11594 b698 8985E0FF 		movl	%eax, -65568(%ebp)
 11594      FEFF
7884:armor.c       ****       res = A + memory[(UINT16)(S + 0x0001)];
 11595              		.loc 1 7884 0
 11596 b69e 0FB785C8 		movzwl	-65592(%ebp), %eax
 11596      FFFEFF
 11597 b6a5 83C001   		addl	$1, %eax
 11598 b6a8 0FB7C0   		movzwl	%ax, %eax
 11599 b6ab 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11599      F4FFFEFF 
 11600 b6b3 0FB6D0   		movzbl	%al, %edx
 11601 b6b6 8B85E0FF 		movl	-65568(%ebp), %eax
 11601      FEFF
 11602 b6bc 01D0     		addl	%edx, %eax
 11603 b6be 8985E8FF 		movl	%eax, -65560(%ebp)
 11603      FEFF
7885:armor.c       ****       C = res & 0x100;
 11604              		.loc 1 7885 0
 11605 b6c4 8B85E8FF 		movl	-65560(%ebp), %eax
 11605      FEFF
 11606 b6ca 25000100 		andl	$256, %eax
 11606      00
 11607 b6cf 8985ECFF 		movl	%eax, -65556(%ebp)
 11607      FEFF
7886:armor.c       ****       res = (UINT8)res;
 11608              		.loc 1 7886 0
 11609 b6d5 8B85E8FF 		movl	-65560(%ebp), %eax
 11609      FEFF
 11610 b6db 0FB6C0   		movzbl	%al, %eax
 11611 b6de 8985E8FF 		movl	%eax, -65560(%ebp)
 11611      FEFF
7887:armor.c       ****   //  Z = res;
7888:armor.c       ****   //  N = res;
7889:armor.c       ****       res = A ^ memory[(UINT16)(S + 0x0001)] ^ res ^ C;
 11612              		.loc 1 7889 0
 11613 b6e4 0FB785C8 		movzwl	-65592(%ebp), %eax
 11613      FFFEFF
 11614 b6eb 83C001   		addl	$1, %eax
 11615 b6ee 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 452


 11616 b6f1 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11616      F4FFFEFF 
 11617 b6f9 0FB6C0   		movzbl	%al, %eax
 11618 b6fc 3385E0FF 		xorl	-65568(%ebp), %eax
 11618      FEFF
 11619 b702 3385E8FF 		xorl	-65560(%ebp), %eax
 11619      FEFF
 11620 b708 3385ECFF 		xorl	-65556(%ebp), %eax
 11620      FEFF
 11621 b70e 8985E8FF 		movl	%eax, -65560(%ebp)
 11621      FEFF
7890:armor.c       ****       H = res;
 11622              		.loc 1 7890 0
 11623 b714 8B85E8FF 		movl	-65560(%ebp), %eax
 11623      FEFF
 11624 b71a 8885C3FF 		movb	%al, -65597(%ebp)
 11624      FEFF
7891:armor.c       ****   //  V = res;
7892:armor.c       ****       
7893:armor.c       ****             //        DEC   $02,S                   ; 0CCD: 6A 62         
7894:armor.c       ****       res = (UINT8)(memory[(UINT16)(S + 0x0002)] - 1);
 11625              		.loc 1 7894 0
 11626 b720 0FB785C8 		movzwl	-65592(%ebp), %eax
 11626      FFFEFF
 11627 b727 83C002   		addl	$2, %eax
 11628 b72a 0FB7C0   		movzwl	%ax, %eax
 11629 b72d 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11629      F4FFFEFF 
 11630 b735 83E801   		subl	$1, %eax
 11631 b738 0FB6C0   		movzbl	%al, %eax
 11632 b73b 8985E8FF 		movl	%eax, -65560(%ebp)
 11632      FEFF
7895:armor.c       ****       N = res;
 11633              		.loc 1 7895 0
 11634 b741 8B85E8FF 		movl	-65560(%ebp), %eax
 11634      FEFF
 11635 b747 8885C1FF 		movb	%al, -65599(%ebp)
 11635      FEFF
7896:armor.c       ****       Z = res;
 11636              		.loc 1 7896 0
 11637 b74d 8B85E8FF 		movl	-65560(%ebp), %eax
 11637      FEFF
 11638 b753 668985CC 		movw	%ax, -65588(%ebp)
 11638      FFFEFF
7897:armor.c       ****       V = memory[(UINT16)(S + 0x0002)] & ~res;
 11639              		.loc 1 7897 0
 11640 b75a 0FB785C8 		movzwl	-65592(%ebp), %eax
 11640      FFFEFF
 11641 b761 83C002   		addl	$2, %eax
 11642 b764 0FB7C0   		movzwl	%ax, %eax
 11643 b767 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11643      F4FFFEFF 
 11644 b76f 89C2     		movl	%eax, %edx
 11645 b771 8B85E8FF 		movl	-65560(%ebp), %eax
 11645      FEFF
 11646 b777 F7D0     		notl	%eax
 11647 b779 21D0     		andl	%edx, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 453


 11648 b77b 8885C2FF 		movb	%al, -65598(%ebp)
 11648      FEFF
7898:armor.c       ****       memory[(UINT16)(S + 0x0002)] = res;
 11649              		.loc 1 7898 0
 11650 b781 0FB785C8 		movzwl	-65592(%ebp), %eax
 11650      FFFEFF
 11651 b788 83C002   		addl	$2, %eax
 11652 b78b 0FB7C0   		movzwl	%ax, %eax
 11653 b78e 8B95E8FF 		movl	-65560(%ebp), %edx
 11653      FEFF
 11654 b794 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11654      FFFEFF
7899:armor.c       ****       
7900:armor.c       ****             //        BNE   $0CB8                   ; 0CCF: 26 E7         
7901:armor.c       ****       if (Z) {
 11655              		.loc 1 7901 0
 11656 b79b 6683BDCC 		cmpw	$0, -65588(%ebp)
 11656      FFFEFF00 
 11657 b7a3 7409     		je	.L436
7902:armor.c       ****       PC = 0x0cb8;
 11658              		.loc 1 7902 0
 11659 b7a5 66C785CA 		movw	$3256, -65590(%ebp)
 11659      FFFEFFB8 
 11659      0C
 11660              	.L436:
7903:armor.c       ****       JUMP;
7904:armor.c       ****       }
7905:armor.c       ****       
7906:armor.c       ****             //        LEAS  $04,S                   ; 0CD1: 32 64         
7907:armor.c       ****       S = (S + 0x0004);
 11661              		.loc 1 7907 0
 11662 b7ae 668385C8 		addw	$4, -65592(%ebp)
 11662      FFFEFF04 
7908:armor.c       ****       
7909:armor.c       ****             //        RTS                           ; 0CD3: 39            
7910:armor.c       ****       PC = memory[S++]<<8;
 11663              		.loc 1 7910 0
 11664 b7b6 0FB785C8 		movzwl	-65592(%ebp), %eax
 11664      FFFEFF
 11665 b7bd 8D5001   		leal	1(%eax), %edx
 11666 b7c0 668995C8 		movw	%dx, -65592(%ebp)
 11666      FFFEFF
 11667 b7c7 0FB7C0   		movzwl	%ax, %eax
 11668 b7ca 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11668      F4FFFEFF 
 11669 b7d2 0FB6C0   		movzbl	%al, %eax
 11670 b7d5 C1E008   		sall	$8, %eax
 11671 b7d8 668985CA 		movw	%ax, -65590(%ebp)
 11671      FFFEFF
7911:armor.c       ****       PC |= memory[S++];
 11672              		.loc 1 7911 0
 11673 b7df 0FB785C8 		movzwl	-65592(%ebp), %eax
 11673      FFFEFF
 11674 b7e6 8D5001   		leal	1(%eax), %edx
 11675 b7e9 668995C8 		movw	%dx, -65592(%ebp)
 11675      FFFEFF
 11676 b7f0 0FB7C0   		movzwl	%ax, %eax
GAS LISTING /tmp/ccqXEnet.s 			page 454


 11677 b7f3 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11677      F4FFFEFF 
 11678 b7fb 0FB6C0   		movzbl	%al, %eax
 11679 b7fe 660985CA 		orw	%ax, -65590(%ebp)
 11679      FFFEFF
 11680              	.L437:
7912:armor.c       ****       JUMP;
7913:armor.c       ****       
7914:armor.c       ****       
7915:armor.c       ****       L0CD4://        LDX   #$C900                  ; 0CD4: 8E C9 00      
7916:armor.c       ****       X = 0xc900;
 11681              		.loc 1 7916 0
 11682 b805 66C785C6 		movw	$-14080, -65594(%ebp)
 11682      FFFEFF00 
 11682      C9
7917:armor.c       ****   //  Z = X;
7918:armor.c       ****   //  N = (X) >> 8;
7919:armor.c       ****   //  V = 0;
7920:armor.c       ****       
7921:armor.c       ****             //        LDD   #$0340                  ; 0CD7: CC 03 40      
7922:armor.c       ****       A = (UINT8)((0x0340) >> 8);
 11683              		.loc 1 7922 0
 11684 b80e C785E0FF 		movl	$3, -65568(%ebp)
 11684      FEFF0300 
 11684      0000
7923:armor.c       ****       B = (UINT8)((0x0340) & 0xff);
 11685              		.loc 1 7923 0
 11686 b818 C785E4FF 		movl	$64, -65564(%ebp)
 11686      FEFF4000 
 11686      0000
 11687              	.L438:
7924:armor.c       ****   //  Z = A|B;
7925:armor.c       ****   //  N = A;
7926:armor.c       ****   //  V = 0;
7927:armor.c       ****       
7928:armor.c       ****       L0CDA://        CLR   ,X                      ; 0CDA: 6F 84         
7929:armor.c       ****       memory[X] = 0;
 11688              		.loc 1 7929 0
 11689 b822 0FB785C6 		movzwl	-65594(%ebp), %eax
 11689      FFFEFF
 11690 b829 C68405F4 		movb	$0, -65548(%ebp,%eax)
 11690      FFFEFF00 
7930:armor.c       ****   //  V = 0;
7931:armor.c       ****   //  Z = 0;
7932:armor.c       ****   //  N = 0;
7933:armor.c       ****       C = 0;
 11691              		.loc 1 7933 0
 11692 b831 C785ECFF 		movl	$0, -65556(%ebp)
 11692      FEFF0000 
 11692      0000
7934:armor.c       ****       
7935:armor.c       ****             //        ABX                           ; 0CDC: 3A            
7936:armor.c       ****       X = X + B;
 11693              		.loc 1 7936 0
 11694 b83b 8B85E4FF 		movl	-65564(%ebp), %eax
 11694      FEFF
 11695 b841 660185C6 		addw	%ax, -65594(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 455


 11695      FFFEFF
7937:armor.c       ****       
7938:armor.c       ****             //        DECA                          ; 0CDD: 4A            
7939:armor.c       ****       res = (UINT8)(A - 1);
 11696              		.loc 1 7939 0
 11697 b848 8B85E0FF 		movl	-65568(%ebp), %eax
 11697      FEFF
 11698 b84e 83E801   		subl	$1, %eax
 11699 b851 0FB6C0   		movzbl	%al, %eax
 11700 b854 8985E8FF 		movl	%eax, -65560(%ebp)
 11700      FEFF
7940:armor.c       ****       N = res;
 11701              		.loc 1 7940 0
 11702 b85a 8B85E8FF 		movl	-65560(%ebp), %eax
 11702      FEFF
 11703 b860 8885C1FF 		movb	%al, -65599(%ebp)
 11703      FEFF
7941:armor.c       ****       Z = res;
 11704              		.loc 1 7941 0
 11705 b866 8B85E8FF 		movl	-65560(%ebp), %eax
 11705      FEFF
 11706 b86c 668985CC 		movw	%ax, -65588(%ebp)
 11706      FFFEFF
7942:armor.c       ****       V = A & ~res;
 11707              		.loc 1 7942 0
 11708 b873 8B85E8FF 		movl	-65560(%ebp), %eax
 11708      FEFF
 11709 b879 F7D0     		notl	%eax
 11710 b87b 89C2     		movl	%eax, %edx
 11711 b87d 8B85E0FF 		movl	-65568(%ebp), %eax
 11711      FEFF
 11712 b883 21D0     		andl	%edx, %eax
 11713 b885 8885C2FF 		movb	%al, -65598(%ebp)
 11713      FEFF
7943:armor.c       ****       A = res;
 11714              		.loc 1 7943 0
 11715 b88b 8B85E8FF 		movl	-65560(%ebp), %eax
 11715      FEFF
 11716 b891 8985E0FF 		movl	%eax, -65568(%ebp)
 11716      FEFF
7944:armor.c       ****       
7945:armor.c       ****             //        BNE   $0CDA                   ; 0CDE: 26 FA         
7946:armor.c       ****       if (Z) {
 11717              		.loc 1 7946 0
 11718 b897 6683BDCC 		cmpw	$0, -65588(%ebp)
 11718      FFFEFF00 
 11719 b89f 7409     		je	.L439
7947:armor.c       ****       PC = 0x0cda;
 11720              		.loc 1 7947 0
 11721 b8a1 66C785CA 		movw	$3290, -65590(%ebp)
 11721      FFFEFFDA 
 11721      0C
 11722              	.L439:
7948:armor.c       ****       JUMP;
7949:armor.c       ****       }
7950:armor.c       ****       
7951:armor.c       ****             //        RTS                           ; 0CE0: 39            
GAS LISTING /tmp/ccqXEnet.s 			page 456


7952:armor.c       ****       PC = memory[S++]<<8;
 11723              		.loc 1 7952 0
 11724 b8aa 0FB785C8 		movzwl	-65592(%ebp), %eax
 11724      FFFEFF
 11725 b8b1 8D5001   		leal	1(%eax), %edx
 11726 b8b4 668995C8 		movw	%dx, -65592(%ebp)
 11726      FFFEFF
 11727 b8bb 0FB7C0   		movzwl	%ax, %eax
 11728 b8be 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11728      F4FFFEFF 
 11729 b8c6 0FB6C0   		movzbl	%al, %eax
 11730 b8c9 C1E008   		sall	$8, %eax
 11731 b8cc 668985CA 		movw	%ax, -65590(%ebp)
 11731      FFFEFF
7953:armor.c       ****       PC |= memory[S++];
 11732              		.loc 1 7953 0
 11733 b8d3 0FB785C8 		movzwl	-65592(%ebp), %eax
 11733      FFFEFF
 11734 b8da 8D5001   		leal	1(%eax), %edx
 11735 b8dd 668995C8 		movw	%dx, -65592(%ebp)
 11735      FFFEFF
 11736 b8e4 0FB7C0   		movzwl	%ax, %eax
 11737 b8e7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11737      F4FFFEFF 
 11738 b8ef 0FB6C0   		movzbl	%al, %eax
 11739 b8f2 660985CA 		orw	%ax, -65590(%ebp)
 11739      FFFEFF
 11740              	.L440:
7954:armor.c       ****       JUMP;
7955:armor.c       ****       
7956:armor.c       ****       
7957:armor.c       ****       L0CE1://        PSHS  B,A                     ; 0CE1: 34 06         
7958:armor.c       ****       memory[--S] = B;
 11741              		.loc 1 7958 0
 11742 b8f9 6683ADC8 		subw	$1, -65592(%ebp)
 11742      FFFEFF01 
 11743 b901 0FB785C8 		movzwl	-65592(%ebp), %eax
 11743      FFFEFF
 11744 b908 8B95E4FF 		movl	-65564(%ebp), %edx
 11744      FEFF
 11745 b90e 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11745      FFFEFF
7959:armor.c       ****       memory[--S] = A;
 11746              		.loc 1 7959 0
 11747 b915 6683ADC8 		subw	$1, -65592(%ebp)
 11747      FFFEFF01 
 11748 b91d 0FB785C8 		movzwl	-65592(%ebp), %eax
 11748      FFFEFF
 11749 b924 8B95E0FF 		movl	-65568(%ebp), %edx
 11749      FEFF
 11750 b92a 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11750      FFFEFF
7960:armor.c       ****       
7961:armor.c       ****             //        JSR   Random                  ; 0CE3: BD F5 17      
7962:armor.c       ****       memory[--S] = 0x0ce6 & 0xff; memory[--S] = 0x0ce6 >> 8;
 11751              		.loc 1 7962 0
 11752 b931 6683ADC8 		subw	$1, -65592(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 457


 11752      FFFEFF01 
 11753 b939 0FB785C8 		movzwl	-65592(%ebp), %eax
 11753      FFFEFF
 11754 b940 C68405F4 		movb	$-26, -65548(%ebp,%eax)
 11754      FFFEFFE6 
 11755 b948 6683ADC8 		subw	$1, -65592(%ebp)
 11755      FFFEFF01 
 11756 b950 0FB785C8 		movzwl	-65592(%ebp), %eax
 11756      FFFEFF
 11757 b957 C68405F4 		movb	$12, -65548(%ebp,%eax)
 11757      FFFEFF0C 
7963:armor.c       ****       PC = 0xf517;
 11758              		.loc 1 7963 0
 11759 b95f 66C785CA 		movw	$-2793, -65590(%ebp)
 11759      FFFEFF17 
 11759      F5
 11760              	.L441:
7964:armor.c       ****       JUMP;
7965:armor.c       ****       
7966:armor.c       ****       L0CE6://        ANDA  ,S+                     ; 0CE6: A4 E0         
7967:armor.c       ****       A = A & memory[S++];
 11761              		.loc 1 7967 0
 11762 b968 0FB785C8 		movzwl	-65592(%ebp), %eax
 11762      FFFEFF
 11763 b96f 8D5001   		leal	1(%eax), %edx
 11764 b972 668995C8 		movw	%dx, -65592(%ebp)
 11764      FFFEFF
 11765 b979 0FB7C0   		movzwl	%ax, %eax
 11766 b97c 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11766      F4FFFEFF 
 11767 b984 0FB6C0   		movzbl	%al, %eax
 11768 b987 2185E0FF 		andl	%eax, -65568(%ebp)
 11768      FEFF
7968:armor.c       ****   //  Z = A;
7969:armor.c       ****   //  N = A;
7970:armor.c       ****   //  V = 0;
7971:armor.c       ****       
7972:armor.c       ****             //        LEAU  A,U                     ; 0CE8: 33 C6         
7973:armor.c       ****       U = (U + (SINT8)A);
 11769              		.loc 1 7973 0
 11770 b98d 8B85E0FF 		movl	-65568(%ebp), %eax
 11770      FEFF
 11771 b993 6698     		cbtw
 11772 b995 660185CE 		addw	%ax, -65586(%ebp)
 11772      FFFEFF
7974:armor.c       ****       
7975:armor.c       ****             //        PULS  A                       ; 0CEA: 35 02         
7976:armor.c       ****       A = memory[S++];
 11773              		.loc 1 7976 0
 11774 b99c 0FB785C8 		movzwl	-65592(%ebp), %eax
 11774      FFFEFF
 11775 b9a3 8D5001   		leal	1(%eax), %edx
 11776 b9a6 668995C8 		movw	%dx, -65592(%ebp)
 11776      FFFEFF
 11777 b9ad 0FB7C0   		movzwl	%ax, %eax
 11778 b9b0 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11778      F4FFFEFF 
GAS LISTING /tmp/ccqXEnet.s 			page 458


 11779 b9b8 0FB6C0   		movzbl	%al, %eax
 11780 b9bb 8985E0FF 		movl	%eax, -65568(%ebp)
 11780      FEFF
 11781              	.L442:
7977:armor.c       ****       
7978:armor.c       ****       L0CEC://        LDB   ,U+                     ; 0CEC: E6 C0         
7979:armor.c       ****       B = memory[U++];
 11782              		.loc 1 7979 0
 11783 b9c1 0FB785CE 		movzwl	-65586(%ebp), %eax
 11783      FFFEFF
 11784 b9c8 8D5001   		leal	1(%eax), %edx
 11785 b9cb 668995CE 		movw	%dx, -65586(%ebp)
 11785      FFFEFF
 11786 b9d2 0FB7C0   		movzwl	%ax, %eax
 11787 b9d5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11787      F4FFFEFF 
 11788 b9dd 0FB6C0   		movzbl	%al, %eax
 11789 b9e0 8985E4FF 		movl	%eax, -65564(%ebp)
 11789      FEFF
7980:armor.c       ****   //  N = B;
7981:armor.c       ****   //  Z = B;
7982:armor.c       ****   //  V = 0;
7983:armor.c       ****       
7984:armor.c       ****             //        ASRB                          ; 0CEE: 57            
7985:armor.c       ****   //  C = B & 1;
7986:armor.c       ****       B = (UINT8)(B >> 1);
 11790              		.loc 1 7986 0
 11791 b9e6 8B85E4FF 		movl	-65564(%ebp), %eax
 11791      FEFF
 11792 b9ec D1F8     		sarl	%eax
 11793 b9ee 0FB6C0   		movzbl	%al, %eax
 11794 b9f1 8985E4FF 		movl	%eax, -65564(%ebp)
 11794      FEFF
7987:armor.c       ****   //  Z = B;
7988:armor.c       ****   //  N = B;
7989:armor.c       ****       
7990:armor.c       ****             //        ASRB                          ; 0CEF: 57            
7991:armor.c       ****       C = B & 1;
 11795              		.loc 1 7991 0
 11796 b9f7 8B85E4FF 		movl	-65564(%ebp), %eax
 11796      FEFF
 11797 b9fd 83E001   		andl	$1, %eax
 11798 ba00 8985ECFF 		movl	%eax, -65556(%ebp)
 11798      FEFF
7992:armor.c       ****       B = (UINT8)(B >> 1);
 11799              		.loc 1 7992 0
 11800 ba06 8B85E4FF 		movl	-65564(%ebp), %eax
 11800      FEFF
 11801 ba0c D1F8     		sarl	%eax
 11802 ba0e 0FB6C0   		movzbl	%al, %eax
 11803 ba11 8985E4FF 		movl	%eax, -65564(%ebp)
 11803      FEFF
7993:armor.c       ****   //  Z = B;
7994:armor.c       ****   //  N = B;
7995:armor.c       ****       
7996:armor.c       ****             //        STB   ,X+                     ; 0CF0: E7 80         
7997:armor.c       ****   //  Z = B;
GAS LISTING /tmp/ccqXEnet.s 			page 459


7998:armor.c       ****   //  N = B;
7999:armor.c       ****   //  V = 0;
8000:armor.c       ****       memory[X++] = B;
 11804              		.loc 1 8000 0
 11805 ba17 0FB785C6 		movzwl	-65594(%ebp), %eax
 11805      FFFEFF
 11806 ba1e 8D5001   		leal	1(%eax), %edx
 11807 ba21 668995C6 		movw	%dx, -65594(%ebp)
 11807      FFFEFF
 11808 ba28 0FB7C0   		movzwl	%ax, %eax
 11809 ba2b 8B95E4FF 		movl	-65564(%ebp), %edx
 11809      FEFF
 11810 ba31 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11810      FFFEFF
8001:armor.c       ****       
8002:armor.c       ****             //        DECA                          ; 0CF2: 4A            
8003:armor.c       ****       res = (UINT8)(A - 1);
 11811              		.loc 1 8003 0
 11812 ba38 8B85E0FF 		movl	-65568(%ebp), %eax
 11812      FEFF
 11813 ba3e 83E801   		subl	$1, %eax
 11814 ba41 0FB6C0   		movzbl	%al, %eax
 11815 ba44 8985E8FF 		movl	%eax, -65560(%ebp)
 11815      FEFF
8004:armor.c       ****       N = res;
 11816              		.loc 1 8004 0
 11817 ba4a 8B85E8FF 		movl	-65560(%ebp), %eax
 11817      FEFF
 11818 ba50 8885C1FF 		movb	%al, -65599(%ebp)
 11818      FEFF
8005:armor.c       ****       Z = res;
 11819              		.loc 1 8005 0
 11820 ba56 8B85E8FF 		movl	-65560(%ebp), %eax
 11820      FEFF
 11821 ba5c 668985CC 		movw	%ax, -65588(%ebp)
 11821      FFFEFF
8006:armor.c       ****       V = A & ~res;
 11822              		.loc 1 8006 0
 11823 ba63 8B85E8FF 		movl	-65560(%ebp), %eax
 11823      FEFF
 11824 ba69 F7D0     		notl	%eax
 11825 ba6b 89C2     		movl	%eax, %edx
 11826 ba6d 8B85E0FF 		movl	-65568(%ebp), %eax
 11826      FEFF
 11827 ba73 21D0     		andl	%edx, %eax
 11828 ba75 8885C2FF 		movb	%al, -65598(%ebp)
 11828      FEFF
8007:armor.c       ****       A = res;
 11829              		.loc 1 8007 0
 11830 ba7b 8B85E8FF 		movl	-65560(%ebp), %eax
 11830      FEFF
 11831 ba81 8985E0FF 		movl	%eax, -65568(%ebp)
 11831      FEFF
8008:armor.c       ****       
8009:armor.c       ****             //        BNE   $0CEC                   ; 0CF3: 26 F7         
8010:armor.c       ****       if (Z) {
 11832              		.loc 1 8010 0
GAS LISTING /tmp/ccqXEnet.s 			page 460


 11833 ba87 6683BDCC 		cmpw	$0, -65588(%ebp)
 11833      FFFEFF00 
 11834 ba8f 7409     		je	.L443
8011:armor.c       ****       PC = 0x0cec;
 11835              		.loc 1 8011 0
 11836 ba91 66C785CA 		movw	$3308, -65590(%ebp)
 11836      FFFEFFEC 
 11836      0C
 11837              	.L443:
8012:armor.c       ****       JUMP;
8013:armor.c       ****       }
8014:armor.c       ****       
8015:armor.c       ****             //        RTS                           ; 0CF5: 39            
8016:armor.c       ****       PC = memory[S++]<<8;
 11838              		.loc 1 8016 0
 11839 ba9a 0FB785C8 		movzwl	-65592(%ebp), %eax
 11839      FFFEFF
 11840 baa1 8D5001   		leal	1(%eax), %edx
 11841 baa4 668995C8 		movw	%dx, -65592(%ebp)
 11841      FFFEFF
 11842 baab 0FB7C0   		movzwl	%ax, %eax
 11843 baae 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11843      F4FFFEFF 
 11844 bab6 0FB6C0   		movzbl	%al, %eax
 11845 bab9 C1E008   		sall	$8, %eax
 11846 babc 668985CA 		movw	%ax, -65590(%ebp)
 11846      FFFEFF
8017:armor.c       ****       PC |= memory[S++];
 11847              		.loc 1 8017 0
 11848 bac3 0FB785C8 		movzwl	-65592(%ebp), %eax
 11848      FFFEFF
 11849 baca 8D5001   		leal	1(%eax), %edx
 11850 bacd 668995C8 		movw	%dx, -65592(%ebp)
 11850      FFFEFF
 11851 bad4 0FB7C0   		movzwl	%ax, %eax
 11852 bad7 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11852      F4FFFEFF 
 11853 badf 0FB6C0   		movzbl	%al, %eax
 11854 bae2 660985CA 		orw	%ax, -65590(%ebp)
 11854      FFFEFF
 11855              	.L444:
8018:armor.c       ****       JUMP;
8019:armor.c       ****       
8020:armor.c       ****       
8021:armor.c       ****       L0CF6://        LDB   ,U+                     ; 0CF6: E6 C0         
8022:armor.c       ****       B = memory[U++];
 11856              		.loc 1 8022 0
 11857 bae9 0FB785CE 		movzwl	-65586(%ebp), %eax
 11857      FFFEFF
 11858 baf0 8D5001   		leal	1(%eax), %edx
 11859 baf3 668995CE 		movw	%dx, -65586(%ebp)
 11859      FFFEFF
 11860 bafa 0FB7C0   		movzwl	%ax, %eax
 11861 bafd 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11861      F4FFFEFF 
 11862 bb05 0FB6C0   		movzbl	%al, %eax
 11863 bb08 8985E4FF 		movl	%eax, -65564(%ebp)
GAS LISTING /tmp/ccqXEnet.s 			page 461


 11863      FEFF
8023:armor.c       ****   //  N = B;
8024:armor.c       ****   //  Z = B;
8025:armor.c       ****   //  V = 0;
8026:armor.c       ****       
8027:armor.c       ****             //        STB   ,X+                     ; 0CF8: E7 80         
8028:armor.c       ****   //  Z = B;
8029:armor.c       ****   //  N = B;
8030:armor.c       ****   //  V = 0;
8031:armor.c       ****       memory[X++] = B;
 11864              		.loc 1 8031 0
 11865 bb0e 0FB785C6 		movzwl	-65594(%ebp), %eax
 11865      FFFEFF
 11866 bb15 8D5001   		leal	1(%eax), %edx
 11867 bb18 668995C6 		movw	%dx, -65594(%ebp)
 11867      FFFEFF
 11868 bb1f 0FB7C0   		movzwl	%ax, %eax
 11869 bb22 8B95E4FF 		movl	-65564(%ebp), %edx
 11869      FEFF
 11870 bb28 889405F4 		movb	%dl, -65548(%ebp,%eax)
 11870      FFFEFF
8032:armor.c       ****       
8033:armor.c       ****             //        DECA                          ; 0CFA: 4A            
8034:armor.c       ****       res = (UINT8)(A - 1);
 11871              		.loc 1 8034 0
 11872 bb2f 8B85E0FF 		movl	-65568(%ebp), %eax
 11872      FEFF
 11873 bb35 83E801   		subl	$1, %eax
 11874 bb38 0FB6C0   		movzbl	%al, %eax
 11875 bb3b 8985E8FF 		movl	%eax, -65560(%ebp)
 11875      FEFF
8035:armor.c       ****       N = res;
 11876              		.loc 1 8035 0
 11877 bb41 8B85E8FF 		movl	-65560(%ebp), %eax
 11877      FEFF
 11878 bb47 8885C1FF 		movb	%al, -65599(%ebp)
 11878      FEFF
8036:armor.c       ****       Z = res;
 11879              		.loc 1 8036 0
 11880 bb4d 8B85E8FF 		movl	-65560(%ebp), %eax
 11880      FEFF
 11881 bb53 668985CC 		movw	%ax, -65588(%ebp)
 11881      FFFEFF
8037:armor.c       ****       V = A & ~res;
 11882              		.loc 1 8037 0
 11883 bb5a 8B85E8FF 		movl	-65560(%ebp), %eax
 11883      FEFF
 11884 bb60 F7D0     		notl	%eax
 11885 bb62 89C2     		movl	%eax, %edx
 11886 bb64 8B85E0FF 		movl	-65568(%ebp), %eax
 11886      FEFF
 11887 bb6a 21D0     		andl	%edx, %eax
 11888 bb6c 8885C2FF 		movb	%al, -65598(%ebp)
 11888      FEFF
8038:armor.c       ****       A = res;
 11889              		.loc 1 8038 0
 11890 bb72 8B85E8FF 		movl	-65560(%ebp), %eax
GAS LISTING /tmp/ccqXEnet.s 			page 462


 11890      FEFF
 11891 bb78 8985E0FF 		movl	%eax, -65568(%ebp)
 11891      FEFF
8039:armor.c       ****       
8040:armor.c       ****             //        BNE   $0CF6                   ; 0CFB: 26 F9         
8041:armor.c       ****       if (Z) {
 11892              		.loc 1 8041 0
 11893 bb7e 6683BDCC 		cmpw	$0, -65588(%ebp)
 11893      FFFEFF00 
 11894 bb86 7409     		je	.L445
8042:armor.c       ****       PC = 0x0cf6;
 11895              		.loc 1 8042 0
 11896 bb88 66C785CA 		movw	$3318, -65590(%ebp)
 11896      FFFEFFF6 
 11896      0C
 11897              	.L445:
8043:armor.c       ****       JUMP;
8044:armor.c       ****       }
8045:armor.c       ****       
8046:armor.c       ****             //        RTS                           ; 0CFD: 39            
8047:armor.c       ****       PC = memory[S++]<<8;
 11898              		.loc 1 8047 0
 11899 bb91 0FB785C8 		movzwl	-65592(%ebp), %eax
 11899      FFFEFF
 11900 bb98 8D5001   		leal	1(%eax), %edx
 11901 bb9b 668995C8 		movw	%dx, -65592(%ebp)
 11901      FFFEFF
 11902 bba2 0FB7C0   		movzwl	%ax, %eax
 11903 bba5 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11903      F4FFFEFF 
 11904 bbad 0FB6C0   		movzbl	%al, %eax
 11905 bbb0 C1E008   		sall	$8, %eax
 11906 bbb3 668985CA 		movw	%ax, -65590(%ebp)
 11906      FFFEFF
8048:armor.c       ****       PC |= memory[S++];
 11907              		.loc 1 8048 0
 11908 bbba 0FB785C8 		movzwl	-65592(%ebp), %eax
 11908      FFFEFF
 11909 bbc1 8D5001   		leal	1(%eax), %edx
 11910 bbc4 668995C8 		movw	%dx, -65592(%ebp)
 11910      FFFEFF
 11911 bbcb 0FB7C0   		movzwl	%ax, %eax
 11912 bbce 0FB68405 		movzbl	-65548(%ebp,%eax), %eax
 11912      F4FFFEFF 
 11913 bbd6 0FB6C0   		movzbl	%al, %eax
 11914 bbd9 660985CA 		orw	%ax, -65590(%ebp)
 11914      FFFEFF
 11915 bbe0 B8000000 		movl	$0, %eax
 11915      00
8049:armor.c       ****       JUMP;
8050:armor.c       ****       
8051:armor.c       ****       }
 11916              		.loc 1 8051 0
 11917 bbe5 8B4DF4   		movl	-12(%ebp), %ecx
 11918 bbe8 65330D14 		xorl	%gs:20, %ecx
 11918      000000
 11919 bbef 7405     		je	.L447
GAS LISTING /tmp/ccqXEnet.s 			page 463


 11920 bbf1 E8FCFFFF 		call	__stack_chk_fail_local
 11920      FF
 11921              	.L447:
 11922 bbf6 81C45400 		addl	$65620, %esp
 11922      0100
 11923 bbfc 59       		popl	%ecx
 11924              		.cfi_restore 1
 11925              		.cfi_def_cfa 1, 0
 11926 bbfd 5D       		popl	%ebp
 11927              		.cfi_restore 5
 11928 bbfe 8D61FC   		leal	-4(%ecx), %esp
 11929              		.cfi_def_cfa 4, 4
 11930 bc01 C3       		ret
 11931              		.cfi_endproc
 11932              	.LFE0:
 11934              		.section	.text.__x86.get_pc_thunk.ax,"axG",@progbits,__x86.get_pc_thunk.ax,comdat
 11935              		.globl	__x86.get_pc_thunk.ax
 11936              		.hidden	__x86.get_pc_thunk.ax
 11938              	__x86.get_pc_thunk.ax:
 11939              	.LFB1:
 11940              		.cfi_startproc
 11941 0000 8B0424   		movl	(%esp), %eax
 11942 0003 C3       		ret
 11943              		.cfi_endproc
 11944              	.LFE1:
 11945              		.text
 11946              	.Letext0:
 11947              		.file 2 "/usr/include/i386-linux-gnu/bits/types.h"
 11948              		.file 3 "/usr/include/i386-linux-gnu/bits/stdint-intn.h"
 11949              		.file 4 "/usr/include/i386-linux-gnu/bits/stdint-uintn.h"
GAS LISTING /tmp/ccqXEnet.s 			page 464


DEFINED SYMBOLS
                            *ABS*:0000000000000000 armor.c
     /tmp/ccqXEnet.s:6      .text:0000000000000000 main
     /tmp/ccqXEnet.s:11938  .text.__x86.get_pc_thunk.ax:0000000000000000 __x86.get_pc_thunk.ax

UNDEFINED SYMBOLS
_GLOBAL_OFFSET_TABLE_
__stack_chk_fail_local
