1;@ Reesy's Z80 Emulator Version 0.001 2 3;@ (c) Copyright 2004 Reesy, All rights reserved 4;@ DrZ80 is free for non-commercial use. 5 6;@ For commercial use, separate licencing terms must be obtained. 7 8 .data 9 .align 4 10 11 .global DrZ80Run 12 .type DrZ80Run, %function 13 .global DrZ80Ver 14 .type DrZ80Ver, %function 15 16 .equiv INTERRUPT_MODE, 1 ;@1 = Call MAME before IRQ handling 17 .equiv FAST_Z80SP, 1 ;@0 = Use mem functions for stack pointer, 1 = Use direct mem pointer 18 .equiv UPDATE_CONTEXT, 1 ;@1 = Update context vars for MAME 19 20.if INTERRUPT_MODE 21 .extern Interrupt 22.endif 23 24DrZ80Ver: .long 0x0001 25 26;@ --------------------------- Defines ---------------------------- 27;@ Make sure that regs/pointers for z80pc to z80sp match up! 28 29 opcodes .req r3 30 z80_icount .req r4 31 cpucontext .req r5 32 z80pc .req r6 33 z80a .req r7 34 z80f .req r8 35 z80bc .req r9 36 z80de .req r10 37 z80hl .req r11 38 z80sp .req r12 39 z80xx .req lr 40 41 .equ z80pc_pointer, 0 ;@ 0 42 .equ z80a_pointer, z80pc_pointer+4 ;@ 4 43 .equ z80f_pointer, z80a_pointer+4 ;@ 8 44 .equ z80bc_pointer, z80f_pointer+4 ;@ 45 .equ z80de_pointer, z80bc_pointer+4 46 .equ z80hl_pointer, z80de_pointer+4 47 .equ z80sp_pointer, z80hl_pointer+4 48 .equ z80pc_base, z80sp_pointer+4 49 .equ z80sp_base, z80pc_base+4 50 .equ z80ix, z80sp_base+4 51 .equ z80iy, z80ix+4 52 .equ z80i, z80iy+4 53 .equ z80a2, z80i+4 54 .equ z80f2, z80a2+4 55 .equ z80bc2, z80f2+4 56 .equ z80de2, z80bc2+4 57 .equ z80hl2, z80de2+4 58 .equ cycles_pointer, z80hl2+4 59 .equ z80irq, cycles_pointer+4 60 .equ z80if, z80irq+1 61 .equ z80im, z80if+1 62 .equ z80r, z80im+1 63 .equ z80irqvector, z80r+1 64 .equ z80irqcallback, z80irqvector+4 65 .equ z80_write8, z80irqcallback+4 66 .equ z80_write16, z80_write8+4 67 .equ z80_in, z80_write16+4 68 .equ z80_out, z80_in+4 69 .equ z80_read8, z80_out+4 70 .equ z80_read16, z80_read8+4 71 .equ z80_rebaseSP, z80_read16+4 72 .equ z80_rebasePC, z80_rebaseSP+4 73 74 .equ VFlag, 0 75 .equ CFlag, 1 76 .equ ZFlag, 2 77 .equ SFlag, 3 78 .equ HFlag, 4 79 .equ NFlag, 5 80 .equ Flag3, 6 81 .equ Flag5, 7 82 83 .equ Z80_CFlag, 0 84 .equ Z80_NFlag, 1 85 .equ Z80_VFlag, 2 86 .equ Z80_Flag3, 3 87 .equ Z80_HFlag, 4 88 .equ Z80_Flag5, 5 89 .equ Z80_ZFlag, 6 90 .equ Z80_SFlag, 7 91 92 .equ Z80_IF1, 1<<0 93 .equ Z80_IF2, 1<<1 94 .equ Z80_HALT, 1<<2 95 96;@--------------------------------------- 97 98.text 99 100.macro fetch cycs 101 subs z80_icount,z80_icount,#\cycs 102 ldrplb r0,[z80pc],#1 103 ldrpl pc,[opcodes,r0, lsl #2] 104 bmi z80_execute_end 105.endm 106 107.macro eatcycles cycs 108 sub z80_icount,z80_icount,#\cycs 109.endm 110 111.macro readmem8 112.if UPDATE_CONTEXT 113 str z80_icount,[cpucontext,#cycles_pointer] 114 str z80pc,[cpucontext,#z80pc_pointer] 115 str z80de,[cpucontext,#z80de_pointer] 116 str z80bc,[cpucontext,#z80bc_pointer] 117 str z80hl,[cpucontext,#z80hl_pointer] 118.endif 119 stmfd sp!,{r3,r12} 120 mov lr,pc 121 ldr pc,[cpucontext,#z80_read8] ;@ r0 = addr - data returned in r0 122 ldmfd sp!,{r3,r12} 123.if UPDATE_CONTEXT 124 ldr z80_icount,[cpucontext,#cycles_pointer] 125.endif 126.endm 127 128.macro readmem8HL 129 mov r0,z80hl, lsr #16 130 readmem8 131.endm 132 133.macro readmem16 134.if UPDATE_CONTEXT 135 str z80_icount,[cpucontext,#cycles_pointer] 136 str z80pc,[cpucontext,#z80pc_pointer] 137 str z80de,[cpucontext,#z80de_pointer] 138 str z80bc,[cpucontext,#z80bc_pointer] 139 str z80hl,[cpucontext,#z80hl_pointer] 140.endif 141 stmfd sp!,{r3,r12} 142 mov lr,pc 143 ldr pc,[cpucontext,#z80_read16] 144 ldmfd sp!,{r3,r12} 145.if UPDATE_CONTEXT 146 ldr z80_icount,[cpucontext,#cycles_pointer] 147.endif 148.endm 149 150.macro writemem8 151.if UPDATE_CONTEXT 152 str z80_icount,[cpucontext,#cycles_pointer] 153 str z80pc,[cpucontext,#z80pc_pointer] 154.endif 155 stmfd sp!,{r3,r12} 156 mov lr,pc 157 ldr pc,[cpucontext,#z80_write8] ;@ r0=data r1=addr 158 ldmfd sp!,{r3,r12} 159.if UPDATE_CONTEXT 160 ldr z80_icount,[cpucontext,#cycles_pointer] 161.endif 162.endm 163 164.macro writemem8DE 165 mov r1,z80de, lsr #16 166 writemem8 167.endm 168 169.macro writemem8HL 170 mov r1,z80hl, lsr #16 171 writemem8 172.endm 173 174.macro writemem16 175.if UPDATE_CONTEXT 176 str z80_icount,[cpucontext,#cycles_pointer] 177 str z80pc,[cpucontext,#z80pc_pointer] 178.endif 179 stmfd sp!,{r3,r12} 180 mov lr,pc 181 ldr pc,[cpucontext,#z80_write16] ;@ r0=data r1=addr 182 ldmfd sp!,{r3,r12} 183.if UPDATE_CONTEXT 184 ldr z80_icount,[cpucontext,#cycles_pointer] 185.endif 186.endm 187 188.macro copymem8HL_DE 189 mov r0,z80hl, lsr #16 190 stmfd sp!,{r3,r12} 191 mov lr,pc 192 ldr pc,[cpucontext,#z80_read8] ;@ r0 = addr - data returned in r0 193 mov r1,z80de, lsr #16 194 mov lr,pc 195 ldr pc,[cpucontext,#z80_write8] ;@ r0=data r1=addr 196 ldmfd sp!,{r3,r12} 197.endm 198;@--------------------------------------- 199.macro rebasepc 200 stmfd sp!,{r3,r12} 201 mov lr,pc 202 ldr pc,[cpucontext,#z80_rebasePC] ;@ r0=new pc - external function sets z80pc_base and returns new z80pc in r0 203 ldmfd sp!,{r3,r12} 204 mov z80pc,r0 205.endm 206 207.macro rebasesp 208 stmfd sp!,{r3,r12} 209 mov lr,pc 210 ldr pc,[cpucontext,#z80_rebaseSP] ;@ external function must rebase sp 211 ldmfd sp!,{r3,r12} 212 mov z80sp,r0 213.endm 214;@---------------------------------------------------------------------------- 215 216.macro opADC 217 movs z80f,z80f,lsr#2 ;@ get C 218 subcs r0,r0,#0x100 219 eor z80f,r0,z80a,lsr#24 ;@ prepare for check of half carry 220 adcs z80a,z80a,r0,ror#8 221 mrs r0,cpsr ;@ S,Z,V&C 222 eor z80f,z80f,z80a,lsr#24 223 and z80f,z80f,#1<<HFlag ;@ H, correct 224 orr z80f,z80f,r0,lsr#28 225.endm 226 227.macro opADCA 228 movs z80f,z80f,lsr#2 ;@ get C 229 orrcs z80a,z80a,#0x00800000 230 adds z80a,z80a,z80a 231 mrs z80f,cpsr ;@ S,Z,V&C 232 mov z80f,z80f,lsr#28 233 tst z80a,#0x10000000 ;@ H, correct 234 orrne z80f,z80f,#1<<HFlag 235 fetch 4 236.endm 237 238.macro opADCH reg 239 mov r0,\reg,lsr#24 240 opADC 241 fetch 4 242.endm 243 244.macro opADCL reg 245 movs z80f,z80f,lsr#2 ;@ get C 246 adc r0,\reg,\reg,lsr#15 247 orrcs z80a,z80a,#0x00800000 248 mov r1,z80a,lsl#4 ;@ Prepare for check of half carry 249 adds z80a,z80a,r0,lsl#23 250 mrs z80f,cpsr ;@ S,Z,V&C 251 mov z80f,z80f,lsr#28 252 cmn r1,r0,lsl#27 253 orrcs z80f,z80f,#1<<HFlag ;@ H, correct 254 fetch 4 255.endm 256 257.macro opADCb 258 opADC 259.endm 260;@--------------------------------------- 261 262.macro opADD reg shift 263 mov r1,z80a,lsl#4 ;@ Prepare for check of half carry 264 adds z80a,z80a,\reg,lsl#\shift 265 mrs z80f,cpsr ;@ S,Z,V&C 266 mov z80f,z80f,lsr#28 267 cmn r1,\reg,lsl#\shift+4 268 orrcs z80f,z80f,#1<<HFlag 269.endm 270 271.macro opADDA 272 adds z80a,z80a,z80a 273 mrs z80f,cpsr ;@ S,Z,V&C 274 mov z80f,z80f,lsr#28 275 tst z80a,#0x10000000 ;@ H, correct 276 orrne z80f,z80f,#1<<HFlag 277 fetch 4 278.endm 279 280.macro opADDH reg 281 and r0,\reg,#0xFF000000 282 opADD r0 0 283 fetch 4 284.endm 285 286.macro opADDL reg 287 opADD \reg 8 288 fetch 4 289.endm 290 291.macro opADDb 292 opADD r0 24 293.endm 294;@--------------------------------------- 295 296.macro opADC16 reg 297 movs z80f,z80f,lsr#2 ;@ get C 298 adc r0,z80a,\reg,lsr#15 299 orrcs z80hl,z80hl,#0x00008000 300 mov r1,z80hl,lsl#4 301 adds z80hl,z80hl,r0,lsl#15 302 mrs z80f,cpsr ;@ S, Z, V & C 303 mov z80f,z80f,lsr#28 304 cmn r1,r0,lsl#19 305 orrcs z80f,z80f,#1<<HFlag 306 fetch 15 307.endm 308 309.macro opADC16HL 310 movs z80f,z80f,lsr#2 ;@ get C 311 orrcs z80hl,z80hl,#0x00008000 312 adds z80hl,z80hl,z80hl 313 mrs z80f,cpsr ;@ S, Z, V & C 314 mov z80f,z80f,lsr#28 315 tst z80hl,#0x10000000 ;@ H, correct. 316 orrne z80f,z80f,#1<<HFlag 317 fetch 15 318.endm 319 320.macro opADD16 reg1 reg2 321 mov r1,\reg1,lsl#4 ;@ Prepare for check of half carry 322 adds \reg1,\reg1,\reg2 323 bic z80f,z80f,#(1<<CFlag)|(1<<HFlag)|(1<<NFlag) 324 orrcs z80f,z80f,#1<<CFlag 325 cmn r1,\reg2,lsl#4 326 orrcs z80f,z80f,#1<<HFlag 327.endm 328 329.macro opADD16s reg1 reg2 shift 330 mov r1,\reg1,lsl#4 ;@ Prepare for check of half carry 331 adds \reg1,\reg1,\reg2,lsl#\shift 332 bic z80f,z80f,#(1<<CFlag)|(1<<HFlag)|(1<<NFlag) 333 orrcs z80f,z80f,#1<<CFlag 334 cmn r1,\reg2,lsl#4+\shift 335 orrcs z80f,z80f,#1<<HFlag 336.endm 337 338.macro opADD16_2 reg 339 adds \reg,\reg,\reg 340 bic z80f,z80f,#(1<<CFlag)|(1<<HFlag)|(1<<NFlag) 341 orrcs z80f,z80f,#1<<CFlag 342 tst \reg,#0x10000000 ;@ H, correct. 343 orrne z80f,z80f,#1<<HFlag 344.endm 345;@--------------------------------------- 346 347.macro opAND reg shift 348 and z80a,z80a,\reg,lsl#\shift 349 sub r0,opcodes,#0x100 350 ldrb z80f,[r0,z80a, lsr #24] 351 orr z80f,z80f,#1<<HFlag 352.endm 353 354.macro opANDA 355 sub r0,opcodes,#0x100 356 ldrb z80f,[r0,z80a, lsr #24] 357 orr z80f,z80f,#1<<HFlag 358 fetch 4 359.endm 360 361.macro opANDH reg 362 opAND \reg 0 363 fetch 4 364.endm 365 366.macro opANDL reg 367 opAND \reg 8 368 fetch 4 369.endm 370 371.macro opANDb 372 opAND r0 24 373.endm 374;@--------------------------------------- 375 376.macro opBITH reg bit 377 and z80f,z80f,#1<<CFlag 378 tst \reg,#1<<(24+\bit) 379 orreq z80f,z80f,#(1<<HFlag)|(1<<ZFlag)|(1<<VFlag) 380 orrne z80f,z80f,#(1<<HFlag) 381 fetch 8 382.endm 383 384.macro opBIT7H reg 385 and z80f,z80f,#1<<CFlag 386 tst \reg,#1<<(24+7) 387 orreq z80f,z80f,#(1<<HFlag)|(1<<ZFlag)|(1<<VFlag) 388 orrne z80f,z80f,#(1<<HFlag)|(1<<SFlag) 389 fetch 8 390.endm 391 392.macro opBITL reg bit 393 and z80f,z80f,#1<<CFlag 394 tst \reg,#1<<(16+\bit) 395 orreq z80f,z80f,#(1<<HFlag)|(1<<ZFlag)|(1<<VFlag) 396 orrne z80f,z80f,#(1<<HFlag) 397 fetch 8 398.endm 399 400.macro opBIT7L reg 401 and z80f,z80f,#1<<CFlag 402 tst \reg,#1<<(16+7) 403 orreq z80f,z80f,#(1<<HFlag)|(1<<ZFlag)|(1<<VFlag) 404 orrne z80f,z80f,#(1<<HFlag)|(1<<SFlag) 405 fetch 8 406.endm 407 408.macro opBITb bit 409 and z80f,z80f,#1<<CFlag 410 tst r0,#1<<\bit 411 orreq z80f,z80f,#(1<<HFlag)|(1<<ZFlag)|(1<<VFlag) 412 orrne z80f,z80f,#(1<<HFlag) 413.endm 414 415.macro opBIT7b 416 and z80f,z80f,#1<<CFlag 417 tst r0,#1<<7 418 orreq z80f,z80f,#(1<<HFlag)|(1<<ZFlag)|(1<<VFlag) 419 orrne z80f,z80f,#(1<<HFlag)|(1<<SFlag) 420.endm 421;@--------------------------------------- 422 423.macro opCP reg shift 424 mov r1,z80a,lsl#4 ;@ prepare for check of half carry 425 cmp z80a,\reg,lsl#\shift 426 mrs z80f,cpsr 427 mov z80f,z80f,lsr#28 ;@ S,Z,V&C 428 eor z80f,z80f,#(1<<CFlag)|(1<<NFlag) ;@ invert C and set n 429 cmp r1,\reg,lsl#\shift+4 430 orrcc z80f,z80f,#1<<HFlag 431.endm 432 433.macro opCPA 434 mov z80f,#(1<<ZFlag)|(1<<NFlag) ;@ set Z & n 435 fetch 4 436.endm 437 438.macro opCPH reg 439 and r0,\reg,#0xFF000000 440 opCP r0 0 441 fetch 4 442.endm 443 444.macro opCPL reg 445 opCP \reg 8 446 fetch 4 447.endm 448 449.macro opCPb 450 opCP r0 24 451.endm 452;@--------------------------------------- 453 454.macro opDEC8 reg ;@for A and memory 455 and z80f,z80f,#1<<CFlag ;@save carry 456 orr z80f,z80f,#1<<NFlag ;@set n 457 tst \reg,#0x0f000000 458 orreq z80f,z80f,#1<<HFlag 459 subs \reg,\reg,#0x01000000 460 orrmi z80f,z80f,#1<<SFlag 461 orrvs z80f,z80f,#1<<VFlag 462 orreq z80f,z80f,#1<<ZFlag 463.endm 464 465.macro opDEC8H reg ;@for B, D & H 466 and z80f,z80f,#1<<CFlag ;@save carry 467 orr z80f,z80f,#1<<NFlag ;@set n 468 tst \reg,#0x0f000000 469 orreq z80f,z80f,#1<<HFlag 470 subs \reg,\reg,#0x01000000 471 orrmi z80f,z80f,#1<<SFlag 472 orrvs z80f,z80f,#1<<VFlag 473 tst \reg,#0xff000000 ;@Z 474 orreq z80f,z80f,#1<<ZFlag 475.endm 476 477.macro opDEC8L reg ;@for C, E & L 478 mov \reg,\reg,ror#24 479 opDEC8H \reg 480 mov \reg,\reg,ror#8 481.endm 482 483.macro opDEC8b ;@for memory 484 mov r0,r0,lsl#24 485 opDEC8 r0 486 mov r0,r0,lsr#24 487.endm 488;@--------------------------------------- 489 490.macro opIN 491.if UPDATE_CONTEXT 492 str z80_icount,[cpucontext,#cycles_pointer] 493 str z80pc,[cpucontext,#z80pc_pointer] 494 str z80de,[cpucontext,#z80de_pointer] 495 str z80bc,[cpucontext,#z80bc_pointer] 496.endif 497 stmfd sp!,{r3,r12} 498 mov lr,pc 499 ldr pc,[cpucontext,#z80_in] ;@ r0=port - data returned in r0 500 ldmfd sp!,{r3,r12} 501.if UPDATE_CONTEXT 502 ldr z80_icount,[cpucontext,#cycles_pointer] 503.endif 504.endm 505 506.macro opIN_C 507 mov r0,z80bc, lsr #16 508 opIN 509.endm 510;@--------------------------------------- 511 512.macro opINC8 reg ;@for A and memory 513 and z80f,z80f,#1<<CFlag ;@save carry, clear n 514 adds \reg,\reg,#0x01000000 515 orrmi z80f,z80f,#1<<SFlag 516 orrvs z80f,z80f,#1<<VFlag 517 orrcs z80f,z80f,#1<<ZFlag ;@cs when going from 0xFF to 0x00 518 tst \reg,#0x0f000000 519 orreq z80f,z80f,#1<<HFlag 520.endm 521 522.macro opINC8H reg ;@for B, D & H 523 opINC8 \reg 524.endm 525 526.macro opINC8L reg ;@for C, E & L 527 mov \reg,\reg,ror#24 528 opINC8 \reg 529 mov \reg,\reg,ror#8 530.endm 531 532.macro opINC8b ;@for memory 533 mov r0,r0,lsl#24 534 opINC8 r0 535 mov r0,r0,lsr#24 536.endm 537;@--------------------------------------- 538 539.macro opOR reg shift 540 orr z80a,z80a,\reg,lsl#\shift 541 sub r0,opcodes,#0x100 542 ldrb z80f,[r0,z80a, lsr #24] 543.endm 544 545.macro opORA 546 sub r0,opcodes,#0x100 547 ldrb z80f,[r0,z80a, lsr #24] 548 fetch 4 549.endm 550 551.macro opORH reg 552 and r0,\reg,#0xFF000000 553 opOR r0 0 554 fetch 4 555.endm 556 557.macro opORL reg 558 opOR \reg 8 559 fetch 4 560.endm 561 562.macro opORb 563 opOR r0 24 564.endm 565;@--------------------------------------- 566 567.macro opOUT 568.if UPDATE_CONTEXT 569 str z80_icount,[cpucontext,#cycles_pointer] 570 str z80pc,[cpucontext,#z80pc_pointer] 571 str z80bc,[cpucontext,#z80bc_pointer] 572.endif 573 stmfd sp!,{r3,r12} 574 mov lr,pc 575 ldr pc,[cpucontext,#z80_out] ;@ r0=port r1=data 576 ldmfd sp!,{r3,r12} 577.if UPDATE_CONTEXT 578 ldr z80_icount,[cpucontext,#cycles_pointer] 579.endif 580.endm 581 582.macro opOUT_C 583 mov r0,z80bc, lsr #16 584 opOUT 585.endm 586;@--------------------------------------- 587 588.macro opPOP 589.if FAST_Z80SP 590 ldrb r0,[z80sp],#1 591 ldrb r1,[z80sp],#1 592 orr r0,r0,r1, lsl #8 593.else 594 mov r0,z80sp 595 readmem16 596 add z80sp,z80sp,#2 597.endif 598.endm 599 600.macro opPOPreg reg 601 opPOP 602 mov \reg,r0, lsl #16 603 fetch 10 604.endm 605;@--------------------------------------- 606 607.macro opPUSHreg reg 608.if FAST_Z80SP 609 mov r1,\reg, lsr #24 610 strb r1,[z80sp,#-1]! 611 mov r1,\reg, lsr #16 612 strb r1,[z80sp,#-1]! 613.else 614 mov r0,\reg,lsr #16 615 sub z80sp,z80sp,#2 616 mov r1,z80sp 617 writemem16 618.endif 619.endm 620;@--------------------------------------- 621 622.macro opRESmemHL bit 623 mov r0,z80hl, lsr #16 624 stmfd sp!,{r3,r12} 625 mov lr,pc 626 ldr pc,[cpucontext,#z80_read8] ;@ r0 = addr - data returned in r0 627 bic r0,r0,#1<<\bit 628 mov r1,z80hl, lsr #16 629 mov lr,pc 630 ldr pc,[cpucontext,#z80_write8] ;@ r0=data r1=addr 631 ldmfd sp!,{r3,r12} 632 fetch 15 633.endm 634;@--------------------------------------- 635 636.macro opRESmem bit 637 stmfd sp!,{r3,r12} 638 stmfd sp!,{r0} ;@ save addr as well 639 mov lr,pc 640 ldr pc,[cpucontext,#z80_read8] ;@ r0=addr - data returned in r0 641 bic r0,r0,#1<<\bit 642 ldmfd sp!,{r1} ;@ restore addr into r1 643 mov lr,pc 644 ldr pc,[cpucontext,#z80_write8] ;@ r0=data r1=addr 645 ldmfd sp!,{r3,r12} 646 fetch 23 647.endm 648;@--------------------------------------- 649 650.macro opRL reg1 reg2 shift 651 movs \reg1,\reg2,lsl#\shift 652 tst z80f,#1<<CFlag ;@doesn't affect ARM carry, as long as the imidiate value is < 0x100. Watch out! 653 orrne \reg1,\reg1,#0x01000000 654;@ and r2,z80f,#1<<CFlag 655;@ orr $x,$x,r2,lsl#23 656 sub r1,opcodes,#0x100 657 ldrb z80f,[r1,\reg1,lsr#24] ;@get PZS 658 orrcs z80f,z80f,#1<<CFlag 659.endm 660 661.macro opRLA 662 opRL z80a z80a 1 663 fetch 8 664.endm 665 666.macro opRLH reg 667 and r0,\reg,#0xFF000000 ;@mask high to r0 668 adds \reg,\reg,r0 669 tst z80f,#1<<CFlag ;@doesn't affect ARM carry, as long as the imidiate value is < 0x100. Watch out! 670 orrne \reg,\reg,#0x01000000 671 sub r1,opcodes,#0x100 672 ldrb z80f,[r1,\reg,lsr#24] ;@get PZS 673 orrcs z80f,z80f,#1<<CFlag 674 fetch 8 675.endm 676 677.macro opRLL reg 678 opRL r0 \reg 9 679 and \reg,\reg,#0xFF000000 ;@mask out high 680 orr \reg,\reg,r0,lsr#8 681 fetch 8 682.endm 683 684.macro opRLb 685 opRL r0 r0 25 686 mov r0,r0,lsr#24 687.endm 688;@--------------------------------------- 689 690.macro opRLC reg1 reg2 shift 691 movs \reg1,\reg2,lsl#\shift 692 orrcs \reg1,\reg1,#0x01000000 693 sub r1,opcodes,#0x100 694 ldrb z80f,[r1,\reg1,lsr#24] 695 orrcs z80f,z80f,#1<<CFlag 696.endm 697 698.macro opRLCA 699 opRLC z80a z80a 1 700 fetch 8 701.endm 702 703.macro opRLCH reg 704 and r0,\reg,#0xFF000000 ;@mask high to r0 705 adds \reg,\reg,r0 706 orrcs \reg,\reg,#0x01000000 707 sub r1,opcodes,#0x100 708 ldrb z80f,[r1,\reg,lsr#24] 709 orrcs z80f,z80f,#1<<CFlag 710 fetch 8 711.endm 712 713.macro opRLCL reg 714 opRLC r0 \reg 9 715 and \reg,\reg,#0xFF000000 ;@mask out high 716 orr \reg,\reg,r0,lsr#8 717 fetch 8 718.endm 719 720.macro opRLCb 721 opRLC r0 r0 25 722 mov r0,r0,lsr#24 723.endm 724;@--------------------------------------- 725 726.macro opRR reg1 reg2 shift 727 movs \reg1,\reg2,lsr#\shift 728 tst z80f,#1<<CFlag ;@doesn't affect ARM carry, as long as the imidiate value is < 0x100. Watch out! 729 orrne \reg1,\reg1,#0x00000080 730;@ and r2,z80_f,#PSR_C 731;@ orr \reg1,\reg1,r2,lsl#6 732 sub r1,opcodes,#0x100 733 ldrb z80f,[r1,\reg1] 734 orrcs z80f,z80f,#1<<CFlag 735.endm 736 737.macro opRRA 738 orr z80a,z80a,z80f,lsr#1 ;@get C 739 movs z80a,z80a,ror#25 740 mov z80a,z80a,lsl#24 741 sub r1,opcodes,#0x100 742 ldrb z80f,[r1,z80a,lsr#24] 743 orrcs z80f,z80f,#1<<CFlag 744 fetch 8 745.endm 746 747.macro opRRH reg 748 orr r0,\reg,z80f,lsr#1 ;@get C 749 movs r0,r0,ror#25 750 and \reg,\reg,#0x00FF0000 ;@mask out low 751 orr \reg,\reg,r0,lsl#24 752 sub r1,opcodes,#0x100 753 ldrb z80f,[r1,\reg,lsr#24] 754 orrcs z80f,z80f,#1<<CFlag 755 fetch 8 756.endm 757 758.macro opRRL reg 759 and r0,\reg,#0x00FF0000 ;@mask out low to r0 760 opRR r0 r0 17 761 and \reg,\reg,#0xFF000000 ;@mask out high 762 orr \reg,\reg,r0,lsl#16 763 fetch 8 764.endm 765 766.macro opRRb 767 opRR r0 r0 1 768.endm 769;@--------------------------------------- 770 771.macro opRRC reg1 reg2 shift 772 movs \reg1,\reg2,lsr#\shift 773 orrcs \reg1,\reg1,#0x00000080 774 sub r1,opcodes,#0x100 775 ldrb z80f,[r1,\reg1] 776 orrcs z80f,z80f,#1<<CFlag 777.endm 778 779.macro opRRCA 780 opRRC z80a z80a 25 781 mov z80a,z80a,lsl#24 782 fetch 8 783.endm 784 785.macro opRRCH reg 786 opRRC r0 \reg 25 787 and \reg,\reg,#0x00FF0000 ;@mask out low 788 orr \reg,\reg,r0,lsl#24 789 fetch 8 790.endm 791 792.macro opRRCL reg 793 and r0,\reg,#0x00FF0000 ;@mask low to r0 794 opRRC r0 r0 17 795 and \reg,\reg,#0xFF000000 ;@mask out high 796 orr \reg,\reg,r0,lsl#16 797 fetch 8 798.endm 799 800.macro opRRCb 801 opRRC r0 r0 1 802.endm 803;@--------------------------------------- 804 805.macro opRST addr 806 ldr r0,[cpucontext,#z80pc_base] 807 sub r0,z80pc,r0 808.if FAST_Z80SP 809 mov r1,r0, lsr #8 810 strb r1,[z80sp,#-1]! 811 strb r0,[z80sp,#-1]! 812.else 813 sub z80sp,z80sp,#2 814 mov r1,z80sp 815 writemem16 816.endif 817 mov r0,#\addr 818 rebasepc 819 fetch 11 820.endm 821;@--------------------------------------- 822 823.macro opSBC 824 eor z80f,z80f,#1<<CFlag ;@ invert C 825 movs z80f,z80f,lsr#2 ;@ get C 826 subcc r0,r0,#0x100 827 eor z80f,r0,z80a,lsr#24 ;@ prepare for check of H 828 sbcs z80a,z80a,r0,ror#8 829 mrs r0,cpsr 830 eor z80f,z80f,z80a,lsr#24 831 and z80f,z80f,#1<<HFlag ;@ H, correct 832 orr z80f,z80f,r0,lsr#28 ;@ S,Z,V&C 833 eor z80f,z80f,#(1<<CFlag)|(1<<NFlag) ;@ invert C and set n. 834.endm 835 836.macro opSBCA 837 movs z80f,z80f,lsr#2 ;@ get C 838 movcc z80a,#0x00000000 839 movcs z80a,#0xFF000000 840 movcc z80f,#(1<<NFlag)|(1<<ZFlag) 841 movcs z80f,#(1<<NFlag)|(1<<SFlag)|(1<<CFlag)|(1<<HFlag) 842 fetch 4 843.endm 844 845.macro opSBCH reg 846 mov r0,\reg,lsr#24 847 opSBC 848 fetch 4 849.endm 850 851.macro opSBCL reg 852 mov r0,\reg,lsl#8 853 eor z80f,z80f,#1<<CFlag ;@ invert C 854 movs z80f,z80f,lsr#2 ;@ get C 855 sbccc r0,r0,#0xFF000000 856 mov r1,z80a,lsl#4 ;@ prepare for check of H 857 sbcs z80a,z80a,r0 858 mrs z80f,cpsr 859 mov z80f,z80f,lsr#28 ;@ S,Z,V&C 860 eor z80f,z80f,#(1<<CFlag)|(1<<NFlag) ;@ invert C and set n. 861 cmp r1,r0,lsl#4 862 orrcc z80f,z80f,#1<<HFlag ;@ H, correct 863 fetch 4 864.endm 865 866.macro opSBCb 867 opSBC 868.endm 869;@--------------------------------------- 870 871.macro opSBC16 reg 872 eor z80f,z80f,#1<<CFlag ;@ invert C 873 movs z80f,z80f,lsr#2 ;@ get C 874 sbc r1,r1,r1 ;@ set r1 to -1 or 0. 875 orr r0,\reg,r1,lsr#16 876 mov r1,z80hl,lsl#4 ;@ prepare for check of H 877 sbcs z80hl,z80hl,r0 878 mrs z80f,cpsr 879 mov z80f,z80f,lsr#28 ;@ S,Z,V&C 880 eor z80f,z80f,#(1<<CFlag)|(1<<NFlag) ;@ invert C and set n. 881 cmp r1,r0,lsl#4 882 orrcc z80f,z80f,#1<<HFlag ;@ H, correct 883 fetch 15 884.endm 885 886.macro opSBC16HL 887 movs z80f,z80f,lsr#2 ;@ get C 888 mov z80hl,#0x00000000 889 subcs z80hl,z80hl,#0x00010000 890 movcc z80f,#(1<<NFlag)|(1<<ZFlag) 891 movcs z80f,#(1<<NFlag)|(1<<SFlag)|(1<<CFlag)|(1<<HFlag) 892 fetch 15 893.endm 894;@--------------------------------------- 895 896.macro opSETmemHL bit 897 mov r0,z80hl, lsr #16 898 stmfd sp!,{r3,r12} 899 mov lr,pc 900 ldr pc,[cpucontext,#z80_read8] ;@ r0 = addr - data returned in r0 901 orr r0,r0,#1<<\bit 902 mov r1,z80hl, lsr #16 903 mov lr,pc 904 ldr pc,[cpucontext,#z80_write8] ;@ r0=data r1=addr 905 ldmfd sp!,{r3,r12} 906 fetch 15 907.endm 908;@--------------------------------------- 909 910.macro opSETmem bit 911 stmfd sp!,{r3,r12} 912 stmfd sp!,{r0} ;@ save addr as well 913 mov lr,pc 914 ldr pc,[cpucontext,#z80_read8] ;@ r0=addr - data returned in r0 915 orr r0,r0,#1<<\bit 916 ldmfd sp!,{r1} ;@ restore addr into r1 917 mov lr,pc 918 ldr pc,[cpucontext,#z80_write8] ;@ r0=data r1=addr 919 ldmfd sp!,{r3,r12} 920 fetch 23 921.endm 922;@--------------------------------------- 923 924.macro opSLA reg1 reg2 shift 925 movs \reg1,\reg2,lsl#\shift 926 sub r1,opcodes,#0x100 927 ldrb z80f,[r1,\reg1,lsr#24] 928 orrcs z80f,z80f,#1<<CFlag 929.endm 930 931.macro opSLAA 932 opSLA z80a z80a 1 933 fetch 8 934.endm 935 936.macro opSLAH reg 937 and r0,\reg,#0xFF000000 ;@mask high to r0 938 adds \reg,\reg,r0 939 sub r1,opcodes,#0x100 940 ldrb z80f,[r1,\reg,lsr#24] 941 orrcs z80f,z80f,#1<<CFlag 942 fetch 8 943.endm 944 945.macro opSLAL reg 946 opSLA r0 \reg 9 947 and \reg,\reg,#0xFF000000 ;@mask out high 948 orr \reg,\reg,r0,lsr#8 949 fetch 8 950.endm 951 952.macro opSLAb 953 opSLA r0 r0 25 954 mov r0,r0,lsr#24 955.endm 956;@--------------------------------------- 957 958.macro opSLL reg1 reg2 shift 959 movs \reg1,\reg2,lsl#\shift 960 orr \reg1,\reg1,#0x01000000 961 sub r1,opcodes,#0x100 962 ldrb z80f,[r1,\reg1,lsr#24] 963 orrcs z80f,z80f,#1<<CFlag 964.endm 965 966.macro opSLLA 967 opSLL z80a z80a 1 968 fetch 8 969.endm 970 971.macro opSLLH reg 972 and r0,\reg,#0xFF000000 ;@mask high to r0 973 adds \reg,\reg,r0 974 orr \reg,\reg,#0x01000000 975 sub r1,opcodes,#0x100 976 ldrb z80f,[r1,\reg,lsr#24] 977 orrcs z80f,z80f,#1<<CFlag 978 fetch 8 979.endm 980 981.macro opSLLL reg 982 opSLL r0 \reg 9 983 and \reg,\reg,#0xFF000000 ;@mask out high 984 orr \reg,\reg,r0,lsr#8 985 fetch 8 986.endm 987 988.macro opSLLb 989 opSLL r0 r0 25 990 mov r0,r0,lsr#24 991.endm 992;@--------------------------------------- 993 994.macro opSRA reg1 reg2 995 movs \reg1,\reg2,asr#25 996 and \reg1,\reg1,#0xFF 997 sub r1,opcodes,#0x100 998 ldrb z80f,[r1,\reg1] 999 orrcs z80f,z80f,#1<<CFlag 1000.endm 1001 1002.macro opSRAA 1003 movs r0,z80a,asr#25 1004 mov z80a,r0,lsl#24 1005 sub r1,opcodes,#0x100 1006 ldrb z80f,[r1,z80a,lsr#24] 1007 orrcs z80f,z80f,#1<<CFlag 1008 fetch 8 1009.endm 1010 1011.macro opSRAH reg 1012 movs r0,\reg,asr#25 1013 and \reg,\reg,#0x00FF0000 ;@mask out low 1014 orr \reg,\reg,r0,lsl#24 1015 sub r1,opcodes,#0x100 1016 ldrb z80f,[r1,\reg,lsr#24] 1017 orrcs z80f,z80f,#1<<CFlag 1018 fetch 8 1019.endm 1020 1021.macro opSRAL reg 1022 mov r0,\reg,lsl#8 1023 opSRA r0 r0 1024 and \reg,\reg,#0xFF000000 ;@mask out high 1025 orr \reg,\reg,r0,lsl#16 1026 fetch 8 1027.endm 1028 1029.macro opSRAb 1030 mov r0,r0,lsl#24 1031 opSRA r0 r0 1032.endm 1033;@--------------------------------------- 1034 1035.macro opSRL reg1 reg2 shift 1036 movs \reg1,\reg2,lsr#\shift 1037 sub r1,opcodes,#0x100 1038 ldrb z80f,[r1,\reg1] 1039 orrcs z80f,z80f,#1<<CFlag 1040.endm 1041 1042.macro opSRLA 1043 opSRL z80a z80a 25 1044 mov z80a,z80a,lsl#24 1045 fetch 8 1046.endm 1047 1048.macro opSRLH reg 1049 opSRL r0 \reg 25 1050 and \reg,\reg,#0x00FF0000 ;@mask out low 1051 orr \reg,\reg,r0,lsl#24 1052 fetch 8 1053.endm 1054 1055.macro opSRLL reg 1056 mov r0,\reg,lsl#8 1057 opSRL r0 r0 25 1058 and \reg,\reg,#0xFF000000 ;@mask out high 1059 orr \reg,\reg,r0,lsl#16 1060 fetch 8 1061.endm 1062 1063.macro opSRLb 1064 opSRL r0 r0 1 1065.endm 1066;@--------------------------------------- 1067 1068.macro opSUB reg shift 1069 mov r1,z80a,lsl#4 ;@ Prepare for check of half carry 1070 subs z80a,z80a,\reg,lsl#\shift 1071 mrs z80f,cpsr 1072 mov z80f,z80f,lsr#28 ;@ S,Z,V&C 1073 eor z80f,z80f,#(1<<CFlag)|(1<<NFlag) ;@ invert C and set n 1074 cmp r1,\reg,lsl#\shift+4 1075 orrcc z80f,z80f,#1<<HFlag 1076.endm 1077 1078.macro opSUBA 1079 mov z80a,#0 1080 mov z80f,#(1<<ZFlag)|(1<<NFlag) ;@ set Z & n 1081 fetch 4 1082.endm 1083 1084.macro opSUBH reg 1085 and r0,\reg,#0xFF000000 1086 opSUB r0 0 1087 fetch 4 1088.endm 1089 1090.macro opSUBL reg 1091 opSUB \reg 8 1092 fetch 4 1093.endm 1094 1095.macro opSUBb 1096 opSUB r0 24 1097.endm 1098;@--------------------------------------- 1099 1100.macro opXOR reg shift 1101 eor z80a,z80a,\reg,lsl#\shift 1102 sub r0,opcodes,#0x100 1103 ldrb z80f,[r0,z80a, lsr #24] 1104.endm 1105 1106.macro opXORA 1107 mov z80a,#0 1108 mov z80f,#(1<<ZFlag)|(1<<VFlag) 1109 fetch 4 1110.endm 1111 1112.macro opXORH reg 1113 and r0,\reg,#0xFF000000 1114 opXOR r0 0 1115 fetch 4 1116.endm 1117 1118.macro opXORL reg 1119 opXOR \reg 8 1120 fetch 4 1121.endm 1122 1123.macro opXORb 1124 opXOR r0 24 1125.endm 1126;@--------------------------------------- 1127 1128 1129;@ --------------------------- Framework -------------------------- 1130 1131.text 1132 1133DrZ80Run: 1134 ;@ r0 = pointer to cpu context 1135 ;@ r1 = ISTATES to execute 1136 ;@######################################### 1137 stmdb sp!,{r4-r12,lr} ;@ save registers on stack 1138 mov cpucontext,r0 ;@ setup main memory pointer 1139 mov z80_icount,r1 ;@ setup number of Tstates to execute 1140 ldmia cpucontext,{z80pc-z80sp} ;@ load Z80 registers 1141 1142 1143 ldr opcodes,MAIN_opcodes_POINTER2 1144 1145 ;@ check ints 1146 bl DoInterrupt 1147 1148 ldrb r0,[z80pc],#1 ;@ get first op code 1149 ldr pc,[opcodes,r0, lsl #2] ;@ execute op code 1150 1151MAIN_opcodes_POINTER2: .word MAIN_opcodes 1152 1153 1154z80_execute_end: 1155 str z80_icount,[cpucontext,#cycles_pointer] 1156 ;@ save registers in CPU context 1157 stmia cpucontext,{z80pc-z80sp} ;@ save Z80 registers 1158 ldmia sp!,{r4-r12,pc} ;@ restore registers from stack and return to C code 1159 1160.if INTERRUPT_MODE 1161Interrupt_local: .word Interrupt 1162.endif 1163 1164DoInterrupt: 1165.if INTERRUPT_MODE 1166 ;@ call MAME interrupt handler 1167 ;@ save everything back into DrZ80 context 1168 stmia cpucontext,{z80pc-z80sp} ;@ save Z80 registers 1169 stmfd sp!,{r3,r4,r5,lr} ;@ save rest of regs on stack 1170 mov lr,pc 1171 ldr pc,Interrupt_local 1172 ldmfd sp!,{r3,r4,r5,lr} ;@ load regs from stack 1173 ;@ reload regs from DrZ80 context 1174 ldmia cpucontext,{z80pc-z80sp} ;@ load Z80 registers 1175.endif 1176 ldrb r0,[cpucontext,#z80irq] 1177 tst r0,r0 1178 moveq pc,lr 1179 1180 tst r0,#2 1181 bne DoInterrupt_NMI 1182 1183 ldrb r0,[cpucontext,#z80if] 1184 tst r0,#Z80_IF1 1185 moveq pc,lr ;@ exit if int disabled 1186 1187 stmfd sp!,{lr} 1188 1189 tst r0,#Z80_HALT ;@ check halt 1190 addne z80pc,z80pc,#1 1191 1192 ;@ clear halt and int flags 1193 eor r0,r0,r0 1194 strb r0,[cpucontext,#z80if] 1195 1196 ;@ now check int mode 1197 ldrb r0,[cpucontext,#z80im] 1198 and r0,r0,#3 1199 ldr pc,[pc,r0,lsl#2] 1200 .word 0 1201 .word DoInterrupt_mode0 1202 .word DoInterrupt_mode1 1203 .word DoInterrupt_mode2 1204 .word DoInterrupt_mode1 1205 1206DoInterrupt_NMI: 1207 stmfd sp!,{lr} 1208 1209 bic r0,r0,#2 1210 strb r0,[cpucontext,#z80irq] 1211 1212 ldrb r0,[cpucontext,#z80if] 1213 tst r0,#Z80_HALT ;@ check halt 1214 addne z80pc,z80pc,#1 1215 1216 ;@ clear halt & iff1 1217 bic r0,r0,#Z80_IF1|Z80_HALT 1218 strb r0,[cpucontext,#z80if] 1219 1220 ldr r0,[cpucontext,#z80pc_base] 1221 sub r0,z80pc,r0 1222.if FAST_Z80SP 1223 mov r1,r0, lsr #8 1224 strb r1,[z80sp,#-1]! 1225 strb r0,[z80sp,#-1]! 1226.else 1227 sub z80sp,z80sp,#2 1228 mov r1,z80sp 1229 writemem16 1230 ldr r2,[cpucontext, #z80irqvector] 1231.endif 1232 ;@ jump to vector 1233 mov r0,#0x66 1234 rebasepc 1235 1236 b DoInterrupt_end 1237 1238DoInterrupt_mode0: 1239 ;@ get 3 byte vector 1240 ldr r2,[cpucontext, #z80irqvector] 1241 and r1,r2,#0xFF0000 1242 cmp r1,#0xCD0000 ;@ call 1243 bne 1f 1244 ;@ ######## 1245 ;@ # call 1246 ;@ ######## 1247 ;@ save current pc on stack 1248 ldr r0,[cpucontext,#z80pc_base] 1249 sub r0,z80pc,r0 1250.if FAST_Z80SP 1251 mov r1,r0, lsr #8 1252 strb r1,[z80sp,#-1]! 1253 strb r0,[z80sp,#-1]! 1254.else 1255 sub z80sp,z80sp,#2 1256 mov r1,z80sp 1257 writemem16 1258 ldr r2,[cpucontext, #z80irqvector] 1259.endif 1260 ;@ jump to vector 1261 mov r2,r2,lsl#16 1262 mov r0,r2,lsr#16 1263 ;@ rebase new pc 1264 rebasepc 1265 1266 b DoInterrupt_end 1267 12681: 1269 cmp r1,#0xC30000 ;@ jump 1270 bne DoInterrupt_mode1 ;@ rst 1271 ;@ ####### 1272 ;@ # jump 1273 ;@ ####### 1274 ;@ jump to vector 1275 mov r2,r2,lsl#16 1276 mov r0,r2,lsr#16 1277 ;@ rebase new pc 1278 rebasepc 1279 1280 b DoInterrupt_end 1281 1282DoInterrupt_mode1: 1283 ldr r0,[cpucontext,#z80pc_base] 1284 sub r0,z80pc,r0 1285.if FAST_Z80SP 1286 mov r1,r0, lsr #8 1287 strb r1,[z80sp,#-1]! 1288 strb r0,[z80sp,#-1]! 1289.else 1290 sub z80sp,z80sp,#2 1291 mov r1,z80sp 1292 writemem16 1293.endif 1294 mov r0,#0x38 1295 rebasepc 1296 1297 b DoInterrupt_end 1298 1299DoInterrupt_mode2: 1300 ;@ push pc on stack 1301 ldr r0,[cpucontext,#z80pc_base] 1302 sub r0,z80pc,r0 1303.if FAST_Z80SP 1304 mov r1,r0, lsr #8 1305 strb r1,[z80sp,#-1]! 1306 strb r0,[z80sp,#-1]! 1307.else 1308 sub z80sp,z80sp,#2 1309 mov r1,z80sp 1310 writemem16 1311.endif 1312 1313 ;@ get 1 byte vector address 1314 ldrb r0,[cpucontext, #z80irqvector] 1315 ldr r1,[cpucontext, #z80i] 1316 orr r0,r0,r1,lsr#16 1317 1318 ;@ read new pc from vector address 1319 stmfd sp!,{r3,r12} 1320 mov lr,pc 1321 ldr pc,[cpucontext,#z80_read16] 1322 1323 ;@ rebase new pc 1324 mov lr,pc 1325 ldr pc,[cpucontext,#z80_rebasePC] ;@ r0=new pc - external function sets z80pc_base and returns new z80pc in r0 1326 ldmfd sp!,{r3,r12} 1327 mov z80pc,r0 1328 1329DoInterrupt_end: 1330 ;@ interupt accepted so callback irq interface 1331 ldr r0,[cpucontext, #z80irqcallback] 1332 tst r0,r0 1333 ldmeqfd sp!,{pc} 1334 stmfd sp!,{r3,r12} 1335 mov lr,pc 1336 mov pc,r0 ;@ call callback function 1337 ldmfd sp!,{r3,r12} 1338 ldmfd sp!,{pc} ;@ return 1339 1340.data 1341.align 4 1342 1343DAATable: .hword (0x00<<8)|(1<<ZFlag)|(1<<VFlag) 1344 .hword (0x01<<8) 1345 .hword (0x02<<8) 1346 .hword (0x03<<8) |(1<<VFlag) 1347 .hword (0x04<<8) 1348 .hword (0x05<<8) |(1<<VFlag) 1349 .hword (0x06<<8) |(1<<VFlag) 1350 .hword (0x07<<8) 1351 .hword (0x08<<8) 1352 .hword (0x09<<8) |(1<<VFlag) 1353 .hword (0x10<<8) |(1<<HFlag) 1354 .hword (0x11<<8) |(1<<HFlag) |(1<<VFlag) 1355 .hword (0x12<<8) |(1<<HFlag) |(1<<VFlag) 1356 .hword (0x13<<8) |(1<<HFlag) 1357 .hword (0x14<<8) |(1<<HFlag) |(1<<VFlag) 1358 .hword (0x15<<8) |(1<<HFlag) 1359 .hword (0x10<<8) 1360 .hword (0x11<<8) |(1<<VFlag) 1361 .hword (0x12<<8) |(1<<VFlag) 1362 .hword (0x13<<8) 1363 .hword (0x14<<8) |(1<<VFlag) 1364 .hword (0x15<<8) 1365 .hword (0x16<<8) 1366 .hword (0x17<<8) |(1<<VFlag) 1367 .hword (0x18<<8) |(1<<VFlag) 1368 .hword (0x19<<8) 1369 .hword (0x20<<8) |(1<<HFlag) 1370 .hword (0x21<<8) |(1<<HFlag) |(1<<VFlag) 1371 .hword (0x22<<8) |(1<<HFlag) |(1<<VFlag) 1372 .hword (0x23<<8) |(1<<HFlag) 1373 .hword (0x24<<8) |(1<<HFlag) |(1<<VFlag) 1374 .hword (0x25<<8) |(1<<HFlag) 1375 .hword (0x20<<8) 1376 .hword (0x21<<8) |(1<<VFlag) 1377 .hword (0x22<<8) |(1<<VFlag) 1378 .hword (0x23<<8) 1379 .hword (0x24<<8) |(1<<VFlag) 1380 .hword (0x25<<8) 1381 .hword (0x26<<8) 1382 .hword (0x27<<8) |(1<<VFlag) 1383 .hword (0x28<<8) |(1<<VFlag) 1384 .hword (0x29<<8) 1385 .hword (0x30<<8) |(1<<HFlag) |(1<<VFlag) 1386 .hword (0x31<<8) |(1<<HFlag) 1387 .hword (0x32<<8) |(1<<HFlag) 1388 .hword (0x33<<8) |(1<<HFlag) |(1<<VFlag) 1389 .hword (0x34<<8) |(1<<HFlag) 1390 .hword (0x35<<8) |(1<<HFlag) |(1<<VFlag) 1391 .hword (0x30<<8) |(1<<VFlag) 1392 .hword (0x31<<8) 1393 .hword (0x32<<8) 1394 .hword (0x33<<8) |(1<<VFlag) 1395 .hword (0x34<<8) 1396 .hword (0x35<<8) |(1<<VFlag) 1397 .hword (0x36<<8) |(1<<VFlag) 1398 .hword (0x37<<8) 1399 .hword (0x38<<8) 1400 .hword (0x39<<8) |(1<<VFlag) 1401 .hword (0x40<<8) |(1<<HFlag) 1402 .hword (0x41<<8) |(1<<HFlag) |(1<<VFlag) 1403 .hword (0x42<<8) |(1<<HFlag) |(1<<VFlag) 1404 .hword (0x43<<8) |(1<<HFlag) 1405 .hword (0x44<<8) |(1<<HFlag) |(1<<VFlag) 1406 .hword (0x45<<8) |(1<<HFlag) 1407 .hword (0x40<<8) 1408 .hword (0x41<<8) |(1<<VFlag) 1409 .hword (0x42<<8) |(1<<VFlag) 1410 .hword (0x43<<8) 1411 .hword (0x44<<8) |(1<<VFlag) 1412 .hword (0x45<<8) 1413 .hword (0x46<<8) 1414 .hword (0x47<<8) |(1<<VFlag) 1415 .hword (0x48<<8) |(1<<VFlag) 1416 .hword (0x49<<8) 1417 .hword (0x50<<8) |(1<<HFlag) |(1<<VFlag) 1418 .hword (0x51<<8) |(1<<HFlag) 1419 .hword (0x52<<8) |(1<<HFlag) 1420 .hword (0x53<<8) |(1<<HFlag) |(1<<VFlag) 1421 .hword (0x54<<8) |(1<<HFlag) 1422 .hword (0x55<<8) |(1<<HFlag) |(1<<VFlag) 1423 .hword (0x50<<8) |(1<<VFlag) 1424 .hword (0x51<<8) 1425 .hword (0x52<<8) 1426 .hword (0x53<<8) |(1<<VFlag) 1427 .hword (0x54<<8) 1428 .hword (0x55<<8) |(1<<VFlag) 1429 .hword (0x56<<8) |(1<<VFlag) 1430 .hword (0x57<<8) 1431 .hword (0x58<<8) 1432 .hword (0x59<<8) |(1<<VFlag) 1433 .hword (0x60<<8) |(1<<HFlag) |(1<<VFlag) 1434 .hword (0x61<<8) |(1<<HFlag) 1435 .hword (0x62<<8) |(1<<HFlag) 1436 .hword (0x63<<8) |(1<<HFlag) |(1<<VFlag) 1437 .hword (0x64<<8) |(1<<HFlag) 1438 .hword (0x65<<8) |(1<<HFlag) |(1<<VFlag) 1439 .hword (0x60<<8) |(1<<VFlag) 1440 .hword (0x61<<8) 1441 .hword (0x62<<8) 1442 .hword (0x63<<8) |(1<<VFlag) 1443 .hword (0x64<<8) 1444 .hword (0x65<<8) |(1<<VFlag) 1445 .hword (0x66<<8) |(1<<VFlag) 1446 .hword (0x67<<8) 1447 .hword (0x68<<8) 1448 .hword (0x69<<8) |(1<<VFlag) 1449 .hword (0x70<<8) |(1<<HFlag) 1450 .hword (0x71<<8) |(1<<HFlag) |(1<<VFlag) 1451 .hword (0x72<<8) |(1<<HFlag) |(1<<VFlag) 1452 .hword (0x73<<8) |(1<<HFlag) 1453 .hword (0x74<<8) |(1<<HFlag) |(1<<VFlag) 1454 .hword (0x75<<8) |(1<<HFlag) 1455 .hword (0x70<<8) 1456 .hword (0x71<<8) |(1<<VFlag) 1457 .hword (0x72<<8) |(1<<VFlag) 1458 .hword (0x73<<8) 1459 .hword (0x74<<8) |(1<<VFlag) 1460 .hword (0x75<<8) 1461 .hword (0x76<<8) 1462 .hword (0x77<<8) |(1<<VFlag) 1463 .hword (0x78<<8) |(1<<VFlag) 1464 .hword (0x79<<8) 1465 .hword (0x80<<8)|(1<<SFlag) |(1<<HFlag) 1466 .hword (0x81<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1467 .hword (0x82<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1468 .hword (0x83<<8)|(1<<SFlag) |(1<<HFlag) 1469 .hword (0x84<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1470 .hword (0x85<<8)|(1<<SFlag) |(1<<HFlag) 1471 .hword (0x80<<8)|(1<<SFlag) 1472 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag) 1473 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag) 1474 .hword (0x83<<8)|(1<<SFlag) 1475 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag) 1476 .hword (0x85<<8)|(1<<SFlag) 1477 .hword (0x86<<8)|(1<<SFlag) 1478 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag) 1479 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag) 1480 .hword (0x89<<8)|(1<<SFlag) 1481 .hword (0x90<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1482 .hword (0x91<<8)|(1<<SFlag) |(1<<HFlag) 1483 .hword (0x92<<8)|(1<<SFlag) |(1<<HFlag) 1484 .hword (0x93<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1485 .hword (0x94<<8)|(1<<SFlag) |(1<<HFlag) 1486 .hword (0x95<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1487 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag) 1488 .hword (0x91<<8)|(1<<SFlag) 1489 .hword (0x92<<8)|(1<<SFlag) 1490 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag) 1491 .hword (0x94<<8)|(1<<SFlag) 1492 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag) 1493 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag) 1494 .hword (0x97<<8)|(1<<SFlag) 1495 .hword (0x98<<8)|(1<<SFlag) 1496 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag) 1497 .hword (0x00<<8) |(1<<ZFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1498 .hword (0x01<<8) |(1<<HFlag) |(1<<CFlag) 1499 .hword (0x02<<8) |(1<<HFlag) |(1<<CFlag) 1500 .hword (0x03<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1501 .hword (0x04<<8) |(1<<HFlag) |(1<<CFlag) 1502 .hword (0x05<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1503 .hword (0x00<<8) |(1<<ZFlag) |(1<<VFlag) |(1<<CFlag) 1504 .hword (0x01<<8) |(1<<CFlag) 1505 .hword (0x02<<8) |(1<<CFlag) 1506 .hword (0x03<<8) |(1<<VFlag) |(1<<CFlag) 1507 .hword (0x04<<8) |(1<<CFlag) 1508 .hword (0x05<<8) |(1<<VFlag) |(1<<CFlag) 1509 .hword (0x06<<8) |(1<<VFlag) |(1<<CFlag) 1510 .hword (0x07<<8) |(1<<CFlag) 1511 .hword (0x08<<8) |(1<<CFlag) 1512 .hword (0x09<<8) |(1<<VFlag) |(1<<CFlag) 1513 .hword (0x10<<8) |(1<<HFlag) |(1<<CFlag) 1514 .hword (0x11<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1515 .hword (0x12<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1516 .hword (0x13<<8) |(1<<HFlag) |(1<<CFlag) 1517 .hword (0x14<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1518 .hword (0x15<<8) |(1<<HFlag) |(1<<CFlag) 1519 .hword (0x10<<8) |(1<<CFlag) 1520 .hword (0x11<<8) |(1<<VFlag) |(1<<CFlag) 1521 .hword (0x12<<8) |(1<<VFlag) |(1<<CFlag) 1522 .hword (0x13<<8) |(1<<CFlag) 1523 .hword (0x14<<8) |(1<<VFlag) |(1<<CFlag) 1524 .hword (0x15<<8) |(1<<CFlag) 1525 .hword (0x16<<8) |(1<<CFlag) 1526 .hword (0x17<<8) |(1<<VFlag) |(1<<CFlag) 1527 .hword (0x18<<8) |(1<<VFlag) |(1<<CFlag) 1528 .hword (0x19<<8) |(1<<CFlag) 1529 .hword (0x20<<8) |(1<<HFlag) |(1<<CFlag) 1530 .hword (0x21<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1531 .hword (0x22<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1532 .hword (0x23<<8) |(1<<HFlag) |(1<<CFlag) 1533 .hword (0x24<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1534 .hword (0x25<<8) |(1<<HFlag) |(1<<CFlag) 1535 .hword (0x20<<8) |(1<<CFlag) 1536 .hword (0x21<<8) |(1<<VFlag) |(1<<CFlag) 1537 .hword (0x22<<8) |(1<<VFlag) |(1<<CFlag) 1538 .hword (0x23<<8) |(1<<CFlag) 1539 .hword (0x24<<8) |(1<<VFlag) |(1<<CFlag) 1540 .hword (0x25<<8) |(1<<CFlag) 1541 .hword (0x26<<8) |(1<<CFlag) 1542 .hword (0x27<<8) |(1<<VFlag) |(1<<CFlag) 1543 .hword (0x28<<8) |(1<<VFlag) |(1<<CFlag) 1544 .hword (0x29<<8) |(1<<CFlag) 1545 .hword (0x30<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1546 .hword (0x31<<8) |(1<<HFlag) |(1<<CFlag) 1547 .hword (0x32<<8) |(1<<HFlag) |(1<<CFlag) 1548 .hword (0x33<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1549 .hword (0x34<<8) |(1<<HFlag) |(1<<CFlag) 1550 .hword (0x35<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1551 .hword (0x30<<8) |(1<<VFlag) |(1<<CFlag) 1552 .hword (0x31<<8) |(1<<CFlag) 1553 .hword (0x32<<8) |(1<<CFlag) 1554 .hword (0x33<<8) |(1<<VFlag) |(1<<CFlag) 1555 .hword (0x34<<8) |(1<<CFlag) 1556 .hword (0x35<<8) |(1<<VFlag) |(1<<CFlag) 1557 .hword (0x36<<8) |(1<<VFlag) |(1<<CFlag) 1558 .hword (0x37<<8) |(1<<CFlag) 1559 .hword (0x38<<8) |(1<<CFlag) 1560 .hword (0x39<<8) |(1<<VFlag) |(1<<CFlag) 1561 .hword (0x40<<8) |(1<<HFlag) |(1<<CFlag) 1562 .hword (0x41<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1563 .hword (0x42<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1564 .hword (0x43<<8) |(1<<HFlag) |(1<<CFlag) 1565 .hword (0x44<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1566 .hword (0x45<<8) |(1<<HFlag) |(1<<CFlag) 1567 .hword (0x40<<8) |(1<<CFlag) 1568 .hword (0x41<<8) |(1<<VFlag) |(1<<CFlag) 1569 .hword (0x42<<8) |(1<<VFlag) |(1<<CFlag) 1570 .hword (0x43<<8) |(1<<CFlag) 1571 .hword (0x44<<8) |(1<<VFlag) |(1<<CFlag) 1572 .hword (0x45<<8) |(1<<CFlag) 1573 .hword (0x46<<8) |(1<<CFlag) 1574 .hword (0x47<<8) |(1<<VFlag) |(1<<CFlag) 1575 .hword (0x48<<8) |(1<<VFlag) |(1<<CFlag) 1576 .hword (0x49<<8) |(1<<CFlag) 1577 .hword (0x50<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1578 .hword (0x51<<8) |(1<<HFlag) |(1<<CFlag) 1579 .hword (0x52<<8) |(1<<HFlag) |(1<<CFlag) 1580 .hword (0x53<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1581 .hword (0x54<<8) |(1<<HFlag) |(1<<CFlag) 1582 .hword (0x55<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1583 .hword (0x50<<8) |(1<<VFlag) |(1<<CFlag) 1584 .hword (0x51<<8) |(1<<CFlag) 1585 .hword (0x52<<8) |(1<<CFlag) 1586 .hword (0x53<<8) |(1<<VFlag) |(1<<CFlag) 1587 .hword (0x54<<8) |(1<<CFlag) 1588 .hword (0x55<<8) |(1<<VFlag) |(1<<CFlag) 1589 .hword (0x56<<8) |(1<<VFlag) |(1<<CFlag) 1590 .hword (0x57<<8) |(1<<CFlag) 1591 .hword (0x58<<8) |(1<<CFlag) 1592 .hword (0x59<<8) |(1<<VFlag) |(1<<CFlag) 1593 .hword (0x60<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1594 .hword (0x61<<8) |(1<<HFlag) |(1<<CFlag) 1595 .hword (0x62<<8) |(1<<HFlag) |(1<<CFlag) 1596 .hword (0x63<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1597 .hword (0x64<<8) |(1<<HFlag) |(1<<CFlag) 1598 .hword (0x65<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1599 .hword (0x60<<8) |(1<<VFlag) |(1<<CFlag) 1600 .hword (0x61<<8) |(1<<CFlag) 1601 .hword (0x62<<8) |(1<<CFlag) 1602 .hword (0x63<<8) |(1<<VFlag) |(1<<CFlag) 1603 .hword (0x64<<8) |(1<<CFlag) 1604 .hword (0x65<<8) |(1<<VFlag) |(1<<CFlag) 1605 .hword (0x66<<8) |(1<<VFlag) |(1<<CFlag) 1606 .hword (0x67<<8) |(1<<CFlag) 1607 .hword (0x68<<8) |(1<<CFlag) 1608 .hword (0x69<<8) |(1<<VFlag) |(1<<CFlag) 1609 .hword (0x70<<8) |(1<<HFlag) |(1<<CFlag) 1610 .hword (0x71<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1611 .hword (0x72<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1612 .hword (0x73<<8) |(1<<HFlag) |(1<<CFlag) 1613 .hword (0x74<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1614 .hword (0x75<<8) |(1<<HFlag) |(1<<CFlag) 1615 .hword (0x70<<8) |(1<<CFlag) 1616 .hword (0x71<<8) |(1<<VFlag) |(1<<CFlag) 1617 .hword (0x72<<8) |(1<<VFlag) |(1<<CFlag) 1618 .hword (0x73<<8) |(1<<CFlag) 1619 .hword (0x74<<8) |(1<<VFlag) |(1<<CFlag) 1620 .hword (0x75<<8) |(1<<CFlag) 1621 .hword (0x76<<8) |(1<<CFlag) 1622 .hword (0x77<<8) |(1<<VFlag) |(1<<CFlag) 1623 .hword (0x78<<8) |(1<<VFlag) |(1<<CFlag) 1624 .hword (0x79<<8) |(1<<CFlag) 1625 .hword (0x80<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1626 .hword (0x81<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1627 .hword (0x82<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1628 .hword (0x83<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1629 .hword (0x84<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1630 .hword (0x85<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1631 .hword (0x80<<8)|(1<<SFlag) |(1<<CFlag) 1632 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1633 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1634 .hword (0x83<<8)|(1<<SFlag) |(1<<CFlag) 1635 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1636 .hword (0x85<<8)|(1<<SFlag) |(1<<CFlag) 1637 .hword (0x86<<8)|(1<<SFlag) |(1<<CFlag) 1638 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1639 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1640 .hword (0x89<<8)|(1<<SFlag) |(1<<CFlag) 1641 .hword (0x90<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1642 .hword (0x91<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1643 .hword (0x92<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1644 .hword (0x93<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1645 .hword (0x94<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1646 .hword (0x95<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1647 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1648 .hword (0x91<<8)|(1<<SFlag) |(1<<CFlag) 1649 .hword (0x92<<8)|(1<<SFlag) |(1<<CFlag) 1650 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1651 .hword (0x94<<8)|(1<<SFlag) |(1<<CFlag) 1652 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1653 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1654 .hword (0x97<<8)|(1<<SFlag) |(1<<CFlag) 1655 .hword (0x98<<8)|(1<<SFlag) |(1<<CFlag) 1656 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1657 .hword (0xA0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1658 .hword (0xA1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1659 .hword (0xA2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1660 .hword (0xA3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1661 .hword (0xA4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1662 .hword (0xA5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1663 .hword (0xA0<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1664 .hword (0xA1<<8)|(1<<SFlag) |(1<<CFlag) 1665 .hword (0xA2<<8)|(1<<SFlag) |(1<<CFlag) 1666 .hword (0xA3<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1667 .hword (0xA4<<8)|(1<<SFlag) |(1<<CFlag) 1668 .hword (0xA5<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1669 .hword (0xA6<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1670 .hword (0xA7<<8)|(1<<SFlag) |(1<<CFlag) 1671 .hword (0xA8<<8)|(1<<SFlag) |(1<<CFlag) 1672 .hword (0xA9<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1673 .hword (0xB0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1674 .hword (0xB1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1675 .hword (0xB2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1676 .hword (0xB3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1677 .hword (0xB4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1678 .hword (0xB5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1679 .hword (0xB0<<8)|(1<<SFlag) |(1<<CFlag) 1680 .hword (0xB1<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1681 .hword (0xB2<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1682 .hword (0xB3<<8)|(1<<SFlag) |(1<<CFlag) 1683 .hword (0xB4<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1684 .hword (0xB5<<8)|(1<<SFlag) |(1<<CFlag) 1685 .hword (0xB6<<8)|(1<<SFlag) |(1<<CFlag) 1686 .hword (0xB7<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1687 .hword (0xB8<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1688 .hword (0xB9<<8)|(1<<SFlag) |(1<<CFlag) 1689 .hword (0xC0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1690 .hword (0xC1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1691 .hword (0xC2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1692 .hword (0xC3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1693 .hword (0xC4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1694 .hword (0xC5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1695 .hword (0xC0<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1696 .hword (0xC1<<8)|(1<<SFlag) |(1<<CFlag) 1697 .hword (0xC2<<8)|(1<<SFlag) |(1<<CFlag) 1698 .hword (0xC3<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1699 .hword (0xC4<<8)|(1<<SFlag) |(1<<CFlag) 1700 .hword (0xC5<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1701 .hword (0xC6<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1702 .hword (0xC7<<8)|(1<<SFlag) |(1<<CFlag) 1703 .hword (0xC8<<8)|(1<<SFlag) |(1<<CFlag) 1704 .hword (0xC9<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1705 .hword (0xD0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1706 .hword (0xD1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1707 .hword (0xD2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1708 .hword (0xD3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1709 .hword (0xD4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1710 .hword (0xD5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1711 .hword (0xD0<<8)|(1<<SFlag) |(1<<CFlag) 1712 .hword (0xD1<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1713 .hword (0xD2<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1714 .hword (0xD3<<8)|(1<<SFlag) |(1<<CFlag) 1715 .hword (0xD4<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1716 .hword (0xD5<<8)|(1<<SFlag) |(1<<CFlag) 1717 .hword (0xD6<<8)|(1<<SFlag) |(1<<CFlag) 1718 .hword (0xD7<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1719 .hword (0xD8<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1720 .hword (0xD9<<8)|(1<<SFlag) |(1<<CFlag) 1721 .hword (0xE0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1722 .hword (0xE1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1723 .hword (0xE2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1724 .hword (0xE3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1725 .hword (0xE4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1726 .hword (0xE5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1727 .hword (0xE0<<8)|(1<<SFlag) |(1<<CFlag) 1728 .hword (0xE1<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1729 .hword (0xE2<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1730 .hword (0xE3<<8)|(1<<SFlag) |(1<<CFlag) 1731 .hword (0xE4<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1732 .hword (0xE5<<8)|(1<<SFlag) |(1<<CFlag) 1733 .hword (0xE6<<8)|(1<<SFlag) |(1<<CFlag) 1734 .hword (0xE7<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1735 .hword (0xE8<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1736 .hword (0xE9<<8)|(1<<SFlag) |(1<<CFlag) 1737 .hword (0xF0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1738 .hword (0xF1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1739 .hword (0xF2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1740 .hword (0xF3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1741 .hword (0xF4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 1742 .hword (0xF5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1743 .hword (0xF0<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1744 .hword (0xF1<<8)|(1<<SFlag) |(1<<CFlag) 1745 .hword (0xF2<<8)|(1<<SFlag) |(1<<CFlag) 1746 .hword (0xF3<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1747 .hword (0xF4<<8)|(1<<SFlag) |(1<<CFlag) 1748 .hword (0xF5<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1749 .hword (0xF6<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1750 .hword (0xF7<<8)|(1<<SFlag) |(1<<CFlag) 1751 .hword (0xF8<<8)|(1<<SFlag) |(1<<CFlag) 1752 .hword (0xF9<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 1753 .hword (0x00<<8) |(1<<ZFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1754 .hword (0x01<<8) |(1<<HFlag) |(1<<CFlag) 1755 .hword (0x02<<8) |(1<<HFlag) |(1<<CFlag) 1756 .hword (0x03<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1757 .hword (0x04<<8) |(1<<HFlag) |(1<<CFlag) 1758 .hword (0x05<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1759 .hword (0x00<<8) |(1<<ZFlag) |(1<<VFlag) |(1<<CFlag) 1760 .hword (0x01<<8) |(1<<CFlag) 1761 .hword (0x02<<8) |(1<<CFlag) 1762 .hword (0x03<<8) |(1<<VFlag) |(1<<CFlag) 1763 .hword (0x04<<8) |(1<<CFlag) 1764 .hword (0x05<<8) |(1<<VFlag) |(1<<CFlag) 1765 .hword (0x06<<8) |(1<<VFlag) |(1<<CFlag) 1766 .hword (0x07<<8) |(1<<CFlag) 1767 .hword (0x08<<8) |(1<<CFlag) 1768 .hword (0x09<<8) |(1<<VFlag) |(1<<CFlag) 1769 .hword (0x10<<8) |(1<<HFlag) |(1<<CFlag) 1770 .hword (0x11<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1771 .hword (0x12<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1772 .hword (0x13<<8) |(1<<HFlag) |(1<<CFlag) 1773 .hword (0x14<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1774 .hword (0x15<<8) |(1<<HFlag) |(1<<CFlag) 1775 .hword (0x10<<8) |(1<<CFlag) 1776 .hword (0x11<<8) |(1<<VFlag) |(1<<CFlag) 1777 .hword (0x12<<8) |(1<<VFlag) |(1<<CFlag) 1778 .hword (0x13<<8) |(1<<CFlag) 1779 .hword (0x14<<8) |(1<<VFlag) |(1<<CFlag) 1780 .hword (0x15<<8) |(1<<CFlag) 1781 .hword (0x16<<8) |(1<<CFlag) 1782 .hword (0x17<<8) |(1<<VFlag) |(1<<CFlag) 1783 .hword (0x18<<8) |(1<<VFlag) |(1<<CFlag) 1784 .hword (0x19<<8) |(1<<CFlag) 1785 .hword (0x20<<8) |(1<<HFlag) |(1<<CFlag) 1786 .hword (0x21<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1787 .hword (0x22<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1788 .hword (0x23<<8) |(1<<HFlag) |(1<<CFlag) 1789 .hword (0x24<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1790 .hword (0x25<<8) |(1<<HFlag) |(1<<CFlag) 1791 .hword (0x20<<8) |(1<<CFlag) 1792 .hword (0x21<<8) |(1<<VFlag) |(1<<CFlag) 1793 .hword (0x22<<8) |(1<<VFlag) |(1<<CFlag) 1794 .hword (0x23<<8) |(1<<CFlag) 1795 .hword (0x24<<8) |(1<<VFlag) |(1<<CFlag) 1796 .hword (0x25<<8) |(1<<CFlag) 1797 .hword (0x26<<8) |(1<<CFlag) 1798 .hword (0x27<<8) |(1<<VFlag) |(1<<CFlag) 1799 .hword (0x28<<8) |(1<<VFlag) |(1<<CFlag) 1800 .hword (0x29<<8) |(1<<CFlag) 1801 .hword (0x30<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1802 .hword (0x31<<8) |(1<<HFlag) |(1<<CFlag) 1803 .hword (0x32<<8) |(1<<HFlag) |(1<<CFlag) 1804 .hword (0x33<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1805 .hword (0x34<<8) |(1<<HFlag) |(1<<CFlag) 1806 .hword (0x35<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1807 .hword (0x30<<8) |(1<<VFlag) |(1<<CFlag) 1808 .hword (0x31<<8) |(1<<CFlag) 1809 .hword (0x32<<8) |(1<<CFlag) 1810 .hword (0x33<<8) |(1<<VFlag) |(1<<CFlag) 1811 .hword (0x34<<8) |(1<<CFlag) 1812 .hword (0x35<<8) |(1<<VFlag) |(1<<CFlag) 1813 .hword (0x36<<8) |(1<<VFlag) |(1<<CFlag) 1814 .hword (0x37<<8) |(1<<CFlag) 1815 .hword (0x38<<8) |(1<<CFlag) 1816 .hword (0x39<<8) |(1<<VFlag) |(1<<CFlag) 1817 .hword (0x40<<8) |(1<<HFlag) |(1<<CFlag) 1818 .hword (0x41<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1819 .hword (0x42<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1820 .hword (0x43<<8) |(1<<HFlag) |(1<<CFlag) 1821 .hword (0x44<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1822 .hword (0x45<<8) |(1<<HFlag) |(1<<CFlag) 1823 .hword (0x40<<8) |(1<<CFlag) 1824 .hword (0x41<<8) |(1<<VFlag) |(1<<CFlag) 1825 .hword (0x42<<8) |(1<<VFlag) |(1<<CFlag) 1826 .hword (0x43<<8) |(1<<CFlag) 1827 .hword (0x44<<8) |(1<<VFlag) |(1<<CFlag) 1828 .hword (0x45<<8) |(1<<CFlag) 1829 .hword (0x46<<8) |(1<<CFlag) 1830 .hword (0x47<<8) |(1<<VFlag) |(1<<CFlag) 1831 .hword (0x48<<8) |(1<<VFlag) |(1<<CFlag) 1832 .hword (0x49<<8) |(1<<CFlag) 1833 .hword (0x50<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1834 .hword (0x51<<8) |(1<<HFlag) |(1<<CFlag) 1835 .hword (0x52<<8) |(1<<HFlag) |(1<<CFlag) 1836 .hword (0x53<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1837 .hword (0x54<<8) |(1<<HFlag) |(1<<CFlag) 1838 .hword (0x55<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1839 .hword (0x50<<8) |(1<<VFlag) |(1<<CFlag) 1840 .hword (0x51<<8) |(1<<CFlag) 1841 .hword (0x52<<8) |(1<<CFlag) 1842 .hword (0x53<<8) |(1<<VFlag) |(1<<CFlag) 1843 .hword (0x54<<8) |(1<<CFlag) 1844 .hword (0x55<<8) |(1<<VFlag) |(1<<CFlag) 1845 .hword (0x56<<8) |(1<<VFlag) |(1<<CFlag) 1846 .hword (0x57<<8) |(1<<CFlag) 1847 .hword (0x58<<8) |(1<<CFlag) 1848 .hword (0x59<<8) |(1<<VFlag) |(1<<CFlag) 1849 .hword (0x60<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1850 .hword (0x61<<8) |(1<<HFlag) |(1<<CFlag) 1851 .hword (0x62<<8) |(1<<HFlag) |(1<<CFlag) 1852 .hword (0x63<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1853 .hword (0x64<<8) |(1<<HFlag) |(1<<CFlag) 1854 .hword (0x65<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 1855 .hword (0x06<<8) |(1<<VFlag) 1856 .hword (0x07<<8) 1857 .hword (0x08<<8) 1858 .hword (0x09<<8) |(1<<VFlag) 1859 .hword (0x0A<<8) |(1<<VFlag) 1860 .hword (0x0B<<8) 1861 .hword (0x0C<<8) |(1<<VFlag) 1862 .hword (0x0D<<8) 1863 .hword (0x0E<<8) 1864 .hword (0x0F<<8) |(1<<VFlag) 1865 .hword (0x10<<8) |(1<<HFlag) 1866 .hword (0x11<<8) |(1<<HFlag) |(1<<VFlag) 1867 .hword (0x12<<8) |(1<<HFlag) |(1<<VFlag) 1868 .hword (0x13<<8) |(1<<HFlag) 1869 .hword (0x14<<8) |(1<<HFlag) |(1<<VFlag) 1870 .hword (0x15<<8) |(1<<HFlag) 1871 .hword (0x16<<8) 1872 .hword (0x17<<8) |(1<<VFlag) 1873 .hword (0x18<<8) |(1<<VFlag) 1874 .hword (0x19<<8) 1875 .hword (0x1A<<8) 1876 .hword (0x1B<<8) |(1<<VFlag) 1877 .hword (0x1C<<8) 1878 .hword (0x1D<<8) |(1<<VFlag) 1879 .hword (0x1E<<8) |(1<<VFlag) 1880 .hword (0x1F<<8) 1881 .hword (0x20<<8) |(1<<HFlag) 1882 .hword (0x21<<8) |(1<<HFlag) |(1<<VFlag) 1883 .hword (0x22<<8) |(1<<HFlag) |(1<<VFlag) 1884 .hword (0x23<<8) |(1<<HFlag) 1885 .hword (0x24<<8) |(1<<HFlag) |(1<<VFlag) 1886 .hword (0x25<<8) |(1<<HFlag) 1887 .hword (0x26<<8) 1888 .hword (0x27<<8) |(1<<VFlag) 1889 .hword (0x28<<8) |(1<<VFlag) 1890 .hword (0x29<<8) 1891 .hword (0x2A<<8) 1892 .hword (0x2B<<8) |(1<<VFlag) 1893 .hword (0x2C<<8) 1894 .hword (0x2D<<8) |(1<<VFlag) 1895 .hword (0x2E<<8) |(1<<VFlag) 1896 .hword (0x2F<<8) 1897 .hword (0x30<<8) |(1<<HFlag) |(1<<VFlag) 1898 .hword (0x31<<8) |(1<<HFlag) 1899 .hword (0x32<<8) |(1<<HFlag) 1900 .hword (0x33<<8) |(1<<HFlag) |(1<<VFlag) 1901 .hword (0x34<<8) |(1<<HFlag) 1902 .hword (0x35<<8) |(1<<HFlag) |(1<<VFlag) 1903 .hword (0x36<<8) |(1<<VFlag) 1904 .hword (0x37<<8) 1905 .hword (0x38<<8) 1906 .hword (0x39<<8) |(1<<VFlag) 1907 .hword (0x3A<<8) |(1<<VFlag) 1908 .hword (0x3B<<8) 1909 .hword (0x3C<<8) |(1<<VFlag) 1910 .hword (0x3D<<8) 1911 .hword (0x3E<<8) 1912 .hword (0x3F<<8) |(1<<VFlag) 1913 .hword (0x40<<8) |(1<<HFlag) 1914 .hword (0x41<<8) |(1<<HFlag) |(1<<VFlag) 1915 .hword (0x42<<8) |(1<<HFlag) |(1<<VFlag) 1916 .hword (0x43<<8) |(1<<HFlag) 1917 .hword (0x44<<8) |(1<<HFlag) |(1<<VFlag) 1918 .hword (0x45<<8) |(1<<HFlag) 1919 .hword (0x46<<8) 1920 .hword (0x47<<8) |(1<<VFlag) 1921 .hword (0x48<<8) |(1<<VFlag) 1922 .hword (0x49<<8) 1923 .hword (0x4A<<8) 1924 .hword (0x4B<<8) |(1<<VFlag) 1925 .hword (0x4C<<8) 1926 .hword (0x4D<<8) |(1<<VFlag) 1927 .hword (0x4E<<8) |(1<<VFlag) 1928 .hword (0x4F<<8) 1929 .hword (0x50<<8) |(1<<HFlag) |(1<<VFlag) 1930 .hword (0x51<<8) |(1<<HFlag) 1931 .hword (0x52<<8) |(1<<HFlag) 1932 .hword (0x53<<8) |(1<<HFlag) |(1<<VFlag) 1933 .hword (0x54<<8) |(1<<HFlag) 1934 .hword (0x55<<8) |(1<<HFlag) |(1<<VFlag) 1935 .hword (0x56<<8) |(1<<VFlag) 1936 .hword (0x57<<8) 1937 .hword (0x58<<8) 1938 .hword (0x59<<8) |(1<<VFlag) 1939 .hword (0x5A<<8) |(1<<VFlag) 1940 .hword (0x5B<<8) 1941 .hword (0x5C<<8) |(1<<VFlag) 1942 .hword (0x5D<<8) 1943 .hword (0x5E<<8) 1944 .hword (0x5F<<8) |(1<<VFlag) 1945 .hword (0x60<<8) |(1<<HFlag) |(1<<VFlag) 1946 .hword (0x61<<8) |(1<<HFlag) 1947 .hword (0x62<<8) |(1<<HFlag) 1948 .hword (0x63<<8) |(1<<HFlag) |(1<<VFlag) 1949 .hword (0x64<<8) |(1<<HFlag) 1950 .hword (0x65<<8) |(1<<HFlag) |(1<<VFlag) 1951 .hword (0x66<<8) |(1<<VFlag) 1952 .hword (0x67<<8) 1953 .hword (0x68<<8) 1954 .hword (0x69<<8) |(1<<VFlag) 1955 .hword (0x6A<<8) |(1<<VFlag) 1956 .hword (0x6B<<8) 1957 .hword (0x6C<<8) |(1<<VFlag) 1958 .hword (0x6D<<8) 1959 .hword (0x6E<<8) 1960 .hword (0x6F<<8) |(1<<VFlag) 1961 .hword (0x70<<8) |(1<<HFlag) 1962 .hword (0x71<<8) |(1<<HFlag) |(1<<VFlag) 1963 .hword (0x72<<8) |(1<<HFlag) |(1<<VFlag) 1964 .hword (0x73<<8) |(1<<HFlag) 1965 .hword (0x74<<8) |(1<<HFlag) |(1<<VFlag) 1966 .hword (0x75<<8) |(1<<HFlag) 1967 .hword (0x76<<8) 1968 .hword (0x77<<8) |(1<<VFlag) 1969 .hword (0x78<<8) |(1<<VFlag) 1970 .hword (0x79<<8) 1971 .hword (0x7A<<8) 1972 .hword (0x7B<<8) |(1<<VFlag) 1973 .hword (0x7C<<8) 1974 .hword (0x7D<<8) |(1<<VFlag) 1975 .hword (0x7E<<8) |(1<<VFlag) 1976 .hword (0x7F<<8) 1977 .hword (0x80<<8)|(1<<SFlag) |(1<<HFlag) 1978 .hword (0x81<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1979 .hword (0x82<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1980 .hword (0x83<<8)|(1<<SFlag) |(1<<HFlag) 1981 .hword (0x84<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1982 .hword (0x85<<8)|(1<<SFlag) |(1<<HFlag) 1983 .hword (0x86<<8)|(1<<SFlag) 1984 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag) 1985 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag) 1986 .hword (0x89<<8)|(1<<SFlag) 1987 .hword (0x8A<<8)|(1<<SFlag) 1988 .hword (0x8B<<8)|(1<<SFlag) |(1<<VFlag) 1989 .hword (0x8C<<8)|(1<<SFlag) 1990 .hword (0x8D<<8)|(1<<SFlag) |(1<<VFlag) 1991 .hword (0x8E<<8)|(1<<SFlag) |(1<<VFlag) 1992 .hword (0x8F<<8)|(1<<SFlag) 1993 .hword (0x90<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1994 .hword (0x91<<8)|(1<<SFlag) |(1<<HFlag) 1995 .hword (0x92<<8)|(1<<SFlag) |(1<<HFlag) 1996 .hword (0x93<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1997 .hword (0x94<<8)|(1<<SFlag) |(1<<HFlag) 1998 .hword (0x95<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) 1999 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag) 2000 .hword (0x97<<8)|(1<<SFlag) 2001 .hword (0x98<<8)|(1<<SFlag) 2002 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag) 2003 .hword (0x9A<<8)|(1<<SFlag) |(1<<VFlag) 2004 .hword (0x9B<<8)|(1<<SFlag) 2005 .hword (0x9C<<8)|(1<<SFlag) |(1<<VFlag) 2006 .hword (0x9D<<8)|(1<<SFlag) 2007 .hword (0x9E<<8)|(1<<SFlag) 2008 .hword (0x9F<<8)|(1<<SFlag) |(1<<VFlag) 2009 .hword (0x00<<8) |(1<<ZFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2010 .hword (0x01<<8) |(1<<HFlag) |(1<<CFlag) 2011 .hword (0x02<<8) |(1<<HFlag) |(1<<CFlag) 2012 .hword (0x03<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2013 .hword (0x04<<8) |(1<<HFlag) |(1<<CFlag) 2014 .hword (0x05<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2015 .hword (0x06<<8) |(1<<VFlag) |(1<<CFlag) 2016 .hword (0x07<<8) |(1<<CFlag) 2017 .hword (0x08<<8) |(1<<CFlag) 2018 .hword (0x09<<8) |(1<<VFlag) |(1<<CFlag) 2019 .hword (0x0A<<8) |(1<<VFlag) |(1<<CFlag) 2020 .hword (0x0B<<8) |(1<<CFlag) 2021 .hword (0x0C<<8) |(1<<VFlag) |(1<<CFlag) 2022 .hword (0x0D<<8) |(1<<CFlag) 2023 .hword (0x0E<<8) |(1<<CFlag) 2024 .hword (0x0F<<8) |(1<<VFlag) |(1<<CFlag) 2025 .hword (0x10<<8) |(1<<HFlag) |(1<<CFlag) 2026 .hword (0x11<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2027 .hword (0x12<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2028 .hword (0x13<<8) |(1<<HFlag) |(1<<CFlag) 2029 .hword (0x14<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2030 .hword (0x15<<8) |(1<<HFlag) |(1<<CFlag) 2031 .hword (0x16<<8) |(1<<CFlag) 2032 .hword (0x17<<8) |(1<<VFlag) |(1<<CFlag) 2033 .hword (0x18<<8) |(1<<VFlag) |(1<<CFlag) 2034 .hword (0x19<<8) |(1<<CFlag) 2035 .hword (0x1A<<8) |(1<<CFlag) 2036 .hword (0x1B<<8) |(1<<VFlag) |(1<<CFlag) 2037 .hword (0x1C<<8) |(1<<CFlag) 2038 .hword (0x1D<<8) |(1<<VFlag) |(1<<CFlag) 2039 .hword (0x1E<<8) |(1<<VFlag) |(1<<CFlag) 2040 .hword (0x1F<<8) |(1<<CFlag) 2041 .hword (0x20<<8) |(1<<HFlag) |(1<<CFlag) 2042 .hword (0x21<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2043 .hword (0x22<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2044 .hword (0x23<<8) |(1<<HFlag) |(1<<CFlag) 2045 .hword (0x24<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2046 .hword (0x25<<8) |(1<<HFlag) |(1<<CFlag) 2047 .hword (0x26<<8) |(1<<CFlag) 2048 .hword (0x27<<8) |(1<<VFlag) |(1<<CFlag) 2049 .hword (0x28<<8) |(1<<VFlag) |(1<<CFlag) 2050 .hword (0x29<<8) |(1<<CFlag) 2051 .hword (0x2A<<8) |(1<<CFlag) 2052 .hword (0x2B<<8) |(1<<VFlag) |(1<<CFlag) 2053 .hword (0x2C<<8) |(1<<CFlag) 2054 .hword (0x2D<<8) |(1<<VFlag) |(1<<CFlag) 2055 .hword (0x2E<<8) |(1<<VFlag) |(1<<CFlag) 2056 .hword (0x2F<<8) |(1<<CFlag) 2057 .hword (0x30<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2058 .hword (0x31<<8) |(1<<HFlag) |(1<<CFlag) 2059 .hword (0x32<<8) |(1<<HFlag) |(1<<CFlag) 2060 .hword (0x33<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2061 .hword (0x34<<8) |(1<<HFlag) |(1<<CFlag) 2062 .hword (0x35<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2063 .hword (0x36<<8) |(1<<VFlag) |(1<<CFlag) 2064 .hword (0x37<<8) |(1<<CFlag) 2065 .hword (0x38<<8) |(1<<CFlag) 2066 .hword (0x39<<8) |(1<<VFlag) |(1<<CFlag) 2067 .hword (0x3A<<8) |(1<<VFlag) |(1<<CFlag) 2068 .hword (0x3B<<8) |(1<<CFlag) 2069 .hword (0x3C<<8) |(1<<VFlag) |(1<<CFlag) 2070 .hword (0x3D<<8) |(1<<CFlag) 2071 .hword (0x3E<<8) |(1<<CFlag) 2072 .hword (0x3F<<8) |(1<<VFlag) |(1<<CFlag) 2073 .hword (0x40<<8) |(1<<HFlag) |(1<<CFlag) 2074 .hword (0x41<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2075 .hword (0x42<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2076 .hword (0x43<<8) |(1<<HFlag) |(1<<CFlag) 2077 .hword (0x44<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2078 .hword (0x45<<8) |(1<<HFlag) |(1<<CFlag) 2079 .hword (0x46<<8) |(1<<CFlag) 2080 .hword (0x47<<8) |(1<<VFlag) |(1<<CFlag) 2081 .hword (0x48<<8) |(1<<VFlag) |(1<<CFlag) 2082 .hword (0x49<<8) |(1<<CFlag) 2083 .hword (0x4A<<8) |(1<<CFlag) 2084 .hword (0x4B<<8) |(1<<VFlag) |(1<<CFlag) 2085 .hword (0x4C<<8) |(1<<CFlag) 2086 .hword (0x4D<<8) |(1<<VFlag) |(1<<CFlag) 2087 .hword (0x4E<<8) |(1<<VFlag) |(1<<CFlag) 2088 .hword (0x4F<<8) |(1<<CFlag) 2089 .hword (0x50<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2090 .hword (0x51<<8) |(1<<HFlag) |(1<<CFlag) 2091 .hword (0x52<<8) |(1<<HFlag) |(1<<CFlag) 2092 .hword (0x53<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2093 .hword (0x54<<8) |(1<<HFlag) |(1<<CFlag) 2094 .hword (0x55<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2095 .hword (0x56<<8) |(1<<VFlag) |(1<<CFlag) 2096 .hword (0x57<<8) |(1<<CFlag) 2097 .hword (0x58<<8) |(1<<CFlag) 2098 .hword (0x59<<8) |(1<<VFlag) |(1<<CFlag) 2099 .hword (0x5A<<8) |(1<<VFlag) |(1<<CFlag) 2100 .hword (0x5B<<8) |(1<<CFlag) 2101 .hword (0x5C<<8) |(1<<VFlag) |(1<<CFlag) 2102 .hword (0x5D<<8) |(1<<CFlag) 2103 .hword (0x5E<<8) |(1<<CFlag) 2104 .hword (0x5F<<8) |(1<<VFlag) |(1<<CFlag) 2105 .hword (0x60<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2106 .hword (0x61<<8) |(1<<HFlag) |(1<<CFlag) 2107 .hword (0x62<<8) |(1<<HFlag) |(1<<CFlag) 2108 .hword (0x63<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2109 .hword (0x64<<8) |(1<<HFlag) |(1<<CFlag) 2110 .hword (0x65<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2111 .hword (0x66<<8) |(1<<VFlag) |(1<<CFlag) 2112 .hword (0x67<<8) |(1<<CFlag) 2113 .hword (0x68<<8) |(1<<CFlag) 2114 .hword (0x69<<8) |(1<<VFlag) |(1<<CFlag) 2115 .hword (0x6A<<8) |(1<<VFlag) |(1<<CFlag) 2116 .hword (0x6B<<8) |(1<<CFlag) 2117 .hword (0x6C<<8) |(1<<VFlag) |(1<<CFlag) 2118 .hword (0x6D<<8) |(1<<CFlag) 2119 .hword (0x6E<<8) |(1<<CFlag) 2120 .hword (0x6F<<8) |(1<<VFlag) |(1<<CFlag) 2121 .hword (0x70<<8) |(1<<HFlag) |(1<<CFlag) 2122 .hword (0x71<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2123 .hword (0x72<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2124 .hword (0x73<<8) |(1<<HFlag) |(1<<CFlag) 2125 .hword (0x74<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2126 .hword (0x75<<8) |(1<<HFlag) |(1<<CFlag) 2127 .hword (0x76<<8) |(1<<CFlag) 2128 .hword (0x77<<8) |(1<<VFlag) |(1<<CFlag) 2129 .hword (0x78<<8) |(1<<VFlag) |(1<<CFlag) 2130 .hword (0x79<<8) |(1<<CFlag) 2131 .hword (0x7A<<8) |(1<<CFlag) 2132 .hword (0x7B<<8) |(1<<VFlag) |(1<<CFlag) 2133 .hword (0x7C<<8) |(1<<CFlag) 2134 .hword (0x7D<<8) |(1<<VFlag) |(1<<CFlag) 2135 .hword (0x7E<<8) |(1<<VFlag) |(1<<CFlag) 2136 .hword (0x7F<<8) |(1<<CFlag) 2137 .hword (0x80<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2138 .hword (0x81<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2139 .hword (0x82<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2140 .hword (0x83<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2141 .hword (0x84<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2142 .hword (0x85<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2143 .hword (0x86<<8)|(1<<SFlag) |(1<<CFlag) 2144 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2145 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2146 .hword (0x89<<8)|(1<<SFlag) |(1<<CFlag) 2147 .hword (0x8A<<8)|(1<<SFlag) |(1<<CFlag) 2148 .hword (0x8B<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2149 .hword (0x8C<<8)|(1<<SFlag) |(1<<CFlag) 2150 .hword (0x8D<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2151 .hword (0x8E<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2152 .hword (0x8F<<8)|(1<<SFlag) |(1<<CFlag) 2153 .hword (0x90<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2154 .hword (0x91<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2155 .hword (0x92<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2156 .hword (0x93<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2157 .hword (0x94<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2158 .hword (0x95<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2159 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2160 .hword (0x97<<8)|(1<<SFlag) |(1<<CFlag) 2161 .hword (0x98<<8)|(1<<SFlag) |(1<<CFlag) 2162 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2163 .hword (0x9A<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2164 .hword (0x9B<<8)|(1<<SFlag) |(1<<CFlag) 2165 .hword (0x9C<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2166 .hword (0x9D<<8)|(1<<SFlag) |(1<<CFlag) 2167 .hword (0x9E<<8)|(1<<SFlag) |(1<<CFlag) 2168 .hword (0x9F<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2169 .hword (0xA0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2170 .hword (0xA1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2171 .hword (0xA2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2172 .hword (0xA3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2173 .hword (0xA4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2174 .hword (0xA5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2175 .hword (0xA6<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2176 .hword (0xA7<<8)|(1<<SFlag) |(1<<CFlag) 2177 .hword (0xA8<<8)|(1<<SFlag) |(1<<CFlag) 2178 .hword (0xA9<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2179 .hword (0xAA<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2180 .hword (0xAB<<8)|(1<<SFlag) |(1<<CFlag) 2181 .hword (0xAC<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2182 .hword (0xAD<<8)|(1<<SFlag) |(1<<CFlag) 2183 .hword (0xAE<<8)|(1<<SFlag) |(1<<CFlag) 2184 .hword (0xAF<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2185 .hword (0xB0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2186 .hword (0xB1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2187 .hword (0xB2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2188 .hword (0xB3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2189 .hword (0xB4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2190 .hword (0xB5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2191 .hword (0xB6<<8)|(1<<SFlag) |(1<<CFlag) 2192 .hword (0xB7<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2193 .hword (0xB8<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2194 .hword (0xB9<<8)|(1<<SFlag) |(1<<CFlag) 2195 .hword (0xBA<<8)|(1<<SFlag) |(1<<CFlag) 2196 .hword (0xBB<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2197 .hword (0xBC<<8)|(1<<SFlag) |(1<<CFlag) 2198 .hword (0xBD<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2199 .hword (0xBE<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2200 .hword (0xBF<<8)|(1<<SFlag) |(1<<CFlag) 2201 .hword (0xC0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2202 .hword (0xC1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2203 .hword (0xC2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2204 .hword (0xC3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2205 .hword (0xC4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2206 .hword (0xC5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2207 .hword (0xC6<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2208 .hword (0xC7<<8)|(1<<SFlag) |(1<<CFlag) 2209 .hword (0xC8<<8)|(1<<SFlag) |(1<<CFlag) 2210 .hword (0xC9<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2211 .hword (0xCA<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2212 .hword (0xCB<<8)|(1<<SFlag) |(1<<CFlag) 2213 .hword (0xCC<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2214 .hword (0xCD<<8)|(1<<SFlag) |(1<<CFlag) 2215 .hword (0xCE<<8)|(1<<SFlag) |(1<<CFlag) 2216 .hword (0xCF<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2217 .hword (0xD0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2218 .hword (0xD1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2219 .hword (0xD2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2220 .hword (0xD3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2221 .hword (0xD4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2222 .hword (0xD5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2223 .hword (0xD6<<8)|(1<<SFlag) |(1<<CFlag) 2224 .hword (0xD7<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2225 .hword (0xD8<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2226 .hword (0xD9<<8)|(1<<SFlag) |(1<<CFlag) 2227 .hword (0xDA<<8)|(1<<SFlag) |(1<<CFlag) 2228 .hword (0xDB<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2229 .hword (0xDC<<8)|(1<<SFlag) |(1<<CFlag) 2230 .hword (0xDD<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2231 .hword (0xDE<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2232 .hword (0xDF<<8)|(1<<SFlag) |(1<<CFlag) 2233 .hword (0xE0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2234 .hword (0xE1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2235 .hword (0xE2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2236 .hword (0xE3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2237 .hword (0xE4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2238 .hword (0xE5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2239 .hword (0xE6<<8)|(1<<SFlag) |(1<<CFlag) 2240 .hword (0xE7<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2241 .hword (0xE8<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2242 .hword (0xE9<<8)|(1<<SFlag) |(1<<CFlag) 2243 .hword (0xEA<<8)|(1<<SFlag) |(1<<CFlag) 2244 .hword (0xEB<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2245 .hword (0xEC<<8)|(1<<SFlag) |(1<<CFlag) 2246 .hword (0xED<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2247 .hword (0xEE<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2248 .hword (0xEF<<8)|(1<<SFlag) |(1<<CFlag) 2249 .hword (0xF0<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2250 .hword (0xF1<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2251 .hword (0xF2<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2252 .hword (0xF3<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2253 .hword (0xF4<<8)|(1<<SFlag) |(1<<HFlag) |(1<<CFlag) 2254 .hword (0xF5<<8)|(1<<SFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2255 .hword (0xF6<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2256 .hword (0xF7<<8)|(1<<SFlag) |(1<<CFlag) 2257 .hword (0xF8<<8)|(1<<SFlag) |(1<<CFlag) 2258 .hword (0xF9<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2259 .hword (0xFA<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2260 .hword (0xFB<<8)|(1<<SFlag) |(1<<CFlag) 2261 .hword (0xFC<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2262 .hword (0xFD<<8)|(1<<SFlag) |(1<<CFlag) 2263 .hword (0xFE<<8)|(1<<SFlag) |(1<<CFlag) 2264 .hword (0xFF<<8)|(1<<SFlag) |(1<<VFlag) |(1<<CFlag) 2265 .hword (0x00<<8) |(1<<ZFlag) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2266 .hword (0x01<<8) |(1<<HFlag) |(1<<CFlag) 2267 .hword (0x02<<8) |(1<<HFlag) |(1<<CFlag) 2268 .hword (0x03<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2269 .hword (0x04<<8) |(1<<HFlag) |(1<<CFlag) 2270 .hword (0x05<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2271 .hword (0x06<<8) |(1<<VFlag) |(1<<CFlag) 2272 .hword (0x07<<8) |(1<<CFlag) 2273 .hword (0x08<<8) |(1<<CFlag) 2274 .hword (0x09<<8) |(1<<VFlag) |(1<<CFlag) 2275 .hword (0x0A<<8) |(1<<VFlag) |(1<<CFlag) 2276 .hword (0x0B<<8) |(1<<CFlag) 2277 .hword (0x0C<<8) |(1<<VFlag) |(1<<CFlag) 2278 .hword (0x0D<<8) |(1<<CFlag) 2279 .hword (0x0E<<8) |(1<<CFlag) 2280 .hword (0x0F<<8) |(1<<VFlag) |(1<<CFlag) 2281 .hword (0x10<<8) |(1<<HFlag) |(1<<CFlag) 2282 .hword (0x11<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2283 .hword (0x12<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2284 .hword (0x13<<8) |(1<<HFlag) |(1<<CFlag) 2285 .hword (0x14<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2286 .hword (0x15<<8) |(1<<HFlag) |(1<<CFlag) 2287 .hword (0x16<<8) |(1<<CFlag) 2288 .hword (0x17<<8) |(1<<VFlag) |(1<<CFlag) 2289 .hword (0x18<<8) |(1<<VFlag) |(1<<CFlag) 2290 .hword (0x19<<8) |(1<<CFlag) 2291 .hword (0x1A<<8) |(1<<CFlag) 2292 .hword (0x1B<<8) |(1<<VFlag) |(1<<CFlag) 2293 .hword (0x1C<<8) |(1<<CFlag) 2294 .hword (0x1D<<8) |(1<<VFlag) |(1<<CFlag) 2295 .hword (0x1E<<8) |(1<<VFlag) |(1<<CFlag) 2296 .hword (0x1F<<8) |(1<<CFlag) 2297 .hword (0x20<<8) |(1<<HFlag) |(1<<CFlag) 2298 .hword (0x21<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2299 .hword (0x22<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2300 .hword (0x23<<8) |(1<<HFlag) |(1<<CFlag) 2301 .hword (0x24<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2302 .hword (0x25<<8) |(1<<HFlag) |(1<<CFlag) 2303 .hword (0x26<<8) |(1<<CFlag) 2304 .hword (0x27<<8) |(1<<VFlag) |(1<<CFlag) 2305 .hword (0x28<<8) |(1<<VFlag) |(1<<CFlag) 2306 .hword (0x29<<8) |(1<<CFlag) 2307 .hword (0x2A<<8) |(1<<CFlag) 2308 .hword (0x2B<<8) |(1<<VFlag) |(1<<CFlag) 2309 .hword (0x2C<<8) |(1<<CFlag) 2310 .hword (0x2D<<8) |(1<<VFlag) |(1<<CFlag) 2311 .hword (0x2E<<8) |(1<<VFlag) |(1<<CFlag) 2312 .hword (0x2F<<8) |(1<<CFlag) 2313 .hword (0x30<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2314 .hword (0x31<<8) |(1<<HFlag) |(1<<CFlag) 2315 .hword (0x32<<8) |(1<<HFlag) |(1<<CFlag) 2316 .hword (0x33<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2317 .hword (0x34<<8) |(1<<HFlag) |(1<<CFlag) 2318 .hword (0x35<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2319 .hword (0x36<<8) |(1<<VFlag) |(1<<CFlag) 2320 .hword (0x37<<8) |(1<<CFlag) 2321 .hword (0x38<<8) |(1<<CFlag) 2322 .hword (0x39<<8) |(1<<VFlag) |(1<<CFlag) 2323 .hword (0x3A<<8) |(1<<VFlag) |(1<<CFlag) 2324 .hword (0x3B<<8) |(1<<CFlag) 2325 .hword (0x3C<<8) |(1<<VFlag) |(1<<CFlag) 2326 .hword (0x3D<<8) |(1<<CFlag) 2327 .hword (0x3E<<8) |(1<<CFlag) 2328 .hword (0x3F<<8) |(1<<VFlag) |(1<<CFlag) 2329 .hword (0x40<<8) |(1<<HFlag) |(1<<CFlag) 2330 .hword (0x41<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2331 .hword (0x42<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2332 .hword (0x43<<8) |(1<<HFlag) |(1<<CFlag) 2333 .hword (0x44<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2334 .hword (0x45<<8) |(1<<HFlag) |(1<<CFlag) 2335 .hword (0x46<<8) |(1<<CFlag) 2336 .hword (0x47<<8) |(1<<VFlag) |(1<<CFlag) 2337 .hword (0x48<<8) |(1<<VFlag) |(1<<CFlag) 2338 .hword (0x49<<8) |(1<<CFlag) 2339 .hword (0x4A<<8) |(1<<CFlag) 2340 .hword (0x4B<<8) |(1<<VFlag) |(1<<CFlag) 2341 .hword (0x4C<<8) |(1<<CFlag) 2342 .hword (0x4D<<8) |(1<<VFlag) |(1<<CFlag) 2343 .hword (0x4E<<8) |(1<<VFlag) |(1<<CFlag) 2344 .hword (0x4F<<8) |(1<<CFlag) 2345 .hword (0x50<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2346 .hword (0x51<<8) |(1<<HFlag) |(1<<CFlag) 2347 .hword (0x52<<8) |(1<<HFlag) |(1<<CFlag) 2348 .hword (0x53<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2349 .hword (0x54<<8) |(1<<HFlag) |(1<<CFlag) 2350 .hword (0x55<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2351 .hword (0x56<<8) |(1<<VFlag) |(1<<CFlag) 2352 .hword (0x57<<8) |(1<<CFlag) 2353 .hword (0x58<<8) |(1<<CFlag) 2354 .hword (0x59<<8) |(1<<VFlag) |(1<<CFlag) 2355 .hword (0x5A<<8) |(1<<VFlag) |(1<<CFlag) 2356 .hword (0x5B<<8) |(1<<CFlag) 2357 .hword (0x5C<<8) |(1<<VFlag) |(1<<CFlag) 2358 .hword (0x5D<<8) |(1<<CFlag) 2359 .hword (0x5E<<8) |(1<<CFlag) 2360 .hword (0x5F<<8) |(1<<VFlag) |(1<<CFlag) 2361 .hword (0x60<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2362 .hword (0x61<<8) |(1<<HFlag) |(1<<CFlag) 2363 .hword (0x62<<8) |(1<<HFlag) |(1<<CFlag) 2364 .hword (0x63<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2365 .hword (0x64<<8) |(1<<HFlag) |(1<<CFlag) 2366 .hword (0x65<<8) |(1<<HFlag) |(1<<VFlag) |(1<<CFlag) 2367 .hword (0x00<<8) |(1<<ZFlag) |(1<<VFlag)|(1<<NFlag) 2368 .hword (0x01<<8) |(1<<NFlag) 2369 .hword (0x02<<8) |(1<<NFlag) 2370 .hword (0x03<<8) |(1<<VFlag)|(1<<NFlag) 2371 .hword (0x04<<8) |(1<<NFlag) 2372 .hword (0x05<<8) |(1<<VFlag)|(1<<NFlag) 2373 .hword (0x06<<8) |(1<<VFlag)|(1<<NFlag) 2374 .hword (0x07<<8) |(1<<NFlag) 2375 .hword (0x08<<8) |(1<<NFlag) 2376 .hword (0x09<<8) |(1<<VFlag)|(1<<NFlag) 2377 .hword (0x04<<8) |(1<<NFlag) 2378 .hword (0x05<<8) |(1<<VFlag)|(1<<NFlag) 2379 .hword (0x06<<8) |(1<<VFlag)|(1<<NFlag) 2380 .hword (0x07<<8) |(1<<NFlag) 2381 .hword (0x08<<8) |(1<<NFlag) 2382 .hword (0x09<<8) |(1<<VFlag)|(1<<NFlag) 2383 .hword (0x10<<8) |(1<<NFlag) 2384 .hword (0x11<<8) |(1<<VFlag)|(1<<NFlag) 2385 .hword (0x12<<8) |(1<<VFlag)|(1<<NFlag) 2386 .hword (0x13<<8) |(1<<NFlag) 2387 .hword (0x14<<8) |(1<<VFlag)|(1<<NFlag) 2388 .hword (0x15<<8) |(1<<NFlag) 2389 .hword (0x16<<8) |(1<<NFlag) 2390 .hword (0x17<<8) |(1<<VFlag)|(1<<NFlag) 2391 .hword (0x18<<8) |(1<<VFlag)|(1<<NFlag) 2392 .hword (0x19<<8) |(1<<NFlag) 2393 .hword (0x14<<8) |(1<<VFlag)|(1<<NFlag) 2394 .hword (0x15<<8) |(1<<NFlag) 2395 .hword (0x16<<8) |(1<<NFlag) 2396 .hword (0x17<<8) |(1<<VFlag)|(1<<NFlag) 2397 .hword (0x18<<8) |(1<<VFlag)|(1<<NFlag) 2398 .hword (0x19<<8) |(1<<NFlag) 2399 .hword (0x20<<8) |(1<<NFlag) 2400 .hword (0x21<<8) |(1<<VFlag)|(1<<NFlag) 2401 .hword (0x22<<8) |(1<<VFlag)|(1<<NFlag) 2402 .hword (0x23<<8) |(1<<NFlag) 2403 .hword (0x24<<8) |(1<<VFlag)|(1<<NFlag) 2404 .hword (0x25<<8) |(1<<NFlag) 2405 .hword (0x26<<8) |(1<<NFlag) 2406 .hword (0x27<<8) |(1<<VFlag)|(1<<NFlag) 2407 .hword (0x28<<8) |(1<<VFlag)|(1<<NFlag) 2408 .hword (0x29<<8) |(1<<NFlag) 2409 .hword (0x24<<8) |(1<<VFlag)|(1<<NFlag) 2410 .hword (0x25<<8) |(1<<NFlag) 2411 .hword (0x26<<8) |(1<<NFlag) 2412 .hword (0x27<<8) |(1<<VFlag)|(1<<NFlag) 2413 .hword (0x28<<8) |(1<<VFlag)|(1<<NFlag) 2414 .hword (0x29<<8) |(1<<NFlag) 2415 .hword (0x30<<8) |(1<<VFlag)|(1<<NFlag) 2416 .hword (0x31<<8) |(1<<NFlag) 2417 .hword (0x32<<8) |(1<<NFlag) 2418 .hword (0x33<<8) |(1<<VFlag)|(1<<NFlag) 2419 .hword (0x34<<8) |(1<<NFlag) 2420 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag) 2421 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag) 2422 .hword (0x37<<8) |(1<<NFlag) 2423 .hword (0x38<<8) |(1<<NFlag) 2424 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag) 2425 .hword (0x34<<8) |(1<<NFlag) 2426 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag) 2427 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag) 2428 .hword (0x37<<8) |(1<<NFlag) 2429 .hword (0x38<<8) |(1<<NFlag) 2430 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag) 2431 .hword (0x40<<8) |(1<<NFlag) 2432 .hword (0x41<<8) |(1<<VFlag)|(1<<NFlag) 2433 .hword (0x42<<8) |(1<<VFlag)|(1<<NFlag) 2434 .hword (0x43<<8) |(1<<NFlag) 2435 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag) 2436 .hword (0x45<<8) |(1<<NFlag) 2437 .hword (0x46<<8) |(1<<NFlag) 2438 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag) 2439 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag) 2440 .hword (0x49<<8) |(1<<NFlag) 2441 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag) 2442 .hword (0x45<<8) |(1<<NFlag) 2443 .hword (0x46<<8) |(1<<NFlag) 2444 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag) 2445 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag) 2446 .hword (0x49<<8) |(1<<NFlag) 2447 .hword (0x50<<8) |(1<<VFlag)|(1<<NFlag) 2448 .hword (0x51<<8) |(1<<NFlag) 2449 .hword (0x52<<8) |(1<<NFlag) 2450 .hword (0x53<<8) |(1<<VFlag)|(1<<NFlag) 2451 .hword (0x54<<8) |(1<<NFlag) 2452 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag) 2453 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag) 2454 .hword (0x57<<8) |(1<<NFlag) 2455 .hword (0x58<<8) |(1<<NFlag) 2456 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag) 2457 .hword (0x54<<8) |(1<<NFlag) 2458 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag) 2459 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag) 2460 .hword (0x57<<8) |(1<<NFlag) 2461 .hword (0x58<<8) |(1<<NFlag) 2462 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag) 2463 .hword (0x60<<8) |(1<<VFlag)|(1<<NFlag) 2464 .hword (0x61<<8) |(1<<NFlag) 2465 .hword (0x62<<8) |(1<<NFlag) 2466 .hword (0x63<<8) |(1<<VFlag)|(1<<NFlag) 2467 .hword (0x64<<8) |(1<<NFlag) 2468 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag) 2469 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag) 2470 .hword (0x67<<8) |(1<<NFlag) 2471 .hword (0x68<<8) |(1<<NFlag) 2472 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag) 2473 .hword (0x64<<8) |(1<<NFlag) 2474 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag) 2475 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag) 2476 .hword (0x67<<8) |(1<<NFlag) 2477 .hword (0x68<<8) |(1<<NFlag) 2478 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag) 2479 .hword (0x70<<8) |(1<<NFlag) 2480 .hword (0x71<<8) |(1<<VFlag)|(1<<NFlag) 2481 .hword (0x72<<8) |(1<<VFlag)|(1<<NFlag) 2482 .hword (0x73<<8) |(1<<NFlag) 2483 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag) 2484 .hword (0x75<<8) |(1<<NFlag) 2485 .hword (0x76<<8) |(1<<NFlag) 2486 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag) 2487 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag) 2488 .hword (0x79<<8) |(1<<NFlag) 2489 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag) 2490 .hword (0x75<<8) |(1<<NFlag) 2491 .hword (0x76<<8) |(1<<NFlag) 2492 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag) 2493 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag) 2494 .hword (0x79<<8) |(1<<NFlag) 2495 .hword (0x80<<8)|(1<<SFlag) |(1<<NFlag) 2496 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2497 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2498 .hword (0x83<<8)|(1<<SFlag) |(1<<NFlag) 2499 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2500 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag) 2501 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag) 2502 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2503 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2504 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag) 2505 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2506 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag) 2507 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag) 2508 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2509 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2510 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag) 2511 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2512 .hword (0x91<<8)|(1<<SFlag) |(1<<NFlag) 2513 .hword (0x92<<8)|(1<<SFlag) |(1<<NFlag) 2514 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2515 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag) 2516 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2517 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2518 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag) 2519 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag) 2520 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 2521 .hword (0x34<<8) |(1<<NFlag)|(1<<CFlag) 2522 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2523 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2524 .hword (0x37<<8) |(1<<NFlag)|(1<<CFlag) 2525 .hword (0x38<<8) |(1<<NFlag)|(1<<CFlag) 2526 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2527 .hword (0x40<<8) |(1<<NFlag)|(1<<CFlag) 2528 .hword (0x41<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2529 .hword (0x42<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2530 .hword (0x43<<8) |(1<<NFlag)|(1<<CFlag) 2531 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2532 .hword (0x45<<8) |(1<<NFlag)|(1<<CFlag) 2533 .hword (0x46<<8) |(1<<NFlag)|(1<<CFlag) 2534 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2535 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2536 .hword (0x49<<8) |(1<<NFlag)|(1<<CFlag) 2537 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2538 .hword (0x45<<8) |(1<<NFlag)|(1<<CFlag) 2539 .hword (0x46<<8) |(1<<NFlag)|(1<<CFlag) 2540 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2541 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2542 .hword (0x49<<8) |(1<<NFlag)|(1<<CFlag) 2543 .hword (0x50<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2544 .hword (0x51<<8) |(1<<NFlag)|(1<<CFlag) 2545 .hword (0x52<<8) |(1<<NFlag)|(1<<CFlag) 2546 .hword (0x53<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2547 .hword (0x54<<8) |(1<<NFlag)|(1<<CFlag) 2548 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2549 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2550 .hword (0x57<<8) |(1<<NFlag)|(1<<CFlag) 2551 .hword (0x58<<8) |(1<<NFlag)|(1<<CFlag) 2552 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2553 .hword (0x54<<8) |(1<<NFlag)|(1<<CFlag) 2554 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2555 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2556 .hword (0x57<<8) |(1<<NFlag)|(1<<CFlag) 2557 .hword (0x58<<8) |(1<<NFlag)|(1<<CFlag) 2558 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2559 .hword (0x60<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2560 .hword (0x61<<8) |(1<<NFlag)|(1<<CFlag) 2561 .hword (0x62<<8) |(1<<NFlag)|(1<<CFlag) 2562 .hword (0x63<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2563 .hword (0x64<<8) |(1<<NFlag)|(1<<CFlag) 2564 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2565 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2566 .hword (0x67<<8) |(1<<NFlag)|(1<<CFlag) 2567 .hword (0x68<<8) |(1<<NFlag)|(1<<CFlag) 2568 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2569 .hword (0x64<<8) |(1<<NFlag)|(1<<CFlag) 2570 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2571 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2572 .hword (0x67<<8) |(1<<NFlag)|(1<<CFlag) 2573 .hword (0x68<<8) |(1<<NFlag)|(1<<CFlag) 2574 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2575 .hword (0x70<<8) |(1<<NFlag)|(1<<CFlag) 2576 .hword (0x71<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2577 .hword (0x72<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2578 .hword (0x73<<8) |(1<<NFlag)|(1<<CFlag) 2579 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2580 .hword (0x75<<8) |(1<<NFlag)|(1<<CFlag) 2581 .hword (0x76<<8) |(1<<NFlag)|(1<<CFlag) 2582 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2583 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2584 .hword (0x79<<8) |(1<<NFlag)|(1<<CFlag) 2585 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2586 .hword (0x75<<8) |(1<<NFlag)|(1<<CFlag) 2587 .hword (0x76<<8) |(1<<NFlag)|(1<<CFlag) 2588 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2589 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2590 .hword (0x79<<8) |(1<<NFlag)|(1<<CFlag) 2591 .hword (0x80<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2592 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2593 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2594 .hword (0x83<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2595 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2596 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2597 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2598 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2599 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2600 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2601 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2602 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2603 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2604 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2605 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2606 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2607 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2608 .hword (0x91<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2609 .hword (0x92<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2610 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2611 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2612 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2613 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2614 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2615 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2616 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2617 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2618 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2619 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2620 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2621 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2622 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2623 .hword (0xA0<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2624 .hword (0xA1<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2625 .hword (0xA2<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2626 .hword (0xA3<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2627 .hword (0xA4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2628 .hword (0xA5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2629 .hword (0xA6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2630 .hword (0xA7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2631 .hword (0xA8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2632 .hword (0xA9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2633 .hword (0xA4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2634 .hword (0xA5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2635 .hword (0xA6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2636 .hword (0xA7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2637 .hword (0xA8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2638 .hword (0xA9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2639 .hword (0xB0<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2640 .hword (0xB1<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2641 .hword (0xB2<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2642 .hword (0xB3<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2643 .hword (0xB4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2644 .hword (0xB5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2645 .hword (0xB6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2646 .hword (0xB7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2647 .hword (0xB8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2648 .hword (0xB9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2649 .hword (0xB4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2650 .hword (0xB5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2651 .hword (0xB6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2652 .hword (0xB7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2653 .hword (0xB8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2654 .hword (0xB9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2655 .hword (0xC0<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2656 .hword (0xC1<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2657 .hword (0xC2<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2658 .hword (0xC3<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2659 .hword (0xC4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2660 .hword (0xC5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2661 .hword (0xC6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2662 .hword (0xC7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2663 .hword (0xC8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2664 .hword (0xC9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2665 .hword (0xC4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2666 .hword (0xC5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2667 .hword (0xC6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2668 .hword (0xC7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2669 .hword (0xC8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2670 .hword (0xC9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2671 .hword (0xD0<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2672 .hword (0xD1<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2673 .hword (0xD2<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2674 .hword (0xD3<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2675 .hword (0xD4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2676 .hword (0xD5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2677 .hword (0xD6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2678 .hword (0xD7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2679 .hword (0xD8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2680 .hword (0xD9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2681 .hword (0xD4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2682 .hword (0xD5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2683 .hword (0xD6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2684 .hword (0xD7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2685 .hword (0xD8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2686 .hword (0xD9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2687 .hword (0xE0<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2688 .hword (0xE1<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2689 .hword (0xE2<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2690 .hword (0xE3<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2691 .hword (0xE4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2692 .hword (0xE5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2693 .hword (0xE6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2694 .hword (0xE7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2695 .hword (0xE8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2696 .hword (0xE9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2697 .hword (0xE4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2698 .hword (0xE5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2699 .hword (0xE6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2700 .hword (0xE7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2701 .hword (0xE8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2702 .hword (0xE9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2703 .hword (0xF0<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2704 .hword (0xF1<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2705 .hword (0xF2<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2706 .hword (0xF3<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2707 .hword (0xF4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2708 .hword (0xF5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2709 .hword (0xF6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2710 .hword (0xF7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2711 .hword (0xF8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2712 .hword (0xF9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2713 .hword (0xF4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2714 .hword (0xF5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2715 .hword (0xF6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2716 .hword (0xF7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2717 .hword (0xF8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2718 .hword (0xF9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2719 .hword (0x00<<8) |(1<<ZFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2720 .hword (0x01<<8) |(1<<NFlag)|(1<<CFlag) 2721 .hword (0x02<<8) |(1<<NFlag)|(1<<CFlag) 2722 .hword (0x03<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2723 .hword (0x04<<8) |(1<<NFlag)|(1<<CFlag) 2724 .hword (0x05<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2725 .hword (0x06<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2726 .hword (0x07<<8) |(1<<NFlag)|(1<<CFlag) 2727 .hword (0x08<<8) |(1<<NFlag)|(1<<CFlag) 2728 .hword (0x09<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2729 .hword (0x04<<8) |(1<<NFlag)|(1<<CFlag) 2730 .hword (0x05<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2731 .hword (0x06<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2732 .hword (0x07<<8) |(1<<NFlag)|(1<<CFlag) 2733 .hword (0x08<<8) |(1<<NFlag)|(1<<CFlag) 2734 .hword (0x09<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2735 .hword (0x10<<8) |(1<<NFlag)|(1<<CFlag) 2736 .hword (0x11<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2737 .hword (0x12<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2738 .hword (0x13<<8) |(1<<NFlag)|(1<<CFlag) 2739 .hword (0x14<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2740 .hword (0x15<<8) |(1<<NFlag)|(1<<CFlag) 2741 .hword (0x16<<8) |(1<<NFlag)|(1<<CFlag) 2742 .hword (0x17<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2743 .hword (0x18<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2744 .hword (0x19<<8) |(1<<NFlag)|(1<<CFlag) 2745 .hword (0x14<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2746 .hword (0x15<<8) |(1<<NFlag)|(1<<CFlag) 2747 .hword (0x16<<8) |(1<<NFlag)|(1<<CFlag) 2748 .hword (0x17<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2749 .hword (0x18<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2750 .hword (0x19<<8) |(1<<NFlag)|(1<<CFlag) 2751 .hword (0x20<<8) |(1<<NFlag)|(1<<CFlag) 2752 .hword (0x21<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2753 .hword (0x22<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2754 .hword (0x23<<8) |(1<<NFlag)|(1<<CFlag) 2755 .hword (0x24<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2756 .hword (0x25<<8) |(1<<NFlag)|(1<<CFlag) 2757 .hword (0x26<<8) |(1<<NFlag)|(1<<CFlag) 2758 .hword (0x27<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2759 .hword (0x28<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2760 .hword (0x29<<8) |(1<<NFlag)|(1<<CFlag) 2761 .hword (0x24<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2762 .hword (0x25<<8) |(1<<NFlag)|(1<<CFlag) 2763 .hword (0x26<<8) |(1<<NFlag)|(1<<CFlag) 2764 .hword (0x27<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2765 .hword (0x28<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2766 .hword (0x29<<8) |(1<<NFlag)|(1<<CFlag) 2767 .hword (0x30<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2768 .hword (0x31<<8) |(1<<NFlag)|(1<<CFlag) 2769 .hword (0x32<<8) |(1<<NFlag)|(1<<CFlag) 2770 .hword (0x33<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2771 .hword (0x34<<8) |(1<<NFlag)|(1<<CFlag) 2772 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2773 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2774 .hword (0x37<<8) |(1<<NFlag)|(1<<CFlag) 2775 .hword (0x38<<8) |(1<<NFlag)|(1<<CFlag) 2776 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2777 .hword (0x34<<8) |(1<<NFlag)|(1<<CFlag) 2778 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2779 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2780 .hword (0x37<<8) |(1<<NFlag)|(1<<CFlag) 2781 .hword (0x38<<8) |(1<<NFlag)|(1<<CFlag) 2782 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2783 .hword (0x40<<8) |(1<<NFlag)|(1<<CFlag) 2784 .hword (0x41<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2785 .hword (0x42<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2786 .hword (0x43<<8) |(1<<NFlag)|(1<<CFlag) 2787 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2788 .hword (0x45<<8) |(1<<NFlag)|(1<<CFlag) 2789 .hword (0x46<<8) |(1<<NFlag)|(1<<CFlag) 2790 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2791 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2792 .hword (0x49<<8) |(1<<NFlag)|(1<<CFlag) 2793 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2794 .hword (0x45<<8) |(1<<NFlag)|(1<<CFlag) 2795 .hword (0x46<<8) |(1<<NFlag)|(1<<CFlag) 2796 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2797 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2798 .hword (0x49<<8) |(1<<NFlag)|(1<<CFlag) 2799 .hword (0x50<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2800 .hword (0x51<<8) |(1<<NFlag)|(1<<CFlag) 2801 .hword (0x52<<8) |(1<<NFlag)|(1<<CFlag) 2802 .hword (0x53<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2803 .hword (0x54<<8) |(1<<NFlag)|(1<<CFlag) 2804 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2805 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2806 .hword (0x57<<8) |(1<<NFlag)|(1<<CFlag) 2807 .hword (0x58<<8) |(1<<NFlag)|(1<<CFlag) 2808 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2809 .hword (0x54<<8) |(1<<NFlag)|(1<<CFlag) 2810 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2811 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2812 .hword (0x57<<8) |(1<<NFlag)|(1<<CFlag) 2813 .hword (0x58<<8) |(1<<NFlag)|(1<<CFlag) 2814 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2815 .hword (0x60<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2816 .hword (0x61<<8) |(1<<NFlag)|(1<<CFlag) 2817 .hword (0x62<<8) |(1<<NFlag)|(1<<CFlag) 2818 .hword (0x63<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2819 .hword (0x64<<8) |(1<<NFlag)|(1<<CFlag) 2820 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2821 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2822 .hword (0x67<<8) |(1<<NFlag)|(1<<CFlag) 2823 .hword (0x68<<8) |(1<<NFlag)|(1<<CFlag) 2824 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2825 .hword (0x64<<8) |(1<<NFlag)|(1<<CFlag) 2826 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2827 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2828 .hword (0x67<<8) |(1<<NFlag)|(1<<CFlag) 2829 .hword (0x68<<8) |(1<<NFlag)|(1<<CFlag) 2830 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2831 .hword (0x70<<8) |(1<<NFlag)|(1<<CFlag) 2832 .hword (0x71<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2833 .hword (0x72<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2834 .hword (0x73<<8) |(1<<NFlag)|(1<<CFlag) 2835 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2836 .hword (0x75<<8) |(1<<NFlag)|(1<<CFlag) 2837 .hword (0x76<<8) |(1<<NFlag)|(1<<CFlag) 2838 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2839 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2840 .hword (0x79<<8) |(1<<NFlag)|(1<<CFlag) 2841 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2842 .hword (0x75<<8) |(1<<NFlag)|(1<<CFlag) 2843 .hword (0x76<<8) |(1<<NFlag)|(1<<CFlag) 2844 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2845 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2846 .hword (0x79<<8) |(1<<NFlag)|(1<<CFlag) 2847 .hword (0x80<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2848 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2849 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2850 .hword (0x83<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2851 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2852 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2853 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2854 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2855 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2856 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2857 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2858 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2859 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2860 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2861 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2862 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2863 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2864 .hword (0x91<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2865 .hword (0x92<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2866 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2867 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2868 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2869 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2870 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2871 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2872 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2873 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2874 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2875 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2876 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2877 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 2878 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 2879 .hword (0xFA<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2880 .hword (0xFB<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag) 2881 .hword (0xFC<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2882 .hword (0xFD<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag) 2883 .hword (0xFE<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag) 2884 .hword (0xFF<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2885 .hword (0x00<<8) |(1<<ZFlag) |(1<<VFlag)|(1<<NFlag) 2886 .hword (0x01<<8) |(1<<NFlag) 2887 .hword (0x02<<8) |(1<<NFlag) 2888 .hword (0x03<<8) |(1<<VFlag)|(1<<NFlag) 2889 .hword (0x04<<8) |(1<<NFlag) 2890 .hword (0x05<<8) |(1<<VFlag)|(1<<NFlag) 2891 .hword (0x06<<8) |(1<<VFlag)|(1<<NFlag) 2892 .hword (0x07<<8) |(1<<NFlag) 2893 .hword (0x08<<8) |(1<<NFlag) 2894 .hword (0x09<<8) |(1<<VFlag)|(1<<NFlag) 2895 .hword (0x0A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2896 .hword (0x0B<<8) |(1<<HFlag) |(1<<NFlag) 2897 .hword (0x0C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2898 .hword (0x0D<<8) |(1<<HFlag) |(1<<NFlag) 2899 .hword (0x0E<<8) |(1<<HFlag) |(1<<NFlag) 2900 .hword (0x0F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2901 .hword (0x10<<8) |(1<<NFlag) 2902 .hword (0x11<<8) |(1<<VFlag)|(1<<NFlag) 2903 .hword (0x12<<8) |(1<<VFlag)|(1<<NFlag) 2904 .hword (0x13<<8) |(1<<NFlag) 2905 .hword (0x14<<8) |(1<<VFlag)|(1<<NFlag) 2906 .hword (0x15<<8) |(1<<NFlag) 2907 .hword (0x16<<8) |(1<<NFlag) 2908 .hword (0x17<<8) |(1<<VFlag)|(1<<NFlag) 2909 .hword (0x18<<8) |(1<<VFlag)|(1<<NFlag) 2910 .hword (0x19<<8) |(1<<NFlag) 2911 .hword (0x1A<<8) |(1<<HFlag) |(1<<NFlag) 2912 .hword (0x1B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2913 .hword (0x1C<<8) |(1<<HFlag) |(1<<NFlag) 2914 .hword (0x1D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2915 .hword (0x1E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2916 .hword (0x1F<<8) |(1<<HFlag) |(1<<NFlag) 2917 .hword (0x20<<8) |(1<<NFlag) 2918 .hword (0x21<<8) |(1<<VFlag)|(1<<NFlag) 2919 .hword (0x22<<8) |(1<<VFlag)|(1<<NFlag) 2920 .hword (0x23<<8) |(1<<NFlag) 2921 .hword (0x24<<8) |(1<<VFlag)|(1<<NFlag) 2922 .hword (0x25<<8) |(1<<NFlag) 2923 .hword (0x26<<8) |(1<<NFlag) 2924 .hword (0x27<<8) |(1<<VFlag)|(1<<NFlag) 2925 .hword (0x28<<8) |(1<<VFlag)|(1<<NFlag) 2926 .hword (0x29<<8) |(1<<NFlag) 2927 .hword (0x2A<<8) |(1<<HFlag) |(1<<NFlag) 2928 .hword (0x2B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2929 .hword (0x2C<<8) |(1<<HFlag) |(1<<NFlag) 2930 .hword (0x2D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2931 .hword (0x2E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2932 .hword (0x2F<<8) |(1<<HFlag) |(1<<NFlag) 2933 .hword (0x30<<8) |(1<<VFlag)|(1<<NFlag) 2934 .hword (0x31<<8) |(1<<NFlag) 2935 .hword (0x32<<8) |(1<<NFlag) 2936 .hword (0x33<<8) |(1<<VFlag)|(1<<NFlag) 2937 .hword (0x34<<8) |(1<<NFlag) 2938 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag) 2939 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag) 2940 .hword (0x37<<8) |(1<<NFlag) 2941 .hword (0x38<<8) |(1<<NFlag) 2942 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag) 2943 .hword (0x3A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2944 .hword (0x3B<<8) |(1<<HFlag) |(1<<NFlag) 2945 .hword (0x3C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2946 .hword (0x3D<<8) |(1<<HFlag) |(1<<NFlag) 2947 .hword (0x3E<<8) |(1<<HFlag) |(1<<NFlag) 2948 .hword (0x3F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2949 .hword (0x40<<8) |(1<<NFlag) 2950 .hword (0x41<<8) |(1<<VFlag)|(1<<NFlag) 2951 .hword (0x42<<8) |(1<<VFlag)|(1<<NFlag) 2952 .hword (0x43<<8) |(1<<NFlag) 2953 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag) 2954 .hword (0x45<<8) |(1<<NFlag) 2955 .hword (0x46<<8) |(1<<NFlag) 2956 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag) 2957 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag) 2958 .hword (0x49<<8) |(1<<NFlag) 2959 .hword (0x4A<<8) |(1<<HFlag) |(1<<NFlag) 2960 .hword (0x4B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2961 .hword (0x4C<<8) |(1<<HFlag) |(1<<NFlag) 2962 .hword (0x4D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2963 .hword (0x4E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2964 .hword (0x4F<<8) |(1<<HFlag) |(1<<NFlag) 2965 .hword (0x50<<8) |(1<<VFlag)|(1<<NFlag) 2966 .hword (0x51<<8) |(1<<NFlag) 2967 .hword (0x52<<8) |(1<<NFlag) 2968 .hword (0x53<<8) |(1<<VFlag)|(1<<NFlag) 2969 .hword (0x54<<8) |(1<<NFlag) 2970 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag) 2971 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag) 2972 .hword (0x57<<8) |(1<<NFlag) 2973 .hword (0x58<<8) |(1<<NFlag) 2974 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag) 2975 .hword (0x5A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2976 .hword (0x5B<<8) |(1<<HFlag) |(1<<NFlag) 2977 .hword (0x5C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2978 .hword (0x5D<<8) |(1<<HFlag) |(1<<NFlag) 2979 .hword (0x5E<<8) |(1<<HFlag) |(1<<NFlag) 2980 .hword (0x5F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2981 .hword (0x60<<8) |(1<<VFlag)|(1<<NFlag) 2982 .hword (0x61<<8) |(1<<NFlag) 2983 .hword (0x62<<8) |(1<<NFlag) 2984 .hword (0x63<<8) |(1<<VFlag)|(1<<NFlag) 2985 .hword (0x64<<8) |(1<<NFlag) 2986 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag) 2987 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag) 2988 .hword (0x67<<8) |(1<<NFlag) 2989 .hword (0x68<<8) |(1<<NFlag) 2990 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag) 2991 .hword (0x6A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2992 .hword (0x6B<<8) |(1<<HFlag) |(1<<NFlag) 2993 .hword (0x6C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2994 .hword (0x6D<<8) |(1<<HFlag) |(1<<NFlag) 2995 .hword (0x6E<<8) |(1<<HFlag) |(1<<NFlag) 2996 .hword (0x6F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 2997 .hword (0x70<<8) |(1<<NFlag) 2998 .hword (0x71<<8) |(1<<VFlag)|(1<<NFlag) 2999 .hword (0x72<<8) |(1<<VFlag)|(1<<NFlag) 3000 .hword (0x73<<8) |(1<<NFlag) 3001 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag) 3002 .hword (0x75<<8) |(1<<NFlag) 3003 .hword (0x76<<8) |(1<<NFlag) 3004 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag) 3005 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag) 3006 .hword (0x79<<8) |(1<<NFlag) 3007 .hword (0x7A<<8) |(1<<HFlag) |(1<<NFlag) 3008 .hword (0x7B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 3009 .hword (0x7C<<8) |(1<<HFlag) |(1<<NFlag) 3010 .hword (0x7D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 3011 .hword (0x7E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 3012 .hword (0x7F<<8) |(1<<HFlag) |(1<<NFlag) 3013 .hword (0x80<<8)|(1<<SFlag) |(1<<NFlag) 3014 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3015 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3016 .hword (0x83<<8)|(1<<SFlag) |(1<<NFlag) 3017 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3018 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag) 3019 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag) 3020 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3021 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3022 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag) 3023 .hword (0x8A<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag) 3024 .hword (0x8B<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 3025 .hword (0x8C<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag) 3026 .hword (0x8D<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 3027 .hword (0x8E<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag) 3028 .hword (0x8F<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag) 3029 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3030 .hword (0x91<<8)|(1<<SFlag) |(1<<NFlag) 3031 .hword (0x92<<8)|(1<<SFlag) |(1<<NFlag) 3032 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag) 3033 .hword (0x34<<8) |(1<<NFlag)|(1<<CFlag) 3034 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3035 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3036 .hword (0x37<<8) |(1<<NFlag)|(1<<CFlag) 3037 .hword (0x38<<8) |(1<<NFlag)|(1<<CFlag) 3038 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3039 .hword (0x3A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3040 .hword (0x3B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3041 .hword (0x3C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3042 .hword (0x3D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3043 .hword (0x3E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3044 .hword (0x3F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3045 .hword (0x40<<8) |(1<<NFlag)|(1<<CFlag) 3046 .hword (0x41<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3047 .hword (0x42<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3048 .hword (0x43<<8) |(1<<NFlag)|(1<<CFlag) 3049 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3050 .hword (0x45<<8) |(1<<NFlag)|(1<<CFlag) 3051 .hword (0x46<<8) |(1<<NFlag)|(1<<CFlag) 3052 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3053 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3054 .hword (0x49<<8) |(1<<NFlag)|(1<<CFlag) 3055 .hword (0x4A<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3056 .hword (0x4B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3057 .hword (0x4C<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3058 .hword (0x4D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3059 .hword (0x4E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3060 .hword (0x4F<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3061 .hword (0x50<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3062 .hword (0x51<<8) |(1<<NFlag)|(1<<CFlag) 3063 .hword (0x52<<8) |(1<<NFlag)|(1<<CFlag) 3064 .hword (0x53<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3065 .hword (0x54<<8) |(1<<NFlag)|(1<<CFlag) 3066 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3067 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3068 .hword (0x57<<8) |(1<<NFlag)|(1<<CFlag) 3069 .hword (0x58<<8) |(1<<NFlag)|(1<<CFlag) 3070 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3071 .hword (0x5A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3072 .hword (0x5B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3073 .hword (0x5C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3074 .hword (0x5D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3075 .hword (0x5E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3076 .hword (0x5F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3077 .hword (0x60<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3078 .hword (0x61<<8) |(1<<NFlag)|(1<<CFlag) 3079 .hword (0x62<<8) |(1<<NFlag)|(1<<CFlag) 3080 .hword (0x63<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3081 .hword (0x64<<8) |(1<<NFlag)|(1<<CFlag) 3082 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3083 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3084 .hword (0x67<<8) |(1<<NFlag)|(1<<CFlag) 3085 .hword (0x68<<8) |(1<<NFlag)|(1<<CFlag) 3086 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3087 .hword (0x6A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3088 .hword (0x6B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3089 .hword (0x6C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3090 .hword (0x6D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3091 .hword (0x6E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3092 .hword (0x6F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3093 .hword (0x70<<8) |(1<<NFlag)|(1<<CFlag) 3094 .hword (0x71<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3095 .hword (0x72<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3096 .hword (0x73<<8) |(1<<NFlag)|(1<<CFlag) 3097 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3098 .hword (0x75<<8) |(1<<NFlag)|(1<<CFlag) 3099 .hword (0x76<<8) |(1<<NFlag)|(1<<CFlag) 3100 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3101 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3102 .hword (0x79<<8) |(1<<NFlag)|(1<<CFlag) 3103 .hword (0x7A<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3104 .hword (0x7B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3105 .hword (0x7C<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3106 .hword (0x7D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3107 .hword (0x7E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3108 .hword (0x7F<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3109 .hword (0x80<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3110 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3111 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3112 .hword (0x83<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3113 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3114 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3115 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3116 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3117 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3118 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3119 .hword (0x8A<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3120 .hword (0x8B<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3121 .hword (0x8C<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3122 .hword (0x8D<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3123 .hword (0x8E<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3124 .hword (0x8F<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3125 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3126 .hword (0x91<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3127 .hword (0x92<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3128 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3129 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3130 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3131 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3132 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3133 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3134 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3135 .hword (0x9A<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3136 .hword (0x9B<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3137 .hword (0x9C<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3138 .hword (0x9D<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3139 .hword (0x9E<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3140 .hword (0x9F<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3141 .hword (0xA0<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3142 .hword (0xA1<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3143 .hword (0xA2<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3144 .hword (0xA3<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3145 .hword (0xA4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3146 .hword (0xA5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3147 .hword (0xA6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3148 .hword (0xA7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3149 .hword (0xA8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3150 .hword (0xA9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3151 .hword (0xAA<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3152 .hword (0xAB<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3153 .hword (0xAC<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3154 .hword (0xAD<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3155 .hword (0xAE<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3156 .hword (0xAF<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3157 .hword (0xB0<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3158 .hword (0xB1<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3159 .hword (0xB2<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3160 .hword (0xB3<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3161 .hword (0xB4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3162 .hword (0xB5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3163 .hword (0xB6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3164 .hword (0xB7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3165 .hword (0xB8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3166 .hword (0xB9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3167 .hword (0xBA<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3168 .hword (0xBB<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3169 .hword (0xBC<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3170 .hword (0xBD<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3171 .hword (0xBE<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3172 .hword (0xBF<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3173 .hword (0xC0<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3174 .hword (0xC1<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3175 .hword (0xC2<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3176 .hword (0xC3<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3177 .hword (0xC4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3178 .hword (0xC5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3179 .hword (0xC6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3180 .hword (0xC7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3181 .hword (0xC8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3182 .hword (0xC9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3183 .hword (0xCA<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3184 .hword (0xCB<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3185 .hword (0xCC<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3186 .hword (0xCD<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3187 .hword (0xCE<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3188 .hword (0xCF<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3189 .hword (0xD0<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3190 .hword (0xD1<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3191 .hword (0xD2<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3192 .hword (0xD3<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3193 .hword (0xD4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3194 .hword (0xD5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3195 .hword (0xD6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3196 .hword (0xD7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3197 .hword (0xD8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3198 .hword (0xD9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3199 .hword (0xDA<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3200 .hword (0xDB<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3201 .hword (0xDC<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3202 .hword (0xDD<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3203 .hword (0xDE<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3204 .hword (0xDF<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3205 .hword (0xE0<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3206 .hword (0xE1<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3207 .hword (0xE2<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3208 .hword (0xE3<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3209 .hword (0xE4<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3210 .hword (0xE5<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3211 .hword (0xE6<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3212 .hword (0xE7<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3213 .hword (0xE8<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3214 .hword (0xE9<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3215 .hword (0xEA<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3216 .hword (0xEB<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3217 .hword (0xEC<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3218 .hword (0xED<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3219 .hword (0xEE<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3220 .hword (0xEF<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3221 .hword (0xF0<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3222 .hword (0xF1<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3223 .hword (0xF2<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3224 .hword (0xF3<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3225 .hword (0xF4<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3226 .hword (0xF5<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3227 .hword (0xF6<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3228 .hword (0xF7<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3229 .hword (0xF8<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3230 .hword (0xF9<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3231 .hword (0xFA<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3232 .hword (0xFB<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3233 .hword (0xFC<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3234 .hword (0xFD<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3235 .hword (0xFE<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3236 .hword (0xFF<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3237 .hword (0x00<<8) |(1<<ZFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3238 .hword (0x01<<8) |(1<<NFlag)|(1<<CFlag) 3239 .hword (0x02<<8) |(1<<NFlag)|(1<<CFlag) 3240 .hword (0x03<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3241 .hword (0x04<<8) |(1<<NFlag)|(1<<CFlag) 3242 .hword (0x05<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3243 .hword (0x06<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3244 .hword (0x07<<8) |(1<<NFlag)|(1<<CFlag) 3245 .hword (0x08<<8) |(1<<NFlag)|(1<<CFlag) 3246 .hword (0x09<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3247 .hword (0x0A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3248 .hword (0x0B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3249 .hword (0x0C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3250 .hword (0x0D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3251 .hword (0x0E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3252 .hword (0x0F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3253 .hword (0x10<<8) |(1<<NFlag)|(1<<CFlag) 3254 .hword (0x11<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3255 .hword (0x12<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3256 .hword (0x13<<8) |(1<<NFlag)|(1<<CFlag) 3257 .hword (0x14<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3258 .hword (0x15<<8) |(1<<NFlag)|(1<<CFlag) 3259 .hword (0x16<<8) |(1<<NFlag)|(1<<CFlag) 3260 .hword (0x17<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3261 .hword (0x18<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3262 .hword (0x19<<8) |(1<<NFlag)|(1<<CFlag) 3263 .hword (0x1A<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3264 .hword (0x1B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3265 .hword (0x1C<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3266 .hword (0x1D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3267 .hword (0x1E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3268 .hword (0x1F<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3269 .hword (0x20<<8) |(1<<NFlag)|(1<<CFlag) 3270 .hword (0x21<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3271 .hword (0x22<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3272 .hword (0x23<<8) |(1<<NFlag)|(1<<CFlag) 3273 .hword (0x24<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3274 .hword (0x25<<8) |(1<<NFlag)|(1<<CFlag) 3275 .hword (0x26<<8) |(1<<NFlag)|(1<<CFlag) 3276 .hword (0x27<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3277 .hword (0x28<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3278 .hword (0x29<<8) |(1<<NFlag)|(1<<CFlag) 3279 .hword (0x2A<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3280 .hword (0x2B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3281 .hword (0x2C<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3282 .hword (0x2D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3283 .hword (0x2E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3284 .hword (0x2F<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3285 .hword (0x30<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3286 .hword (0x31<<8) |(1<<NFlag)|(1<<CFlag) 3287 .hword (0x32<<8) |(1<<NFlag)|(1<<CFlag) 3288 .hword (0x33<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3289 .hword (0x34<<8) |(1<<NFlag)|(1<<CFlag) 3290 .hword (0x35<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3291 .hword (0x36<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3292 .hword (0x37<<8) |(1<<NFlag)|(1<<CFlag) 3293 .hword (0x38<<8) |(1<<NFlag)|(1<<CFlag) 3294 .hword (0x39<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3295 .hword (0x3A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3296 .hword (0x3B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3297 .hword (0x3C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3298 .hword (0x3D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3299 .hword (0x3E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3300 .hword (0x3F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3301 .hword (0x40<<8) |(1<<NFlag)|(1<<CFlag) 3302 .hword (0x41<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3303 .hword (0x42<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3304 .hword (0x43<<8) |(1<<NFlag)|(1<<CFlag) 3305 .hword (0x44<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3306 .hword (0x45<<8) |(1<<NFlag)|(1<<CFlag) 3307 .hword (0x46<<8) |(1<<NFlag)|(1<<CFlag) 3308 .hword (0x47<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3309 .hword (0x48<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3310 .hword (0x49<<8) |(1<<NFlag)|(1<<CFlag) 3311 .hword (0x4A<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3312 .hword (0x4B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3313 .hword (0x4C<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3314 .hword (0x4D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3315 .hword (0x4E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3316 .hword (0x4F<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3317 .hword (0x50<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3318 .hword (0x51<<8) |(1<<NFlag)|(1<<CFlag) 3319 .hword (0x52<<8) |(1<<NFlag)|(1<<CFlag) 3320 .hword (0x53<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3321 .hword (0x54<<8) |(1<<NFlag)|(1<<CFlag) 3322 .hword (0x55<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3323 .hword (0x56<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3324 .hword (0x57<<8) |(1<<NFlag)|(1<<CFlag) 3325 .hword (0x58<<8) |(1<<NFlag)|(1<<CFlag) 3326 .hword (0x59<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3327 .hword (0x5A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3328 .hword (0x5B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3329 .hword (0x5C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3330 .hword (0x5D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3331 .hword (0x5E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3332 .hword (0x5F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3333 .hword (0x60<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3334 .hword (0x61<<8) |(1<<NFlag)|(1<<CFlag) 3335 .hword (0x62<<8) |(1<<NFlag)|(1<<CFlag) 3336 .hword (0x63<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3337 .hword (0x64<<8) |(1<<NFlag)|(1<<CFlag) 3338 .hword (0x65<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3339 .hword (0x66<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3340 .hword (0x67<<8) |(1<<NFlag)|(1<<CFlag) 3341 .hword (0x68<<8) |(1<<NFlag)|(1<<CFlag) 3342 .hword (0x69<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3343 .hword (0x6A<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3344 .hword (0x6B<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3345 .hword (0x6C<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3346 .hword (0x6D<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3347 .hword (0x6E<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3348 .hword (0x6F<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3349 .hword (0x70<<8) |(1<<NFlag)|(1<<CFlag) 3350 .hword (0x71<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3351 .hword (0x72<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3352 .hword (0x73<<8) |(1<<NFlag)|(1<<CFlag) 3353 .hword (0x74<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3354 .hword (0x75<<8) |(1<<NFlag)|(1<<CFlag) 3355 .hword (0x76<<8) |(1<<NFlag)|(1<<CFlag) 3356 .hword (0x77<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3357 .hword (0x78<<8) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3358 .hword (0x79<<8) |(1<<NFlag)|(1<<CFlag) 3359 .hword (0x7A<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3360 .hword (0x7B<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3361 .hword (0x7C<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3362 .hword (0x7D<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3363 .hword (0x7E<<8) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3364 .hword (0x7F<<8) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3365 .hword (0x80<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3366 .hword (0x81<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3367 .hword (0x82<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3368 .hword (0x83<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3369 .hword (0x84<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3370 .hword (0x85<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3371 .hword (0x86<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3372 .hword (0x87<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3373 .hword (0x88<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3374 .hword (0x89<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3375 .hword (0x8A<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3376 .hword (0x8B<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3377 .hword (0x8C<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3378 .hword (0x8D<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3379 .hword (0x8E<<8)|(1<<SFlag) |(1<<HFlag)|(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3380 .hword (0x8F<<8)|(1<<SFlag) |(1<<HFlag) |(1<<NFlag)|(1<<CFlag) 3381 .hword (0x90<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3382 .hword (0x91<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3383 .hword (0x92<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3384 .hword (0x93<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3385 .hword (0x94<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3386 .hword (0x95<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3387 .hword (0x96<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3388 .hword (0x97<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3389 .hword (0x98<<8)|(1<<SFlag) |(1<<NFlag)|(1<<CFlag) 3390 .hword (0x99<<8)|(1<<SFlag) |(1<<VFlag)|(1<<NFlag)|(1<<CFlag) 3391 3392.align 4 3393 3394AF_Z80: .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 0 3395 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 1 3396 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 2 3397 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 3 3398 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 4 3399 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 5 3400 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 6 3401 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 7 3402 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 8 3403 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 9 3404 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 10 3405 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 11 3406 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 12 3407 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 13 3408 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 14 3409 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 15 3410 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 16 3411 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 17 3412 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 18 3413 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 19 3414 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 20 3415 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 21 3416 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 22 3417 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 23 3418 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 24 3419 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 25 3420 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 26 3421 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 27 3422 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 28 3423 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 29 3424 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 30 3425 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 31 3426 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 32 3427 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 33 3428 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 34 3429 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 35 3430 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 36 3431 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 37 3432 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 38 3433 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 39 3434 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 40 3435 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 41 3436 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 42 3437 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 43 3438 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 44 3439 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 45 3440 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 46 3441 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 47 3442 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 48 3443 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 49 3444 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 50 3445 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 51 3446 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 52 3447 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 53 3448 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 54 3449 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 55 3450 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 56 3451 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 57 3452 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 58 3453 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 59 3454 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 60 3455 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 61 3456 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 62 3457 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 63 3458 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 64 3459 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 65 3460 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 66 3461 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 67 3462 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 68 3463 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 69 3464 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 70 3465 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 71 3466 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 72 3467 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 73 3468 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 74 3469 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 75 3470 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 76 3471 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 77 3472 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 78 3473 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 79 3474 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 80 3475 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 81 3476 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 82 3477 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 83 3478 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 84 3479 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 85 3480 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 86 3481 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 87 3482 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 88 3483 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 89 3484 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 90 3485 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 91 3486 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 92 3487 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 93 3488 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 94 3489 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 95 3490 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 96 3491 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 97 3492 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 98 3493 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 99 3494 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 100 3495 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 101 3496 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 102 3497 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 103 3498 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 104 3499 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 105 3500 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 106 3501 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 107 3502 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 108 3503 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 109 3504 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 110 3505 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 111 3506 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 112 3507 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 113 3508 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 114 3509 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 115 3510 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 116 3511 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 117 3512 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 118 3513 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 119 3514 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 120 3515 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 121 3516 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 122 3517 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 123 3518 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 124 3519 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 125 3520 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 126 3521 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 127 3522 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 128 3523 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 129 3524 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 130 3525 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 131 3526 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 132 3527 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 133 3528 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 134 3529 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 135 3530 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 136 3531 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 137 3532 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 138 3533 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 139 3534 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 140 3535 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 141 3536 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 142 3537 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 143 3538 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 144 3539 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 145 3540 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 146 3541 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 147 3542 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 148 3543 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 149 3544 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 150 3545 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 151 3546 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 152 3547 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 153 3548 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 154 3549 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 155 3550 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 156 3551 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 157 3552 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 158 3553 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 159 3554 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 160 3555 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 161 3556 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 162 3557 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 163 3558 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 164 3559 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 165 3560 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 166 3561 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 167 3562 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 168 3563 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 169 3564 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 170 3565 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 171 3566 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 172 3567 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 173 3568 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 174 3569 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 175 3570 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 176 3571 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 177 3572 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 178 3573 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 179 3574 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 180 3575 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 181 3576 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 182 3577 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 183 3578 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 184 3579 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 185 3580 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 186 3581 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 187 3582 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 188 3583 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 189 3584 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 190 3585 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 191 3586 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 192 3587 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 193 3588 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 194 3589 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 195 3590 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 196 3591 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 197 3592 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 198 3593 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 199 3594 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 200 3595 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 201 3596 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 202 3597 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 203 3598 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 204 3599 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 205 3600 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 206 3601 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 207 3602 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 208 3603 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 209 3604 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 210 3605 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 211 3606 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 212 3607 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 213 3608 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 214 3609 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 215 3610 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 216 3611 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 217 3612 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 218 3613 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 219 3614 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 220 3615 .byte (0<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 221 3616 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 222 3617 .byte (1<<Z80_CFlag)|(0<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 223 3618 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 224 3619 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 225 3620 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 226 3621 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 227 3622 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 228 3623 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 229 3624 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 230 3625 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 231 3626 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 232 3627 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 233 3628 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 234 3629 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 235 3630 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 236 3631 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 237 3632 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 238 3633 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(0<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 239 3634 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 240 3635 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 241 3636 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 242 3637 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 243 3638 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 244 3639 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 245 3640 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 246 3641 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(0<<Z80_SFlag) ;@ 247 3642 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 248 3643 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 249 3644 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 250 3645 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(0<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 251 3646 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 252 3647 .byte (0<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 253 3648 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(0<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 254 3649 .byte (1<<Z80_CFlag)|(1<<Z80_NFlag)|(1<<Z80_VFlag)|(1<<Z80_HFlag)|(1<<Z80_ZFlag)|(1<<Z80_SFlag) ;@ 255 3650 3651.align 4 3652 3653AF_ARM: .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 0 3654 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 1 3655 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 2 3656 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 3 3657 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 4 3658 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 5 3659 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 6 3660 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 7 3661 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 8 3662 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 9 3663 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 10 3664 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 11 3665 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 12 3666 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 13 3667 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 14 3668 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 15 3669 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 16 3670 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 17 3671 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 18 3672 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 19 3673 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 20 3674 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 21 3675 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 22 3676 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 23 3677 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 24 3678 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 25 3679 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 26 3680 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 27 3681 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 28 3682 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 29 3683 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 30 3684 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 31 3685 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 32 3686 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 33 3687 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 34 3688 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 35 3689 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 36 3690 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 37 3691 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 38 3692 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 39 3693 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 40 3694 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 41 3695 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 42 3696 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 43 3697 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 44 3698 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 45 3699 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 46 3700 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 47 3701 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 48 3702 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 49 3703 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 50 3704 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 51 3705 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 52 3706 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 53 3707 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 54 3708 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 55 3709 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 56 3710 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 57 3711 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 58 3712 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 59 3713 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 60 3714 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 61 3715 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 62 3716 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(0<<SFlag) ;@ 63 3717 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 64 3718 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 65 3719 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 66 3720 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 67 3721 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 68 3722 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 69 3723 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 70 3724 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 71 3725 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 72 3726 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 73 3727 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 74 3728 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 75 3729 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 76 3730 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 77 3731 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 78 3732 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 79 3733 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 80 3734 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 81 3735 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 82 3736 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 83 3737 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 84 3738 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 85 3739 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 86 3740 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 87 3741 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 88 3742 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 89 3743 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 90 3744 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 91 3745 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 92 3746 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 93 3747 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 94 3748 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 95 3749 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 96 3750 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 97 3751 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 98 3752 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 99 3753 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 100 3754 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 101 3755 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 102 3756 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 103 3757 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 104 3758 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 105 3759 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 106 3760 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 107 3761 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 108 3762 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 109 3763 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 110 3764 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 111 3765 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 112 3766 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 113 3767 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 114 3768 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 115 3769 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 116 3770 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 117 3771 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 118 3772 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 119 3773 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 120 3774 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 121 3775 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 122 3776 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 123 3777 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 124 3778 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 125 3779 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 126 3780 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(0<<SFlag) ;@ 127 3781 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 128 3782 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 129 3783 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 130 3784 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 131 3785 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 132 3786 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 133 3787 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 134 3788 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 135 3789 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 136 3790 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 137 3791 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 138 3792 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 139 3793 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 140 3794 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 141 3795 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 142 3796 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 143 3797 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 144 3798 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 145 3799 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 146 3800 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 147 3801 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 148 3802 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 149 3803 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 150 3804 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 151 3805 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 152 3806 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 153 3807 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 154 3808 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 155 3809 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 156 3810 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 157 3811 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 158 3812 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 159 3813 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 160 3814 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 161 3815 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 162 3816 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 163 3817 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 164 3818 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 165 3819 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 166 3820 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 167 3821 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 168 3822 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 169 3823 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 170 3824 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 171 3825 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 172 3826 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 173 3827 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 174 3828 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 175 3829 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 176 3830 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 177 3831 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 178 3832 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 179 3833 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 180 3834 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 181 3835 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 182 3836 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 183 3837 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 184 3838 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 185 3839 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 186 3840 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 187 3841 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 188 3842 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 189 3843 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 190 3844 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(0<<ZFlag)|(1<<SFlag) ;@ 191 3845 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 192 3846 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 193 3847 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 194 3848 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 195 3849 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 196 3850 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 197 3851 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 198 3852 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 199 3853 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 200 3854 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 201 3855 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 202 3856 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 203 3857 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 204 3858 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 205 3859 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 206 3860 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 207 3861 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 208 3862 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 209 3863 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 210 3864 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 211 3865 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 212 3866 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 213 3867 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 214 3868 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 215 3869 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 216 3870 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 217 3871 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 218 3872 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 219 3873 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 220 3874 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 221 3875 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 222 3876 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 223 3877 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 224 3878 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 225 3879 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 226 3880 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 227 3881 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 228 3882 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 229 3883 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 230 3884 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 231 3885 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 232 3886 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 233 3887 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 234 3888 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 235 3889 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 236 3890 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 237 3891 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 238 3892 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(0<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 239 3893 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 240 3894 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 241 3895 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 242 3896 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 243 3897 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 244 3898 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 245 3899 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 246 3900 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 247 3901 .byte (0<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 248 3902 .byte (1<<CFlag)|(0<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 249 3903 .byte (0<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 250 3904 .byte (1<<CFlag)|(1<<NFlag)|(0<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 251 3905 .byte (0<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 252 3906 .byte (1<<CFlag)|(0<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 253 3907 .byte (0<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 254 3908 .byte (1<<CFlag)|(1<<NFlag)|(1<<VFlag)|(1<<HFlag)|(1<<ZFlag)|(1<<SFlag) ;@ 255 3909 3910.align 4 3911 3912PZSTable_data: .byte (1<<ZFlag)|(1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0 3913 .byte 0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag) 3914 .byte 0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0 3915 .byte 0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0 3916 .byte (1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag) 3917 .byte 0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0 3918 .byte (1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag) 3919 .byte (1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag) 3920 .byte 0,(1<<VFlag),(1<<VFlag),0,(1<<VFlag),0,0,(1<<VFlag),(1<<VFlag),0,0,(1<<VFlag),0,(1<<VFlag),(1<<VFlag),0 3921 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3922 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3923 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3924 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3925 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3926 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3927 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3928 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3929 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3930 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3931 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3932 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3933 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3934 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3935 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3936 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3937 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3938 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3939 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3940 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3941 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3942 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3943 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3944 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3945 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3946 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3947 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3948 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3949 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3950 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3951 .byte (1<<SFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag)|(1<<VFlag),(1<<SFlag) 3952 .byte (1<<SFlag)|(1<<VFlag),(1<<SFlag),(1<<SFlag),(1<<SFlag)|(1<<VFlag) 3953 3954.align 4 3955 3956MAIN_opcodes: 3957 .word opcode_0_0,opcode_0_1,opcode_0_2,opcode_0_3,opcode_0_4,opcode_0_5,opcode_0_6,opcode_0_7 3958 .word opcode_0_8,opcode_0_9,opcode_0_A,opcode_0_B,opcode_0_C,opcode_0_D,opcode_0_E,opcode_0_F 3959 .word opcode_1_0,opcode_1_1,opcode_1_2,opcode_1_3,opcode_1_4,opcode_1_5,opcode_1_6,opcode_1_7 3960 .word opcode_1_8,opcode_1_9,opcode_1_A,opcode_1_B,opcode_1_C,opcode_1_D,opcode_1_E,opcode_1_F 3961 .word opcode_2_0,opcode_2_1,opcode_2_2,opcode_2_3,opcode_2_4,opcode_2_5,opcode_2_6,opcode_2_7 3962 .word opcode_2_8,opcode_2_9,opcode_2_A,opcode_2_B,opcode_2_C,opcode_2_D,opcode_2_E,opcode_2_F 3963 .word opcode_3_0,opcode_3_1,opcode_3_2,opcode_3_3,opcode_3_4,opcode_3_5,opcode_3_6,opcode_3_7 3964 .word opcode_3_8,opcode_3_9,opcode_3_A,opcode_3_B,opcode_3_C,opcode_3_D,opcode_3_E,opcode_3_F 3965 .word opcode_4_0,opcode_4_1,opcode_4_2,opcode_4_3,opcode_4_4,opcode_4_5,opcode_4_6,opcode_4_7 3966 .word opcode_4_8,opcode_4_9,opcode_4_A,opcode_4_B,opcode_4_C,opcode_4_D,opcode_4_E,opcode_4_F 3967 .word opcode_5_0,opcode_5_1,opcode_5_2,opcode_5_3,opcode_5_4,opcode_5_5,opcode_5_6,opcode_5_7 3968 .word opcode_5_8,opcode_5_9,opcode_5_A,opcode_5_B,opcode_5_C,opcode_5_D,opcode_5_E,opcode_5_F 3969 .word opcode_6_0,opcode_6_1,opcode_6_2,opcode_6_3,opcode_6_4,opcode_6_5,opcode_6_6,opcode_6_7 3970 .word opcode_6_8,opcode_6_9,opcode_6_A,opcode_6_B,opcode_6_C,opcode_6_D,opcode_6_E,opcode_6_F 3971 .word opcode_7_0,opcode_7_1,opcode_7_2,opcode_7_3,opcode_7_4,opcode_7_5,opcode_7_6,opcode_7_7 3972 .word opcode_7_8,opcode_7_9,opcode_7_A,opcode_7_B,opcode_7_C,opcode_7_D,opcode_7_E,opcode_7_F 3973 .word opcode_8_0,opcode_8_1,opcode_8_2,opcode_8_3,opcode_8_4,opcode_8_5,opcode_8_6,opcode_8_7 3974 .word opcode_8_8,opcode_8_9,opcode_8_A,opcode_8_B,opcode_8_C,opcode_8_D,opcode_8_E,opcode_8_F 3975 .word opcode_9_0,opcode_9_1,opcode_9_2,opcode_9_3,opcode_9_4,opcode_9_5,opcode_9_6,opcode_9_7 3976 .word opcode_9_8,opcode_9_9,opcode_9_A,opcode_9_B,opcode_9_C,opcode_9_D,opcode_9_E,opcode_9_F 3977 .word opcode_A_0,opcode_A_1,opcode_A_2,opcode_A_3,opcode_A_4,opcode_A_5,opcode_A_6,opcode_A_7 3978 .word opcode_A_8,opcode_A_9,opcode_A_A,opcode_A_B,opcode_A_C,opcode_A_D,opcode_A_E,opcode_A_F 3979 .word opcode_B_0,opcode_B_1,opcode_B_2,opcode_B_3,opcode_B_4,opcode_B_5,opcode_B_6,opcode_B_7 3980 .word opcode_B_8,opcode_B_9,opcode_B_A,opcode_B_B,opcode_B_C,opcode_B_D,opcode_B_E,opcode_B_F 3981 .word opcode_C_0,opcode_C_1,opcode_C_2,opcode_C_3,opcode_C_4,opcode_C_5,opcode_C_6,opcode_C_7 3982 .word opcode_C_8,opcode_C_9,opcode_C_A,opcode_C_B,opcode_C_C,opcode_C_D,opcode_C_E,opcode_C_F 3983 .word opcode_D_0,opcode_D_1,opcode_D_2,opcode_D_3,opcode_D_4,opcode_D_5,opcode_D_6,opcode_D_7 3984 .word opcode_D_8,opcode_D_9,opcode_D_A,opcode_D_B,opcode_D_C,opcode_D_D,opcode_D_E,opcode_D_F 3985 .word opcode_E_0,opcode_E_1,opcode_E_2,opcode_E_3,opcode_E_4,opcode_E_5,opcode_E_6,opcode_E_7 3986 .word opcode_E_8,opcode_E_9,opcode_E_A,opcode_E_B,opcode_E_C,opcode_E_D,opcode_E_E,opcode_E_F 3987 .word opcode_F_0,opcode_F_1,opcode_F_2,opcode_F_3,opcode_F_4,opcode_F_5,opcode_F_6,opcode_F_7 3988 .word opcode_F_8,opcode_F_9,opcode_F_A,opcode_F_B,opcode_F_C,opcode_F_D,opcode_F_E,opcode_F_F 3989 3990.align 4 3991 3992EI_DUMMY_opcodes: 3993 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@0 3994 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@0 3995 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@1 3996 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@1 3997 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@2 3998 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@2 3999 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@3 4000 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@3 4001 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@4 4002 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@4 4003 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@5 4004 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@5 4005 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@6 4006 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@6 4007 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@7 4008 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@7 4009 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@8 4010 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@8 4011 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@9 4012 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@9 4013 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@A 4014 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@A 4015 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@B 4016 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@B 4017 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@C 4018 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@C 4019 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@D 4020 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@D 4021 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@E 4022 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@E 4023 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@F 4024 .word ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return,ei_return ;@F 4025 4026.text 4027.align 4 4028 4029;@NOP 4030opcode_0_0: 4031;@LD B,B 4032opcode_4_0: 4033;@LD C,C 4034opcode_4_9: 4035;@LD D,D 4036opcode_5_2: 4037;@LD E,E 4038opcode_5_B: 4039;@LD H,H 4040opcode_6_4: 4041;@LD L,L 4042opcode_6_D: 4043;@LD A,A 4044opcode_7_F: 4045 fetch 4 4046;@LD BC,NN 4047opcode_0_1: 4048 ldrb r0,[z80pc],#1 4049 ldrb r1,[z80pc],#1 4050 orr r0,r0,r1, lsl #8 4051 mov z80bc,r0, lsl #16 4052 fetch 10 4053;@LD (BC),A 4054opcode_0_2: 4055 mov r0,z80a, lsr #24 4056 mov r1,z80bc, lsr #16 4057 writemem8 4058 fetch 7 4059;@INC BC 4060opcode_0_3: 4061 add z80bc,z80bc,#1<<16 4062 fetch 6 4063;@INC B 4064opcode_0_4: 4065 opINC8H z80bc 4066 fetch 4 4067;@DEC B 4068opcode_0_5: 4069 opDEC8H z80bc 4070 fetch 4 4071;@LD B,N 4072opcode_0_6: 4073 ldrb r1,[z80pc],#1 4074 and z80bc,z80bc,#0xFF<<16 4075 orr z80bc,z80bc,r1, lsl #24 4076 fetch 7 4077;@RLCA 4078opcode_0_7: 4079 bic z80f,z80f,#(1<<NFlag)|(1<<HFlag)|(1<<CFlag) 4080 movs z80a,z80a, lsl #1 4081 orrcs z80a,z80a,#1<<24 4082 orrcs z80f,z80f,#1<<CFlag 4083 fetch 4 4084;@EX AF,AF' 4085opcode_0_8: 4086 add r1,cpucontext,#z80a2 4087 ldr r0,[r1] 4088 str z80a,[r1] 4089 mov z80a,r0 4090 add r1,cpucontext,#z80f2 4091 ldr r0,[r1] 4092 str z80f,[r1] 4093 mov z80f,r0 4094 fetch 4 4095;@ADD HL,BC 4096opcode_0_9: 4097 opADD16 z80hl z80bc 4098 fetch 11 4099;@LD A,(BC) 4100opcode_0_A: 4101 mov r0,z80bc, lsr #16 4102 readmem8 4103 mov z80a,r0, lsl #24 4104 fetch 7 4105;@DEC BC 4106opcode_0_B: 4107 sub z80bc,z80bc,#1<<16 4108 fetch 6 4109;@INC C 4110opcode_0_C: 4111 opINC8L z80bc 4112 fetch 4 4113;@DEC C 4114opcode_0_D: 4115 opDEC8L z80bc 4116 fetch 4 4117;@LD C,N 4118opcode_0_E: 4119 ldrb r1,[z80pc],#1 4120 and z80bc,z80bc,#0xFF<<24 4121 orr z80bc,z80bc,r1, lsl #16 4122 fetch 7 4123;@RRCA 4124opcode_0_F: 4125 bic z80f,z80f,#(1<<NFlag)|(1<<HFlag)|(1<<CFlag) 4126 movs z80a,z80a, lsr #25 4127 orrcs z80a,z80a,#1<<7 4128 orrcs z80f,z80f,#1<<CFlag 4129 mov z80a,z80a, lsl #24 4130 fetch 4 4131;@DJNZ $+2 4132opcode_1_0: 4133 sub z80bc,z80bc,#1<<24 4134 tst z80bc,#0xFF<<24 4135 ldrsb r1,[z80pc],#1 4136 addne z80pc,z80pc,r1 4137 subne z80_icount,z80_icount,#5 4138 fetch 8 4139 4140;@LD DE,NN 4141opcode_1_1: 4142 ldrb r0,[z80pc],#1 4143 ldrb r1,[z80pc],#1 4144 orr r0,r0,r1, lsl #8 4145 mov z80de,r0, lsl #16 4146 fetch 10 4147;@LD (DE),A 4148opcode_1_2: 4149 mov r0,z80a, lsr #24 4150 writemem8DE 4151 fetch 7 4152;@INC DE 4153opcode_1_3: 4154 add z80de,z80de,#1<<16 4155 fetch 6 4156;@INC D 4157opcode_1_4: 4158 opINC8H z80de 4159 fetch 4 4160;@DEC D 4161opcode_1_5: 4162 opDEC8H z80de 4163 fetch 4 4164;@LD D,N 4165opcode_1_6: 4166 ldrb r1,[z80pc],#1 4167 and z80de,z80de,#0xFF<<16 4168 orr z80de,z80de,r1, lsl #24 4169 fetch 7 4170;@RLA 4171opcode_1_7: 4172 tst z80f,#1<<CFlag 4173 orrne z80a,z80a,#1<<23 4174 bic z80f,z80f,#(1<<NFlag)|(1<<HFlag)|(1<<CFlag) 4175 movs z80a,z80a, lsl #1 4176 orrcs z80f,z80f,#1<<CFlag 4177 fetch 4 4178;@JR $+2 4179opcode_1_8: 4180 ldrsb r1,[z80pc],#1 4181 add z80pc,z80pc,r1 4182 fetch 12 4183;@ADD HL,DE 4184opcode_1_9: 4185 opADD16 z80hl z80de 4186 fetch 11 4187;@LD A,(DE) 4188opcode_1_A: 4189 mov r0,z80de, lsr #16 4190 readmem8 4191 mov z80a,r0, lsl #24 4192 fetch 7 4193;@DEC DE 4194opcode_1_B: 4195 sub z80de,z80de,#1<<16 4196 fetch 6 4197;@INC E 4198opcode_1_C: 4199 opINC8L z80de 4200 fetch 4 4201;@DEC E 4202opcode_1_D: 4203 opDEC8L z80de 4204 fetch 4 4205;@LD E,N 4206opcode_1_E: 4207 ldrb r0,[z80pc],#1 4208 and z80de,z80de,#0xFF<<24 4209 orr z80de,z80de,r0, lsl #16 4210 fetch 7 4211;@RRA 4212opcode_1_F: 4213 orr z80a,z80a,z80f,lsr#1 ;@get C 4214 bic z80f,z80f,#(1<<NFlag)|(1<<HFlag)|(1<<CFlag) 4215 movs z80a,z80a,ror#25 4216 orrcs z80f,z80f,#1<<CFlag 4217 mov z80a,z80a,lsl#24 4218 fetch 4 4219;@JR NZ,$+2 4220opcode_2_0: 4221 tst z80f,#1<<ZFlag 4222 beq opcode_1_8 4223 add z80pc,z80pc,#1 4224 fetch 7 4225;@LD HL,NN 4226opcode_2_1: 4227 ldrb r0,[z80pc],#1 4228 ldrb r1,[z80pc],#1 4229 orr r0,r0,r1, lsl #8 4230 mov z80hl,r0, lsl #16 4231 fetch 10 4232;@LD (NN),HL 4233opcode_ED_63: 4234 eatcycles 4 4235;@LD (NN),HL 4236opcode_2_2: 4237 ldrb r0,[z80pc],#1 4238 ldrb r1,[z80pc],#1 4239 orr r1,r0,r1, lsl #8 4240 mov r0,z80hl, lsr #16 4241 writemem16 4242 fetch 16 4243;@INC HL 4244opcode_2_3: 4245 add z80hl,z80hl,#1<<16 4246 fetch 6 4247;@INC H 4248opcode_2_4: 4249 opINC8H z80hl 4250 fetch 4 4251;@DEC H 4252opcode_2_5: 4253 opDEC8H z80hl 4254 fetch 4 4255;@LD H,N 4256opcode_2_6: 4257 ldrb r1,[z80pc],#1 4258 and z80hl,z80hl,#0xFF<<16 4259 orr z80hl,z80hl,r1, lsl #24 4260 fetch 7 4261DAATABLE_LOCAL: .word DAATable 4262;@DAA 4263opcode_2_7: 4264 mov r1,z80a, lsr #23 4265 tst z80f,#1<<CFlag 4266 orrne r1,r1,#512 4267 tst z80f,#1<<HFlag 4268 orrne r1,r1,#1024 4269 tst z80f,#1<<NFlag 4270 orrne r1,r1,#2048 4271 ldr r2,DAATABLE_LOCAL 4272 ldrh r1,[r2,r1] 4273 and z80f,r1,#0xFF 4274 and r2,r1,#0xFF<<8 4275 mov z80a,r2, lsl #16 4276 fetch 4 4277;@JR Z,$+2 4278opcode_2_8: 4279 tst z80f,#1<<ZFlag 4280 bne opcode_1_8 4281 add z80pc,z80pc,#1 4282 fetch 7 4283;@ADD HL,HL 4284opcode_2_9: 4285 opADD16_2 z80hl 4286 fetch 11 4287;@LD HL,(NN) 4288opcode_ED_6B: 4289 eatcycles 4 4290;@LD HL,(NN) 4291opcode_2_A: 4292 ldrb r0,[z80pc],#1 4293 ldrb r1,[z80pc],#1 4294 orr r0,r0,r1, lsl #8 4295 readmem16 4296 mov z80hl,r0, lsl #16 4297 fetch 16 4298;@DEC HL 4299opcode_2_B: 4300 sub z80hl,z80hl,#1<<16 4301 fetch 6 4302;@INC L 4303opcode_2_C: 4304 opINC8L z80hl 4305 fetch 4 4306;@DEC L 4307opcode_2_D: 4308 opDEC8L z80hl 4309 fetch 4 4310;@LD L,N 4311opcode_2_E: 4312 ldrb r0,[z80pc],#1 4313 and z80hl,z80hl,#0xFF<<24 4314 orr z80hl,z80hl,r0, lsl #16 4315 fetch 7 4316;@CPL 4317opcode_2_F: 4318 eor z80a,z80a,#0xFF<<24 4319 orr z80f,z80f,#(1<<NFlag)|(1<<HFlag) 4320 fetch 4 4321;@JR NC,$+2 4322opcode_3_0: 4323 tst z80f,#1<<CFlag 4324 beq opcode_1_8 4325 add z80pc,z80pc,#1 4326 fetch 7 4327;@LD SP,NN 4328opcode_3_1: 4329 ldrb r0,[z80pc],#1 4330 ldrb r1,[z80pc],#1 4331 4332.if FAST_Z80SP 4333 orr r0,r0,r1, lsl #8 4334 rebasesp 4335 ;@mov z80sp,r0 4336.else 4337 orr z80sp,r0,r1, lsl #8 4338.endif 4339 fetch 10 4340;@LD (NN),A 4341opcode_3_2: 4342 ldrb r0,[z80pc],#1 4343 ldrb r1,[z80pc],#1 4344 orr r1,r0,r1, lsl #8 4345 mov r0,z80a, lsr #24 4346 writemem8 4347 fetch 13 4348;@INC SP 4349opcode_3_3: 4350 add z80sp,z80sp,#1 4351 fetch 6 4352;@INC (HL) 4353opcode_3_4: 4354 readmem8HL 4355 opINC8b 4356 writemem8HL 4357 fetch 11 4358;@DEC (HL) 4359opcode_3_5: 4360 readmem8HL 4361 opDEC8b 4362 writemem8HL 4363 fetch 11 4364;@LD (HL),N 4365opcode_3_6: 4366 ldrb r0,[z80pc],#1 4367 writemem8HL 4368 fetch 10 4369;@SCF 4370opcode_3_7: 4371 bic z80f,z80f,#(1<<NFlag)|(1<<HFlag) 4372 orr z80f,z80f,#1<<CFlag 4373 fetch 4 4374;@JR C,$+2 4375opcode_3_8: 4376 tst z80f,#1<<CFlag 4377 bne opcode_1_8 4378 add z80pc,z80pc,#1 4379 fetch 8 4380;@ADD HL,SP 4381opcode_3_9: 4382.if FAST_Z80SP 4383 ldr r0,[cpucontext,#z80sp_base] 4384 sub r0,z80sp,r0 4385 opADD16s z80hl r0 16 4386.else 4387 opADD16s z80hl z80sp 16 4388.endif 4389 fetch 11 4390;@LD A,(NN) 4391opcode_3_A: 4392 ldrb r0,[z80pc],#1 4393 ldrb r1,[z80pc],#1 4394 orr r0,r0,r1, lsl #8 4395 readmem8 4396 mov z80a,r0, lsl #24 4397 fetch 11 4398;@DEC SP 4399opcode_3_B: 4400 sub z80sp,z80sp,#1 4401 fetch 6 4402;@INC A 4403opcode_3_C: 4404 opINC8 z80a 4405 fetch 4 4406;@DEC A 4407opcode_3_D: 4408 opDEC8 z80a 4409 fetch 4 4410;@LD A,N 4411opcode_3_E: 4412 ldrb r0,[z80pc],#1 4413 mov z80a,r0, lsl #24 4414 fetch 7 4415;@CCF 4416opcode_3_F: 4417 bic z80f,z80f,#(1<<NFlag)|(1<<HFlag) 4418 tst z80f,#1<<CFlag 4419 orrne z80f,z80f,#1<<HFlag 4420 eor z80f,z80f,#1<<CFlag 4421 fetch 4 4422 4423;@LD B,C 4424opcode_4_1: 4425 and z80bc,z80bc,#0x00FF0000 4426 orr z80bc,z80bc,z80bc,lsl#8 4427 fetch 4 4428;@LD B,D 4429opcode_4_2: 4430 and z80bc,z80bc,#0x00FF0000 4431 and r0,z80de,#0xFF000000 4432 orr z80bc,z80bc,r0 4433 fetch 4 4434;@LD B,E 4435opcode_4_3: 4436 and z80bc,z80bc,#0x00FF0000 4437 orr z80bc,z80bc,z80de,lsl#8 4438 fetch 4 4439;@LD B,H 4440opcode_4_4: 4441 and z80bc,z80bc,#0x00FF0000 4442 and r0,z80hl,#0xFF000000 4443 orr z80bc,z80bc,r0 4444 fetch 4 4445;@LD B,L 4446opcode_4_5: 4447 and z80bc,z80bc,#0x00FF0000 4448 orr z80bc,z80bc,z80hl,lsl#8 4449 fetch 4 4450;@LD B,(HL) 4451opcode_4_6: 4452 readmem8HL 4453 and z80bc,z80bc,#0x00FF0000 4454 orr z80bc,z80bc,r0,lsl#24 4455 fetch 7 4456;@LD B,A 4457opcode_4_7: 4458 and z80bc,z80bc,#0x00FF0000 4459 orr z80bc,z80bc,z80a 4460 fetch 4 4461;@LD C,B 4462opcode_4_8: 4463 and z80bc,z80bc,#0xFF000000 4464 orr z80bc,z80bc,z80bc,lsr#8 4465 fetch 4 4466;@LD C,D 4467opcode_4_A: 4468 and z80bc,z80bc,#0xFF000000 4469 and r0,z80de,#0xFF000000 4470 orr z80bc,z80bc,r0,lsr#8 4471 fetch 4 4472;@LD C,E 4473opcode_4_B: 4474 and z80bc,z80bc,#0xFF000000 4475 and r0,z80de,#0x00FF0000 4476 orr z80bc,z80bc,r0 4477 fetch 4 4478;@LD C,H 4479opcode_4_C: 4480 and z80bc,z80bc,#0xFF000000 4481 and r0,z80hl,#0xFF000000 4482 orr z80bc,z80bc,r0,lsr#8 4483 fetch 4 4484;@LD C,L 4485opcode_4_D: 4486 and z80bc,z80bc,#0xFF000000 4487 and r0,z80hl,#0x00FF0000 4488 orr z80bc,z80bc,r0 4489 fetch 4 4490;@LD C,(HL) 4491opcode_4_E: 4492 readmem8HL 4493 and z80bc,z80bc,#0xFF000000 4494 orr z80bc,z80bc,r0,lsl#16 4495 fetch 7 4496;@LD C,A 4497opcode_4_F: 4498 and z80bc,z80bc,#0xFF000000 4499 orr z80bc,z80bc,z80a,lsr#8 4500 fetch 4 4501;@LD D,B 4502opcode_5_0: 4503 and z80de,z80de,#0x00FF0000 4504 and r0,z80bc,#0xFF000000 4505 orr z80de,z80de,r0 4506 fetch 4 4507;@LD D,C 4508opcode_5_1: 4509 and z80de,z80de,#0x00FF0000 4510 orr z80de,z80de,z80bc,lsl#8 4511 fetch 4 4512;@LD D,E 4513opcode_5_3: 4514 and z80de,z80de,#0x00FF0000 4515 orr z80de,z80de,z80de,lsl#8 4516 fetch 4 4517;@LD D,H 4518opcode_5_4: 4519 and z80de,z80de,#0x00FF0000 4520 and r0,z80hl,#0xFF000000 4521 orr z80de,z80de,r0 4522 fetch 4 4523;@LD D,L 4524opcode_5_5: 4525 and z80de,z80de,#0x00FF0000 4526 orr z80de,z80de,z80hl,lsl#8 4527 fetch 4 4528;@LD D,(HL) 4529opcode_5_6: 4530 readmem8HL 4531 and z80de,z80de,#0x00FF0000 4532 orr z80de,z80de,r0,lsl#24 4533 fetch 7 4534;@LD D,A 4535opcode_5_7: 4536 and z80de,z80de,#0x00FF0000 4537 orr z80de,z80de,z80a 4538 fetch 4 4539;@LD E,B 4540opcode_5_8: 4541 and z80de,z80de,#0xFF000000 4542 and r0,z80bc,#0xFF000000 4543 orr z80de,z80de,r0,lsr#8 4544 fetch 4 4545;@LD E,C 4546opcode_5_9: 4547 and z80de,z80de,#0xFF000000 4548 and r0,z80bc,#0x00FF0000 4549 orr z80de,z80de,r0 4550 fetch 4 4551;@LD E,D 4552opcode_5_A: 4553 and z80de,z80de,#0xFF000000 4554 orr z80de,z80de,z80de,lsr#8 4555 fetch 4 4556;@LD E,H 4557opcode_5_C: 4558 and z80de,z80de,#0xFF000000 4559 and r0,z80hl,#0xFF000000 4560 orr z80de,z80de,r0,lsr#8 4561 fetch 4 4562;@LD E,L 4563opcode_5_D: 4564 and z80de,z80de,#0xFF000000 4565 and r0,z80hl,#0x00FF0000 4566 orr z80de,z80de,r0 4567 fetch 4 4568;@LD E,(HL) 4569opcode_5_E: 4570 readmem8HL 4571 and z80de,z80de,#0xFF000000 4572 orr z80de,z80de,r0,lsl#16 4573 fetch 7 4574;@LD E,A 4575opcode_5_F: 4576 and z80de,z80de,#0xFF000000 4577 orr z80de,z80de,z80a,lsr#8 4578 fetch 4 4579 4580;@LD H,B 4581opcode_6_0: 4582 and z80hl,z80hl,#0x00FF0000 4583 and r0,z80bc,#0xFF000000 4584 orr z80hl,z80hl,r0 4585 fetch 4 4586;@LD H,C 4587opcode_6_1: 4588 and z80hl,z80hl,#0x00FF0000 4589 orr z80hl,z80hl,z80bc,lsl#8 4590 fetch 4 4591;@LD H,D 4592opcode_6_2: 4593 and z80hl,z80hl,#0x00FF0000 4594 and r0,z80de,#0xFF000000 4595 orr z80hl,z80hl,r0 4596 fetch 4 4597;@LD H,E 4598opcode_6_3: 4599 and z80hl,z80hl,#0x00FF0000 4600 orr z80hl,z80hl,z80de,lsl#8 4601 fetch 4 4602;@LD H,L 4603opcode_6_5: 4604 and z80hl,z80hl,#0x00FF0000 4605 orr z80hl,z80hl,z80hl,lsl#8 4606 fetch 4 4607;@LD H,(HL) 4608opcode_6_6: 4609 readmem8HL 4610 and z80hl,z80hl,#0x00FF0000 4611 orr z80hl,z80hl,r0,lsl#24 4612 fetch 7 4613;@LD H,A 4614opcode_6_7: 4615 and z80hl,z80hl,#0x00FF0000 4616 orr z80hl,z80hl,z80a 4617 fetch 4 4618 4619;@LD L,B 4620opcode_6_8: 4621 and z80hl,z80hl,#0xFF000000 4622 and r0,z80bc,#0xFF000000 4623 orr z80hl,z80hl,r0,lsr#8 4624 fetch 4 4625;@LD L,C 4626opcode_6_9: 4627 and z80hl,z80hl,#0xFF000000 4628 and r0,z80bc,#0x00FF0000 4629 orr z80hl,z80hl,r0 4630 fetch 4 4631;@LD L,D 4632opcode_6_A: 4633 and z80hl,z80hl,#0xFF000000 4634 and r0,z80de,#0xFF000000 4635 orr z80hl,z80hl,r0,lsr#8 4636 fetch 4 4637;@LD L,E 4638opcode_6_B: 4639 and z80hl,z80hl,#0xFF000000 4640 and r0,z80de,#0x00FF0000 4641 orr z80hl,z80hl,r0 4642 fetch 4 4643;@LD L,H 4644opcode_6_C: 4645 and z80hl,z80hl,#0xFF000000 4646 orr z80hl,z80hl,z80hl,lsr#8 4647 fetch 4 4648;@LD L,(HL) 4649opcode_6_E: 4650 readmem8HL 4651 and z80hl,z80hl,#0xFF000000 4652 orr z80hl,z80hl,r0,lsl#16 4653 fetch 7 4654;@LD L,A 4655opcode_6_F: 4656 and z80hl,z80hl,#0xFF000000 4657 orr z80hl,z80hl,z80a,lsr#8 4658 fetch 4 4659 4660;@LD (HL),B 4661opcode_7_0: 4662 mov r0,z80bc,lsr#24 4663 writemem8HL 4664 fetch 7 4665;@LD (HL),C 4666opcode_7_1: 4667 mov r0,z80bc,lsr#16 4668 and r0,r0,#0xFF 4669 writemem8HL 4670 fetch 7 4671;@LD (HL),D 4672opcode_7_2: 4673 mov r0,z80de,lsr#24 4674 writemem8HL 4675 fetch 7 4676;@LD (HL),E 4677opcode_7_3: 4678 mov r0,z80de,lsr#16 4679 and r0,r0,#0xFF 4680 writemem8HL 4681 fetch 7 4682;@LD (HL),H 4683opcode_7_4: 4684 mov r0,z80hl,lsr#24 4685 writemem8HL 4686 fetch 7 4687;@LD (HL),L 4688opcode_7_5: 4689 mov r1,z80hl,lsr#16 4690 and r0,r1,#0xFF 4691 writemem8 4692 fetch 7 4693;@HALT 4694opcode_7_6: 4695 sub z80pc,z80pc,#1 4696 ldrb r0,[cpucontext,#z80if] 4697 orr r0,r0,#Z80_HALT 4698 strb r0,[cpucontext,#z80if] 4699 and z80_icount,z80_icount,#3 4700 eatcycles 4 4701 b z80_execute_end 4702;@LD (HL),A 4703opcode_7_7: 4704 mov r0,z80a,lsr#24 4705 writemem8HL 4706 fetch 7 4707 4708;@LD A,B 4709opcode_7_8: 4710 and z80a,z80bc,#0xFF000000 4711 fetch 4 4712;@LD A,C 4713opcode_7_9: 4714 mov z80a,z80bc,lsl#8 4715 fetch 4 4716;@LD A,D 4717opcode_7_A: 4718 and z80a,z80de,#0xFF000000 4719 fetch 4 4720;@LD A,E 4721opcode_7_B: 4722 mov z80a,z80de,lsl#8 4723 fetch 4 4724;@LD A,H 4725opcode_7_C: 4726 and z80a,z80hl,#0xFF000000 4727 fetch 4 4728;@LD A,L 4729opcode_7_D: 4730 mov z80a,z80hl,lsl#8 4731 fetch 4 4732;@LD A,(HL) 4733opcode_7_E: 4734 readmem8HL 4735 mov z80a,r0,lsl#24 4736 fetch 7 4737 4738;@ADD A,B 4739opcode_8_0: 4740 opADDH z80bc 4741;@ADD A,C 4742opcode_8_1: 4743 opADDL z80bc 4744;@ADD A,D 4745opcode_8_2: 4746 opADDH z80de 4747;@ADD A,E 4748opcode_8_3: 4749 opADDL z80de 4750;@ADD A,H 4751opcode_8_4: 4752 opADDH z80hl 4753;@ADD A,L 4754opcode_8_5: 4755 opADDL z80hl 4756;@ADD A,(HL) 4757opcode_8_6: 4758 readmem8HL 4759 opADDb 4760 fetch 7 4761;@ADD A,A 4762opcode_8_7: 4763 opADDA 4764 4765;@ADC A,B 4766opcode_8_8: 4767 opADCH z80bc 4768;@ADC A,C 4769opcode_8_9: 4770 opADCL z80bc 4771;@ADC A,D 4772opcode_8_A: 4773 opADCH z80de 4774;@ADC A,E 4775opcode_8_B: 4776 opADCL z80de 4777;@ADC A,H 4778opcode_8_C: 4779 opADCH z80hl 4780;@ADC A,L 4781opcode_8_D: 4782 opADCL z80hl 4783;@ADC A,(HL) 4784opcode_8_E: 4785 readmem8HL 4786 opADCb 4787 fetch 7 4788;@ADC A,A 4789opcode_8_F: 4790 opADCA 4791 4792;@SUB B 4793opcode_9_0: 4794 opSUBH z80bc 4795;@SUB C 4796opcode_9_1: 4797 opSUBL z80bc 4798;@SUB D 4799opcode_9_2: 4800 opSUBH z80de 4801;@SUB E 4802opcode_9_3: 4803 opSUBL z80de 4804;@SUB H 4805opcode_9_4: 4806 opSUBH z80hl 4807;@SUB L 4808opcode_9_5: 4809 opSUBL z80hl 4810;@SUB (HL) 4811opcode_9_6: 4812 readmem8HL 4813 opSUBb 4814 fetch 7 4815;@SUB A 4816opcode_9_7: 4817 opSUBA 4818 4819;@SBC B 4820opcode_9_8: 4821 opSBCH z80bc 4822;@SBC C 4823opcode_9_9: 4824 opSBCL z80bc 4825;@SBC D 4826opcode_9_A: 4827 opSBCH z80de 4828;@SBC E 4829opcode_9_B: 4830 opSBCL z80de 4831;@SBC H 4832opcode_9_C: 4833 opSBCH z80hl 4834;@SBC L 4835opcode_9_D: 4836 opSBCL z80hl 4837;@SBC (HL) 4838opcode_9_E: 4839 readmem8HL 4840 opSBCb 4841 fetch 7 4842;@SBC A 4843opcode_9_F: 4844 opSBCA 4845 4846;@AND B 4847opcode_A_0: 4848 opANDH z80bc 4849;@AND C 4850opcode_A_1: 4851 opANDL z80bc 4852;@AND D 4853opcode_A_2: 4854 opANDH z80de 4855;@AND E 4856opcode_A_3: 4857 opANDL z80de 4858;@AND H 4859opcode_A_4: 4860 opANDH z80hl 4861;@AND L 4862opcode_A_5: 4863 opANDL z80hl 4864;@AND (HL) 4865opcode_A_6: 4866 readmem8HL 4867 opANDb 4868 fetch 7 4869;@AND A 4870opcode_A_7: 4871 opANDA 4872 4873;@XOR B 4874opcode_A_8: 4875 opXORH z80bc 4876;@XOR C 4877opcode_A_9: 4878 opXORL z80bc 4879;@XOR D 4880opcode_A_A: 4881 opXORH z80de 4882;@XOR E 4883opcode_A_B: 4884 opXORL z80de 4885;@XOR H 4886opcode_A_C: 4887 opXORH z80hl 4888;@XOR L 4889opcode_A_D: 4890 opXORL z80hl 4891;@XOR (HL) 4892opcode_A_E: 4893 readmem8HL 4894 opXORb 4895 fetch 7 4896;@XOR A 4897opcode_A_F: 4898 opXORA 4899 4900;@OR B 4901opcode_B_0: 4902 opORH z80bc 4903;@OR C 4904opcode_B_1: 4905 opORL z80bc 4906;@OR D 4907opcode_B_2: 4908 opORH z80de 4909;@OR E 4910opcode_B_3: 4911 opORL z80de 4912;@OR H 4913opcode_B_4: 4914 opORH z80hl 4915;@OR L 4916opcode_B_5: 4917 opORL z80hl 4918;@OR (HL) 4919opcode_B_6: 4920 readmem8HL 4921 opORb 4922 fetch 7 4923;@OR A 4924opcode_B_7: 4925 opORA 4926 4927;@CP B 4928opcode_B_8: 4929 opCPH z80bc 4930;@CP C 4931opcode_B_9: 4932 opCPL z80bc 4933;@CP D 4934opcode_B_A: 4935 opCPH z80de 4936;@CP E 4937opcode_B_B: 4938 opCPL z80de 4939;@CP H 4940opcode_B_C: 4941 opCPH z80hl 4942;@CP L 4943opcode_B_D: 4944 opCPL z80hl 4945;@CP (HL) 4946opcode_B_E: 4947 readmem8HL 4948 opCPb 4949 fetch 7 4950;@CP A 4951opcode_B_F: 4952 opCPA 4953 4954;@RET NZ 4955opcode_C_0: 4956 tst z80f,#1<<ZFlag 4957 beq opcode_C_9 ;@unconditional RET 4958 fetch 5 4959 4960;@POP BC 4961opcode_C_1: 4962 opPOPreg z80bc 4963 4964;@JP NZ,$+3 4965opcode_C_2: 4966 tst z80f,#1<<ZFlag 4967 beq opcode_C_3 ;@unconditional JP 4968 add z80pc,z80pc,#2 4969 fetch 10 4970;@JP $+3 4971opcode_C_3: 4972 ldrb r0,[z80pc],#1 4973 ldrb r1,[z80pc],#1 4974 orr r0,r0,r1, lsl #8 4975 rebasepc 4976 fetch 10 4977;@CALL NZ,NN 4978opcode_C_4: 4979 tst z80f,#1<<ZFlag 4980 beq opcode_C_D ;@unconditional CALL 4981 add z80pc,z80pc,#2 4982 fetch 10 4983 4984;@PUSH BC 4985opcode_C_5: 4986 opPUSHreg z80bc 4987 fetch 11 4988;@ADD A,N 4989opcode_C_6: 4990 ldrb r0,[z80pc],#1 4991 opADDb 4992 fetch 7 4993;@RST 0 4994opcode_C_7: 4995 opRST 0x00 4996 4997;@RET Z 4998opcode_C_8: 4999 tst z80f,#1<<ZFlag 5000 bne opcode_C_9 ;@unconditional RET 5001 fetch 5 5002;@RET 5003opcode_C_9: 5004.if FAST_Z80SP 5005 ldrb r0,[z80sp],#1 5006 ldrb r1,[z80sp],#1 5007 orr r0,r0,r1, lsl #8 5008.else 5009 mov r0,z80sp 5010 readmem16 5011 add z80sp,z80sp,#2 5012.endif 5013 rebasepc 5014 fetch 10 5015;@JP Z,$+3 5016opcode_C_A: 5017 tst z80f,#1<<ZFlag 5018 bne opcode_C_3 ;@unconditional JP 5019 add z80pc,z80pc,#2 5020 fetch 10 5021 5022;@This reads this opcodes_CB lookup table to find the location of 5023;@the CB sub for the intruction and then branches to that location 5024opcode_C_B: 5025 ldrb r0,[z80pc],#1 5026 ldr pc,[pc,r0, lsl #2] 5027opcodes_CB: .word 0x00000000 5028 .word opcode_CB_00,opcode_CB_01,opcode_CB_02,opcode_CB_03,opcode_CB_04,opcode_CB_05,opcode_CB_06,opcode_CB_07 5029 .word opcode_CB_08,opcode_CB_09,opcode_CB_0A,opcode_CB_0B,opcode_CB_0C,opcode_CB_0D,opcode_CB_0E,opcode_CB_0F 5030 .word opcode_CB_10,opcode_CB_11,opcode_CB_12,opcode_CB_13,opcode_CB_14,opcode_CB_15,opcode_CB_16,opcode_CB_17 5031 .word opcode_CB_18,opcode_CB_19,opcode_CB_1A,opcode_CB_1B,opcode_CB_1C,opcode_CB_1D,opcode_CB_1E,opcode_CB_1F 5032 .word opcode_CB_20,opcode_CB_21,opcode_CB_22,opcode_CB_23,opcode_CB_24,opcode_CB_25,opcode_CB_26,opcode_CB_27 5033 .word opcode_CB_28,opcode_CB_29,opcode_CB_2A,opcode_CB_2B,opcode_CB_2C,opcode_CB_2D,opcode_CB_2E,opcode_CB_2F 5034 .word opcode_CB_30,opcode_CB_31,opcode_CB_32,opcode_CB_33,opcode_CB_34,opcode_CB_35,opcode_CB_36,opcode_CB_37 5035 .word opcode_CB_38,opcode_CB_39,opcode_CB_3A,opcode_CB_3B,opcode_CB_3C,opcode_CB_3D,opcode_CB_3E,opcode_CB_3F 5036 .word opcode_CB_40,opcode_CB_41,opcode_CB_42,opcode_CB_43,opcode_CB_44,opcode_CB_45,opcode_CB_46,opcode_CB_47 5037 .word opcode_CB_48,opcode_CB_49,opcode_CB_4A,opcode_CB_4B,opcode_CB_4C,opcode_CB_4D,opcode_CB_4E,opcode_CB_4F 5038 .word opcode_CB_50,opcode_CB_51,opcode_CB_52,opcode_CB_53,opcode_CB_54,opcode_CB_55,opcode_CB_56,opcode_CB_57 5039 .word opcode_CB_58,opcode_CB_59,opcode_CB_5A,opcode_CB_5B,opcode_CB_5C,opcode_CB_5D,opcode_CB_5E,opcode_CB_5F 5040 .word opcode_CB_60,opcode_CB_61,opcode_CB_62,opcode_CB_63,opcode_CB_64,opcode_CB_65,opcode_CB_66,opcode_CB_67 5041 .word opcode_CB_68,opcode_CB_69,opcode_CB_6A,opcode_CB_6B,opcode_CB_6C,opcode_CB_6D,opcode_CB_6E,opcode_CB_6F 5042 .word opcode_CB_70,opcode_CB_71,opcode_CB_72,opcode_CB_73,opcode_CB_74,opcode_CB_75,opcode_CB_76,opcode_CB_77 5043 .word opcode_CB_78,opcode_CB_79,opcode_CB_7A,opcode_CB_7B,opcode_CB_7C,opcode_CB_7D,opcode_CB_7E,opcode_CB_7F 5044 .word opcode_CB_80,opcode_CB_81,opcode_CB_82,opcode_CB_83,opcode_CB_84,opcode_CB_85,opcode_CB_86,opcode_CB_87 5045 .word opcode_CB_88,opcode_CB_89,opcode_CB_8A,opcode_CB_8B,opcode_CB_8C,opcode_CB_8D,opcode_CB_8E,opcode_CB_8F 5046 .word opcode_CB_90,opcode_CB_91,opcode_CB_92,opcode_CB_93,opcode_CB_94,opcode_CB_95,opcode_CB_96,opcode_CB_97 5047 .word opcode_CB_98,opcode_CB_99,opcode_CB_9A,opcode_CB_9B,opcode_CB_9C,opcode_CB_9D,opcode_CB_9E,opcode_CB_9F 5048 .word opcode_CB_A0,opcode_CB_A1,opcode_CB_A2,opcode_CB_A3,opcode_CB_A4,opcode_CB_A5,opcode_CB_A6,opcode_CB_A7 5049 .word opcode_CB_A8,opcode_CB_A9,opcode_CB_AA,opcode_CB_AB,opcode_CB_AC,opcode_CB_AD,opcode_CB_AE,opcode_CB_AF 5050 .word opcode_CB_B0,opcode_CB_B1,opcode_CB_B2,opcode_CB_B3,opcode_CB_B4,opcode_CB_B5,opcode_CB_B6,opcode_CB_B7 5051 .word opcode_CB_B8,opcode_CB_B9,opcode_CB_BA,opcode_CB_BB,opcode_CB_BC,opcode_CB_BD,opcode_CB_BE,opcode_CB_BF 5052 .word opcode_CB_C0,opcode_CB_C1,opcode_CB_C2,opcode_CB_C3,opcode_CB_C4,opcode_CB_C5,opcode_CB_C6,opcode_CB_C7 5053 .word opcode_CB_C8,opcode_CB_C9,opcode_CB_CA,opcode_CB_CB,opcode_CB_CC,opcode_CB_CD,opcode_CB_CE,opcode_CB_CF 5054 .word opcode_CB_D0,opcode_CB_D1,opcode_CB_D2,opcode_CB_D3,opcode_CB_D4,opcode_CB_D5,opcode_CB_D6,opcode_CB_D7 5055 .word opcode_CB_D8,opcode_CB_D9,opcode_CB_DA,opcode_CB_DB,opcode_CB_DC,opcode_CB_DD,opcode_CB_DE,opcode_CB_DF 5056 .word opcode_CB_E0,opcode_CB_E1,opcode_CB_E2,opcode_CB_E3,opcode_CB_E4,opcode_CB_E5,opcode_CB_E6,opcode_CB_E7 5057 .word opcode_CB_E8,opcode_CB_E9,opcode_CB_EA,opcode_CB_EB,opcode_CB_EC,opcode_CB_ED,opcode_CB_EE,opcode_CB_EF 5058 .word opcode_CB_F0,opcode_CB_F1,opcode_CB_F2,opcode_CB_F3,opcode_CB_F4,opcode_CB_F5,opcode_CB_F6,opcode_CB_F7 5059 .word opcode_CB_F8,opcode_CB_F9,opcode_CB_FA,opcode_CB_FB,opcode_CB_FC,opcode_CB_FD,opcode_CB_FE,opcode_CB_FF 5060 5061;@CALL Z,NN 5062opcode_C_C: 5063 tst z80f,#1<<ZFlag 5064 bne opcode_C_D ;@unconditional CALL 5065 add z80pc,z80pc,#2 5066 fetch 10 5067;@CALL NN 5068opcode_C_D: 5069 ldrb r1,[z80pc],#1 5070 ldrb r2,[z80pc],#1 5071 ldr r0,[cpucontext,#z80pc_base] 5072 sub z80pc,z80pc,r0 5073.if FAST_Z80SP 5074 mov r0,z80pc, lsr #8 5075 strb r0,[z80sp,#-1]! 5076 strb z80pc,[z80sp,#-1]! 5077 orr r0,r1,r2, lsl #8 5078.else 5079 mov r0,z80pc 5080 orr z80pc,r1,r2, lsl #8 5081 sub z80sp,z80sp,#2 5082 mov r1,z80sp 5083 writemem16 5084 mov r0,z80pc 5085.endif 5086 rebasepc 5087 fetch 17 5088;@ADC A,N 5089opcode_C_E: 5090 ldrb r0,[z80pc],#1 5091 opADCb 5092 fetch 7 5093;@RST 8H 5094opcode_C_F: 5095 opRST 0x08 5096 5097;@RET NC 5098opcode_D_0: 5099 tst z80f,#1<<CFlag 5100 beq opcode_C_9 ;@unconditional RET 5101 fetch 5 5102;@POP DE 5103opcode_D_1: 5104 opPOPreg z80de 5105 5106;@JP NC, $+3 5107opcode_D_2 : 5108 tst z80f,#1<<CFlag 5109 beq opcode_C_3 ;@unconditional JP 5110 add z80pc,z80pc,#2 5111 fetch 10 5112;@OUT (N),A 5113opcode_D_3: 5114 ldrb r0,[z80pc],#1 5115 orr r0,r0,z80a,lsr#16 5116 mov r1,z80a, lsr #24 5117 opOUT 5118 fetch 11 5119;@CALL NC,NN 5120opcode_D_4: 5121 tst z80f,#1<<CFlag 5122 beq opcode_C_D ;@unconditional CALL 5123 add z80pc,z80pc,#2 5124 fetch 10 5125;@PUSH DE 5126opcode_D_5: 5127 opPUSHreg z80de 5128 fetch 11 5129;@SUB N 5130opcode_D_6: 5131 ldrb r0,[z80pc],#1 5132 opSUBb 5133 fetch 7 5134 5135;@RST 10H 5136opcode_D_7: 5137 opRST 0x10 5138 5139;@RET C 5140opcode_D_8: 5141 tst z80f,#1<<CFlag 5142 bne opcode_C_9 ;@unconditional RET 5143 fetch 5 5144;@EXX 5145opcode_D_9: 5146 add r1,cpucontext,#z80bc2 5147 ldr r0,[r1] 5148 str z80bc,[r1] 5149 mov z80bc,r0 5150 add r1,cpucontext,#z80de2 5151 ldr r0,[r1] 5152 str z80de,[r1] 5153 mov z80de,r0 5154 add r1,cpucontext,#z80hl2 5155 ldr r0,[r1] 5156 str z80hl,[r1] 5157 mov z80hl,r0 5158 fetch 4 5159;@JP C,$+3 5160opcode_D_A: 5161 tst z80f,#1<<CFlag 5162 bne opcode_C_3 ;@unconditional JP 5163 add z80pc,z80pc,#2 5164 fetch 10 5165;@IN A,(N) 5166opcode_D_B: 5167 ldrb r0,[z80pc],#1 5168 orr r0,r0,z80a,lsr#16 5169 opIN 5170 mov z80a,r0, lsl #24 ;@ r0 = data read 5171 fetch 11 5172;@CALL C,NN 5173opcode_D_C: 5174 tst z80f,#1<<CFlag 5175 bne opcode_C_D ;@unconditional CALL 5176 add z80pc,z80pc,#2 5177 fetch 10 5178 5179;@opcodes_DD 5180opcode_D_D: 5181 add z80xx,cpucontext,#z80ix 5182 b opcode_D_D_F_D 5183opcode_F_D: 5184 add z80xx,cpucontext,#z80iy 5185opcode_D_D_F_D: 5186 ldrb r0,[z80pc],#1 5187 ldr pc,[pc,r0, lsl #2] 5188opcodes_DD: .word 0x00000000 5189 .word opcode_0_0, opcode_0_1, opcode_0_2, opcode_0_3, opcode_0_4, opcode_0_5, opcode_0_6, opcode_0_7 5190 .word opcode_0_8, opcode_DD_09,opcode_0_A, opcode_0_B, opcode_0_C, opcode_0_D, opcode_0_E, opcode_0_F 5191 .word opcode_1_0, opcode_1_1, opcode_1_2, opcode_1_3, opcode_1_4, opcode_1_5, opcode_1_6, opcode_1_7 5192 .word opcode_1_8, opcode_DD_19,opcode_1_A, opcode_1_B, opcode_1_C, opcode_1_D, opcode_1_E, opcode_1_F 5193 .word opcode_2_0, opcode_DD_21,opcode_DD_22,opcode_DD_23,opcode_DD_24,opcode_DD_25,opcode_DD_26,opcode_2_7 5194 .word opcode_2_8, opcode_DD_29,opcode_DD_2A,opcode_DD_2B,opcode_DD_2C,opcode_DD_2D,opcode_DD_2E,opcode_2_F 5195 .word opcode_3_0, opcode_3_1, opcode_3_2, opcode_3_3, opcode_DD_34,opcode_DD_35,opcode_DD_36,opcode_3_7 5196 .word opcode_3_8, opcode_DD_39,opcode_3_A, opcode_3_B, opcode_3_C, opcode_3_D, opcode_3_E, opcode_3_F 5197 .word opcode_4_0, opcode_4_1, opcode_4_2, opcode_4_3, opcode_DD_44,opcode_DD_45,opcode_DD_46,opcode_4_7 5198 .word opcode_4_8, opcode_4_9, opcode_4_A, opcode_4_B, opcode_DD_4C,opcode_DD_4D,opcode_DD_4E,opcode_4_F 5199 .word opcode_5_0, opcode_5_1, opcode_5_2, opcode_5_3, opcode_DD_54,opcode_DD_55,opcode_DD_56,opcode_5_7 5200 .word opcode_5_8, opcode_5_9, opcode_5_A, opcode_5_B, opcode_DD_5C,opcode_DD_5D,opcode_DD_5E,opcode_5_F 5201 .word opcode_DD_60,opcode_DD_61,opcode_DD_62,opcode_DD_63,opcode_DD_64,opcode_DD_65,opcode_DD_66,opcode_DD_67 5202 .word opcode_DD_68,opcode_DD_69,opcode_DD_6A,opcode_DD_6B,opcode_DD_6C,opcode_DD_6D,opcode_DD_6E,opcode_DD_6F 5203 .word opcode_DD_70,opcode_DD_71,opcode_DD_72,opcode_DD_73,opcode_DD_74,opcode_DD_75,opcode_7_6, opcode_DD_77 5204 .word opcode_7_8, opcode_7_9, opcode_7_A, opcode_7_B, opcode_DD_7C,opcode_DD_7D,opcode_DD_7E,opcode_7_F 5205 .word opcode_8_0, opcode_8_1, opcode_8_2, opcode_8_3, opcode_DD_84,opcode_DD_85,opcode_DD_86,opcode_8_7 5206 .word opcode_8_8, opcode_8_9, opcode_8_A, opcode_8_B, opcode_DD_8C,opcode_DD_8D,opcode_DD_8E,opcode_8_F 5207 .word opcode_9_0, opcode_9_1, opcode_9_2, opcode_9_3, opcode_DD_94,opcode_DD_95,opcode_DD_96,opcode_9_7 5208 .word opcode_9_8, opcode_9_9, opcode_9_A, opcode_9_B, opcode_DD_9C,opcode_DD_9D,opcode_DD_9E,opcode_9_F 5209 .word opcode_A_0, opcode_A_1, opcode_A_2, opcode_A_3, opcode_DD_A4,opcode_DD_A5,opcode_DD_A6,opcode_A_7 5210 .word opcode_A_8, opcode_A_9, opcode_A_A, opcode_A_B, opcode_DD_AC,opcode_DD_AD,opcode_DD_AE,opcode_A_F 5211 .word opcode_B_0, opcode_B_1, opcode_B_2, opcode_B_3, opcode_DD_B4,opcode_DD_B5,opcode_DD_B6,opcode_B_7 5212 .word opcode_B_8, opcode_B_9, opcode_B_A, opcode_B_B, opcode_DD_BC,opcode_DD_BD,opcode_DD_BE,opcode_B_F 5213 .word opcode_C_0, opcode_C_1, opcode_C_2, opcode_C_3, opcode_C_4, opcode_C_5, opcode_C_6, opcode_C_7 5214 .word opcode_C_8, opcode_C_9, opcode_C_A, opcode_DD_CB,opcode_C_C, opcode_C_D, opcode_C_E, opcode_C_F 5215 .word opcode_D_0, opcode_D_1, opcode_D_2, opcode_D_3, opcode_D_4, opcode_D_5, opcode_D_6, opcode_D_7 5216 .word opcode_D_8, opcode_D_9, opcode_D_A, opcode_D_B, opcode_D_C, opcode_D_D, opcode_D_E, opcode_D_F 5217 .word opcode_E_0, opcode_DD_E1,opcode_E_2, opcode_DD_E3,opcode_E_4, opcode_DD_E5,opcode_E_6, opcode_E_7 5218 .word opcode_E_8, opcode_DD_E9,opcode_E_A, opcode_E_B, opcode_E_C, opcode_E_D, opcode_E_E, opcode_E_F 5219 .word opcode_F_0, opcode_F_1, opcode_F_2, opcode_F_3, opcode_F_4, opcode_F_5, opcode_F_6, opcode_F_7 5220 .word opcode_F_8, opcode_DD_F9,opcode_F_A, opcode_F_B, opcode_F_C, opcode_F_D, opcode_F_E, opcode_F_F 5221 5222;@SBC A,N 5223opcode_D_E: 5224 ldrb r0,[z80pc],#1 5225 opSBCb 5226 fetch 7 5227;@RST 18H 5228opcode_D_F: 5229 opRST 0x18 5230 5231;@RET PO 5232opcode_E_0: 5233 tst z80f,#1<<VFlag 5234 beq opcode_C_9 ;@unconditional RET 5235 fetch 5 5236;@POP HL 5237opcode_E_1: 5238 opPOPreg z80hl 5239 5240;@JP PO,$+3 5241opcode_E_2: 5242 tst z80f,#1<<VFlag 5243 beq opcode_C_3 ;@unconditional JP 5244 add z80pc,z80pc,#2 5245 fetch 10 5246;@EX (SP),HL 5247opcode_E_3: 5248.if FAST_Z80SP 5249 ldrb r0,[z80sp] 5250 ldrb r1,[z80sp,#1] 5251 orr r0,r0,r1, lsl #8 5252 mov r1,z80hl, lsr #24 5253 strb r1,[z80sp,#1] 5254 mov r1,z80hl, lsr #16 5255 strb r1,[z80sp] 5256 mov z80hl,r0, lsl #16 5257.else 5258 mov r0,z80sp 5259 readmem16 5260 mov r1,r0 5261 mov r0,z80hl,lsr#16 5262 mov z80hl,r1,lsl#16 5263 mov r1,z80sp 5264 writemem16 5265.endif 5266 fetch 19 5267;@CALL PO,NN 5268opcode_E_4: 5269 tst z80f,#1<<VFlag 5270 beq opcode_C_D ;@unconditional CALL 5271 add z80pc,z80pc,#2 5272 fetch 10 5273;@PUSH HL 5274opcode_E_5: 5275 opPUSHreg z80hl 5276 fetch 11 5277;@AND N 5278opcode_E_6: 5279 ldrb r0,[z80pc],#1 5280 opANDb 5281 fetch 7 5282;@RST 20H 5283opcode_E_7: 5284 opRST 0x20 5285 5286;@RET PE 5287opcode_E_8: 5288 tst z80f,#1<<VFlag 5289 bne opcode_C_9 ;@unconditional RET 5290 fetch 5 5291;@JP (HL) 5292opcode_E_9: 5293 mov r0,z80hl, lsr #16 5294 rebasepc 5295 fetch 4 5296;@JP PE,$+3 5297opcode_E_A: 5298 tst z80f,#1<<VFlag 5299 bne opcode_C_3 ;@unconditional JP 5300 add z80pc,z80pc,#2 5301 fetch 10 5302;@EX DE,HL 5303opcode_E_B: 5304 mov r1,z80de 5305 mov z80de,z80hl 5306 mov z80hl,r1 5307 fetch 4 5308;@CALL PE,NN 5309opcode_E_C: 5310 tst z80f,#1<<VFlag 5311 bne opcode_C_D ;@unconditional CALL 5312 add z80pc,z80pc,#2 5313 fetch 10 5314 5315;@This should be caught at start 5316opcode_E_D: 5317 ldrb r1,[z80pc],#1 5318 ldr pc,[pc,r1, lsl #2] 5319opcodes_ED: .word 0x00000000 5320 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5321 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5322 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5323 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5324 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5325 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5326 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5327 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5328 .word opcode_ED_40,opcode_ED_41,opcode_ED_42,opcode_ED_43,opcode_ED_44,opcode_ED_45,opcode_ED_46,opcode_ED_47 5329 .word opcode_ED_48,opcode_ED_49,opcode_ED_4A,opcode_ED_4B,opcode_ED_44,opcode_ED_4D,opcode_ED_46,opcode_ED_4F 5330 .word opcode_ED_50,opcode_ED_51,opcode_ED_52,opcode_ED_53,opcode_ED_44,opcode_ED_45,opcode_ED_56,opcode_ED_57 5331 .word opcode_ED_58,opcode_ED_59,opcode_ED_5A,opcode_ED_5B,opcode_ED_44,opcode_ED_45,opcode_ED_5E,opcode_ED_5F 5332 .word opcode_ED_60,opcode_ED_61,opcode_ED_62,opcode_ED_63,opcode_ED_44,opcode_ED_45,opcode_ED_46,opcode_ED_67 5333 .word opcode_ED_68,opcode_ED_69,opcode_ED_6A,opcode_ED_6B,opcode_ED_44,opcode_ED_45,opcode_ED_46,opcode_ED_6F 5334 .word opcode_ED_70,opcode_ED_71,opcode_ED_72,opcode_ED_73,opcode_ED_44,opcode_ED_45,opcode_ED_56,opcode_ED_NF 5335 .word opcode_ED_78,opcode_ED_79,opcode_ED_7A,opcode_ED_7B,opcode_ED_44,opcode_ED_45,opcode_ED_5E,opcode_ED_NF 5336 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5337 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5338 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5339 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5340 .word opcode_ED_A0,opcode_ED_A1,opcode_ED_A2,opcode_ED_A3,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5341 .word opcode_ED_A8,opcode_ED_A9,opcode_ED_AA,opcode_ED_AB,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5342 .word opcode_ED_B0,opcode_ED_B1,opcode_ED_B2,opcode_ED_B3,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5343 .word opcode_ED_B8,opcode_ED_B9,opcode_ED_BA,opcode_ED_BB,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5344 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5345 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5346 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5347 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5348 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5349 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5350 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5351 .word opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF,opcode_ED_NF 5352 5353;@XOR N 5354opcode_E_E: 5355 ldrb r0,[z80pc],#1 5356 opXORb 5357 fetch 7 5358;@RST 28H 5359opcode_E_F: 5360 opRST 0x28 5361 5362;@RET P 5363opcode_F_0: 5364 tst z80f,#1<<SFlag 5365 beq opcode_C_9 ;@unconditional RET 5366 fetch 5 5367;@POP AF 5368opcode_F_1: 5369.if FAST_Z80SP 5370 ldrb z80f,[z80sp],#1 5371 sub r0,opcodes,#0x200 5372 ldrb z80f,[r0,z80f] 5373 ldrb z80a,[z80sp],#1 5374 mov z80a,z80a, lsl #24 5375.else 5376 mov r0,z80sp 5377 readmem16 5378 add z80sp,z80sp,#2 5379 and z80a,r0,#0xFF00 5380 mov z80a,z80a,lsl#16 5381 and z80f,r0,#0xFF 5382 sub r0,opcodes,#0x200 5383 ldrb z80f,[r0,z80f] 5384.endif 5385 fetch 10 5386;@JP P,$+3 5387opcode_F_2: 5388 tst z80f,#1<<SFlag 5389 beq opcode_C_3 ;@unconditional JP 5390 add z80pc,z80pc,#2 5391 fetch 10 5392;@DI 5393opcode_F_3: 5394 ldrb r1,[cpucontext,#z80if] 5395 bic r1,r1,#(Z80_IF1)|(Z80_IF2) 5396 strb r1,[cpucontext,#z80if] 5397 fetch 4 5398;@CALL P,NN 5399opcode_F_4: 5400 tst z80f,#1<<SFlag 5401 beq opcode_C_D ;@unconditional CALL 5402 add z80pc,z80pc,#2 5403 fetch 10 5404;@PUSH AF 5405opcode_F_5: 5406.if FAST_Z80SP 5407 mov r1,z80a, lsr #24 5408 strb r1,[z80sp,#-1]! 5409 sub r0,opcodes,#0x300 5410 ldrb r1,[r0,z80f] 5411 strb r1,[z80sp,#-1]! 5412.else 5413 sub r0,opcodes,#0x300 5414 ldrb r0,[r0,z80f] 5415 orr r0,r0,z80a,lsr#16 5416 sub z80sp,z80sp,#2 5417 mov r1,z80sp 5418 writemem16 5419.endif 5420 fetch 11 5421;@OR N 5422opcode_F_6: 5423 ldrb r0,[z80pc],#1 5424 opORb 5425 fetch 7 5426;@RST 30H 5427opcode_F_7: 5428 opRST 0x30 5429 5430;@RET M 5431opcode_F_8: 5432 tst z80f,#1<<SFlag 5433 bne opcode_C_9 ;@unconditional RET 5434 fetch 5 5435;@LD SP,HL 5436opcode_F_9: 5437.if FAST_Z80SP 5438 mov r0,z80hl, lsr #16 5439 rebasesp 5440 ;@mov z80sp,r0 5441.else 5442 mov z80sp,z80hl, lsr #16 5443.endif 5444 fetch 4 5445;@JP M,$+3 5446opcode_F_A: 5447 tst z80f,#1<<SFlag 5448 bne opcode_C_3 ;@unconditional JP 5449 add z80pc,z80pc,#2 5450 fetch 10 5451MAIN_opcodes_POINTER: .word MAIN_opcodes 5452EI_DUMMY_opcodes_POINTER: .word EI_DUMMY_opcodes 5453;@EI 5454opcode_F_B: 5455 ldrb r1,[cpucontext,#z80if] 5456 tst r1,#Z80_IF1 5457 bne ei_return_exit 5458 5459 orr r1,r1,#(Z80_IF1)|(Z80_IF2) 5460 strb r1,[cpucontext,#z80if] 5461 5462 mov r2,opcodes 5463 ldr opcodes,EI_DUMMY_opcodes_POINTER 5464 ldr pc,[r2,r0, lsl #2] 5465 5466ei_return: 5467 ;@point that program returns from EI to check interupts 5468 ;@an interupt can not be taken directly after a EI opcode 5469 ;@ reset z80pc and opcode pointer 5470 sub z80pc,z80pc,#1 5471 ldr opcodes,MAIN_opcodes_POINTER 5472 ;@ check ints 5473 bl DoInterrupt 5474 ;@ continue 5475ei_return_exit: 5476 fetch 4 5477 5478;@CALL M,NN 5479opcode_F_C: 5480 tst z80f,#1<<SFlag 5481 bne opcode_C_D ;@unconditional CALL 5482 add z80pc,z80pc,#2 5483 fetch 10 5484 5485;@SHOULD BE CAUGHT AT START - FD SECTION 5486 5487;@CP N 5488opcode_F_E: 5489 ldrb r0,[z80pc],#1 5490 opCPb 5491 fetch 7 5492;@RST 38H 5493opcode_F_F: 5494 opRST 0x38 5495 5496 5497;@################################## 5498;@################################## 5499;@### opcodes CB ######################### 5500;@################################## 5501;@################################## 5502 5503 5504;@RLC B 5505opcode_CB_00: 5506 opRLCH z80bc 5507;@RLC C 5508opcode_CB_01: 5509 opRLCL z80bc 5510;@RLC D 5511opcode_CB_02: 5512 opRLCH z80de 5513;@RLC E 5514opcode_CB_03: 5515 opRLCL z80de 5516;@RLC H 5517opcode_CB_04: 5518 opRLCH z80hl 5519;@RLC L 5520opcode_CB_05: 5521 opRLCL z80hl 5522;@RLC (HL) 5523opcode_CB_06: 5524 readmem8HL 5525 opRLCb 5526 writemem8HL 5527 fetch 15 5528;@RLC A 5529opcode_CB_07: 5530 opRLCA 5531 5532;@RRC B 5533opcode_CB_08: 5534 opRRCH z80bc 5535;@RRC C 5536opcode_CB_09: 5537 opRRCL z80bc 5538;@RRC D 5539opcode_CB_0A: 5540 opRRCH z80de 5541;@RRC E 5542opcode_CB_0B: 5543 opRRCL z80de 5544;@RRC H 5545opcode_CB_0C: 5546 opRRCH z80hl 5547;@RRC L 5548opcode_CB_0D: 5549 opRRCL z80hl 5550;@RRC (HL) 5551opcode_CB_0E : 5552 readmem8HL 5553 opRRCb 5554 writemem8HL 5555 fetch 15 5556;@RRC A 5557opcode_CB_0F: 5558 opRRCA 5559 5560;@RL B 5561opcode_CB_10: 5562 opRLH z80bc 5563;@RL C 5564opcode_CB_11: 5565 opRLL z80bc 5566;@RL D 5567opcode_CB_12: 5568 opRLH z80de 5569;@RL E 5570opcode_CB_13: 5571 opRLL z80de 5572;@RL H 5573opcode_CB_14: 5574 opRLH z80hl 5575;@RL L 5576opcode_CB_15: 5577 opRLL z80hl 5578;@RL (HL) 5579opcode_CB_16: 5580 readmem8HL 5581 opRLb 5582 writemem8HL 5583 fetch 15 5584;@RL A 5585opcode_CB_17: 5586 opRLA 5587 5588;@RR B 5589opcode_CB_18: 5590 opRRH z80bc 5591;@RR C 5592opcode_CB_19: 5593 opRRL z80bc 5594;@RR D 5595opcode_CB_1A: 5596 opRRH z80de 5597;@RR E 5598opcode_CB_1B: 5599 opRRL z80de 5600;@RR H 5601opcode_CB_1C: 5602 opRRH z80hl 5603;@RR L 5604opcode_CB_1D: 5605 opRRL z80hl 5606;@RR (HL) 5607opcode_CB_1E: 5608 readmem8HL 5609 opRRb 5610 writemem8HL 5611 fetch 15 5612;@RR A 5613opcode_CB_1F: 5614 opRRA 5615 5616;@SLA B 5617opcode_CB_20: 5618 opSLAH z80bc 5619;@SLA C 5620opcode_CB_21: 5621 opSLAL z80bc 5622;@SLA D 5623opcode_CB_22: 5624 opSLAH z80de 5625;@SLA E 5626opcode_CB_23: 5627 opSLAL z80de 5628;@SLA H 5629opcode_CB_24: 5630 opSLAH z80hl 5631;@SLA L 5632opcode_CB_25: 5633 opSLAL z80hl 5634;@SLA (HL) 5635opcode_CB_26: 5636 readmem8HL 5637 opSLAb 5638 writemem8HL 5639 fetch 15 5640;@SLA A 5641opcode_CB_27: 5642 opSLAA 5643 5644;@SRA B 5645opcode_CB_28: 5646 opSRAH z80bc 5647;@SRA C 5648opcode_CB_29: 5649 opSRAL z80bc 5650;@SRA D 5651opcode_CB_2A: 5652 opSRAH z80de 5653;@SRA E 5654opcode_CB_2B: 5655 opSRAL z80de 5656;@SRA H 5657opcode_CB_2C: 5658 opSRAH z80hl 5659;@SRA L 5660opcode_CB_2D: 5661 opSRAL z80hl 5662;@SRA (HL) 5663opcode_CB_2E: 5664 readmem8HL 5665 opSRAb 5666 writemem8HL 5667 fetch 15 5668;@SRA A 5669opcode_CB_2F: 5670 opSRAA 5671 5672;@SLL B 5673opcode_CB_30: 5674 opSLLH z80bc 5675;@SLL C 5676opcode_CB_31: 5677 opSLLL z80bc 5678;@SLL D 5679opcode_CB_32: 5680 opSLLH z80de 5681;@SLL E 5682opcode_CB_33: 5683 opSLLL z80de 5684;@SLL H 5685opcode_CB_34: 5686 opSLLH z80hl 5687;@SLL L 5688opcode_CB_35: 5689 opSLLL z80hl 5690;@SLL (HL) 5691opcode_CB_36: 5692 readmem8HL 5693 opSLLb 5694 writemem8HL 5695 fetch 15 5696;@SLL A 5697opcode_CB_37: 5698 opSLLA 5699 5700;@SRL B 5701opcode_CB_38: 5702 opSRLH z80bc 5703;@SRL C 5704opcode_CB_39: 5705 opSRLL z80bc 5706;@SRL D 5707opcode_CB_3A: 5708 opSRLH z80de 5709;@SRL E 5710opcode_CB_3B: 5711 opSRLL z80de 5712;@SRL H 5713opcode_CB_3C: 5714 opSRLH z80hl 5715;@SRL L 5716opcode_CB_3D: 5717 opSRLL z80hl 5718;@SRL (HL) 5719opcode_CB_3E: 5720 readmem8HL 5721 opSRLb 5722 writemem8HL 5723 fetch 15 5724;@SRL A 5725opcode_CB_3F: 5726 opSRLA 5727 5728 5729;@BIT 0,B 5730opcode_CB_40: 5731 opBITH z80bc 0 5732;@BIT 0,C 5733opcode_CB_41: 5734 opBITL z80bc 0 5735;@BIT 0,D 5736opcode_CB_42: 5737 opBITH z80de 0 5738;@BIT 0,E 5739opcode_CB_43: 5740 opBITL z80de 0 5741;@BIT 0,H 5742opcode_CB_44: 5743 opBITH z80hl 0 5744;@BIT 0,L 5745opcode_CB_45: 5746 opBITL z80hl 0 5747;@BIT 0,(HL) 5748opcode_CB_46: 5749 readmem8HL 5750 opBITb 0 5751 fetch 12 5752;@BIT 0,A 5753opcode_CB_47: 5754 opBITH z80a 0 5755 5756;@BIT 1,B 5757opcode_CB_48: 5758 opBITH z80bc 1 5759;@BIT 1,C 5760opcode_CB_49: 5761 opBITL z80bc 1 5762;@BIT 1,D 5763opcode_CB_4A: 5764 opBITH z80de 1 5765;@BIT 1,E 5766opcode_CB_4B: 5767 opBITL z80de 1 5768;@BIT 1,H 5769opcode_CB_4C: 5770 opBITH z80hl 1 5771;@BIT 1,L 5772opcode_CB_4D: 5773 opBITL z80hl 1 5774;@BIT 1,(HL) 5775opcode_CB_4E: 5776 readmem8HL 5777 opBITb 1 5778 fetch 12 5779;@BIT 1,A 5780opcode_CB_4F: 5781 opBITH z80a 1 5782 5783;@BIT 2,B 5784opcode_CB_50: 5785 opBITH z80bc 2 5786;@BIT 2,C 5787opcode_CB_51: 5788 opBITL z80bc 2 5789;@BIT 2,D 5790opcode_CB_52: 5791 opBITH z80de 2 5792;@BIT 2,E 5793opcode_CB_53: 5794 opBITL z80de 2 5795;@BIT 2,H 5796opcode_CB_54: 5797 opBITH z80hl 2 5798;@BIT 2,L 5799opcode_CB_55: 5800 opBITL z80hl 2 5801;@BIT 2,(HL) 5802opcode_CB_56: 5803 readmem8HL 5804 opBITb 2 5805 fetch 12 5806;@BIT 2,A 5807opcode_CB_57: 5808 opBITH z80a 2 5809 5810;@BIT 3,B 5811opcode_CB_58: 5812 opBITH z80bc 3 5813;@BIT 3,C 5814opcode_CB_59: 5815 opBITL z80bc 3 5816;@BIT 3,D 5817opcode_CB_5A: 5818 opBITH z80de 3 5819;@BIT 3,E 5820opcode_CB_5B: 5821 opBITL z80de 3 5822;@BIT 3,H 5823opcode_CB_5C: 5824 opBITH z80hl 3 5825;@BIT 3,L 5826opcode_CB_5D: 5827 opBITL z80hl 3 5828;@BIT 3,(HL) 5829opcode_CB_5E: 5830 readmem8HL 5831 opBITb 3 5832 fetch 12 5833;@BIT 3,A 5834opcode_CB_5F: 5835 opBITH z80a 3 5836 5837;@BIT 4,B 5838opcode_CB_60: 5839 opBITH z80bc 4 5840;@BIT 4,C 5841opcode_CB_61: 5842 opBITL z80bc 4 5843;@BIT 4,D 5844opcode_CB_62: 5845 opBITH z80de 4 5846;@BIT 4,E 5847opcode_CB_63: 5848 opBITL z80de 4 5849;@BIT 4,H 5850opcode_CB_64: 5851 opBITH z80hl 4 5852;@BIT 4,L 5853opcode_CB_65: 5854 opBITL z80hl 4 5855;@BIT 4,(HL) 5856opcode_CB_66: 5857 readmem8HL 5858 opBITb 4 5859 fetch 12 5860;@BIT 4,A 5861opcode_CB_67: 5862 opBITH z80a 4 5863 5864;@BIT 5,B 5865opcode_CB_68: 5866 opBITH z80bc 5 5867;@BIT 5,C 5868opcode_CB_69: 5869 opBITL z80bc 5 5870;@BIT 5,D 5871opcode_CB_6A: 5872 opBITH z80de 5 5873;@BIT 5,E 5874opcode_CB_6B: 5875 opBITL z80de 5 5876;@BIT 5,H 5877opcode_CB_6C: 5878 opBITH z80hl 5 5879;@BIT 5,L 5880opcode_CB_6D: 5881 opBITL z80hl 5 5882;@BIT 5,(HL) 5883opcode_CB_6E: 5884 readmem8HL 5885 opBITb 5 5886 fetch 12 5887;@BIT 5,A 5888opcode_CB_6F: 5889 opBITH z80a 5 5890 5891;@BIT 6,B 5892opcode_CB_70: 5893 opBITH z80bc 6 5894;@BIT 6,C 5895opcode_CB_71: 5896 opBITL z80bc 6 5897;@BIT 6,D 5898opcode_CB_72: 5899 opBITH z80de 6 5900;@BIT 6,E 5901opcode_CB_73: 5902 opBITL z80de 6 5903;@BIT 6,H 5904opcode_CB_74: 5905 opBITH z80hl 6 5906;@BIT 6,L 5907opcode_CB_75: 5908 opBITL z80hl 6 5909;@BIT 6,(HL) 5910opcode_CB_76: 5911 readmem8HL 5912 opBITb 6 5913 fetch 12 5914;@BIT 6,A 5915opcode_CB_77: 5916 opBITH z80a 6 5917 5918;@BIT 7,B 5919opcode_CB_78: 5920 opBIT7H z80bc 5921;@BIT 7,C 5922opcode_CB_79: 5923 opBIT7L z80bc 5924;@BIT 7,D 5925opcode_CB_7A: 5926 opBIT7H z80de 5927;@BIT 7,E 5928opcode_CB_7B: 5929 opBIT7L z80de 5930;@BIT 7,H 5931opcode_CB_7C: 5932 opBIT7H z80hl 5933;@BIT 7,L 5934opcode_CB_7D: 5935 opBIT7L z80hl 5936;@BIT 7,(HL) 5937opcode_CB_7E: 5938 readmem8HL 5939 opBIT7b 5940 fetch 12 5941;@BIT 7,A 5942opcode_CB_7F: 5943 opBIT7H z80a 5944 5945;@RES 0,B 5946opcode_CB_80: 5947 bic z80bc,z80bc,#1<<24 5948 fetch 8 5949;@RES 0,C 5950opcode_CB_81: 5951 bic z80bc,z80bc,#1<<16 5952 fetch 8 5953;@RES 0,D 5954opcode_CB_82: 5955 bic z80de,z80de,#1<<24 5956 fetch 8 5957;@RES 0,E 5958opcode_CB_83: 5959 bic z80de,z80de,#1<<16 5960 fetch 8 5961;@RES 0,H 5962opcode_CB_84: 5963 bic z80hl,z80hl,#1<<24 5964 fetch 8 5965;@RES 0,L 5966opcode_CB_85: 5967 bic z80hl,z80hl,#1<<16 5968 fetch 8 5969;@RES 0,(HL) 5970opcode_CB_86: 5971 opRESmemHL 0 5972;@RES 0,A 5973opcode_CB_87: 5974 bic z80a,z80a,#1<<24 5975 fetch 8 5976 5977;@RES 1,B 5978opcode_CB_88: 5979 bic z80bc,z80bc,#1<<25 5980 fetch 8 5981;@RES 1,C 5982opcode_CB_89: 5983 bic z80bc,z80bc,#1<<17 5984 fetch 8 5985;@RES 1,D 5986opcode_CB_8A: 5987 bic z80de,z80de,#1<<25 5988 fetch 8 5989;@RES 1,E 5990opcode_CB_8B: 5991 bic z80de,z80de,#1<<17 5992 fetch 8 5993;@RES 1,H 5994opcode_CB_8C: 5995 bic z80hl,z80hl,#1<<25 5996 fetch 8 5997;@RES 1,L 5998opcode_CB_8D: 5999 bic z80hl,z80hl,#1<<17 6000 fetch 8 6001;@RES 1,(HL) 6002opcode_CB_8E: 6003 opRESmemHL 1 6004;@RES 1,A 6005opcode_CB_8F: 6006 bic z80a,z80a,#1<<25 6007 fetch 8 6008 6009;@RES 2,B 6010opcode_CB_90: 6011 bic z80bc,z80bc,#1<<26 6012 fetch 8 6013;@RES 2,C 6014opcode_CB_91: 6015 bic z80bc,z80bc,#1<<18 6016 fetch 8 6017;@RES 2,D 6018opcode_CB_92: 6019 bic z80de,z80de,#1<<26 6020 fetch 8 6021;@RES 2,E 6022opcode_CB_93: 6023 bic z80de,z80de,#1<<18 6024 fetch 8 6025;@RES 2,H 6026opcode_CB_94: 6027 bic z80hl,z80hl,#1<<26 6028 fetch 8 6029;@RES 2,L 6030opcode_CB_95: 6031 bic z80hl,z80hl,#1<<18 6032 fetch 8 6033;@RES 2,(HL) 6034opcode_CB_96: 6035 opRESmemHL 2 6036;@RES 2,A 6037opcode_CB_97: 6038 bic z80a,z80a,#1<<26 6039 fetch 8 6040 6041;@RES 3,B 6042opcode_CB_98: 6043 bic z80bc,z80bc,#1<<27 6044 fetch 8 6045;@RES 3,C 6046opcode_CB_99: 6047 bic z80bc,z80bc,#1<<19 6048 fetch 8 6049;@RES 3,D 6050opcode_CB_9A: 6051 bic z80de,z80de,#1<<27 6052 fetch 8 6053;@RES 3,E 6054opcode_CB_9B: 6055 bic z80de,z80de,#1<<19 6056 fetch 8 6057;@RES 3,H 6058opcode_CB_9C: 6059 bic z80hl,z80hl,#1<<27 6060 fetch 8 6061;@RES 3,L 6062opcode_CB_9D: 6063 bic z80hl,z80hl,#1<<19 6064 fetch 8 6065;@RES 3,(HL) 6066opcode_CB_9E: 6067 opRESmemHL 3 6068;@RES 3,A 6069opcode_CB_9F: 6070 bic z80a,z80a,#1<<27 6071 fetch 8 6072 6073;@RES 4,B 6074opcode_CB_A0: 6075 bic z80bc,z80bc,#1<<28 6076 fetch 8 6077;@RES 4,C 6078opcode_CB_A1: 6079 bic z80bc,z80bc,#1<<20 6080 fetch 8 6081;@RES 4,D 6082opcode_CB_A2: 6083 bic z80de,z80de,#1<<28 6084 fetch 8 6085;@RES 4,E 6086opcode_CB_A3: 6087 bic z80de,z80de,#1<<20 6088 fetch 8 6089;@RES 4,H 6090opcode_CB_A4: 6091 bic z80hl,z80hl,#1<<28 6092 fetch 8 6093;@RES 4,L 6094opcode_CB_A5: 6095 bic z80hl,z80hl,#1<<20 6096 fetch 8 6097;@RES 4,(HL) 6098opcode_CB_A6: 6099 opRESmemHL 4 6100;@RES 4,A 6101opcode_CB_A7: 6102 bic z80a,z80a,#1<<28 6103 fetch 8 6104 6105;@RES 5,B 6106opcode_CB_A8: 6107 bic z80bc,z80bc,#1<<29 6108 fetch 8 6109;@RES 5,C 6110opcode_CB_A9: 6111 bic z80bc,z80bc,#1<<21 6112 fetch 8 6113;@RES 5,D 6114opcode_CB_AA: 6115 bic z80de,z80de,#1<<29 6116 fetch 8 6117;@RES 5,E 6118opcode_CB_AB: 6119 bic z80de,z80de,#1<<21 6120 fetch 8 6121;@RES 5,H 6122opcode_CB_AC: 6123 bic z80hl,z80hl,#1<<29 6124 fetch 8 6125;@RES 5,L 6126opcode_CB_AD: 6127 bic z80hl,z80hl,#1<<21 6128 fetch 8 6129;@RES 5,(HL) 6130opcode_CB_AE: 6131 opRESmemHL 5 6132;@RES 5,A 6133opcode_CB_AF: 6134 bic z80a,z80a,#1<<29 6135 fetch 8 6136 6137;@RES 6,B 6138opcode_CB_B0: 6139 bic z80bc,z80bc,#1<<30 6140 fetch 8 6141;@RES 6,C 6142opcode_CB_B1: 6143 bic z80bc,z80bc,#1<<22 6144 fetch 8 6145;@RES 6,D 6146opcode_CB_B2: 6147 bic z80de,z80de,#1<<30 6148 fetch 8 6149;@RES 6,E 6150opcode_CB_B3: 6151 bic z80de,z80de,#1<<22 6152 fetch 8 6153;@RES 6,H 6154opcode_CB_B4: 6155 bic z80hl,z80hl,#1<<30 6156 fetch 8 6157;@RES 6,L 6158opcode_CB_B5: 6159 bic z80hl,z80hl,#1<<22 6160 fetch 8 6161;@RES 6,(HL) 6162opcode_CB_B6: 6163 opRESmemHL 6 6164;@RES 6,A 6165opcode_CB_B7: 6166 bic z80a,z80a,#1<<30 6167 fetch 8 6168 6169;@RES 7,B 6170opcode_CB_B8: 6171 bic z80bc,z80bc,#1<<31 6172 fetch 8 6173;@RES 7,C 6174opcode_CB_B9: 6175 bic z80bc,z80bc,#1<<23 6176 fetch 8 6177;@RES 7,D 6178opcode_CB_BA: 6179 bic z80de,z80de,#1<<31 6180 fetch 8 6181;@RES 7,E 6182opcode_CB_BB: 6183 bic z80de,z80de,#1<<23 6184 fetch 8 6185;@RES 7,H 6186opcode_CB_BC: 6187 bic z80hl,z80hl,#1<<31 6188 fetch 8 6189;@RES 7,L 6190opcode_CB_BD: 6191 bic z80hl,z80hl,#1<<23 6192 fetch 8 6193;@RES 7,(HL) 6194opcode_CB_BE: 6195 opRESmemHL 7 6196;@RES 7,A 6197opcode_CB_BF: 6198 bic z80a,z80a,#1<<31 6199 fetch 8 6200 6201;@SET 0,B 6202opcode_CB_C0: 6203 orr z80bc,z80bc,#1<<24 6204 fetch 8 6205;@SET 0,C 6206opcode_CB_C1: 6207 orr z80bc,z80bc,#1<<16 6208 fetch 8 6209;@SET 0,D 6210opcode_CB_C2: 6211 orr z80de,z80de,#1<<24 6212 fetch 8 6213;@SET 0,E 6214opcode_CB_C3: 6215 orr z80de,z80de,#1<<16 6216 fetch 8 6217;@SET 0,H 6218opcode_CB_C4: 6219 orr z80hl,z80hl,#1<<24 6220 fetch 8 6221;@SET 0,L 6222opcode_CB_C5: 6223 orr z80hl,z80hl,#1<<16 6224 fetch 8 6225;@SET 0,(HL) 6226opcode_CB_C6: 6227 opSETmemHL 0 6228;@SET 0,A 6229opcode_CB_C7: 6230 orr z80a,z80a,#1<<24 6231 fetch 8 6232 6233;@SET 1,B 6234opcode_CB_C8: 6235 orr z80bc,z80bc,#1<<25 6236 fetch 8 6237;@SET 1,C 6238opcode_CB_C9: 6239 orr z80bc,z80bc,#1<<17 6240 fetch 8 6241;@SET 1,D 6242opcode_CB_CA: 6243 orr z80de,z80de,#1<<25 6244 fetch 8 6245;@SET 1,E 6246opcode_CB_CB: 6247 orr z80de,z80de,#1<<17 6248 fetch 8 6249;@SET 1,H 6250opcode_CB_CC: 6251 orr z80hl,z80hl,#1<<25 6252 fetch 8 6253;@SET 1,L 6254opcode_CB_CD: 6255 orr z80hl,z80hl,#1<<17 6256 fetch 8 6257;@SET 1,(HL) 6258opcode_CB_CE: 6259 opSETmemHL 1 6260;@SET 1,A 6261opcode_CB_CF: 6262 orr z80a,z80a,#1<<25 6263 fetch 8 6264 6265;@SET 2,B 6266opcode_CB_D0: 6267 orr z80bc,z80bc,#1<<26 6268 fetch 8 6269;@SET 2,C 6270opcode_CB_D1: 6271 orr z80bc,z80bc,#1<<18 6272 fetch 8 6273;@SET 2,D 6274opcode_CB_D2: 6275 orr z80de,z80de,#1<<26 6276 fetch 8 6277;@SET 2,E 6278opcode_CB_D3: 6279 orr z80de,z80de,#1<<18 6280 fetch 8 6281;@SET 2,H 6282opcode_CB_D4: 6283 orr z80hl,z80hl,#1<<26 6284 fetch 8 6285;@SET 2,L 6286opcode_CB_D5: 6287 orr z80hl,z80hl,#1<<18 6288 fetch 8 6289;@SET 2,(HL) 6290opcode_CB_D6: 6291 opSETmemHL 2 6292;@SET 2,A 6293opcode_CB_D7: 6294 orr z80a,z80a,#1<<26 6295 fetch 8 6296 6297;@SET 3,B 6298opcode_CB_D8: 6299 orr z80bc,z80bc,#1<<27 6300 fetch 8 6301;@SET 3,C 6302opcode_CB_D9: 6303 orr z80bc,z80bc,#1<<19 6304 fetch 8 6305;@SET 3,D 6306opcode_CB_DA: 6307 orr z80de,z80de,#1<<27 6308 fetch 8 6309;@SET 3,E 6310opcode_CB_DB: 6311 orr z80de,z80de,#1<<19 6312 fetch 8 6313;@SET 3,H 6314opcode_CB_DC: 6315 orr z80hl,z80hl,#1<<27 6316 fetch 8 6317;@SET 3,L 6318opcode_CB_DD: 6319 orr z80hl,z80hl,#1<<19 6320 fetch 8 6321;@SET 3,(HL) 6322opcode_CB_DE: 6323 opSETmemHL 3 6324;@SET 3,A 6325opcode_CB_DF: 6326 orr z80a,z80a,#1<<27 6327 fetch 8 6328 6329;@SET 4,B 6330opcode_CB_E0: 6331 orr z80bc,z80bc,#1<<28 6332 fetch 8 6333;@SET 4,C 6334opcode_CB_E1: 6335 orr z80bc,z80bc,#1<<20 6336 fetch 8 6337;@SET 4,D 6338opcode_CB_E2: 6339 orr z80de,z80de,#1<<28 6340 fetch 8 6341;@SET 4,E 6342opcode_CB_E3: 6343 orr z80de,z80de,#1<<20 6344 fetch 8 6345;@SET 4,H 6346opcode_CB_E4: 6347 orr z80hl,z80hl,#1<<28 6348 fetch 8 6349;@SET 4,L 6350opcode_CB_E5: 6351 orr z80hl,z80hl,#1<<20 6352 fetch 8 6353;@SET 4,(HL) 6354opcode_CB_E6: 6355 opSETmemHL 4 6356;@SET 4,A 6357opcode_CB_E7: 6358 orr z80a,z80a,#1<<28 6359 fetch 8 6360 6361;@SET 5,B 6362opcode_CB_E8: 6363 orr z80bc,z80bc,#1<<29 6364 fetch 8 6365;@SET 5,C 6366opcode_CB_E9: 6367 orr z80bc,z80bc,#1<<21 6368 fetch 8 6369;@SET 5,D 6370opcode_CB_EA: 6371 orr z80de,z80de,#1<<29 6372 fetch 8 6373;@SET 5,E 6374opcode_CB_EB: 6375 orr z80de,z80de,#1<<21 6376 fetch 8 6377;@SET 5,H 6378opcode_CB_EC: 6379 orr z80hl,z80hl,#1<<29 6380 fetch 8 6381;@SET 5,L 6382opcode_CB_ED: 6383 orr z80hl,z80hl,#1<<21 6384 fetch 8 6385;@SET 5,(HL) 6386opcode_CB_EE: 6387 opSETmemHL 5 6388;@SET 5,A 6389opcode_CB_EF: 6390 orr z80a,z80a,#1<<29 6391 fetch 8 6392 6393;@SET 6,B 6394opcode_CB_F0: 6395 orr z80bc,z80bc,#1<<30 6396 fetch 8 6397;@SET 6,C 6398opcode_CB_F1: 6399 orr z80bc,z80bc,#1<<22 6400 fetch 8 6401;@SET 6,D 6402opcode_CB_F2: 6403 orr z80de,z80de,#1<<30 6404 fetch 8 6405;@SET 6,E 6406opcode_CB_F3: 6407 orr z80de,z80de,#1<<22 6408 fetch 8 6409;@SET 6,H 6410opcode_CB_F4: 6411 orr z80hl,z80hl,#1<<30 6412 fetch 8 6413;@SET 6,L 6414opcode_CB_F5: 6415 orr z80hl,z80hl,#1<<22 6416 fetch 8 6417;@SET 6,(HL) 6418opcode_CB_F6: 6419 opSETmemHL 6 6420;@SET 6,A 6421opcode_CB_F7: 6422 orr z80a,z80a,#1<<30 6423 fetch 8 6424 6425;@SET 7,B 6426opcode_CB_F8: 6427 orr z80bc,z80bc,#1<<31 6428 fetch 8 6429;@SET 7,C 6430opcode_CB_F9: 6431 orr z80bc,z80bc,#1<<23 6432 fetch 8 6433;@SET 7,D 6434opcode_CB_FA: 6435 orr z80de,z80de,#1<<31 6436 fetch 8 6437;@SET 7,E 6438opcode_CB_FB: 6439 orr z80de,z80de,#1<<23 6440 fetch 8 6441;@SET 7,H 6442opcode_CB_FC: 6443 orr z80hl,z80hl,#1<<31 6444 fetch 8 6445;@SET 7,L 6446opcode_CB_FD: 6447 orr z80hl,z80hl,#1<<23 6448 fetch 8 6449;@SET 7,(HL) 6450opcode_CB_FE: 6451 opSETmemHL 7 6452;@SET 7,A 6453opcode_CB_FF: 6454 orr z80a,z80a,#1<<31 6455 fetch 8 6456 6457 6458 6459;@################################## 6460;@################################## 6461;@### opcodes DD ######################### 6462;@################################## 6463;@################################## 6464;@Because the DD opcodes are not a complete range from 00-FF I have 6465;@created this sub routine that will catch any undocumented ops 6466;@halt the emulator and mov the current instruction to r0 6467;@at a later stage I may change to display a text message on the screen 6468opcode_DD_NF: 6469 eatcycles 4 6470 ldr pc,[opcodes,r0, lsl #2] 6471;@ mov r2,#0x10*4 6472;@ cmp r2,z80xx 6473;@ bne opcode_FD_NF 6474;@ mov r0,#0xDD00 6475;@ orr r0,r0,r1 6476;@ b end_loop 6477;@opcode_FD_NF: 6478;@ mov r0,#0xFD00 6479;@ orr r0,r0,r1 6480;@ b end_loop 6481opcode_DD_NF2: 6482 fetch 15 6483;@ notaz: we don't want to deadlock here 6484;@ mov r0,#0xDD0000 6485;@ orr r0,r0,#0xCB00 6486;@ orr r0,r0,r1 6487;@ b end_loop 6488 6489;@ADD IX,BC 6490opcode_DD_09: 6491 ldr r0,[z80xx] 6492 opADD16 r0 z80bc 6493 str r0,[z80xx] 6494 fetch 15 6495;@ADD IX,DE 6496opcode_DD_19: 6497 ldr r0,[z80xx] 6498 opADD16 r0 z80de 6499 str r0,[z80xx] 6500 fetch 15 6501;@LD IX,NN 6502opcode_DD_21: 6503 ldrb r0,[z80pc],#1 6504 ldrb r1,[z80pc],#1 6505 orr r0,r0,r1, lsl #8 6506 strh r0,[z80xx,#2] 6507 fetch 14 6508;@LD (NN),IX 6509opcode_DD_22: 6510 ldrb r0,[z80pc],#1 6511 ldrb r1,[z80pc],#1 6512 orr r1,r0,r1, lsl #8 6513 ldrh r0,[z80xx,#2] 6514 writemem16 6515 fetch 20 6516;@INC IX 6517opcode_DD_23: 6518 ldr r0,[z80xx] 6519 add r0,r0,#1<<16 6520 str r0,[z80xx] 6521 fetch 10 6522;@INC I (IX) 6523opcode_DD_24: 6524 ldr r0,[z80xx] 6525 opINC8H r0 6526 str r0,[z80xx] 6527 fetch 8 6528;@DEC I (IX) 6529opcode_DD_25: 6530 ldr r0,[z80xx] 6531 opDEC8H r0 6532 str r0,[z80xx] 6533 fetch 8 6534;@LD I,N (IX) 6535opcode_DD_26: 6536 ldrb r0,[z80pc],#1 6537 strb r0,[z80xx,#3] 6538 fetch 11 6539;@ADD IX,IX 6540opcode_DD_29: 6541 ldr r0,[z80xx] 6542 opADD16_2 r0 6543 str r0,[z80xx] 6544 fetch 15 6545;@LD IX,(NN) 6546opcode_DD_2A: 6547 ldrb r0,[z80pc],#1 6548 ldrb r1,[z80pc],#1 6549 orr r0,r0,r1, lsl #8 6550 stmfd sp!,{z80xx} 6551 readmem16 6552 ldmfd sp!,{z80xx} 6553 strh r0,[z80xx,#2] 6554 fetch 20 6555;@DEC IX 6556opcode_DD_2B: 6557 ldr r0,[z80xx] 6558 sub r0,r0,#1<<16 6559 str r0,[z80xx] 6560 fetch 10 6561;@INC X (IX) 6562opcode_DD_2C: 6563 ldr r0,[z80xx] 6564 opINC8L r0 6565 str r0,[z80xx] 6566 fetch 8 6567;@DEC X (IX) 6568opcode_DD_2D: 6569 ldr r0,[z80xx] 6570 opDEC8L r0 6571 str r0,[z80xx] 6572 fetch 8 6573;@LD X,N (IX) 6574opcode_DD_2E: 6575 ldrb r0,[z80pc],#1 6576 strb r0,[z80xx,#2] 6577 fetch 11 6578;@INC (IX+N) 6579opcode_DD_34: 6580 ldrsb r0,[z80pc],#1 6581 ldr r1,[z80xx] 6582 add r0,r0,r1, lsr #16 6583 stmfd sp!,{r0} ;@ save addr 6584 readmem8 6585 opINC8b 6586 ldmfd sp!,{r1} ;@ restore addr into r1 6587 writemem8 6588 fetch 23 6589;@DEC (IX+N) 6590opcode_DD_35: 6591 ldrsb r0,[z80pc],#1 6592 ldr r1,[z80xx] 6593 add r0,r0,r1, lsr #16 6594 stmfd sp!,{r0} ;@ save addr 6595 readmem8 6596 opDEC8b 6597 ldmfd sp!,{r1} ;@ restore addr into r1 6598 writemem8 6599 fetch 23 6600;@LD (IX+N),N 6601opcode_DD_36: 6602 ldrsb r2,[z80pc],#1 6603 ldrb r0,[z80pc],#1 6604 ldr r1,[z80xx] 6605 add r1,r2,r1, lsr #16 6606 writemem8 6607 fetch 19 6608;@ADD IX,SP 6609opcode_DD_39: 6610 ldr r0,[z80xx] 6611.if FAST_Z80SP 6612 ldr r2,[cpucontext,#z80sp_base] 6613 sub r2,z80sp,r2 6614 opADD16s r0 r2 16 6615.else 6616 opADD16s r0 z80sp 16 6617.endif 6618 str r0,[z80xx] 6619 fetch 15 6620;@LD B,I ( IX ) 6621opcode_DD_44: 6622 ldrb r0,[z80xx,#3] 6623 and z80bc,z80bc,#0xFF<<16 6624 orr z80bc,z80bc,r0, lsl #24 6625 fetch 8 6626;@LD B,X ( IX ) 6627opcode_DD_45: 6628 ldrb r0,[z80xx,#2] 6629 and z80bc,z80bc,#0xFF<<16 6630 orr z80bc,z80bc,r0, lsl #24 6631 fetch 8 6632;@LD B,(IX,N) 6633opcode_DD_46: 6634 ldrsb r0,[z80pc],#1 6635 ldr r1,[z80xx] 6636 add r0,r0,r1, lsr #16 6637 readmem8 6638 and z80bc,z80bc,#0xFF<<16 6639 orr z80bc,z80bc,r0, lsl #24 6640 fetch 19 6641;@LD C,I (IX) 6642opcode_DD_4C: 6643 ldrb r0,[z80xx,#3] 6644 and z80bc,z80bc,#0xFF<<24 6645 orr z80bc,z80bc,r0, lsl #16 6646 fetch 8 6647;@LD C,X (IX) 6648opcode_DD_4D: 6649 ldrb r0,[z80xx,#2] 6650 and z80bc,z80bc,#0xFF<<24 6651 orr z80bc,z80bc,r0, lsl #16 6652 fetch 8 6653;@LD C,(IX,N) 6654opcode_DD_4E: 6655 ldrsb r0,[z80pc],#1 6656 ldr r1,[z80xx] 6657 add r0,r0,r1, lsr #16 6658 readmem8 6659 and z80bc,z80bc,#0xFF<<24 6660 orr z80bc,z80bc,r0, lsl #16 6661 fetch 19 6662 6663;@LD D,I (IX) 6664opcode_DD_54: 6665 ldrb r0,[z80xx,#3] 6666 and z80de,z80de,#0xFF<<16 6667 orr z80de,z80de,r0, lsl #24 6668 fetch 8 6669;@LD D,X (IX) 6670opcode_DD_55: 6671 ldrb r0,[z80xx,#2] 6672 and z80de,z80de,#0xFF<<16 6673 orr z80de,z80de,r0, lsl #24 6674 fetch 8 6675;@LD D,(IX,N) 6676opcode_DD_56: 6677 ldrsb r0,[z80pc],#1 6678 ldr r1,[z80xx] 6679 add r0,r0,r1, lsr #16 6680 readmem8 6681 and z80de,z80de,#0xFF<<16 6682 orr z80de,z80de,r0, lsl #24 6683 fetch 19 6684;@LD E,I (IX) 6685opcode_DD_5C: 6686 ldrb r0,[z80xx,#3] 6687 and z80de,z80de,#0xFF<<24 6688 orr z80de,z80de,r0, lsl #16 6689 fetch 8 6690;@LD E,X (IX) 6691opcode_DD_5D: 6692 ldrb r0,[z80xx,#2] 6693 and z80de,z80de,#0xFF<<24 6694 orr z80de,z80de,r0, lsl #16 6695 fetch 8 6696;@LD E,(IX,N) 6697opcode_DD_5E: 6698 ldrsb r0,[z80pc],#1 6699 ldr r1,[z80xx] 6700 add r0,r0,r1, lsr #16 6701 readmem8 6702 and z80de,z80de,#0xFF<<24 6703 orr z80de,z80de,r0, lsl #16 6704 fetch 19 6705;@LD I,B (IX) 6706opcode_DD_60: 6707 mov r0,z80bc,lsr#24 6708 strb r0,[z80xx,#3] 6709 fetch 8 6710;@LD I,C (IX) 6711opcode_DD_61: 6712 mov r0,z80bc,lsr#16 6713 strb r0,[z80xx,#3] 6714 fetch 8 6715;@LD I,D (IX) 6716opcode_DD_62: 6717 mov r0,z80de,lsr#24 6718 strb r0,[z80xx,#3] 6719 fetch 8 6720;@LD I,E (IX) 6721opcode_DD_63: 6722 mov r0,z80de,lsr#16 6723 strb r0,[z80xx,#3] 6724 fetch 8 6725;@LD I,I (IX) 6726opcode_DD_64: 6727 fetch 8 6728;@LD I,X (IX) 6729opcode_DD_65: 6730 ldrb r0,[z80xx,#2] 6731 strb r0,[z80xx,#3] 6732 fetch 8 6733;@LD H,(IX,N) 6734opcode_DD_66: 6735 ldrsb r0,[z80pc],#1 6736 ldr r1,[z80xx] 6737 add r0,r0,r1, lsr #16 6738 readmem8 6739 and z80hl,z80hl,#0xFF<<16 6740 orr z80hl,z80hl,r0, lsl #24 6741 fetch 19 6742;@LD I,A (IX) 6743opcode_DD_67: 6744 mov r0,z80a,lsr#24 6745 strb r0,[z80xx,#3] 6746 fetch 8 6747;@LD X,B (IX) 6748opcode_DD_68: 6749 mov r0,z80bc,lsr#24 6750 strb r0,[z80xx,#2] 6751 fetch 8 6752;@LD X,C (IX) 6753opcode_DD_69: 6754 mov r0,z80bc,lsr#16 6755 strb r0,[z80xx,#2] 6756 fetch 8 6757;@LD X,D (IX) 6758opcode_DD_6A: 6759 mov r0,z80de,lsr#24 6760 strb r0,[z80xx,#2] 6761 fetch 8 6762;@LD X,E (IX) 6763opcode_DD_6B: 6764 mov r0,z80de,lsr#16 6765 strb r0,[z80xx,#2] 6766 fetch 8 6767;@LD X,I (IX) 6768opcode_DD_6C: 6769 ldrb r0,[z80xx,#3] 6770 strb r0,[z80xx,#2] 6771 fetch 8 6772;@LD X,X (IX) 6773opcode_DD_6D: 6774 fetch 8 6775;@LD L,(IX,N) 6776opcode_DD_6E: 6777 ldrsb r0,[z80pc],#1 6778 ldr r1,[z80xx] 6779 add r0,r0,r1, lsr #16 6780 readmem8 6781 and z80hl,z80hl,#0xFF<<24 6782 orr z80hl,z80hl,r0, lsl #16 6783 fetch 19 6784;@LD X,A (IX) 6785opcode_DD_6F: 6786 mov r0,z80a,lsr#24 6787 strb r0,[z80xx,#2] 6788 fetch 8 6789 6790;@LD (IX,N),B 6791opcode_DD_70: 6792 ldrsb r0,[z80pc],#1 6793 ldr r1,[z80xx] 6794 add r1,r0,r1, lsr #16 6795 mov r0,z80bc, lsr #24 6796 writemem8 6797 fetch 19 6798;@LD (IX,N),C 6799opcode_DD_71: 6800 ldrsb r0,[z80pc],#1 6801 ldr r1,[z80xx] 6802 add r1,r0,r1, lsr #16 6803 mov r0,z80bc, lsr #16 6804 and r0,r0,#0xFF 6805 writemem8 6806 fetch 19 6807;@LD (IX,N),D 6808opcode_DD_72: 6809 ldrsb r0,[z80pc],#1 6810 ldr r1,[z80xx] 6811 add r1,r0,r1, lsr #16 6812 mov r0,z80de, lsr #24 6813 writemem8 6814 fetch 19 6815;@LD (IX,N),E 6816opcode_DD_73: 6817 ldrsb r0,[z80pc],#1 6818 ldr r1,[z80xx] 6819 add r1,r0,r1, lsr #16 6820 mov r0,z80de, lsr #16 6821 and r0,r0,#0xFF 6822 writemem8 6823 fetch 19 6824;@LD (IX,N),H 6825opcode_DD_74: 6826 ldrsb r0,[z80pc],#1 6827 ldr r1,[z80xx] 6828 add r1,r0,r1, lsr #16 6829 mov r0,z80hl, lsr #24 6830 writemem8 6831 fetch 19 6832;@LD (IX,N),L 6833opcode_DD_75: 6834 ldrsb r0,[z80pc],#1 6835 ldr r1,[z80xx] 6836 add r1,r0,r1, lsr #16 6837 mov r0,z80hl, lsr #16 6838 and r0,r0,#0xFF 6839 writemem8 6840 fetch 19 6841;@LD (IX,N),A 6842opcode_DD_77: 6843 ldrsb r0,[z80pc],#1 6844 ldr r1,[z80xx] 6845 add r1,r0,r1, lsr #16 6846 mov r0,z80a, lsr #24 6847 writemem8 6848 fetch 19 6849 6850;@LD A,I from (IX) 6851opcode_DD_7C: 6852 ldrb r0,[z80xx,#3] 6853 mov z80a,r0, lsl #24 6854 fetch 8 6855;@LD A,X from (IX) 6856opcode_DD_7D: 6857 ldrb r0,[z80xx,#2] 6858 mov z80a,r0, lsl #24 6859 fetch 8 6860;@LD A,(IX,N) 6861opcode_DD_7E: 6862 ldrsb r0,[z80pc],#1 6863 ldr r1,[z80xx] 6864 add r0,r0,r1, lsr #16 6865 readmem8 6866 mov z80a,r0, lsl #24 6867 fetch 19 6868 6869;@ADD A,I ( IX) 6870opcode_DD_84: 6871 ldrb r0,[z80xx,#3] 6872 opADDb 6873 fetch 8 6874;@ADD A,X ( IX) 6875opcode_DD_85: 6876 ldrb r0,[z80xx,#2] 6877 opADDb 6878 fetch 8 6879;@ADD A,(IX+N) 6880opcode_DD_86: 6881 ldrsb r0,[z80pc],#1 6882 ldr r1,[z80xx] 6883 add r0,r0,r1, lsr #16 6884 readmem8 6885 opADDb 6886 fetch 19 6887 6888;@ADC A,I (IX) 6889opcode_DD_8C: 6890 ldrb r0,[z80xx,#3] 6891 opADCb 6892 fetch 8 6893;@ADC A,X (IX) 6894opcode_DD_8D: 6895 ldrb r0,[z80xx,#2] 6896 opADCb 6897 fetch 8 6898;@ADC A,(IX+N) 6899opcode_DD_8E: 6900 ldrsb r0,[z80pc],#1 6901 ldr r1,[z80xx] 6902 add r0,r0,r1, lsr #16 6903 readmem8 6904 opADCb 6905 fetch 19 6906 6907;@SUB A,I (IX) 6908opcode_DD_94: 6909 ldrb r0,[z80xx,#3] 6910 opSUBb 6911 fetch 8 6912;@SUB A,X (IX) 6913opcode_DD_95: 6914 ldrb r0,[z80xx,#2] 6915 opSUBb 6916 fetch 8 6917;@SUB A,(IX+N) 6918opcode_DD_96: 6919 ldrsb r0,[z80pc],#1 6920 ldr r1,[z80xx] 6921 add r0,r0,r1, lsr #16 6922 readmem8 6923 opSUBb 6924 fetch 19 6925 6926;@SBC A,I (IX) 6927opcode_DD_9C: 6928 ldrb r0,[z80xx,#3] 6929 opSBCb 6930 fetch 8 6931;@SBC A,X (IX) 6932opcode_DD_9D: 6933 ldrb r0,[z80xx,#2] 6934 opSBCb 6935 fetch 8 6936;@SBC A,(IX+N) 6937opcode_DD_9E: 6938 ldrsb r0,[z80pc],#1 6939 ldr r1,[z80xx] 6940 add r0,r0,r1, lsr #16 6941 readmem8 6942 opSBCb 6943 fetch 19 6944 6945;@AND I (IX) 6946opcode_DD_A4: 6947 ldrb r0,[z80xx,#3] 6948 opANDb 6949 fetch 8 6950;@AND X (IX) 6951opcode_DD_A5: 6952 ldrb r0,[z80xx,#2] 6953 opANDb 6954 fetch 8 6955;@AND (IX+N) 6956opcode_DD_A6: 6957 ldrsb r0,[z80pc],#1 6958 ldr r1,[z80xx] 6959 add r0,r0,r1, lsr #16 6960 readmem8 6961 opANDb 6962 fetch 19 6963 6964;@XOR I (IX) 6965opcode_DD_AC: 6966 ldrb r0,[z80xx,#3] 6967 opXORb 6968 fetch 8 6969;@XOR X (IX) 6970opcode_DD_AD: 6971 ldrb r0,[z80xx,#2] 6972 opXORb 6973 fetch 8 6974;@XOR (IX+N) 6975opcode_DD_AE: 6976 ldrsb r0,[z80pc],#1 6977 ldr r1,[z80xx] 6978 add r0,r0,r1, lsr #16 6979 readmem8 6980 opXORb 6981 fetch 19 6982 6983;@OR I (IX) 6984opcode_DD_B4: 6985 ldrb r0,[z80xx,#3] 6986 opORb 6987 fetch 8 6988;@OR X (IX) 6989opcode_DD_B5: 6990 ldrb r0,[z80xx,#2] 6991 opORb 6992 fetch 8 6993;@OR (IX+N) 6994opcode_DD_B6: 6995 ldrsb r0,[z80pc],#1 6996 ldr r1,[z80xx] 6997 add r0,r0,r1, lsr #16 6998 readmem8 6999 opORb 7000 fetch 19 7001 7002;@CP I (IX) 7003opcode_DD_BC: 7004 ldrb r0,[z80xx,#3] 7005 opCPb 7006 fetch 8 7007;@CP X (IX) 7008opcode_DD_BD: 7009 ldrb r0,[z80xx,#2] 7010 opCPb 7011 fetch 8 7012;@CP (IX+N) 7013opcode_DD_BE: 7014 ldrsb r0,[z80pc],#1 7015 ldr r1,[z80xx] 7016 add r0,r0,r1, lsr #16 7017 readmem8 7018 opCPb 7019 fetch 19 7020 7021 7022opcodes_DD_CB_LOCAL: .word opcodes_DD_CB 7023opcode_DD_CB: 7024;@Looks up the opcode on the opcodes_DD_CB table and then 7025;@moves the PC to the location of the subroutine 7026 ldrsb r0,[z80pc],#1 7027 ldr r1,[z80xx] 7028 add r0,r0,r1, lsr #16 7029 7030 ldrb r1,[z80pc],#1 7031 ldr pc,[pc,r1, lsl #2] 7032 .word 0x00 7033opcodes_DD_CB: 7034 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_06,opcode_DD_NF2 7035 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_0E,opcode_DD_NF2 7036 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_16,opcode_DD_NF2 7037 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_1E,opcode_DD_NF2 7038 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_26,opcode_DD_NF2 7039 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_2E,opcode_DD_NF2 7040 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_36,opcode_DD_NF2 7041 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_3E,opcode_DD_NF2 7042 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_46,opcode_DD_NF2 7043 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_4E,opcode_DD_NF2 7044 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_56,opcode_DD_NF2 7045 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_5E,opcode_DD_NF2 7046 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_66,opcode_DD_NF2 7047 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_6E,opcode_DD_NF2 7048 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_76,opcode_DD_NF2 7049 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_7E,opcode_DD_NF2 7050 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_86,opcode_DD_NF2 7051 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_8E,opcode_DD_NF2 7052 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_96,opcode_DD_NF2 7053 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_9E,opcode_DD_NF2 7054 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_A6,opcode_DD_NF2 7055 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_AE,opcode_DD_NF2 7056 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_B6,opcode_DD_NF2 7057 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_BE,opcode_DD_NF2 7058 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_C6,opcode_DD_NF2 7059 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_CE,opcode_DD_NF2 7060 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_D6,opcode_DD_NF2 7061 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_DE,opcode_DD_NF2 7062 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_E6,opcode_DD_NF2 7063 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_EE,opcode_DD_NF2 7064 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_F6,opcode_DD_NF2 7065 .word opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_NF2,opcode_DD_CB_FE,opcode_DD_NF2 7066 7067;@RLC (IX+N) 7068opcode_DD_CB_06: 7069 stmfd sp!,{r0} ;@ save addr 7070 readmem8 7071 opRLCb 7072 ldmfd sp!,{r1} ;@ restore addr into r1 7073 writemem8 7074 fetch 23 7075;@RRC (IX+N) 7076opcode_DD_CB_0E: 7077 stmfd sp!,{r0} ;@ save addr 7078 readmem8 7079 opRRCb 7080 ldmfd sp!,{r1} ;@ restore addr into r1 7081 writemem8 7082 fetch 23 7083;@RL (IX+N) 7084opcode_DD_CB_16: 7085 stmfd sp!,{r0} ;@ save addr 7086 readmem8 7087 opRLb 7088 ldmfd sp!,{r1} ;@ restore addr into r1 7089 writemem8 7090 fetch 23 7091;@RR (IX+N) 7092opcode_DD_CB_1E: 7093 stmfd sp!,{r0} ;@ save addr 7094 readmem8 7095 opRRb 7096 ldmfd sp!,{r1} ;@ restore addr into r1 7097 writemem8 7098 fetch 23 7099 7100;@SLA (IX+N) 7101opcode_DD_CB_26: 7102 stmfd sp!,{r0} ;@ save addr 7103 readmem8 7104 opSLAb 7105 ldmfd sp!,{r1} ;@ restore addr into r1 7106 writemem8 7107 fetch 23 7108;@SRA (IX+N) 7109opcode_DD_CB_2E: 7110 stmfd sp!,{r0} ;@ save addr 7111 readmem8 7112 opSRAb 7113 ldmfd sp!,{r1} ;@ restore addr into r1 7114 writemem8 7115 fetch 23 7116;@SLL (IX+N) 7117opcode_DD_CB_36: 7118 stmfd sp!,{r0} ;@ save addr 7119 readmem8 7120 opSLLb 7121 ldmfd sp!,{r1} ;@ restore addr into r1 7122 writemem8 7123 fetch 23 7124;@SRL (IX+N) 7125opcode_DD_CB_3E: 7126 stmfd sp!,{r0} ;@ save addr 7127 readmem8 7128 opSRLb 7129 ldmfd sp!,{r1} ;@ restore addr into r1 7130 writemem8 7131 fetch 23 7132 7133;@BIT 0,(IX+N) 7134opcode_DD_CB_46: 7135 readmem8 7136 opBITb 0 7137 fetch 20 7138;@BIT 1,(IX+N) 7139opcode_DD_CB_4E: 7140 readmem8 7141 opBITb 1 7142 fetch 20 7143;@BIT 2,(IX+N) 7144opcode_DD_CB_56: 7145 readmem8 7146 opBITb 2 7147 fetch 20 7148;@BIT 3,(IX+N) 7149opcode_DD_CB_5E: 7150 readmem8 7151 opBITb 3 7152 fetch 20 7153;@BIT 4,(IX+N) 7154opcode_DD_CB_66: 7155 readmem8 7156 opBITb 4 7157 fetch 20 7158;@BIT 5,(IX+N) 7159opcode_DD_CB_6E: 7160 readmem8 7161 opBITb 5 7162 fetch 20 7163;@BIT 6,(IX+N) 7164opcode_DD_CB_76: 7165 readmem8 7166 opBITb 6 7167 fetch 20 7168;@BIT 7,(IX+N) 7169opcode_DD_CB_7E: 7170 readmem8 7171 opBIT7b 7172 fetch 20 7173;@RES 0,(IX+N) 7174opcode_DD_CB_86: 7175 opRESmem 0 7176;@RES 1,(IX+N) 7177opcode_DD_CB_8E: 7178 opRESmem 1 7179;@RES 2,(IX+N) 7180opcode_DD_CB_96: 7181 opRESmem 2 7182;@RES 3,(IX+N) 7183opcode_DD_CB_9E: 7184 opRESmem 3 7185;@RES 4,(IX+N) 7186opcode_DD_CB_A6: 7187 opRESmem 4 7188;@RES 5,(IX+N) 7189opcode_DD_CB_AE: 7190 opRESmem 5 7191;@RES 6,(IX+N) 7192opcode_DD_CB_B6: 7193 opRESmem 6 7194;@RES 7,(IX+N) 7195opcode_DD_CB_BE: 7196 opRESmem 7 7197 7198;@SET 0,(IX+N) 7199opcode_DD_CB_C6: 7200 opSETmem 0 7201;@SET 1,(IX+N) 7202opcode_DD_CB_CE: 7203 opSETmem 1 7204;@SET 2,(IX+N) 7205opcode_DD_CB_D6: 7206 opSETmem 2 7207;@SET 3,(IX+N) 7208opcode_DD_CB_DE: 7209 opSETmem 3 7210;@SET 4,(IX+N) 7211opcode_DD_CB_E6: 7212 opSETmem 4 7213;@SET 5,(IX+N) 7214opcode_DD_CB_EE: 7215 opSETmem 5 7216;@SET 6,(IX+N) 7217opcode_DD_CB_F6: 7218 opSETmem 6 7219;@SET 7,(IX+N) 7220opcode_DD_CB_FE: 7221 opSETmem 7 7222 7223 7224 7225;@POP IX 7226opcode_DD_E1: 7227.if FAST_Z80SP 7228 ldrb r0,[z80sp],#1 7229 ldrb r1,[z80sp],#1 7230 orr r0,r0,r1, lsl #8 7231.else 7232 mov r0,z80sp 7233 stmfd sp!,{z80xx} 7234 readmem16 7235 ldmfd sp!,{z80xx} 7236 add z80sp,z80sp,#2 7237.endif 7238 strh r0,[z80xx,#2] 7239 fetch 14 7240;@EX (SP),IX 7241opcode_DD_E3: 7242.if FAST_Z80SP 7243 ldrb r0,[z80sp] 7244 ldrb r1,[z80sp,#1] 7245 orr r2,r0,r1, lsl #8 7246 ldrh r1,[z80xx,#2] 7247 mov r0,r1, lsr #8 7248 strb r0,[z80sp,#1] 7249 strb r1,[z80sp] 7250 strh r2,[z80xx,#2] 7251.else 7252 mov r0,z80sp 7253 stmfd sp!,{z80xx} 7254 readmem16 7255 ldmfd sp!,{z80xx} 7256 mov r2,r0 7257 ldrh r0,[z80xx,#2] 7258 strh r2,[z80xx,#2] 7259 mov r1,z80sp 7260 writemem16 7261.endif 7262 fetch 23 7263;@PUSH IX 7264opcode_DD_E5: 7265 ldr r0,[z80xx] 7266 opPUSHreg r0 7267 fetch 15 7268;@JP (IX) 7269opcode_DD_E9: 7270 ldrh r0,[z80xx,#2] 7271 rebasepc 7272 fetch 8 7273;@LD SP,IX 7274opcode_DD_F9: 7275.if FAST_Z80SP 7276 ldrh r0,[z80xx,#2] 7277 rebasesp 7278 ;@mov z80sp,r0 7279.else 7280 ldrh z80sp,[z80xx,#2] 7281.endif 7282 fetch 10 7283 7284;@################################## 7285;@################################## 7286;@### opcodes ED ######################### 7287;@################################## 7288;@################################## 7289 7290opcode_ED_NF: 7291 fetch 8 7292;@ ldrb r0,[z80pc],#1 7293;@ ldr pc,[opcodes,r0, lsl #2] 7294;@ mov r0,#0xED00 7295;@ orr r0,r0,r1 7296;@ b end_loop 7297 7298;@IN B,(C) 7299opcode_ED_40: 7300 opIN_C 7301 and z80bc,z80bc,#0xFF<<16 7302 orr z80bc,z80bc,r0, lsl #24 7303 sub r1,opcodes,#0x100 7304 ldrb r0,[r1,r0] 7305 and z80f,z80f,#1<<CFlag 7306 orr z80f,z80f,r0 7307 fetch 12 7308;@OUT (C),B 7309opcode_ED_41: 7310 mov r1,z80bc, lsr #24 7311 opOUT_C 7312 fetch 12 7313 7314;@SBC HL,BC 7315opcode_ED_42: 7316 opSBC16 z80bc 7317 7318;@LD (NN),BC 7319opcode_ED_43: 7320 ldrb r0,[z80pc],#1 7321 ldrb r1,[z80pc],#1 7322 orr r1,r0,r1, lsl #8 7323 mov r0,z80bc, lsr #16 7324 writemem16 7325 fetch 20 7326;@NEG 7327opcode_ED_44: 7328 rsbs z80a,z80a,#0 7329 mrs z80f,cpsr 7330 mov z80f,z80f,lsr#28 ;@S,Z,V&C 7331 eor z80f,z80f,#(1<<CFlag)|(1<<NFlag) ;@invert C and set n. 7332 tst z80a,#0x0F000000 ;@H, correct 7333 orrne z80f,z80f,#1<<HFlag 7334 fetch 8 7335 7336;@RETN, moved to ED_4D 7337;@opcode_ED_45: 7338 7339;@IM 0 7340opcode_ED_46: 7341 strb z80a,[cpucontext,#z80im] ;@zero IM 7342 fetch 8 7343;@LD I,A 7344opcode_ED_47: 7345 str z80a,[cpucontext,#z80i] 7346 fetch 9 7347;@IN C,(C) 7348opcode_ED_48: 7349 opIN_C 7350 and z80bc,z80bc,#0xFF<<24 7351 orr z80bc,z80bc,r0, lsl #16 7352 sub r1,opcodes,#0x100 7353 ldrb r0,[r1,r0] 7354 and z80f,z80f,#1<<CFlag 7355 orr z80f,z80f,r0 7356 fetch 12 7357;@OUT (C),C 7358opcode_ED_49: 7359 mov r0,z80bc, lsr #16 7360 and r1,r0,#0xFF 7361 opOUT 7362 fetch 12 7363;@ADC HL,BC 7364opcode_ED_4A: 7365 opADC16 z80bc 7366;@LD BC,(NN) 7367opcode_ED_4B: 7368 ldrb r0,[z80pc],#1 7369 ldrb r1,[z80pc],#1 7370 orr r0,r0,r1, lsl #8 7371 readmem16 7372 mov z80bc,r0, lsl #16 7373 fetch 20 7374 7375;@RETN 7376opcode_ED_45: 7377;@RETI 7378opcode_ED_4D: 7379 ldrb r0,[cpucontext,#z80if] 7380 tst r0,#Z80_IF2 7381 orrne r0,r0,#Z80_IF1 7382 biceq r0,r0,#Z80_IF1 7383 strb r0,[cpucontext,#z80if] 7384.if FAST_Z80SP 7385 ldrb r0,[z80sp],#1 7386 ldrb r1,[z80sp],#1 7387 orr r0,r0,r1, lsl #8 7388.else 7389 mov r0,z80sp 7390 readmem16 7391 add z80sp,z80sp,#2 7392.endif 7393 rebasepc 7394 fetch 14 7395 7396;@LD R,A 7397opcode_ED_4F: 7398 mov r0,z80a,lsr#24 7399 strb r0,[cpucontext,#z80r] 7400 fetch 9 7401 7402;@IN D,(C) 7403opcode_ED_50: 7404 opIN_C 7405 and z80de,z80de,#0xFF<<16 7406 orr z80de,z80de,r0, lsl #24 7407 sub r1,opcodes,#0x100 7408 ldrb r0,[r1,r0] 7409 and z80f,z80f,#1<<CFlag 7410 orr z80f,z80f,r0 7411 fetch 12 7412;@OUT (C),D 7413opcode_ED_51: 7414 mov r1,z80de, lsr #24 7415 opOUT_C 7416 fetch 12 7417;@SBC HL,DE 7418opcode_ED_52: 7419 opSBC16 z80de 7420;@LD (NN),DE 7421opcode_ED_53: 7422 ldrb r0,[z80pc],#1 7423 ldrb r1,[z80pc],#1 7424 orr r1,r0,r1, lsl #8 7425 mov r0,z80de, lsr #16 7426 writemem16 7427 fetch 20 7428;@IM 1 7429opcode_ED_56: 7430 mov r0,#1 7431 strb r0,[cpucontext,#z80im] 7432 fetch 8 7433;@LD A,I 7434opcode_ED_57: 7435 ldr z80a,[cpucontext,#z80i] 7436 tst z80a,#0xFF000000 7437 and z80f,z80f,#(1<<CFlag) 7438 orreq z80f,z80f,#(1<<ZFlag) 7439 orrmi z80f,z80f,#(1<<SFlag) 7440 ldrb r0,[cpucontext,#z80if] 7441 tst r0,#Z80_IF2 7442 orrne z80f,z80f,#(1<<VFlag) 7443 fetch 9 7444;@IN E,(C) 7445opcode_ED_58: 7446 opIN_C 7447 and z80de,z80de,#0xFF<<24 7448 orr z80de,z80de,r0, lsl #16 7449 sub r1,opcodes,#0x100 7450 ldrb r0,[r1,r0] 7451 and z80f,z80f,#1<<CFlag 7452 orr z80f,z80f,r0 7453 fetch 12 7454;@OUT (C),E 7455opcode_ED_59: 7456 mov r1,z80de, lsr #16 7457 and r1,r1,#0xFF 7458 opOUT_C 7459 fetch 12 7460;@ADC HL,DE 7461opcode_ED_5A: 7462 opADC16 z80de 7463;@LD DE,(NN) 7464opcode_ED_5B: 7465 ldrb r0,[z80pc],#1 7466 ldrb r1,[z80pc],#1 7467 orr r0,r0,r1, lsl #8 7468 readmem16 7469 mov z80de,r0, lsl #16 7470 fetch 20 7471;@IM 2 7472opcode_ED_5E: 7473 mov r0,#2 7474 strb r0,[cpucontext,#z80im] 7475 fetch 8 7476;@LD A,R 7477opcode_ED_5F: 7478 ldrb r0,[cpucontext,#z80r] 7479 and r0,r0,#0x80 7480 rsb r1,z80_icount,#0 7481 and r1,r1,#0x7F 7482 orr r0,r0,r1 7483 movs z80a,r0, lsl #24 7484 and z80f,z80f,#1<<CFlag 7485 orrmi z80f,z80f,#(1<<SFlag) 7486 orreq z80f,z80f,#(1<<ZFlag) 7487 ldrb r0,[cpucontext,#z80if] 7488 tst r0,#Z80_IF2 7489 orrne z80f,z80f,#(1<<VFlag) 7490 fetch 9 7491;@IN H,(C) 7492opcode_ED_60: 7493 opIN_C 7494 and z80hl,z80hl,#0xFF<<16 7495 orr z80hl,z80hl,r0, lsl #24 7496 sub r1,opcodes,#0x100 7497 ldrb r0,[r1,r0] 7498 and z80f,z80f,#1<<CFlag 7499 orr z80f,z80f,r0 7500 fetch 12 7501;@OUT (C),H 7502opcode_ED_61: 7503 mov r1,z80hl, lsr #24 7504 opOUT_C 7505 fetch 12 7506;@SBC HL,HL 7507opcode_ED_62: 7508 opSBC16HL 7509;@RRD 7510opcode_ED_67: 7511 readmem8HL 7512 mov r1,r0,ror#4 7513 orr r0,r1,z80a,lsr#20 7514 bic z80a,z80a,#0x0F000000 7515 orr z80a,z80a,r1,lsr#4 7516 writemem8HL 7517 sub r1,opcodes,#0x100 7518 ldrb r0,[r1,z80a, lsr #24] 7519 and z80f,z80f,#1<<CFlag 7520 orr z80f,z80f,r0 7521 fetch 18 7522;@IN L,(C) 7523opcode_ED_68: 7524 opIN_C 7525 and z80hl,z80hl,#0xFF<<24 7526 orr z80hl,z80hl,r0, lsl #16 7527 and z80f,z80f,#1<<CFlag 7528 sub r1,opcodes,#0x100 7529 ldrb r0,[r1,r0] 7530 orr z80f,z80f,r0 7531 fetch 12 7532;@OUT (C),L 7533opcode_ED_69: 7534 mov r1,z80hl, lsr #16 7535 and r1,r1,#0xFF 7536 opOUT_C 7537 fetch 12 7538;@ADC HL,HL 7539opcode_ED_6A: 7540 opADC16HL 7541;@RLD 7542opcode_ED_6F: 7543 readmem8HL 7544 orr r0,r0,z80a,lsl#4 7545 mov r0,r0,ror#28 7546 and z80a,z80a,#0xF0000000 7547 orr z80a,z80a,r0,lsl#16 7548 and z80a,z80a,#0xFF000000 7549 writemem8HL 7550 sub r1,opcodes,#0x100 7551 ldrb r0,[r1,z80a, lsr #24] 7552 and z80f,z80f,#1<<CFlag 7553 orr z80f,z80f,r0 7554 fetch 18 7555;@IN F,(C) 7556opcode_ED_70: 7557 opIN_C 7558 and z80f,z80f,#1<<CFlag 7559 sub r1,opcodes,#0x100 7560 ldrb r0,[r1,r0] 7561 orr z80f,z80f,r0 7562 fetch 12 7563;@OUT (C),0 7564opcode_ED_71: 7565 mov r1,#0 7566 opOUT_C 7567 fetch 12 7568 7569;@SBC HL,SP 7570opcode_ED_72: 7571.if FAST_Z80SP 7572 ldr r0,[cpucontext,#z80sp_base] 7573 sub r0,z80sp,r0 7574 mov r0, r0, lsl #16 7575.else 7576 mov r0,z80sp,lsl#16 7577.endif 7578 opSBC16 r0 7579;@LD (NN),SP 7580opcode_ED_73: 7581 ldrb r0,[z80pc],#1 7582 ldrb r1,[z80pc],#1 7583 orr r1,r0,r1, lsl #8 7584.if FAST_Z80SP 7585 ldr r0,[cpucontext,#z80sp_base] 7586 sub r0,z80sp,r0 7587.else 7588 mov r0,z80sp 7589.endif 7590 writemem16 7591 fetch 16 7592;@IN A,(C) 7593opcode_ED_78: 7594 opIN_C 7595 mov z80a,r0, lsl #24 7596 and z80f,z80f,#1<<CFlag 7597 sub r1,opcodes,#0x100 7598 ldrb r0,[r1,r0] 7599 orr z80f,z80f,r0 7600 fetch 12 7601;@OUT (C),A 7602opcode_ED_79: 7603 mov r1,z80a, lsr #24 7604 opOUT_C 7605 fetch 12 7606;@ADC HL,SP 7607opcode_ED_7A: 7608.if FAST_Z80SP 7609 ldr r0,[cpucontext,#z80sp_base] 7610 sub r0,z80sp,r0 7611 mov r0, r0, lsl #16 7612.else 7613 mov r0,z80sp,lsl#16 7614.endif 7615 opADC16 r0 7616;@LD SP,(NN) 7617opcode_ED_7B: 7618 ldrb r0,[z80pc],#1 7619 ldrb r1,[z80pc],#1 7620 orr r0,r0,r1, lsl #8 7621 readmem16 7622.if FAST_Z80SP 7623 rebasesp 7624.else 7625 mov z80sp,r0 7626.endif 7627 fetch 20 7628;@LDI 7629opcode_ED_A0: 7630 copymem8HL_DE 7631 add z80hl,z80hl,#1<<16 7632 add z80de,z80de,#1<<16 7633 subs z80bc,z80bc,#1<<16 7634 bic z80f,z80f,#(1<<VFlag)|(1<<NFlag)|(1<<HFlag) 7635 orrne z80f,z80f,#1<<VFlag 7636 fetch 16 7637;@CPI 7638opcode_ED_A1: 7639 readmem8HL 7640 add z80hl,z80hl,#0x00010000 7641 mov r1,z80a,lsl#4 7642 cmp z80a,r0,lsl#24 7643 and z80f,z80f,#1<<CFlag 7644 orr z80f,z80f,#1<<NFlag 7645 orrmi z80f,z80f,#1<<SFlag 7646 orreq z80f,z80f,#1<<ZFlag 7647 cmp r1,r0,lsl#28 7648 orrcc z80f,z80f,#1<<HFlag 7649 subs z80bc,z80bc,#0x00010000 7650 orrne z80f,z80f,#1<<VFlag 7651 fetch 16 7652;@INI 7653opcode_ED_A2: 7654 opIN_C 7655 and z80f,r0,#0x80 7656 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7657;@ mov r1,z80bc,lsl#8 7658;@ add r1,r1,#0x01000000 7659;@ adds r1,r1,r0,lsl#24 7660;@ orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if (HL) + ((C+1) & 0xFF) > 0xFF 7661 writemem8HL 7662 add z80hl,z80hl,#1<<16 7663 sub z80bc,z80bc,#1<<24 7664 tst z80bc,#0xFF<<24 7665 orrmi z80f,z80f,#1<<SFlag 7666 orreq z80f,z80f,#1<<ZFlag 7667 fetch 16 7668 7669;@OUTI 7670opcode_ED_A3: 7671 readmem8HL 7672 add z80hl,z80hl,#1<<16 7673 and z80f,r0,#0x80 7674 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7675 mov r1,z80hl,lsl#8 7676 adds r1,r1,r0,lsl#24 7677 orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if (HL)+L > 0xFF 7678 sub z80bc,z80bc,#1<<24 7679 tst z80bc,#0xFF<<24 7680 orrmi z80f,z80f,#1<<SFlag 7681 orreq z80f,z80f,#1<<ZFlag 7682 mov r1,r0 7683 opOUT_C 7684 fetch 16 7685 7686;@LDD 7687opcode_ED_A8: 7688 copymem8HL_DE 7689 sub z80hl,z80hl,#1<<16 7690 sub z80de,z80de,#1<<16 7691 subs z80bc,z80bc,#1<<16 7692 bic z80f,z80f,#(1<<VFlag)|(1<<NFlag)|(1<<HFlag) 7693 orrne z80f,z80f,#1<<VFlag 7694 fetch 16 7695 7696;@CPD 7697opcode_ED_A9: 7698 readmem8HL 7699 sub z80hl,z80hl,#1<<16 7700 mov r1,z80a,lsl#4 7701 cmp z80a,r0,lsl#24 7702 and z80f,z80f,#1<<CFlag 7703 orr z80f,z80f,#1<<NFlag 7704 orrmi z80f,z80f,#1<<SFlag 7705 orreq z80f,z80f,#1<<ZFlag 7706 cmp r1,r0,lsl#28 7707 orrcc z80f,z80f,#1<<HFlag 7708 subs z80bc,z80bc,#0x00010000 7709 orrne z80f,z80f,#1<<VFlag 7710 fetch 16 7711 7712;@IND 7713opcode_ED_AA: 7714 opIN_C 7715 and z80f,r0,#0x80 7716 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7717;@ mov r1,z80bc,lsl#8 7718;@ sub r1,r1,#0x01000000 7719;@ adds r1,r1,r0,lsl#24 7720;@ orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if (HL) + ((C-1) & 0xFF) > 0xFF 7721 writemem8HL 7722 sub z80hl,z80hl,#1<<16 7723 sub z80bc,z80bc,#1<<24 7724 tst z80bc,#0xFF<<24 7725 orrmi z80f,z80f,#1<<SFlag 7726 orreq z80f,z80f,#1<<ZFlag 7727 fetch 16 7728 7729;@OUTD 7730opcode_ED_AB: 7731 readmem8HL 7732 sub z80hl,z80hl,#1<<16 7733 and z80f,r0,#0x80 7734 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7735 mov r1,z80hl,lsl#8 7736 adds r1,r1,r0,lsl#24 7737 orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if r0+HL > 0xFF 7738 sub z80bc,z80bc,#1<<24 7739 tst z80bc,#0xFF<<24 7740 orrmi z80f,z80f,#1<<SFlag 7741 orreq z80f,z80f,#1<<ZFlag 7742 mov r1,r0 7743 opOUT_C 7744 fetch 16 7745;@LDIR 7746opcode_ED_B0: 7747 copymem8HL_DE 7748 add z80hl,z80hl,#1<<16 7749 add z80de,z80de,#1<<16 7750 subs z80bc,z80bc,#1<<16 7751 bic z80f,z80f,#(1<<VFlag)|(1<<NFlag)|(1<<HFlag) 7752 orrne z80f,z80f,#1<<VFlag 7753 subne z80pc,z80pc,#2 7754 subne z80_icount,z80_icount,#5 7755 fetch 16 7756 7757;@CPIR 7758opcode_ED_B1: 7759 readmem8HL 7760 add z80hl,z80hl,#1<<16 7761 mov r1,z80a,lsl#4 7762 cmp z80a,r0,lsl#24 7763 and z80f,z80f,#1<<CFlag 7764 orr z80f,z80f,#1<<NFlag 7765 orrmi z80f,z80f,#1<<SFlag 7766 orreq z80f,z80f,#1<<ZFlag 7767 cmp r1,r0,lsl#28 7768 orrcc z80f,z80f,#1<<HFlag 7769 subs z80bc,z80bc,#1<<16 7770 bne opcode_ED_B1_decpc 7771 fetch 16 7772opcode_ED_B1_decpc: 7773 orr z80f,z80f,#1<<VFlag 7774 tst z80f,#1<<ZFlag 7775 subeq z80pc,z80pc,#2 7776 subeq z80_icount,z80_icount,#5 7777 fetch 16 7778;@INIR 7779opcode_ED_B2: 7780 opIN_C 7781 and z80f,r0,#0x80 7782 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7783;@ mov r1,z80bc,lsl#8 7784;@ add r1,r1,#0x01000000 7785;@ adds r1,r1,r0,lsl#24 7786;@ orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if (HL) + ((C+1) & 0xFF) > 0xFF 7787 writemem8HL 7788 add z80hl,z80hl,#1<<16 7789 sub z80bc,z80bc,#1<<24 7790 tst z80bc,#0xFF<<24 7791 orrmi z80f,z80f,#1<<SFlag 7792 orreq z80f,z80f,#1<<ZFlag 7793 subne z80pc,z80pc,#2 7794 subne z80_icount,z80_icount,#5 7795 fetch 16 7796;@OTIR 7797opcode_ED_B3: 7798 readmem8HL 7799 add z80hl,z80hl,#1<<16 7800 and z80f,r0,#0x80 7801 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7802 mov r1,z80hl,lsl#8 7803 adds r1,r1,r0,lsl#24 7804 orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if r0+HL > 0xFF 7805 sub z80bc,z80bc,#1<<24 7806 tst z80bc,#0xFF<<24 7807 orrmi z80f,z80f,#1<<SFlag 7808 orreq z80f,z80f,#1<<ZFlag 7809 subne z80pc,z80pc,#2 7810 subne z80_icount,z80_icount,#5 7811 mov r1,r0 7812 opOUT_C 7813 fetch 16 7814;@LDDR 7815opcode_ED_B8: 7816 copymem8HL_DE 7817 sub z80hl,z80hl,#1<<16 7818 sub z80de,z80de,#1<<16 7819 subs z80bc,z80bc,#1<<16 7820 bic z80f,z80f,#(1<<VFlag)|(1<<NFlag)|(1<<HFlag) 7821 orrne z80f,z80f,#1<<VFlag 7822 subne z80pc,z80pc,#2 7823 subne z80_icount,z80_icount,#5 7824 fetch 16 7825 7826;@CPDR 7827opcode_ED_B9: 7828 readmem8HL 7829 sub z80hl,z80hl,#1<<16 7830 mov r1,z80a,lsl#4 7831 cmp z80a,r0,lsl#24 7832 and z80f,z80f,#1<<CFlag 7833 orr z80f,z80f,#1<<NFlag 7834 orrmi z80f,z80f,#1<<SFlag 7835 orreq z80f,z80f,#1<<ZFlag 7836 cmp r1,r0,lsl#28 7837 orrcc z80f,z80f,#1<<HFlag 7838 subs z80bc,z80bc,#1<<16 7839 bne opcode_ED_B9_decpc 7840 fetch 16 7841opcode_ED_B9_decpc: 7842 orr z80f,z80f,#1<<VFlag 7843 tst z80f,#1<<ZFlag 7844 subeq z80pc,z80pc,#2 7845 subeq z80_icount,z80_icount,#5 7846 fetch 16 7847;@INDR 7848opcode_ED_BA: 7849 opIN_C 7850 and z80f,r0,#0x80 7851 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7852;@ mov r1,z80bc,lsl#8 7853;@ sub r1,r1,#0x01000000 7854;@ adds r1,r1,r0,lsl#24 7855;@ orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if (HL) + ((C-1) & 0xFF) > 0xFF 7856 writemem8HL 7857 sub z80hl,z80hl,#1<<16 7858 sub z80bc,z80bc,#1<<24 7859 tst z80bc,#0xFF<<24 7860 orrmi z80f,z80f,#1<<SFlag 7861 orreq z80f,z80f,#1<<ZFlag 7862 subne z80pc,z80pc,#2 7863 subne z80_icount,z80_icount,#5 7864 fetch 16 7865;@OTDR 7866opcode_ED_BB: 7867 readmem8HL 7868 sub z80hl,z80hl,#1<<16 7869 and z80f,r0,#0x80 7870 mov z80f,z80f,lsr#2 ;@NFlag set by bit 7 7871 mov r1,z80hl,lsl#8 7872 adds r1,r1,r0,lsl#24 7873 orrcs z80f,z80f,#(1<<CFlag)|(1<<HFlag) ;@ CF & HF set if r0+HL > 0xFF 7874 sub z80bc,z80bc,#1<<24 7875 tst z80bc,#0xFF<<24 7876 orrmi z80f,z80f,#1<<SFlag 7877 orreq z80f,z80f,#1<<ZFlag 7878 subne z80pc,z80pc,#2 7879 subne z80_icount,z80_icount,#5 7880 mov r1,r0 7881 opOUT_C 7882 fetch 16 7883;@################################## 7884;@################################## 7885;@### opcodes FD ######################### 7886;@################################## 7887;@################################## 7888;@Since DD and FD opcodes are all the same apart from the address 7889;@register they use. When a FD intruction the program runs the code 7890;@from the DD location but the address of the IY reg is passed instead 7891;@of IX 7892 7893;@end_loop: 7894;@ b end_loop 7895