home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 25 / CD_ASCQ_25_1095.iso / dos / prg / cpe50 / cpe / ipe2.asm < prev    next >
Assembly Source File  |  1995-09-10  |  131KB  |  5,686 lines

  1. ;*************************************************************************
  2. ;*                                                                       *
  3. ;*       Z-80 emulation routines                                         *
  4. ;*                                                                       *
  5. ;*************************************************************************
  6.  
  7. IDEAL
  8.  
  9. P386
  10.  
  11. PUBLIC simz80,simz80l,interrupt,sz80gb,intflag,intspeed,NormISpeed
  12. PUBLIC sRF,simstack,sAFx,sBCx,sDEx,sHLx,srI,sRFhi,imode,sIFF1,sIFF2,ix,iy
  13.  
  14. PUBLIC sz80performret,sz80performpushhl,sz80wbhlAL,sz80InitPCSeg
  15.  
  16. EXTRN normramseg:WORD
  17. EXTRN DoScr:PROC,outp:PROC,inp:PROC,memmap:WORD
  18. EXTRN intreq:WORD,ffcount:WORD
  19. EXTRN RedrawArea:PROC,keycode:BYTE
  20. EXTRN ReDrawCount:WORD,RedrawScreen:PROC,RethinkCRTC:PROC
  21. EXTRN cleanup:PROC,colmode:BYTE,SetColors:PROC,multimodeon:BYTE,modezones:BYTE,modeffoff:BYTE
  22. EXTRN writevgaoff:WORD,ClearCRTCDBuf:PROC,reset:PROC
  23. EXTRN PCRTC_MODE:BYTE,SetPCsCRTC:PROC,SelFile:PROC
  24. EXTRN Menu:PROC,emulr:WORD,realtime:WORD,fancyrlt:WORD
  25. EXTRN CASInOpen:PROC,CASRead:PROC,CASWrite:PROC,CASCheck:PROC
  26. EXTRN RethinkPSG:PROC,PSGcount:WORD
  27. EXTRN SelSnap:PROC,SaveSnap:PROC,GetPrtState:PROC,DoJoystick:PROC
  28.  
  29. GROUP   DGROUP _stack,_data
  30.  
  31.       INCLUDE "macros.inc"
  32.  
  33. SEGMENT _text PAGE PUBLIC 'CODE'
  34. ASSUME CS:_text
  35. ASSUME DS:DGROUP
  36.  
  37. instalign       EQU 1
  38.  
  39. MACRO   instheader iname,radd
  40. ALIGN   instalign
  41. r_&iname:
  42. IFIDN   <radd>,<2>
  43.     INC     [sRF]
  44. ELSE
  45.     ADD     [sRF],radd/2
  46. ENDIF
  47. iname:
  48. ENDM
  49.  
  50. sz80InitPCSeg:
  51.         InitPCSeg
  52.         RET
  53. sz80wbhlAL:
  54.         wbhl    AL
  55.         RET
  56. sz80performret:
  57.     MOV     BP,[simstack]
  58.     gwordBP sPC
  59.     ADD     BP,2
  60.     MOV     [simstack],BP
  61.         InitPCSeg
  62.         RET
  63. sz80performpushhl:
  64.     MOV     BP,[simstack]           ;E5 PUSH HL
  65.     SUB     BP,2
  66.     MOV     [simstack],BP
  67.     wword   nSHL
  68.         RET
  69.  
  70. SetOPTable:
  71.     PUSH    SI
  72.     PUSH    DI
  73.     PUSH    CX
  74.  
  75.     PUSH    ES
  76.     PUSH    DS
  77.     POP     ES
  78.     MOV     SI,OFFSET optabl
  79.     CMP     [emulr],0
  80.     JE      SOPT_Copy
  81.     MOV     SI,OFFSET roptabl
  82. SOPT_Copy:
  83.     MOV     CX,6*256
  84.     MOV     DI,OFFSET opcodes
  85.     CMP     [realtime],0
  86.     JE      SOPT_NoRealTime
  87.     MOV     [rltops],SI
  88.     REP     MOVSW
  89.     MOV     DI,OFFSET opcodes
  90.     MOV     CX,256
  91.     MOV     AX,OFFSET realtime_opcode
  92.     REP     STOSW
  93.     MOV     [opcodes+2*0EDh],OFFSET realtime_ED
  94.     XOR     EBP,EBP
  95.     MOV     BP,[rltclks]
  96.     MOV     [rltcnt],EBP
  97.     MOV     [rltnew],1
  98.     JMP     SOPT_End
  99. SOPT_NoRealTime:
  100.     REP     MOVSW
  101. SOPT_End:
  102.     POP     ES
  103.  
  104.     POP     CX
  105.     POP     DI
  106.     POP     SI
  107.     RET
  108.  
  109. realtime_ED:
  110.     CMP     [rltwait],0
  111.     JNE     realtime_waiting
  112.     MOVZX   BP,[GS:sPC]
  113.     CMP     BP,0B0h
  114.     JC      realtime_opcode
  115.     CMP     BP,0B4h
  116.     JNC     realtime_opcode
  117.     MOV     EBP,EsBC
  118.     ADD     EBP,EBP
  119.     SUB     [rltcnt],EBP
  120.     XOR     EBP,EBP
  121. ;        MOV     BP,[rltops]
  122. ;        JMP     [WORD PTR EsFree*2+EBP]
  123.  
  124. realtime_opcode:
  125.     CMP     [rltwait],0
  126.     JNE     realtime_waiting
  127.  
  128. ;        CMP     [fancyrlt],0
  129. ;        JE      realtime_nofancy
  130. ;        PUSH    CX
  131. ;        MOV     CX,[rltexp]
  132. ;        JCXZ    realtime_fend
  133. ;realtime_slower:
  134. ;        LOOP    realtime_slower
  135. ;realtime_fend:
  136. ;        POP     CX
  137. realtime_nofancy:
  138.     MOV     BP,[EsFree*2+opclogs]
  139.     SUB     [rltcnt],EBP
  140.     JNS     realtime_nowait
  141.     MOV     BP,1
  142.     MOV     [rltwait],BP
  143.  ;       MOV     [rltwcnt],BP
  144. realtime_nowait:
  145.     XOR     EBP,EBP
  146.     MOV     BP,[rltops]
  147.     JMP     [WORD PTR EsFree*2+EBP]
  148. realtime_waiting:
  149.  ;       INC     [rltwcnt]
  150.     MOV     BP,0
  151.     MOV     [rltwait],BP
  152.     MOV     EBP,[rltcnt]
  153.     OR      EBP,EBP
  154.     JNS     realtime_nowait
  155.     DEC     sPC
  156.     XOR     EBP,EBP
  157.     INC     BP
  158.     MOV     [rltwait],BP
  159.     JMP     simz80l
  160. realtime_waitend:
  161.     XOR     EBP,EBP
  162.     MOV     [rltwait],BP
  163.     CMP     [fancyrlt],0
  164.     JE      realtime_nowait
  165.     CMP     [rltwcnt],100
  166.     JC      realtime_nowait
  167.     INC     [rltexp]
  168.     JMP     realtime_nowait
  169.  
  170. SpecialOccasion:
  171.     MOV     sFree,[intflag]   ; * intflag : 4000 int,
  172.     TEST    sFree,100h        ; * 0001: RethinkCRTC, 0002: EI
  173.     JZ      SPOC_nokeyreq     ; * 0004: RethinkPSG, 0008: ClearCRTCDBuf
  174.     CALL    keys
  175.     AND     [intflag],0feffh
  176. SPOC_nokeyreq:
  177.     TEST    sFree,2000h
  178.     JZ      SPOC_norealint
  179.     AND     [intflag],0dfffh
  180.     CMP     [haltactive],0
  181.     JE      SPOC_NoHalt
  182.     INC     sPC
  183.     MOV     [haltactive],0
  184. SPOC_NoHalt:
  185.     CMP     [rltnew],0
  186.     JE      SPOC_norlt
  187.     CMP     [rltnew],1
  188.     JNE     SPOC_rltnotnew
  189.     MOV     [rltnew],2
  190.     MOV     BP,[rltclks]
  191.     MOV     [rltcnt],EBP
  192.     MOV     [rltwait],0
  193. SPOC_rltnotnew:
  194. ;        CMP     [fancyrlt],0
  195. ;        JE      SPOC_nofrlt
  196. ;        MOV     EBP,[rltcnt]
  197. ;        OR      EBP,EBP
  198. ;        JS      SPOC_frltend
  199. ;        CMP     [rltexp],0
  200. ;        JE      SPOC_frltend
  201. ;        DEC     [rltexp]
  202. ;SPOC_frltend:
  203. ;        XOR     EBP,EBP
  204. ;SPOC_nofrlt:
  205.     MOV     BP,[rltclks]
  206.     ADD     [rltcnt],EBP
  207.     JS      SPOC_noint
  208. SPOC_norlt:
  209.     CMP     [sIFF1],0
  210.     JE      SHORT SPOC_intdisable
  211.     BT      sFree,0
  212.     JC      SHORT SPOC_intdisable      ; redraw completely before int
  213.     PUSH    sFree
  214.     CALL    interrupt
  215.     POP     sFree
  216.     MOV     [intreq],0
  217.     JMP     SPOC_noint
  218. SPOC_intdisable:
  219.     MOV     [intreq],1
  220.     JMP     SPOC_noint
  221. SPOC_norealint:
  222.     TEST    sFree,4000h
  223.     JZ      SPOC_noint
  224.     CALL    DoJoystick
  225.  
  226.     AND     [intflag],09fffh
  227.     OR      [intflag],2000h
  228. SPOC_noint:
  229.     BT      sFree,1
  230.     JNC     SHORT SPOC_noEI
  231.     MOV     [sIFF1],1
  232.     MOV     [sIFF2],1
  233.     AND     [intflag],0FFFDh
  234.     CMP     [intreq],0
  235.     JE      SHORT SPOC_noEI
  236.     OR      [intflag],2000h
  237. SPOC_noEI:
  238.     BT      sFree,0
  239.     JNC     SHORT SPOC_noRedraw
  240.     SUB     [ReDrawCount],1
  241.     JNC     SHORT SPOC_noRedraw
  242.     CALL    RethinkCRTC
  243.     AND     [intflag],0FFFEh
  244. SPOC_noRedraw:
  245.     BT      sFree,2
  246.     JNC     SHORT SPOC_noPSG
  247.         MOV     BP,[PSGcount]
  248.         OR      BP,BP
  249.         JZ      SPOC_PSG
  250.         DEC     BP
  251.         MOV     [PSGcount],BP
  252.     JMP     SHORT SPOC_noPSG
  253. SPOC_PSG:
  254.     CALL    RethinkPSG
  255.     AND     [intflag],0FFFBh
  256. SPOC_noPSG:
  257.     BT      sFree,3
  258.     JNC     SHORT SPOC_noClearCRTCDBuf
  259.     CALL    ClearCRTCDbuf
  260.     AND     [intflag],0FFF7h
  261. SPOC_noClearCRTCDBuf:
  262.     BT      sFree,15
  263.     JNC     SPOC_NoPrtState
  264.     CALL    GetPrtState
  265.     AND     [intflag],7fffh
  266. SPOC_NoPrtState:
  267.     JMP     sz80gb
  268.  
  269.  ; ************************************************** Z80 entry
  270.  
  271. simz80: MOV     DX,[normramseg]
  272.     MOV     ES,DX
  273.     MOV     [intflag],0
  274.     CALL    SetOPTable
  275.     InitPCSeg
  276. simz80l:
  277.     TEST    [intflag],0ffffh
  278.     JNZ     SpecialOccasion
  279. sz80gb: ;CMP     sPC,0A000h
  280.     ;JE      break80
  281. sz80l_gbytepc:
  282.     gbpc
  283.     JMP     [EsFree*2+opcodes]
  284.  
  285. break80:
  286.     JMP     sz80l_gbytepc
  287.  
  288. interrupt:
  289.     MOV     [sIFF1],0
  290.     MOV     [sIFF2],0
  291.     CMP     [imode],2
  292.     JE      int_mode2
  293.     INC     [sRF]
  294.     MOV     BP,[simstack]
  295.     SUB     BP,2
  296.     MOV     [simstack],BP
  297.     wword   sPC
  298.     MOV     sPC,38h
  299.     InitPCSeg
  300.     RET
  301. int_mode2:
  302.     MOV     BP,[simstack]
  303.     SUB     BP,2
  304.     MOV     [simstack],BP
  305.     wword   sPC
  306.     PUSH    nsHL
  307.     PUSH    AX
  308.     MOV     sH,[BYTE PTR srI]
  309.     MOV     sL,0ffh
  310.     gbhl    AL
  311.     INC     nsHL
  312.     gbhl    AH
  313.     MOV     sPC,AX
  314.     POP     AX
  315.     POP     nsHL
  316.     InitPCSeg
  317.     RET
  318.  
  319. keys:
  320.     CMP     [keycode],0
  321.     JE      keys_ret
  322.  
  323.     CMP     [keycode],68            ; F10: bye bye
  324.     JE      cleanup
  325.     CMP     [keycode],67            ; F9:  multimodescroll
  326.     JNE     keys_nomultiscroll
  327.     CMP     [multimodeon],0
  328.     JE      keys_nomultiscroll
  329.     PUSHAW
  330.     MOV     SI,OFFSET modezones+5
  331.     MOV     AL,[SI]
  332.     DEC     SI
  333.     MOV     AH,[SI]
  334.     MOV     [SI+1],AH
  335.     DEC     SI
  336.     MOV     AH,[SI]
  337.     MOV     [SI+1],AH
  338.     DEC     SI
  339.     MOV     AH,[SI]
  340.     MOV     [SI+1],AH
  341.     DEC     SI
  342.     MOV     AH,[SI]
  343.     MOV     [SI+1],AH
  344.     DEC     SI
  345.     MOV     AH,[SI]
  346.     MOV     [SI+1],AH
  347.     MOV     [SI],AL
  348.     MOV     SI,OFFSET modeffoff+5
  349.     MOV     AL,[SI]
  350.     DEC     SI
  351.     MOV     AH,[SI]
  352.     MOV     [SI+1],AH
  353.     DEC     SI
  354.     MOV     AH,[SI]
  355.     MOV     [SI+1],AH
  356.     DEC     SI
  357.     MOV     AH,[SI]
  358.     MOV     [SI+1],AH
  359.     DEC     SI
  360.     MOV     AH,[SI]
  361.     MOV     [SI+1],AH
  362.     DEC     SI
  363.     MOV     AH,[SI]
  364.     MOV     [SI+1],AH
  365.     MOV     [SI],AL
  366.     POPAW
  367.     OR      [multimodeon],40h
  368.     CALL    RethinkCRTC
  369. keys_nomultiscroll:
  370.     CMP     [keycode],63            ; F5: hard reset CPC
  371.     JNE     SHORT keys_noreset
  372.     CALL    reset
  373.     XOR     sFree,sFree
  374. keys_noreset:
  375.     CMP     [keycode],64            ; F6: select diskfile
  376.     JNE     SHORT keys_noselfile
  377.     CALL    SelFile
  378. keys_noselfile:                         ; F7: menu
  379.     CMP     [keycode],65
  380.     JNE     SHORT keys_nomenu
  381.     CALL    Menu
  382.     CALL    SetOPTable
  383. keys_nomenu:
  384.     CMP     [keycode],66            ; F8: slow intspeed
  385.     JNE     SHORT keys_nointswitch
  386.     PUSH    AX
  387.     MOV     AX,[NormISpeed]
  388.     ADD     AX,AX
  389.     ADD     AX,[NormISpeed]
  390.     SUB     AX,[intspeed]
  391.     MOV     [intspeed],AX
  392.     POP     AX
  393. keys_nointswitch:
  394.     CMP     [keycode],59            ; F1: Load snapshot
  395.     JNE     SHORT keys_nosnap
  396.     CALL    SelSnap
  397. keys_nosnap:
  398.     CMP     [keycode],61            ; F1: Load snapshot
  399.     JNE     SHORT keys_nosavesnap
  400.     CALL    SaveSnap
  401. keys_nosavesnap:
  402.     CMP     [keycode],60            ; F2: switch display mode
  403.     JNE     SHORT keys_noPCRTC
  404.     XOR     [PCRTC_MODE],2
  405.     CALL    SetPCsCRTC
  406.     CMP     [PCRTC_MODE],0
  407.     JNE     SHORT keys_noPCRTC
  408.     CALL    RedrawScreen
  409. keys_noPCRTC:
  410.     CMP     [keycode],62
  411.     JNE     keys_nobreak
  412.     NOP
  413. keys_nobreak:
  414.     MOV     [keycode],0
  415. keys_ret:
  416.     RET
  417.  
  418. ;*************************************************************************
  419. ;*                                                                       *
  420. ;*       Opcode simulation routines                                      *
  421. ;*                                                                       *
  422. ;*************************************************************************
  423.  
  424. ALIGN   2
  425. instheader nop00,2
  426.     instend                         ;00 NOP
  427.  
  428. instheader lxib,2
  429.     gwpc    sBC                     ;01 LD BC,nnnn
  430.     instend
  431.  
  432. instheader staxb,2
  433.     wbytead EsBC,AL                 ;02 LD (BC),A
  434.     instend
  435.  
  436. instheader inxb,2
  437.     INC     sBC                     ;03 INC BC
  438.     instend
  439.  
  440. instheader inrb,2
  441.     z80inc  sB                      ;04 INC B
  442.  
  443. instheader dcrb,2
  444.     z80dec  sB                      ;05 DEC B
  445.  
  446. instheader mvib,2
  447.     gbytePC sB                      ;06 LD B,nn
  448.     instend
  449.  
  450. instheader rlc,2
  451.     ROL     AL,1                    ;07 RLCA
  452.     docyf
  453.  
  454. instheader exaf,2
  455.     XCHG    AX,[sAFx]               ;08 EX AF,AF'
  456.     instend
  457.  
  458. instheader dadb,2
  459.     ADD     nSHL,sBC                ;09 ADD HL,BC
  460.     docyf
  461.  
  462. instheader ldaxb,2
  463.     gbytead EsBC,AL                 ;0A LD A,(BC)
  464.     instend
  465.  
  466. instheader dcxb,2
  467.     DEC     sBC                     ;0B DEC BC
  468.     instend
  469.  
  470. instheader inrc,2
  471.     z80inc  sC                      ;0C INC C
  472.  
  473. instheader dcrc,2
  474.     z80dec  sC                      ;0D DEC C
  475.  
  476. instheader mvic,2
  477.     gbytePC sC                      ;0E LD C,nn
  478.     instend
  479.  
  480. instheader rrc,2
  481.     ROR     AL,1                    ;0F RRCA
  482.     docyf
  483.  
  484. instheader djnz,2
  485.     gsbpc                           ;10 DJNZ dd
  486.     DEC     sB
  487.     JZ      simz80l
  488.     jrd0
  489.  
  490. instheader lxid,2
  491.     gwpc    sDE                     ;11 LD DE,nnnn
  492.     instend
  493.  
  494. instheader staxd,2
  495.     wbytead EsDE,AL                 ;12 LD (DE),A
  496.     instend
  497.  
  498. instheader inxd,2
  499.     INC     sDE                     ;13 INC DE
  500.     instend
  501.  
  502. instheader inrd,2
  503.     z80inc  sD                      ;14 INC D
  504.  
  505. instheader dcrd,2
  506.     z80dec  sD                      ;15 DEC D
  507.  
  508. instheader mvid,2
  509.     gbytePC sD                      ;16 LD D,nn
  510.     instend
  511.  
  512. instheader ral,2
  513.     SAHF                            ;17 RLA *flags* (ok)
  514.     RCL     AL,1
  515.     docyf
  516.  
  517. instheader jr,2
  518.     gsbpc                           ;18 JR dd
  519.     jrd0
  520.  
  521. instheader dadd,2
  522.     ADD     nSHL,sDE                ;19 ADD HL,DE
  523.     docyf
  524.  
  525. instheader ldaxd,2
  526.     gbytead EsDE,AL                 ;1A LD A,(DE)
  527.     instend
  528.  
  529. instheader dcxd,2
  530.     DEC     sDE                     ;1B DEC DE
  531.     instend
  532.  
  533. instheader inre,2
  534.     z80inc  sE                      ;1C INC E
  535.  
  536. instheader dcre,2
  537.     z80dec  sE                      ;1D DEC E
  538.  
  539. instheader mvie,2
  540.     gbytePC sE                      ;1E LD E,nn
  541.     instend
  542.  
  543. instheader rar,2
  544.     SAHF                            ;1F RRA
  545.     RCR     AL,1
  546.     docyf
  547.  
  548. instheader jrnz,2
  549.     gsbpc                           ;20 JR NZ,dd
  550.     BT      AX,14
  551.     JC      simz80l
  552.     jrd0
  553.  
  554. instheader lxih,2
  555.     gwpc    nSHL                    ;21 LD HL,nnnn
  556.     instend
  557.  
  558. instheader shldz,2
  559.     gwpc    BP                      ;22 LD (nnnn),HL
  560.     wword   nSHL
  561.     instend
  562.  
  563. instheader inxh,2
  564.     INC     nSHL                    ;23 INC HL
  565.     instend
  566.  
  567. instheader inrh,2
  568.     z80inc  sH                      ;24 INC H
  569.  
  570. instheader dcrh,2
  571.     z80dec  sH                      ;25 DEC H
  572.  
  573. instheader mvih,2
  574.     gbytePC sH                      ;26 LD H,nn
  575.     instend
  576.  
  577. instheader daaz,2
  578.     BT      AX,9                    ;27 DAA
  579.     JC      SHORT daa_sub
  580.     SAHF
  581.     DAA
  582.     MOV     BP,AX
  583.     LAHF
  584.     AND     BP,200h
  585.     AND     AH,0fdh
  586.     OR      AX,BP
  587.     instend
  588. daa_sub:
  589.     SAHF
  590.     DAS
  591.     MOV     BP,AX
  592.     LAHF
  593.     AND     BP,200h
  594.     AND     AH,0fdh
  595.     OR      AX,BP
  596.     instend
  597.  
  598. instheader jrz,2
  599.     gsbpc                           ;28 JR Z,dd
  600.     BT      AX,14
  601.     JNC     simz80l
  602.     jrd0
  603.  
  604. instheader dadh,2
  605.     ADD     nSHL,nSHL               ;29 ADD HL,HL
  606.     docyf
  607.  
  608. instheader lhld,2
  609.     gwpc    BP                      ;2A LD HL,(nnnn)
  610.     gwordBP nSHL
  611.     instend
  612.  
  613. instheader dcxh,2
  614.     DEC     nSHL                    ;2B DEC HL
  615.     instend
  616.  
  617. instheader inrl,2
  618.     z80inc  sL                      ;2C INC L
  619.  
  620. instheader dcrl,2
  621.     z80dec  sL                      ;2D DEC L
  622.  
  623. instheader mvil,2
  624.     gbytePC sL                      ;2E LD L,nn
  625.     instend
  626.  
  627. instheader cma,2
  628.     NOT     AL                      ;2F CPL
  629.     instend
  630.  
  631. instheader jrnc,2
  632.     gsbpc                           ;30 JR NC,dd
  633.     BT      AX,8
  634.     JC      simz80l
  635.     jrd0
  636.  
  637. instheader lxis,2
  638.     gwpc    BP                      ;31 LD SP,nnnn
  639.     MOV     [simstack],BP
  640.     instend
  641.  
  642. instheader sta,2
  643.     gwpc    BP                      ;32 LD (nnnn),A
  644.     wbyte   AL
  645.     instend
  646.  
  647. instheader inxs,2
  648.     INC     [simstack]              ;33 INC SP
  649.     instend
  650.  
  651. instheader inrm,2
  652.     PUSH    sBC                     ;34 INC (HL)
  653.     gbhl    sC
  654.     z80inco sC
  655.     wbhl    sC
  656.     POP     sBC
  657.     instend
  658.  
  659. instheader dcrm,2
  660.     PUSH    sBC                     ;35 DEC (HL)
  661.     gbhl    sC
  662.     z80deco sC
  663.     wbhl    sC
  664.     POP     sBC
  665.     instend
  666.  
  667. instheader mvim,2
  668.     PUSH    sBC                     ;36 LD (HL),nn
  669.     gbytePC sC
  670.     wbhl    sC
  671.     POP     sBC
  672.     instend
  673.  
  674. instheader stcz,2
  675.     OR      AH,1                    ;37 SCF
  676.     AND     AH,0EDh
  677.     instend
  678.  
  679. instheader jrc,2
  680.     gsbpc                           ;38 JR C,dd
  681.     BT      AX,8
  682.     JNC     simz80l
  683.     jrd0
  684.  
  685. instheader dads,2
  686.     ADD     nSHL,[simstack]         ;39 ADD HL,SP
  687.     docyf
  688.  
  689. instheader lda,2
  690.     gwpc    BP                      ;3A LD A,(nnnn)
  691.     gbyteBP AL
  692.     instend
  693.  
  694. instheader dcxs,2
  695.     DEC     [simstack]              ;3B DEC SP
  696.     instend
  697.  
  698. instheader inra,2
  699.     z80inc  AL                      ;3C INC A
  700.  
  701. instheader dcra,2
  702.     z80dec  AL                      ;3D DEC A
  703.  
  704. instheader mvia,2
  705.     gbytePC AL                      ;3E LD A,nn
  706.     instend
  707.  
  708. instheader cmcz,2
  709.     AND     AH,0FDh                 ;3F CCF
  710.     XOR     AH,11h
  711.     instend
  712.  
  713. instheader movebb,2
  714.     instend                         ;40 LD B,B
  715.  
  716. instheader movebc,2
  717.     MOV     sB,sC                   ;41 LD B,C
  718.     instend
  719.  
  720. instheader movebd,2
  721.     MOV     sB,sD                   ;42 LD B,D
  722.     instend
  723.  
  724. instheader movebe,2
  725.     MOV     sB,sE                   ;43 LD B,E
  726.     instend
  727.  
  728. instheader movebh,2
  729.     MOV     sB,sH                   ;44 LD B,H
  730.     instend
  731.  
  732. instheader movebl,2
  733.     MOV     sB,sL                   ;45 LD B,L
  734.     instend
  735.  
  736. instheader movebm,2
  737.     gbhl    sB                      ;46 LD B,(HL)
  738.     instend
  739.  
  740. instheader moveba,2
  741.     MOV     sB,AL                   ;47 LD B,A
  742.     instend
  743.  
  744. instheader movecb,2
  745.     MOV     sC,sB                   ;48 LD C,B
  746.     instend
  747.  
  748. instheader movecc,2
  749.     instend                         ;49 LD C,C
  750.  
  751. instheader movecd,2
  752.     MOV     sC,sD                   ;4A LD C,D
  753.     instend
  754.  
  755. instheader movece,2
  756.     MOV     sC,sE                   ;4B LD C,E
  757.     instend
  758.  
  759. instheader movech,2
  760.     MOV     sC,sH                   ;4C LD C,H
  761.     instend
  762.  
  763. instheader movecl,2
  764.     MOV     sC,sL                   ;4D LD C,L
  765.     instend
  766.  
  767. instheader movecm,2
  768.     gbhl    sC                      ;4E LD C,(HL)
  769.     instend
  770.  
  771. instheader moveca,2
  772.     MOV     sC,AL                   ;4F LD C,A
  773.     instend
  774.  
  775. instheader movedb,2
  776.     MOV     sD,sB                   ;50 LD D,B
  777.     instend
  778.  
  779. instheader movedc,2
  780.     MOV     sD,sC                   ;51 LD D,C
  781.     instend
  782.  
  783. instheader movedd,2
  784.     instend                         ;52 LD D,D
  785.  
  786. instheader movede,2
  787.     MOV     sD,sE                   ;53 LD D,E
  788.     instend
  789.  
  790. instheader movedh,2
  791.     MOV     sD,sH                   ;54 LD D,H
  792.     instend
  793.  
  794. instheader movedl,2
  795.     MOV     sD,sL                   ;55 LD D,L
  796.     instend
  797.  
  798. instheader movedm,2
  799.     gbhl    sD                      ;56 LD D,(HL)
  800.     instend
  801.  
  802. instheader moveda,2
  803.     MOV     sD,AL                   ;57 LD D,A
  804.     instend
  805.  
  806. instheader moveeb,2
  807.     MOV     sE,sB                   ;58 LD E,B
  808.     instend
  809.  
  810. instheader moveec,2
  811.     MOV     sE,sC                   ;59 LD E,C
  812.     instend
  813.  
  814. instheader moveed,2
  815.     MOV     sE,sD                   ;5A LD E,D
  816.     instend
  817.  
  818. instheader moveee,2
  819.     instend                         ;5B LD E,E
  820.  
  821. instheader moveeh,2
  822.     MOV     sE,sH                   ;5C LD E,H
  823.     instend
  824.  
  825. instheader moveel,2
  826.     MOV     sE,sL                   ;5D LD E,L
  827.     instend
  828.  
  829. instheader moveem,2
  830.     gbhl    sE                      ;5E LD E,(HL)
  831.     instend
  832.  
  833. instheader moveea,2
  834.     MOV     sE,AL                   ;5F LD E,A
  835.     instend
  836.  
  837. instheader movehb,2
  838.     MOV     sH,sB                   ;60 LD H,B
  839.     instend
  840.  
  841. instheader movehc,2
  842.     MOV     sH,sC                   ;61 LD H,C
  843.     instend
  844.  
  845. instheader movehd,2
  846.     MOV     sH,sD                   ;62 LD H,D
  847.     instend
  848.  
  849. instheader movehe,2
  850.     MOV     sH,sE                   ;63 LD H,E
  851.     instend
  852.  
  853. instheader movehh,2
  854.     instend                         ;64 LD H,H
  855.  
  856. instheader movehl,2
  857.     MOV     sH,sL                   ;65 LD H,L
  858.     instend
  859.  
  860. instheader movehm,2
  861.     gbhl    sH                      ;66 LD H,(HL)
  862.     instend
  863.  
  864. instheader moveha,2
  865.     MOV     sH,AL                   ;67 LD H,A
  866.     instend
  867.  
  868. instheader movelb,2
  869.     MOV     sL,sB                   ;68 LD L,B
  870.     instend
  871.  
  872. instheader movelc,2
  873.     MOV     sL,sC                   ;69 LD L,C
  874.     instend
  875.  
  876. instheader moveld,2
  877.     MOV     sL,sD                   ;6A LD L,D
  878.     instend
  879.  
  880. instheader movele,2
  881.     MOV     sL,sE                   ;6B LD L,E
  882.     instend
  883.  
  884. instheader movelh,2
  885.     MOV     sL,sH                   ;6C LD L,H
  886.     instend
  887.  
  888. instheader movell,2
  889.     instend                         ;6D LD L,L
  890.  
  891. instheader movelm,2
  892.     gbhl    sL                      ;6E LD L,(HL)
  893.     instend
  894.  
  895. instheader movela,2
  896.     MOV     sL,AL                   ;6F LD L,A
  897.     instend
  898.  
  899. instheader movemb,2
  900.     wbhl    sB                      ;70 LD (HL),B
  901.     instend
  902.  
  903. instheader movemc,2
  904.     wbhl    sC                      ;71 LD (HL),C
  905.     instend
  906.  
  907. instheader movemd,2
  908.     wbhl    sD                      ;72 LD (HL),D
  909.     instend
  910.  
  911. instheader moveme,2
  912.     wbhl    sE                      ;73 LD (HL),E
  913.     instend
  914.  
  915. instheader movemh,2
  916.     wbhl    sH                      ;74 LD (HL),H
  917.     instend
  918.  
  919. instheader moveml,2
  920.     wbhl    sL                      ;75 LD (HL),L
  921.     instend
  922.  
  923. instheader halt,2
  924.     MOV     [haltactive],1          ;76 HALT
  925.     DEC     sPC
  926.     instend
  927.  
  928. instheader movema,2
  929.     wbhl    AL                      ;77 LD (HL),A
  930.     instend
  931.  
  932. instheader moveab,2
  933.     MOV     AL,sB                   ;78 LD A,B
  934.     instend
  935.  
  936. instheader moveac,2
  937.     MOV     AL,sC                   ;79 LD A,C
  938.     instend
  939.  
  940. instheader movead,2
  941.     MOV     AL,sD                   ;7A LD A,D
  942.     instend
  943.  
  944. instheader moveae,2
  945.     MOV     AL,sE                   ;7B LD A,E
  946.     instend
  947.  
  948. instheader moveah,2
  949.     MOV     AL,sH                   ;7C LD A,H
  950.     instend
  951.  
  952. instheader moveal,2
  953.     MOV     AL,sL                   ;7D LD A,L
  954.     instend
  955.  
  956. instheader moveam,2
  957.     gbhl    AL                      ;7E LD A,(HL)
  958.     instend
  959.  
  960. instheader moveaa,2
  961.     instend                         ;7F LD A,A
  962.  
  963. instheader addb,2
  964.     ADD     AL,sB                   ;80 ADD A,B
  965.     flagsetN0
  966.  
  967. instheader addc,2
  968.     ADD     AL,sC                   ;81 ADD A,C
  969.     flagsetN0
  970.  
  971. instheader addd,2
  972.     ADD     AL,sD                   ;82 ADD A,D
  973.     flagsetN0
  974.  
  975. instheader adde,2
  976.     ADD     AL,sE                   ;83 ADD A,E
  977.     flagsetN0
  978.  
  979. instheader addh,2
  980.     ADD     AL,sH                   ;84 ADD A,H
  981.     flagsetN0
  982.  
  983. instheader addl,2
  984.     ADD     AL,sL                   ;85 ADD A,L
  985.     flagsetN0
  986.  
  987. instheader addm,2
  988.     gbhl    AH                      ;86 ADD A,(HL)
  989.     ADD     AL,AH                   ; don't push AH, gets killed anyway
  990.     flagsetN0                       ; in macro
  991.  
  992. instheader adda,2
  993.     ADD     AL,AL                   ;87 ADD A,A
  994.     flagsetN0
  995.  
  996. instheader adcb,2
  997.     SAHF                            ;88 ADC A,B
  998.     ADC     AL,sB
  999.     flagsetN0
  1000.  
  1001. instheader adcc,2
  1002.     SAHF                            ;89 ADC A,C
  1003.     ADC     AL,sC
  1004.     flagsetN0
  1005.  
  1006. instheader adcd,2
  1007.     SAHF                            ;8A ADC A,D
  1008.     ADC     AL,sD
  1009.     flagsetN0
  1010.  
  1011. instheader adce,2
  1012.     SAHF                            ;8B ADC A,E
  1013.     ADC     AL,sE
  1014.     flagsetN0
  1015.  
  1016. instheader adch,2
  1017.     SAHF                            ;8C ADC A,H
  1018.     ADC     AL,sH
  1019.     flagsetN0
  1020.  
  1021. instheader adcl,2
  1022.     SAHF                            ;8D ADC A,L
  1023.     ADC     AL,sL
  1024.     flagsetN0
  1025.  
  1026. instheader adcm,2
  1027.     PUSH    sBC                     ;8E ADC A,(HL)
  1028.     gbhl    sB
  1029.     SAHF
  1030.     ADC     AL,sB
  1031.     POP     sBC
  1032.     flagsetN0
  1033.  
  1034. instheader adca,2
  1035.     SAHF                            ;8F ADC A,A
  1036.     ADC     AL,AL
  1037.     flagsetN0
  1038.  
  1039. instheader subb,2
  1040.     SUB     AL,sB                   ;90 SUB A,B
  1041.     flagsetN1
  1042.  
  1043. instheader subc,2
  1044.     SUB     AL,sC                   ;91 SUB A,C
  1045.     flagsetN1
  1046.  
  1047. instheader subd,2
  1048.     SUB     AL,sD                   ;92 SUB A,D
  1049.     flagsetN1
  1050.  
  1051. instheader sube,2
  1052.     SUB     AL,sE                   ;93 SUB A,E
  1053.     flagsetN1
  1054.  
  1055. instheader subh,2
  1056.     SUB     AL,sH                   ;94 SUB A,H
  1057.     flagsetN1
  1058.  
  1059. instheader subl,2
  1060.     SUB     AL,sL                   ;95 SUB A,L
  1061.     flagsetN1
  1062.  
  1063. instheader subm,2
  1064.     gbhl    AH                      ;96 SUB A,(HL)
  1065.     SUB     AL,AH
  1066.     flagsetN1
  1067.  
  1068. instheader suba,2
  1069.     SUB     AL,AL                   ;97 SUB A,A
  1070.     flagsetN1
  1071.  
  1072. instheader sbbb,2
  1073.     SAHF                            ;98 SBC A,B
  1074.     SBB     AL,sB
  1075.     flagsetN1
  1076.  
  1077. instheader sbbc,2
  1078.     SAHF                            ;99 SBC A,C
  1079.     SBB     AL,sC
  1080.     flagsetN1
  1081.  
  1082. instheader sbbd,2
  1083.     SAHF                            ;9A SBC A,D
  1084.     SBB     AL,sD
  1085.     flagsetN1
  1086.  
  1087. instheader sbbe,2
  1088.     SAHF                            ;9B SBC A,E
  1089.     SBB     AL,sE
  1090.     flagsetN1
  1091.  
  1092. instheader sbbh,2
  1093.     SAHF                            ;9C SBC A,H
  1094.     SBB     AL,sH
  1095.     flagsetN1
  1096.  
  1097. instheader sbbl,2
  1098.     SAHF                            ;9D SBC A,L
  1099.     SBB     AL,sL
  1100.     flagsetN1
  1101.  
  1102. instheader sbbm,2
  1103.     PUSH    sBC                     ;9E SBC A,(HL)
  1104.     gbhl    sB
  1105.     SAHF
  1106.     SBB     AL,sB
  1107.     POP     sBC
  1108.     flagsetN1
  1109.  
  1110. instheader sbba,2
  1111.     SAHF                            ;9F SBC A,A
  1112.     SBB     AL,AL
  1113.     flagsetN1
  1114.  
  1115. instheader andb,2
  1116.     AND     AL,sB                   ;A0 AND A,B
  1117.     LAHF
  1118.     AND     AH,0EDh
  1119.     OR      AH,10h
  1120.     instend
  1121.  
  1122. instheader andc,2
  1123.     AND     AL,sC                   ;A1 AND A,C
  1124.     LAHF
  1125.     AND     AH,0EDh
  1126.     OR      AH,10h
  1127.     instend
  1128.  
  1129. instheader andd,2
  1130.     AND     AL,sD                   ;A2 AND A,D
  1131.     LAHF
  1132.     AND     AH,0EDh
  1133.     OR      AH,10h
  1134.     instend
  1135.  
  1136. instheader ande,2
  1137.     AND     AL,sE                   ;A3 AND A,E
  1138.     LAHF
  1139.     AND     AH,0EDh
  1140.     OR      AH,10h
  1141.     instend
  1142.  
  1143. instheader andh,2
  1144.     AND     AL,sH                   ;A4 AND A,H
  1145.     LAHF
  1146.     AND     AH,0EDh
  1147.     OR      AH,10h
  1148.     instend
  1149.  
  1150. instheader andl,2
  1151.     AND     AL,sL                   ;A5 AND A,L
  1152.     LAHF
  1153.     AND     AH,0EDh
  1154.     OR      AH,10h
  1155.     instend
  1156.  
  1157. instheader andm,2
  1158.     gbhl    AH                      ;A6 AND A,(HL)
  1159.     AND     AL,AH
  1160.     LAHF
  1161.     AND     AH,0EDh
  1162.     OR      AH,10h
  1163.     instend
  1164.  
  1165. instheader anda,2
  1166.     AND     AL,AL                   ;A7 AND A,A
  1167.     LAHF
  1168.     AND     AH,0EDh
  1169.     OR      AH,10h
  1170.     instend
  1171.  
  1172. instheader xrab,2
  1173.     XOR     AL,sB                   ;A8 XOR A,B
  1174.     LAHF
  1175.     AND     AH,0EDh
  1176.     instend
  1177.  
  1178. instheader xrac,2
  1179.     XOR     AL,sC                   ;A9 XOR A,C
  1180.     LAHF
  1181.     AND     AH,0EDh
  1182.     instend
  1183.  
  1184. instheader xrad,2
  1185.     XOR     AL,sD                   ;AA XOR A,D
  1186.     LAHF
  1187.     AND     AH,0EDh
  1188.     instend
  1189.  
  1190. instheader xrae,2
  1191.     XOR     AL,sE                   ;AB XOR A,E
  1192.     LAHF
  1193.     AND     AH,0EDh
  1194.     instend
  1195.  
  1196. instheader xrah,2
  1197.     XOR     AL,sH                   ;AC XOR A,H
  1198.     LAHF
  1199.     AND     AH,0EDh
  1200.     instend
  1201.  
  1202. instheader xral,2
  1203.     XOR     AL,sL                   ;AD XOR A,L
  1204.     LAHF
  1205.     AND     AH,0EDh
  1206.     instend
  1207.  
  1208. instheader xram,2
  1209.     gbhl    AH                      ;AE XOR A,(HL)
  1210.     XOR     AL,AH
  1211.     LAHF
  1212.     AND     AH,0EDh
  1213.     instend
  1214.  
  1215. instheader xraa,2
  1216.     XOR     AL,AL                   ;AF XOR A,A
  1217.     LAHF
  1218.     AND     AH,0EDh
  1219.     instend
  1220.  
  1221. instheader orab,2
  1222.     OR      AL,sB                   ;B0 OR A,B
  1223.     LAHF
  1224.     AND     AH,0EDh
  1225.     instend
  1226.  
  1227. instheader orac,2
  1228.     OR      AL,sC                   ;B1 OR A,C
  1229.     LAHF
  1230.     AND     AH,0EDh
  1231.     instend
  1232.  
  1233. instheader orad,2
  1234.     OR      AL,sD                   ;B2 OR A,D
  1235.     LAHF
  1236.     AND     AH,0EDh
  1237.     instend
  1238.  
  1239. instheader orae,2
  1240.     OR      AL,sE                   ;B3 OR A,E
  1241.     LAHF
  1242.     AND     AH,0EDh
  1243.     instend
  1244.  
  1245. instheader orah,2
  1246.     OR      AL,sH                   ;B4 OR A,H
  1247.     LAHF
  1248.     AND     AH,0EDh
  1249.     instend
  1250.  
  1251. instheader oral,2
  1252.     OR      AL,sL                   ;B5 OR A,L
  1253.     LAHF
  1254.     AND     AH,0EDh
  1255.     instend
  1256.  
  1257. instheader oram,2
  1258.     gbhl    AH                      ;B6 OR A,(HL)
  1259.     OR      AL,AH
  1260.     LAHF
  1261.     AND     AH,0EDh
  1262.     instend
  1263.  
  1264. instheader oraa,2
  1265.     OR      AL,AL                   ;B7 OR A,A
  1266.     LAHF
  1267.     AND     AH,0EDh
  1268.     instend
  1269.  
  1270. instheader cmpb,2
  1271.     CMP     AL,sB                   ;B8 CP B
  1272.     flagsetN1
  1273.  
  1274. instheader cmpc,2
  1275.     CMP     AL,sC                   ;B9 CP C
  1276.     flagsetN1
  1277.  
  1278. instheader cmpd,2
  1279.     CMP     AL,sD                   ;BA CP D
  1280.     flagsetN1
  1281.  
  1282. instheader cmpe,2
  1283.     CMP     AL,sE                   ;BB CP E
  1284.     flagsetN1
  1285.  
  1286. instheader cmph,2
  1287.     CMP     AL,sH                   ;BC CP H
  1288.     flagsetN1
  1289.  
  1290. instheader cmpl,2
  1291.     CMP     AL,sL                   ;BD CP L
  1292.     flagsetN1
  1293.  
  1294. instheader cmpam,2
  1295.     gbhl    AH                      ;BE CP (HL)
  1296.     CMP     AL,AH
  1297.     flagsetN1
  1298.  
  1299. instheader cmpaa,2
  1300.     CMP     AL,AL                   ;BF CP A
  1301.     flagsetN1
  1302.  
  1303. instheader rnz,2
  1304.     BT      AX,14                   ;C0 RET NZ
  1305.     JC      simz80l
  1306.     ret80
  1307.  
  1308. instheader popb,2
  1309.     MOV     BP,[simstack]           ;C1 POP BC
  1310.     gwordBP sBC
  1311.     ADD     BP,2
  1312.     MOV     [simstack],BP
  1313.     instend
  1314.  
  1315. instheader jnzz,2
  1316.     BT      AX,14                   ;C2 JP NZ,addr
  1317.     JC      SHORT jnzx
  1318.     getPC
  1319.     instend
  1320. jnzx:   ADD     sPC,2
  1321.     instend
  1322.  
  1323. instheader jmpa,2
  1324.     getPC                           ;C3 JP addr
  1325.     instend
  1326.  
  1327. instheader cnz,2
  1328.     BT      AX,14                   ;C4 CALL NZ,addr
  1329.     JNC     SHORT cnzdo
  1330.     ADD     sPC,2
  1331.     instend
  1332. cnzdo:  call80
  1333.  
  1334. instheader pushb,2
  1335.     MOV     BP,[simstack]           ;C5 PUSH BC
  1336.     SUB     BP,2
  1337.     MOV     [simstack],BP
  1338.     wword   sBC
  1339.     instend
  1340.  
  1341. instheader adi,2
  1342.     gbytePC AH                      ;C6 ADD A,nn
  1343.     ADD     AL,AH
  1344.     flagsetN0
  1345.  
  1346. instheader rst0,2
  1347.     rst80   0                       ;C7 RST 0
  1348.  
  1349. instheader rz,2
  1350.     BT      AX,14                   ;C8 RET Z
  1351.     JNC     simz80l
  1352.     ret80
  1353.  
  1354. instheader retz,2
  1355.     ret80                           ;C9 RET
  1356.  
  1357. instheader jzz,2
  1358.     BT      AX,14                   ;CA JP Z,addr
  1359.     JNC     SHORT jzx
  1360.     getPC
  1361.     instend
  1362. jzx:    ADD     sPC,2
  1363.     instend
  1364.  
  1365. instheader cz,2
  1366.     BT      AX,14                   ;CC CALL Z,addr
  1367.     JC      SHORT czdo
  1368.     ADD     sPC,2
  1369.     instend
  1370. czdo:   call80
  1371.  
  1372. instheader callz,2
  1373.     call80                          ;CD CALL addr
  1374.  
  1375. instheader aci,2
  1376.     SAHF                            ;CE ADC A,nn
  1377.     gbytePC AH    ; does not modify C flag! **
  1378.     ADC     AL,AH
  1379.     flagsetN0
  1380.  
  1381. instheader rst1,2
  1382.     rst80   8                       ;CF RST 1
  1383.  
  1384. instheader rnc,2
  1385.     BT      AX,8                    ;D0 RET NC
  1386.     JC      simz80l
  1387.     ret80
  1388.  
  1389. instheader popd,2
  1390.     MOV     BP,[simstack]           ;D1 POP DE
  1391.     gwordBP sDE
  1392.     ADD     BP,2
  1393.     MOV     [simstack],BP
  1394.     instend
  1395.  
  1396. instheader jncz,2
  1397.     BT      AX,8                    ;D2 JP NC,addr
  1398.     JC      SHORT jncx
  1399.     getPC
  1400.     instend
  1401. jncx:   ADD     sPC,2
  1402.     instend
  1403.  
  1404. instheader outz,2
  1405.     PUSH    AX                      ;D3 OUT (nn),A
  1406.     MOV     AH,AL
  1407.     PUSH    sBC
  1408.     gbytePC sC
  1409.     CALL    outp
  1410.     POP     sBC
  1411.     POP     AX
  1412.     instend
  1413.  
  1414. instheader cnc,2
  1415.     BT      AX,8                    ;D4 CALL NC,addr
  1416.     JNC     SHORT cncdo
  1417.     ADD     sPC,2
  1418.     instend
  1419. cncdo:  call80
  1420.  
  1421. instheader pushd,2
  1422.     MOV     BP,[simstack]           ;D5 PUSH DE
  1423.     SUB     BP,2
  1424.     MOV     [simstack],BP
  1425.     wword   sDE
  1426.     instend
  1427.  
  1428. instheader sui,2
  1429.     gbytePC AH                      ;D6 SUB A,nn
  1430.     SUB     AL,AH
  1431.     flagsetN1
  1432.  
  1433. instheader rst2,2
  1434.     rst80   10h                     ;D7 RST,2
  1435.  
  1436. instheader rc,2
  1437.     BT      AX,8                    ;D8 RET C
  1438.     JNC     simz80l
  1439.     ret80
  1440.  
  1441. instheader exx,2
  1442.     XCHG    sBC,[sBCx]              ;D9 EXX
  1443.     XCHG    sDE,[sDEx]
  1444.     XCHG    nSHL,[sHLx]
  1445.     instend
  1446.  
  1447. instheader jcz,2
  1448.     BT      AX,8                    ;DA JP C,addr
  1449.     JNC     SHORT jcx
  1450.     getPC
  1451.     instend
  1452. jcx:    ADD     sPC,2
  1453.     instend
  1454.  
  1455. instheader inz,2
  1456.     PUSH    AX                      ;DB IN A,(nn)
  1457.     MOV AH,AL
  1458.     PUSH    sBC
  1459.     gbytePC sC
  1460.     CALL    inp
  1461.     POP     sBC
  1462.     MOVZX   BP,AL
  1463.     POP     AX
  1464.     XOR     AL,AL
  1465.     OR      AX,BP
  1466.     instend
  1467.  
  1468. instheader cc,2
  1469.     BT      AX,8                    ;DC CALL C,addr
  1470.     JC      SHORT ccdo
  1471.     ADD     sPC,2
  1472.     instend
  1473. ccdo:   call80
  1474.  
  1475. instheader sbi,2
  1476.     SAHF                            ;DE SBC A,nn
  1477.     gbytePC AH
  1478.     SBB     AL,AH
  1479.     flagsetN1
  1480.  
  1481. instheader rst3,2
  1482.     rst80   18h                     ;DF RST 3
  1483.  
  1484. instheader rpo,2
  1485.     BT      AX,10                   ;E0 RET PO
  1486.     JC      simz80l
  1487.     ret80
  1488.  
  1489. instheader poph,2
  1490.     MOV     BP,[simstack]           ;E1 POP HL
  1491.     gwordBP nSHL
  1492.     ADD     BP,2
  1493.     MOV     [simstack],BP
  1494.     instend
  1495.  
  1496. instheader jpoz,2
  1497.     BT      AX,10                   ;E2 JP PO,addr
  1498.     JC      SHORT jpox
  1499.     getPC
  1500.     instend
  1501. jpox:   ADD     sPC,2
  1502.     instend
  1503.  
  1504. instheader xthl,2
  1505.     MOV     BP,[simstack]           ;E3 EX (SP),HL
  1506.     gwordBP sFree
  1507.     PUSH    sFree
  1508.     wword   nSHL
  1509.     POP     nSHL
  1510.     instend
  1511.  
  1512. instheader cpo,2
  1513.     BT      AX,10                   ;E4 CALL PO,addr
  1514.     JNC     SHORT cpodo
  1515.     ADD     sPC,2
  1516.     instend
  1517. cpodo:  call80
  1518.  
  1519. instheader pushh,2
  1520.     MOV     BP,[simstack]           ;E5 PUSH HL
  1521.     SUB     BP,2
  1522.     MOV     [simstack],BP
  1523.     wword   nSHL
  1524.     instend
  1525.  
  1526. instheader ani,2
  1527.     gbytePC AH                      ;E6 AND nn
  1528.     AND     AL,AH
  1529.     LAHF
  1530.     instend
  1531.  
  1532. instheader rst4,2
  1533.     rst80   20h                     ;E7 RST 4
  1534.  
  1535. instheader rpe,2
  1536.     BT      AX,10                   ;E8 RET PE
  1537.     JNC     simz80l
  1538.     ret80
  1539.  
  1540. instheader pchl,2
  1541.     MOV     sPC,nSHL                ;E9 JP (HL)
  1542.     InitPCSeg
  1543.     instend
  1544.  
  1545. instheader jpez,2
  1546.     BT      AX,10                   ;EA JP PE,addr
  1547.     JNC     SHORT jpex
  1548.     getPC
  1549.     instend
  1550. jpex:   ADD     sPC,2
  1551.     instend
  1552.  
  1553. instheader xchgz,2
  1554.     XCHG    nSHL,sDE                ;EB EX DE,HL
  1555.     instend
  1556.  
  1557. instheader cpe,2
  1558.     BT      AX,10                   ;EC CALL PE,addr
  1559.     JC      SHORT cpedo
  1560.     ADD     sPC,2
  1561.     instend
  1562. cpedo:  call80
  1563.  
  1564. instheader xri,2
  1565.     gbytePC AH                      ;EE XOR nn
  1566.     XOR     AL,AH
  1567.     LAHF
  1568.     AND     AH,0EDh
  1569.     instend
  1570.  
  1571. instheader rst5,2
  1572.     rst80   28h                     ;EF RST 5
  1573.  
  1574. instheader rp,2
  1575.     BT      AX,15                   ;F0 RET P
  1576.     JC      simz80l
  1577.     ret80
  1578.  
  1579. instheader popp,2
  1580.     MOV     BP,[simstack]           ;F1 POP AF
  1581.     gwordBP AX
  1582.     ROL     AX,8
  1583.     ADD     BP,2
  1584.     MOV     [simstack],BP
  1585.     instend
  1586.  
  1587. instheader jpz,2
  1588.     BT      AX,15                   ;F2 JP P,addr
  1589.     JC      SHORT jpx
  1590.     getPC
  1591.     instend
  1592. jpx:    ADD     sPC,2
  1593.     instend
  1594.  
  1595. instheader diz,2
  1596.     MOV     [sIFF1],0               ;F3 DI
  1597.     MOV     [sIFF2],0
  1598.     instend
  1599.  
  1600. instheader cp,2
  1601.     BT      AX,15                   ;F4 CALL P,addr
  1602.     JNC     SHORT cpdo
  1603.     ADD     sPC,2
  1604.     instend
  1605. cpdo:   call80
  1606.  
  1607. instheader pushp,2
  1608.     MOV     BP,[simstack]           ;F5 PUSH AF
  1609.     SUB     BP,2
  1610.     MOV     [simstack],BP
  1611.     ROL     AX,8
  1612.     wword   AX
  1613.     ROL     AX,8
  1614.     instend
  1615.  
  1616. instheader oria,2
  1617.     gbytePC AH                      ;F6 OR nn
  1618.     OR      AL,AH
  1619.     LAHF
  1620.     AND     AH,0EDh        ; *do this everywhere
  1621.     instend
  1622.  
  1623. instheader rst6,2
  1624.     rst80   30h                     ;F7 RST 6
  1625.  
  1626. instheader rm,2
  1627.     BT      AX,15                   ;F8 RET M
  1628.     JNC     simz80l
  1629.     ret80
  1630.  
  1631. instheader sphl,2
  1632.     MOV     [simstack],nSHL         ;F9 LD SP,HL
  1633.     instend
  1634.  
  1635. instheader jmz,2
  1636.     BT      AX,15                   ;FA JP M,addr
  1637.     JNC     SHORT jmx
  1638.     getPC
  1639.     instend
  1640. jmx:    ADD     sPC,2
  1641.     instend
  1642.  
  1643. instheader ei,2
  1644.     OR      [intflag],2             ;FB EI
  1645.     instend
  1646.  
  1647. instheader cm,2
  1648.     BT      AX,15                   ;FC CALL M,addr
  1649.     JC      SHORT cmdo
  1650.     ADD     sPC,2
  1651.     instend
  1652. cmdo:   call80
  1653.  
  1654. instheader cpi,2
  1655.     gbytePC AH                      ;FE CP nn
  1656.     CMP     AL,AH
  1657.     flagsetN1
  1658.  
  1659. instheader rst7,2
  1660.     rst80   38h                     ;FF RST 7
  1661.  
  1662. ;*************************************************************************
  1663. ;*                                                                       *
  1664. ;*       Z-80 opcode simulation routines                                 *
  1665. ;*                                                                       *
  1666. ;*************************************************************************
  1667.  
  1668. preCB:  gbpc                            ;Grab sub-opcode.
  1669.     JMP     [EsFree*2+opcosCB]
  1670.  
  1671. preDD:  gbpc
  1672.     JMP     [EsFree*2+opcosDD]
  1673.  
  1674. prDDCB: calcind ix                      ;Calculate operand address.
  1675.     PUSH    sFree
  1676.     gbpc                            ;Sub-sub-opcode
  1677.     JMP     [EsFree*2+opcDDCB]
  1678.  
  1679. preED:  gbpc
  1680.     JMP     [EsFree*2+opcosED]
  1681.  
  1682. preFD:  gbpc
  1683.     JMP     [EsFree*2+opcosFD]
  1684.  
  1685. prFDCB: calcind iy                      ;Calculate operand address.
  1686.     PUSH    sFree
  1687.     gbpc                            ;Sub-sub-opcode
  1688.     JMP     [EsFree*2+opcDDCB]
  1689.  
  1690. iDDCB:  POP     BP
  1691.     DEC     sPC
  1692. illgED: instend
  1693.  
  1694. r_iDDCB:
  1695.     POP     BP
  1696. r_illgED:
  1697.     ADD     [sRF],2
  1698.     instend
  1699.  
  1700.  ; *******************************************************************
  1701.  
  1702. instheader rlcb,4
  1703.     ROL     sB,1                    ;CB00 RLC B
  1704.     LAHF
  1705.     addtoc  sB,sFree
  1706.     instend
  1707.  
  1708. instheader rlcc,4
  1709.     ROL     sC,1                    ;CB01 RLC C
  1710.     LAHF
  1711.     addtoc  sC,sFree
  1712.     instend
  1713.  
  1714. instheader rlcd,4
  1715.     ROL     sD,1                    ;CB02 RLC D
  1716.     LAHF
  1717.     addtoc  sD,sFree
  1718.     instend
  1719.  
  1720. instheader rlce,4
  1721.     ROL     sE,1                    ;CB03 RLC E
  1722.     LAHF
  1723.     addtoc  sE,sFree
  1724.     instend
  1725.  
  1726. instheader rlch,4
  1727.     ROL     sH,1                    ;CB04 RLC H
  1728.     LAHF
  1729.     addtoc  sH,sFree
  1730.     instend
  1731.  
  1732. instheader rlcl,4
  1733.     ROL     sL,1                    ;CB05 RLC L
  1734.     LAHF
  1735.     addtoc  sL,sFree
  1736.     instend
  1737.  
  1738. instheader rlcm,4
  1739.     PUSH    sBC                     ;CB06 RLC (HL)
  1740.     gbhl    sC
  1741.     ROL     sC,1
  1742.     LAHF
  1743.     addtoc  sC,sFree
  1744.     wbhl    sC
  1745.     POP     sBC
  1746.     instend
  1747.  
  1748. instheader rlca,4
  1749.     ROL     AL,1                    ;CB07 RLC A
  1750.     LAHF
  1751.     addtoc  AL,sFree
  1752.     instend
  1753.  
  1754. instheader rrcb,4
  1755.     ROR     sB,1                    ;CB08 RRC B
  1756.     LAHF
  1757.     addtoc  sB,sFree
  1758.     instend
  1759.  
  1760. instheader rrcc,4
  1761.     ROR     sC,1                    ;CB09 RRC C
  1762.     LAHF
  1763.     addtoc  sC,sFree
  1764.     instend
  1765.  
  1766. instheader rrcd,4
  1767.     ROR     sD,1                    ;CB0A RRC D
  1768.     LAHF
  1769.     addtoc  sD,sFree
  1770.     instend
  1771.  
  1772. instheader rrce,4
  1773.     ROR     sE,1                    ;CB0B RRC E
  1774.     LAHF
  1775.     addtoc  sE,sFree
  1776.     instend
  1777.  
  1778. instheader rrch,4
  1779.     ROR     sH,1                    ;CB0C RRC H
  1780.     LAHF
  1781.     addtoc  sH,BP
  1782.     instend
  1783.  
  1784. instheader rrcl,4
  1785.     ROR     sL,1                    ;CB0D RRC L
  1786.     LAHF
  1787.     addtoc  sL,sFree
  1788.     instend
  1789.  
  1790. instheader rrcm,4
  1791.     PUSH    sBC                     ;CB0E RRC (HL)
  1792.     gbhl    sC
  1793.     ROR     sC,1
  1794.     LAHF
  1795.     addtoc  sC,sFree
  1796.     wbhl    sC
  1797.     POP     sBC
  1798.     instend
  1799.  
  1800. instheader rrca,4
  1801.     ROR     AL,1                    ;CB0F RRC A
  1802.     LAHF
  1803.     addtoc  AL,sFree
  1804.     instend
  1805.  
  1806. instheader rlrb,4
  1807.     SAHF                            ;CB10 RL B
  1808.     RCL     sB,1
  1809.     LAHF
  1810.     addtoc  sB,sFree
  1811.     instend
  1812.  
  1813. instheader rlrc,4
  1814.     SAHF                            ;CB11 RL C
  1815.     RCL     sC,1
  1816.     LAHF
  1817.     addtoc  sC,sFree
  1818.     instend
  1819.  
  1820. instheader rlrd,4
  1821.     SAHF                            ;CB12 RL D
  1822.     RCL     sD,1
  1823.     LAHF
  1824.     addtoc  sD,sFree
  1825.     instend
  1826.  
  1827. instheader rlre,4
  1828.     SAHF                            ;CB13 RL E
  1829.     RCL     sE,1
  1830.     LAHF
  1831.     addtoc  sE,sFree
  1832.     instend
  1833.  
  1834. instheader rlrh,4
  1835.     SAHF                            ;CB14 RL H
  1836.     RCL     sH,1
  1837.     LAHF
  1838.     addtoc  sH,sFree
  1839.     instend
  1840.  
  1841. instheader rlrl,4
  1842.     SAHF                            ;CB15 RL L
  1843.     RCL     sL,1
  1844.     LAHF
  1845.     addtoc  sL,sFree
  1846.     instend
  1847.  
  1848. instheader rlrm,4
  1849.     PUSH    sBC                     ;CB16 RL (HL)
  1850.     gbhl    sC
  1851.     SAHF
  1852.     RCL     sC,1
  1853.     LAHF
  1854.     addtoc  sC,sFree
  1855.     wbhl    sC
  1856.     POP     sBC
  1857.     instend
  1858.  
  1859. instheader rlra,4
  1860.     SAHF                            ;CB17 RL A
  1861.     RCL     AL,1
  1862.     LAHF
  1863.     addtoc  AL,sFree
  1864.     instend
  1865.  
  1866. instheader rrrb,4
  1867.     SAHF                            ;CB18 RR B
  1868.     RCR     sB,1
  1869.     LAHF
  1870.     addtoc  sB,sFree
  1871.     instend
  1872.  
  1873. instheader rrrc,4
  1874.     SAHF                            ;CB19 RR C
  1875.     RCR     sC,1
  1876.     LAHF
  1877.     addtoc  sC,sFree
  1878.     instend
  1879.  
  1880. instheader rrrd,4
  1881.     SAHF                            ;CB1A RR D
  1882.     RCR     sD,1
  1883.     LAHF
  1884.     addtoc  sD,sFree
  1885.     instend
  1886.  
  1887. instheader rrre,4
  1888.     SAHF                            ;CB1B RR E
  1889.     RCR     sE,1
  1890.     LAHF
  1891.     addtoc  sE,sFree
  1892.     instend
  1893.  
  1894. instheader rrrh,4
  1895.     SAHF                            ;CB1C RR H
  1896.     RCR     sH,1
  1897.     LAHF
  1898.     addtoc  sH,sFree
  1899.     instend
  1900.  
  1901. instheader rrrl,4
  1902.     SAHF                            ;CB1D RR L
  1903.     RCR     sL,1
  1904.     LAHF
  1905.     addtoc  sL,sFree
  1906.     instend
  1907.  
  1908. instheader rrrm,4
  1909.     PUSH    sBC                     ;CB1E RR (HL)
  1910.     gbhl    sC
  1911.     SAHF
  1912.     RCR     sC,1
  1913.     LAHF
  1914.     addtoc  sC,sFree
  1915.     wbhl    sC
  1916.     POP     sBC
  1917.     instend
  1918.  
  1919. instheader rrra,4
  1920.     SAHF                            ;CB1F RR A
  1921.     RCR     AL,1
  1922.     LAHF
  1923.     addtoc  AL,sFree
  1924.     instend
  1925.  
  1926. instheader slab,4
  1927.     SAL     sB,1                    ;CB20 SLA B
  1928.     LAHF
  1929.     instend
  1930.  
  1931. instheader slac,4
  1932.     SAL     sC,1                    ;CB21 SLA C
  1933.     LAHF
  1934.     instend
  1935.  
  1936. instheader slad,4
  1937.     SAL     sD,1                    ;CB22 SLA D
  1938.     LAHF
  1939.     instend
  1940.  
  1941. instheader slae,4
  1942.     SAL     sE,1                    ;CB23 SLA E
  1943.     LAHF
  1944.     instend
  1945.  
  1946. instheader slah,4
  1947.     SAL     sH,1                    ;CB24 SLA H
  1948.     LAHF
  1949.     instend
  1950.  
  1951. instheader slal,4
  1952.     SAL     sL,1                    ;CB25 SLA L
  1953.     LAHF
  1954.     instend
  1955.  
  1956. instheader slam,4
  1957.     PUSH    sBC                     ;CB26 SLA (HL)
  1958.     gbhl    sC
  1959.     SAL     sC,1
  1960.     LAHF
  1961.     wbhl    sC
  1962.     POP     sBC
  1963.     instend
  1964.  
  1965. instheader slaa,4
  1966.     SAL     AL,1                    ;CB27 SLA A
  1967.     LAHF
  1968.     instend
  1969.  
  1970. instheader srab,4
  1971.     SAR     sB,1                    ;CB28 SRA B
  1972.     LAHF
  1973.     instend
  1974.  
  1975. instheader srac,4
  1976.     SAR     sC,1                    ;CB29 SRA C
  1977.     LAHF
  1978.     instend
  1979.  
  1980. instheader srad,4
  1981.     SAR     sD,1                    ;CB2A SRA D
  1982.     LAHF
  1983.     instend
  1984.  
  1985. instheader srae,4
  1986.     SAR     sE,1                    ;CB2B SRA E
  1987.     LAHF
  1988.     instend
  1989.  
  1990. instheader srah,4
  1991.     SAR     sH,1                    ;CB2C SRA H
  1992.     LAHF
  1993.     instend
  1994.  
  1995. instheader sral,4
  1996.     SAR     sL,1                    ;CB2D SRA L
  1997.     LAHF
  1998.     instend
  1999.  
  2000. instheader sram,4
  2001.     PUSH    sBC                     ;CB2E SRA (HL)
  2002.     gbhl    sC
  2003.     SAR     sC,1
  2004.     LAHF
  2005.     wbhl    sC
  2006.     POP     sBC
  2007.     instend
  2008.  
  2009. instheader sraa,4
  2010.     SAR     AL,1                    ;CB2F SRA A
  2011.     LAHF
  2012.     instend
  2013.  
  2014. instheader sllb,4
  2015.     SAL     sB,1                    ;CB30 SLL B
  2016.     LAHF
  2017.     OR      sB,1
  2018.     instend
  2019.  
  2020. instheader sllc,4
  2021.     SAL     sC,1                    ;CB31 SLL C
  2022.     LAHF
  2023.     OR      sC,1
  2024.     instend
  2025.  
  2026. instheader slld,4
  2027.     SAL     sD,1                    ;CB32 SLL D
  2028.     LAHF
  2029.     OR      sD,1
  2030.     instend
  2031.  
  2032. instheader slle,4
  2033.     SAL     sE,1                    ;CB33 SLL E
  2034.     LAHF
  2035.     OR      sE,1
  2036.     instend
  2037.  
  2038. instheader sllh,4
  2039.     SAL     sH,1                    ;CB34 SLL H
  2040.     LAHF
  2041.     OR      sH,1
  2042.     instend
  2043.  
  2044. instheader slll,4
  2045.     SAL     sL,1                    ;CB35 SLL L
  2046.     LAHF
  2047.     OR      sL,1
  2048.     instend
  2049.  
  2050. instheader sllm,4
  2051.     PUSH    sBC                     ;CB36 SLL (HL)
  2052.     gbhl    sC
  2053.     SAL     sC,1
  2054.     LAHF
  2055.     OR      sC,1
  2056.     wbhl    sC
  2057.     POP     sBC
  2058.     instend
  2059.  
  2060. instheader slla,4
  2061.     SAL     AL,1                    ;CB37 SLL A
  2062.     LAHF
  2063.     OR      AL,1
  2064.     instend
  2065.  
  2066. instheader srlb,4
  2067.     SHR     sB,1                    ;CB38 SRL B
  2068.     LAHF
  2069.     instend
  2070.  
  2071. instheader srlc,4
  2072.     SHR     sC,1                    ;CB39 SRL C
  2073.     LAHF
  2074.     instend
  2075.  
  2076. instheader srld,4
  2077.     SHR     sD,1                    ;CB3A SRL D
  2078.     LAHF
  2079.     instend
  2080.  
  2081. instheader srle,4
  2082.     SHR     sE,1                    ;CB3B SRL E
  2083.     LAHF
  2084.     instend
  2085.  
  2086. instheader srlh,4
  2087.     SHR     sH,1                    ;CB3C SRL H
  2088.     LAHF
  2089.     instend
  2090.  
  2091. instheader srll,4
  2092.     SHR     sL,1                    ;CB3D SRL L
  2093.     LAHF
  2094.     instend
  2095.  
  2096. instheader srlm,4
  2097.     PUSH    sBC                     ;CB3E SRL (HL)
  2098.     gbhl    sC
  2099.     SHR     sC,1
  2100.     LAHF
  2101.     wbhl    sC
  2102.     POP     sBC
  2103.     instend
  2104.  
  2105. instheader srla,4
  2106.     SHR     AL,1                    ;CB3F SRL A
  2107.     LAHF
  2108.     instend
  2109.  
  2110. instheader bit0b,4
  2111.     BT      sBC,8                   ;CB40 BIT 0,B
  2112.     dozf
  2113.  
  2114. instheader bit0c,4
  2115.     BT      sBC,0                   ;CB41 BIT 0,C
  2116.     dozf
  2117.  
  2118. instheader bit0d,4
  2119.     BT      sDE,8                   ;CB42 BIT 0,D
  2120.     dozf
  2121.  
  2122. instheader bit0e,4
  2123.     BT      sDE,0                   ;CB43 BIT 0,E
  2124.     dozf
  2125.  
  2126. instheader bit0h,4
  2127.     BT      nSHL,8                  ;CB44 BIT 0,H
  2128.     dozf
  2129.  
  2130. instheader bit0l,4
  2131.     BT      nSHL,0                  ;CB45 BIT 0,L
  2132.     dozf
  2133.  
  2134. instheader bit0m,4
  2135.     gwordhl BP                      ;CB46 BIT 0,(HL)
  2136.     BT      BP,0
  2137.     dozf
  2138.  
  2139. instheader bit0a,4
  2140.     BT      AX,0                    ;CB47 BIT 0,A
  2141.     dozf
  2142.  
  2143. instheader bit1b,4
  2144.     BT      sBC,9                   ;CB48 BIT 1,B
  2145.     dozf
  2146.  
  2147. instheader bit1c,4
  2148.     BT      sBC,1                   ;CB49 BIT 1,C
  2149.     dozf
  2150.  
  2151. instheader bit1d,4
  2152.     BT      sDE,9                   ;CB4A BIT 1,D
  2153.     dozf
  2154.  
  2155. instheader bit1e,4
  2156.     BT      sDE,1                   ;CB4B BIT 1,E
  2157.     dozf
  2158.  
  2159. instheader bit1h,4
  2160.     BT      nSHL,9                  ;CB4C BIT 1,H
  2161.     dozf
  2162.  
  2163. instheader bit1l,4
  2164.     BT      nsHL,1                  ;CB4D BIT 1,L
  2165.     dozf
  2166.  
  2167. instheader bit1m,4
  2168.     gwordhl BP                      ;CB4E BIT 1,(HL)
  2169.     BT      BP,1
  2170.     dozf
  2171.  
  2172. instheader bit1a,4
  2173.     BT      AX,1                    ;CB4F BIT 1,A
  2174.     dozf
  2175.  
  2176. instheader bit2b,4
  2177.     BT      sBC,10                  ;CB50 BIT 2,B
  2178.     dozf
  2179.  
  2180. instheader bit2c,4
  2181.     BT      sBC,2                   ;CB51 BIT 2,C
  2182.     dozf
  2183.  
  2184. instheader bit2d,4
  2185.     BT      sDE,10                  ;CB52 BIT 2,D
  2186.     dozf
  2187.  
  2188. instheader bit2e,4
  2189.     BT      sDE,2                   ;CB53 BIT 2,E
  2190.     dozf
  2191.  
  2192. instheader bit2h,4
  2193.     BT      nSHL,10                 ;CB54 BIT 2,H
  2194.     dozf
  2195.  
  2196. instheader bit2l,4
  2197.     BT      nSHL,2                  ;CB55 BIT 2,L
  2198.     dozf
  2199.  
  2200. instheader bit2m,4
  2201.     gwordhl BP                      ;CB56 BIT 2,(HL)
  2202.     BT      BP,2
  2203.     dozf
  2204.  
  2205. instheader bit2a,4
  2206.     BT      AX,2                    ;CB57 BIT 2,A
  2207.     dozf
  2208.  
  2209. instheader bit3b,4
  2210.     BT      sBC,11                  ;CB58 BIT 3,B
  2211.     dozf
  2212.  
  2213. instheader bit3c,4
  2214.     BT      sBC,3                   ;CB59 BIT 3,C
  2215.     dozf
  2216.  
  2217. instheader bit3d,4
  2218.     BT      sDE,11                  ;CB5A BIT 3,D
  2219.     dozf
  2220.  
  2221. instheader bit3e,4
  2222.     BT      sDE,3                   ;CB5B BIT 3,E
  2223.     dozf
  2224.  
  2225. instheader bit3h,4
  2226.     BT      nSHL,11                 ;CB5C BIT 3,H
  2227.     dozf
  2228.  
  2229. instheader bit3l,4
  2230.     BT      nSHL,3                  ;CB5D BIT 3,L
  2231.     dozf
  2232.  
  2233. instheader bit3m,4
  2234.     gwordhl BP                      ;CB5E BIT 3,(HL)
  2235.     BT      BP,3
  2236.     dozf
  2237.  
  2238. instheader bit3a,4
  2239.     BT      AX,3                    ;CB5F BIT 3,A
  2240.     dozf
  2241.  
  2242. instheader bit4b,4
  2243.     BT      sBC,12                  ;CB60 BIT 4,B
  2244.     dozf
  2245.  
  2246. instheader bit4c,4
  2247.     BT      sBC,4                   ;CB61 BIT 4,C
  2248.     dozf
  2249.  
  2250. instheader bit4d,4
  2251.     BT      sDE,12                  ;CB62 BIT 4,D
  2252.     dozf
  2253.  
  2254. instheader bit4e,4
  2255.     BT      sDE,4                   ;CB63 BIT 4,E
  2256.     dozf
  2257.  
  2258. instheader bit4h,4
  2259.     BT      nSHL,12                 ;CB64 BIT 4,H
  2260.     dozf
  2261.  
  2262. instheader bit4l,4
  2263.     BT      nSHL,4                  ;CB65 BIT 4,L
  2264.     dozf
  2265.  
  2266. instheader bit4m,4
  2267.     gwordhl BP                      ;CB66 BIT 4,(HL)
  2268.     BT      BP,4
  2269.     dozf
  2270.  
  2271. instheader bit4a,4
  2272.     BT      AX,4                    ;CB67 BIT 4,A
  2273.     dozf
  2274.  
  2275. instheader bit5b,4
  2276.     BT      sBC,13                  ;CB68 BIT 5,B
  2277.     dozf
  2278.  
  2279. instheader bit5c,4
  2280.     BT      sBC,5                   ;CB69 BIT 5,C
  2281.     dozf
  2282.  
  2283. instheader bit5d,4
  2284.     BT      sDE,13                  ;CB6A BIT 5,D
  2285.     dozf
  2286.  
  2287. instheader bit5e,4
  2288.     BT      sDE,5                   ;CB6B BIT 5,E
  2289.     dozf
  2290.  
  2291. instheader bit5h,4
  2292.     BT      nSHL,13                 ;CB6C BIT 5,H
  2293.     dozf
  2294.  
  2295. instheader bit5l,4
  2296.     BT      nSHL,5                  ;CB6D BIT 5,L
  2297.     dozf
  2298.  
  2299. instheader bit5m,4
  2300.     gwordhl BP                      ;CB6E BIT 5,(HL)
  2301.     BT      BP,5
  2302.     dozf
  2303.  
  2304. instheader bit5a,4
  2305.     BT      AX,5                    ;CB6F BIT 5,A
  2306.     dozf
  2307.  
  2308. instheader bit6b,4
  2309.     BT      sBC,14                  ;CB70 BIT 6,B
  2310.     dozf
  2311.  
  2312. instheader bit6c,4
  2313.     BT      sBC,6                   ;CB71 BIT 6,C
  2314.     dozf
  2315.  
  2316. instheader bit6d,4
  2317.     BT      sDE,14                  ;CB72 BIT 6,D
  2318.     dozf
  2319.  
  2320. instheader bit6e,4
  2321.     BT      sDE,6                   ;CB73 BIT 6,E
  2322.     dozf
  2323.  
  2324. instheader bit6h,4
  2325.     BT      nSHL,14                 ;CB74 BIT 6,H
  2326.     dozf
  2327.  
  2328. instheader bit6l,4
  2329.     BT      nSHL,6                  ;CB75 BIT 6,L
  2330.     dozf
  2331.  
  2332. instheader bit6m,4
  2333.     gwordhl BP                      ;CB76 BIT 6,(HL)
  2334.     BT      BP,6
  2335.     dozf
  2336.  
  2337. instheader bit6a,4
  2338.     BT      AX,6                    ;CB77 BIT 6,A
  2339.     dozf
  2340.  
  2341. instheader bit7b,4
  2342.     BT      sBC,15                  ;CB78 BIT 7,B
  2343.     dozmf
  2344.  
  2345. instheader bit7c,4
  2346.     BT      sBC,7                   ;CB79 BIT 7,C
  2347.     dozmf
  2348.  
  2349. instheader bit7d,4
  2350.     BT      sDE,15                  ;CB7A BIT 7,D
  2351.     dozmf
  2352.  
  2353. instheader bit7e,4
  2354.     BT      sDE,7                   ;CB7B BIT 7,E
  2355.     dozmf
  2356.  
  2357. instheader bit7h,4
  2358.     BT      nSHL,15                 ;CB7C BIT 7,H
  2359.     dozmf
  2360.  
  2361. instheader bit7l,4
  2362.     BT      nSHL,7                  ;CB7D BIT 7,L
  2363.     dozmf
  2364.  
  2365. instheader bit7m,4
  2366.     gwordhl BP                      ;CB7E BIT 7,(HL)
  2367.     BT      BP,7
  2368.     dozmf
  2369.  
  2370. instheader bit7a,4
  2371.     BT      AX,7                    ;CB7F BIT 7,A
  2372.     dozmf
  2373.  
  2374. instheader res0b,4
  2375.     AND     sB,0FEh                 ;CB80 RES 0,B
  2376.     instend
  2377.  
  2378. instheader res0c,4
  2379.     AND     sC,0FEh                 ;CB81 RES 0,C
  2380.     instend
  2381.  
  2382. instheader res0d,4
  2383.     AND     sD,0FEh                 ;CB82 RES 0,D
  2384.     instend
  2385.  
  2386. instheader res0e,4
  2387.     AND     sE,0FEh                 ;CB83 RES 0,E
  2388.     instend
  2389.  
  2390. instheader res0h,4
  2391.     AND     sH,0FEh                 ;CB84 RES 0,H
  2392.     instend
  2393.  
  2394. instheader res0l,4
  2395.     AND     sL,0FEh                 ;CB85 RES 0,L
  2396.     instend
  2397.  
  2398. instheader res0m,4
  2399.     PUSH    AX                      ;CB86 RES 0,(HL)
  2400.     gbhl    AL
  2401.     AND     AL,0FEh
  2402.     wbhl    AL
  2403.     POP     AX
  2404.     instend
  2405.  
  2406. instheader res0a,4
  2407.     AND     AL,0FEh                 ;CB87 RES 0,A
  2408.     instend
  2409.  
  2410. instheader res1b,4
  2411.     AND     sB,0FDh                 ;CB88 RES 1,B
  2412.     instend
  2413.  
  2414. instheader res1c,4
  2415.     AND     sC,0FDh                 ;CB89 RES 1,C
  2416.     instend
  2417.  
  2418. instheader res1d,4
  2419.     AND     sD,0FDh                 ;CB8A RES 1,D
  2420.     instend
  2421.  
  2422. instheader res1e,4
  2423.     AND     sE,0FDh                 ;CB8B RES 1,E
  2424.     instend
  2425.  
  2426. instheader res1h,4
  2427.     AND     sH,0FDh                 ;CB8C RES 1,H
  2428.     instend
  2429.  
  2430. instheader res1l,4
  2431.     AND     sL,0FDh                 ;CB8D RES 1,L
  2432.     instend
  2433.  
  2434. instheader res1m,4
  2435.     PUSH    AX                      ;CB8E RES 1,(HL)
  2436.     gbhl    AL
  2437.     AND     AL,0FDh
  2438.     wbhl    AL
  2439.     POP     AX
  2440.     instend
  2441.  
  2442. instheader res1a,4
  2443.     AND     AL,0FDh                 ;CB8F RES 1,A
  2444.     instend
  2445.  
  2446. instheader res2b,4
  2447.     AND     sB,0FBh                 ;CB90 RES 2,B
  2448.     instend
  2449.  
  2450. instheader res2c,4
  2451.     AND     sC,0FBh                 ;CB91 RES 2,C
  2452.     instend
  2453.  
  2454. instheader res2d,4
  2455.     AND     sD,0FBh                 ;CB92 RES 2,D
  2456.     instend
  2457.  
  2458. instheader res2e,4
  2459.     AND     sE,0FBh                 ;CB93 RES 2,E
  2460.     instend
  2461.  
  2462. instheader res2h,4
  2463.     AND     sH,0FBh                 ;CB94 RES 2,H
  2464.     instend
  2465.  
  2466. instheader res2l,4
  2467.     AND     sL,0FBh                 ;CB95 RES 2,L
  2468.     instend
  2469.  
  2470. instheader res2m,4
  2471.     PUSH    AX                      ;CB96 RES 2,(HL)
  2472.     gbhl    AL
  2473.     AND     AL,0FBh
  2474.     wbhl    AL
  2475.     POP     AX
  2476.     instend
  2477.  
  2478. instheader res2a,4
  2479.     AND     AL,0FBh                 ;CB97 RES 3,A
  2480.     instend
  2481.  
  2482. instheader res3b,4
  2483.     AND     sB,0F7h                 ;CB98 RES 3,B
  2484.     instend
  2485.  
  2486. instheader res3c,4
  2487.     AND     sC,0F7h                 ;CB99 RES 3,C
  2488.     instend
  2489.  
  2490. instheader res3d,4
  2491.     AND     sD,0F7h                 ;CB9A RES 3,D
  2492.     instend
  2493.  
  2494. instheader res3e,4
  2495.     AND     sE,0F7h                 ;CB9B RES 3,E
  2496.     instend
  2497.  
  2498. instheader res3h,4
  2499.     AND     sH,0F7h                 ;CB9C RES 3,H
  2500.     instend
  2501.  
  2502. instheader res3l,4
  2503.     AND     sL,0F7h                 ;CB9D RES 3,L
  2504.     instend
  2505.  
  2506. instheader res3m,4
  2507.     PUSH    AX                      ;CB9E RES 3,(HL)
  2508.     gbhl    AL
  2509.     AND     AL,0F7h
  2510.     wbhl    AL
  2511.     POP     AX
  2512.     instend
  2513.  
  2514. instheader res3a,4
  2515.     AND     AL,0F7h                 ;CB9F RES 3,A
  2516.     instend
  2517.  
  2518. instheader res4b,4
  2519.     AND     sB,0EFh                 ;CBA0 RES 4,B
  2520.     instend
  2521.  
  2522. instheader res4c,4
  2523.     AND     sC,0EFh                 ;CBA1 RES 4,C
  2524.     instend
  2525.  
  2526. instheader res4d,4
  2527.     AND     sD,0EFh                 ;CBA2 RES 4,D
  2528.     instend
  2529.  
  2530. instheader res4e,4
  2531.     AND     sE,0EFh                 ;CBA3 RES 4,E
  2532.     instend
  2533.  
  2534. instheader res4h,4
  2535.     AND     sH,0EFh                 ;CBA4 RES 4,H
  2536.     instend
  2537.  
  2538. instheader res4l,4
  2539.     AND     sL,0EFh                 ;CBA5 RES 4,L
  2540.     instend
  2541.  
  2542. instheader res4m,4
  2543.     PUSH    AX                      ;CBA6 RES 4,(HL)
  2544.     gbhl    AL
  2545.     AND     AL,0EFh
  2546.     wbhl    AL
  2547.     POP     AX
  2548.     instend
  2549.  
  2550. instheader res4a,4
  2551.     AND     AL,0EFh                 ;CBA7 RES 4,A
  2552.     instend
  2553.  
  2554. instheader res5b,4
  2555.     AND     sB,0DFh                 ;CBA8 RES 5,B
  2556.     instend
  2557.  
  2558. instheader res5c,4
  2559.     AND     sC,0DFh                 ;CBA9 RES 5,C
  2560.     instend
  2561.  
  2562. instheader res5d,4
  2563.     AND     sD,0DFh                 ;CBAA RES 5,D
  2564.     instend
  2565.  
  2566. instheader res5e,4
  2567.     AND     sE,0DFh                 ;CBAB RES 5,E
  2568.     instend
  2569.  
  2570. instheader res5h,4
  2571.     AND     sH,0DFh                 ;CBAC RES 5,H
  2572.     instend
  2573.  
  2574. instheader res5l,4
  2575.     AND     sL,0DFh                 ;CBAD RES 5,L
  2576.     instend
  2577.  
  2578. instheader res5m,4
  2579.     PUSH    AX                      ;CBAE RES 5,(HL)
  2580.     gbhl    AL
  2581.     AND     AL,0DFh
  2582.     wbhl    AL
  2583.     POP     AX
  2584.     instend
  2585.  
  2586. instheader res5a,4
  2587.     AND     AL,0DFh                 ;CBAF RES 5,A
  2588.     instend
  2589.  
  2590. instheader res6b,4
  2591.     AND     sB,0BFh                 ;CBB0 RES 6,B
  2592.     instend
  2593.  
  2594. instheader res6c,4
  2595.     AND     sC,0BFh                 ;CBB1 RES 6,C
  2596.     instend
  2597.  
  2598. instheader res6d,4
  2599.     AND     sD,0BFh                 ;CBB2 RES 6,D
  2600.     instend
  2601.  
  2602. instheader res6e,4
  2603.     AND     sE,0BFh                 ;CBB3 RES 6,E
  2604.     instend
  2605.  
  2606. instheader res6h,4
  2607.     AND     sH,0BFh                 ;CBB4 RES 6,H
  2608.     instend
  2609.  
  2610. instheader res6l,4
  2611.     AND     sL,0BFh                 ;CBB5 RES 6,L
  2612.     instend
  2613.  
  2614. instheader res6m,4
  2615.     PUSH    AX                      ;CBB6 RES 6,(HL)
  2616.     gbhl    AL
  2617.     AND     AL,0BFh
  2618.     wbhl    AL
  2619.     POP     AX
  2620.     instend
  2621.  
  2622. instheader res6a,4
  2623.     AND     AL,0BFh                 ;CBB7 RES 6,A
  2624.     instend
  2625.  
  2626. instheader res7b,4
  2627.     AND     sB,07Fh                 ;CBB8 RES 7,B
  2628.     instend
  2629.  
  2630. instheader res7c,4
  2631.     AND     sC,07Fh                 ;CBB9 RES 7,C
  2632.     instend
  2633.  
  2634. instheader res7d,4
  2635.     AND     sD,07Fh                 ;CBBA RES 7,D
  2636.     instend
  2637.  
  2638. instheader res7e,4
  2639.     AND     sE,07Fh                 ;CBBB RES 7,E
  2640.     instend
  2641.  
  2642. instheader res7h,4
  2643.     AND     sH,07Fh                 ;CBBC RES 7,H
  2644.     instend
  2645.  
  2646. instheader res7l,4
  2647.     AND     sL,07Fh                 ;CBBD RES 7,L
  2648.     instend
  2649.  
  2650. instheader res7m,4
  2651.     PUSH    AX                      ;CBBE RES 7,(HL)
  2652.     gbhl    AL
  2653.     AND     AL,07Fh
  2654.     wbhl    AL
  2655.     POP     AX
  2656.     instend
  2657.  
  2658. instheader res7a,4
  2659.     AND     AL,07Fh                 ;CBBF RES 7,A
  2660.     instend
  2661.  
  2662. instheader set0b,4
  2663.     OR      sB,1                    ;CBC0 SET 0,B
  2664.     instend
  2665.  
  2666. instheader set0c,4
  2667.     OR      sC,1                    ;CBC1 SET 0,C
  2668.     instend
  2669.  
  2670. instheader set0d,4
  2671.     OR      sD,1                    ;CBC2 SET 0,D
  2672.     instend
  2673.  
  2674. instheader set0e,4
  2675.     OR      sE,1                    ;CBC3 SET 0,E
  2676.     instend
  2677.  
  2678. instheader set0h,4
  2679.     OR      sH,1                    ;CBC4 SET 0,H
  2680.     instend
  2681.  
  2682. instheader set0l,4
  2683.     OR      sL,1                    ;CBC5 SET 0,L
  2684.     instend
  2685.  
  2686. instheader set0m,4
  2687.     PUSH    AX                      ;CBC6 SET 0,(HL)
  2688.     gbhl    AL
  2689.     OR      AL,1
  2690.     wbhl    AL
  2691.     POP     AX
  2692.     instend
  2693.  
  2694. instheader set0a,4
  2695.     OR      AL,1                    ;CBC7 SET 0,A
  2696.     instend
  2697.  
  2698. instheader set1b,4
  2699.     OR      sB,2                    ;CBC8 SET 1,B
  2700.     instend
  2701.  
  2702. instheader set1c,4
  2703.     OR      sC,2                    ;CBC9 SET 1,C
  2704.     instend
  2705.  
  2706. instheader set1d,4
  2707.     OR      sD,2                    ;CBCA SET 1,D
  2708.     instend
  2709.  
  2710. instheader set1e,4
  2711.     OR      sE,2                    ;CBCB SET 1,E
  2712.     instend
  2713.  
  2714. instheader set1h,4
  2715.     OR      sH,2                    ;CBCC SET 1,H
  2716.     instend
  2717.  
  2718. instheader set1l,4
  2719.     OR      sL,2                    ;CBCD SET 1,L
  2720.     instend
  2721.  
  2722. instheader set1m,4
  2723.     PUSH    AX                      ;CBCE SET 1,(HL)
  2724.     gbhl    AL
  2725.     OR      AL,2
  2726.     wbhl    AL
  2727.     POP     AX
  2728.     instend
  2729.  
  2730. instheader set1a,4
  2731.     OR      AL,2                    ;CBCF SET 1,A
  2732.     instend
  2733.  
  2734. instheader set2b,4
  2735.     OR      sB,4                    ;CBD0 SET 2,B
  2736.     instend
  2737.  
  2738. instheader set2c,4
  2739.     OR      sC,4                    ;CBD1 SET 2,C
  2740.     instend
  2741.  
  2742. instheader set2d,4
  2743.     OR      sD,4                    ;CBD2 SET 2,D
  2744.     instend
  2745.  
  2746. instheader set2e,4
  2747.     OR      sE,4                    ;CBD3 SET 2,E
  2748.     instend
  2749.  
  2750. instheader set2h,4
  2751.     OR      sH,4                    ;CBD4 SET 2,H
  2752.     instend
  2753.  
  2754. instheader set2l,4
  2755.     OR      sL,4                    ;CBD5 SET 2,L
  2756.     instend
  2757.  
  2758. instheader set2m,4
  2759.     PUSH    AX                      ;CBD6 SET 2,(HL)
  2760.     gbhl    AL
  2761.     OR      AL,4
  2762.     wbhl    AL
  2763.     POP     AX
  2764.     instend
  2765.  
  2766. instheader set2a,4
  2767.     OR      AL,4                    ;CBD7 SET 2,A
  2768.     instend
  2769.  
  2770. instheader set3b,4
  2771.     OR      sB,8                    ;CBD8 SET 3,B
  2772.     instend
  2773.  
  2774. instheader set3c,4
  2775.     OR      sC,8                    ;CBD9 SET 3,C
  2776.     instend
  2777.  
  2778. instheader set3d,4
  2779.     OR      sD,8                    ;CBDA SET 3,D
  2780.     instend
  2781.  
  2782. instheader set3e,4
  2783.     OR      sE,8                    ;CBDB SET 3,E
  2784.     instend
  2785.  
  2786. instheader set3h,4
  2787.     OR      sH,8                    ;CBDC SET 3,H
  2788.     instend
  2789.  
  2790. instheader set3l,4
  2791.     OR      sL,8                    ;CBDD SET 3,L
  2792.     instend
  2793.  
  2794. instheader set3m,4
  2795.     PUSH    AX                      ;CBDE SET 3,(HL)
  2796.     gbhl    AL
  2797.     OR      AL,8
  2798.     wbhl    AL
  2799.     POP     AX
  2800.     instend
  2801.  
  2802. instheader set3a,4
  2803.     OR      AL,8                    ;CBDF SET 3,A
  2804.     instend
  2805.  
  2806. instheader set4b,4
  2807.     OR      sB,16                   ;CBE0 SET 4,B
  2808.     instend
  2809.  
  2810. instheader set4c,4
  2811.     OR      sC,16                   ;CBE1 SET 4,C
  2812.     instend
  2813.  
  2814. instheader set4d,4
  2815.     OR      sD,16                   ;CBE2 SET 4,D
  2816.     instend
  2817.  
  2818. instheader set4e,4
  2819.     OR      sE,16                   ;CBE3 SET 4,E
  2820.     instend
  2821.  
  2822. instheader set4h,4
  2823.     OR      sH,16                   ;CBE4 SET 4,H
  2824.     instend
  2825.  
  2826. instheader set4l,4
  2827.     OR      sL,16                   ;CBE5 SET 4,L
  2828.     instend
  2829.  
  2830. instheader set4m,4
  2831.     PUSH    AX                      ;CBE6 SET 4,(HL)
  2832.     gbhl    AL
  2833.     OR      AL,16
  2834.     wbhl    AL
  2835.     POP     AX
  2836.     instend
  2837.  
  2838. instheader set4a,4
  2839.     OR      AL,16                   ;CBE7 SET 4,A
  2840.     instend
  2841.  
  2842. instheader set5b,4
  2843.     OR      sB,32                   ;CBE8 SET 5,B
  2844.     instend
  2845.  
  2846. instheader set5c,4
  2847.     OR      sC,32                   ;CBE9 SET 5,C
  2848.     instend
  2849.  
  2850. instheader set5d,4
  2851.     OR      sD,32                   ;CBEA SET 5,D
  2852.     instend
  2853.  
  2854. instheader set5e,4
  2855.     OR      sE,32                   ;CBEB SET 5,E
  2856.     instend
  2857.  
  2858. instheader set5h,4
  2859.     OR      sH,32                   ;CBEC SET 5,H
  2860.     instend
  2861.  
  2862. instheader set5l,4
  2863.     OR      sL,32                   ;CBED SET 5,L
  2864.     instend
  2865.  
  2866. instheader set5m,4
  2867.     PUSH    AX                      ;CBEE SET 5,(HL)
  2868.     gbhl    AL
  2869.     OR      AL,32
  2870.     wbhl    AL
  2871.     POP     AX
  2872.     instend
  2873.  
  2874. instheader set5a,4
  2875.     OR      AL,32                   ;CBEF SET 5,A
  2876.     instend
  2877.  
  2878. instheader set6b,4
  2879.     OR      sB,64                   ;CBE0 SET 6,B
  2880.     instend
  2881.  
  2882. instheader set6c,4
  2883.     OR      sC,64                   ;CBF1 SET 6,C
  2884.     instend
  2885.  
  2886. instheader set6d,4
  2887.     OR      sD,64                   ;CBF2 SET 6,D
  2888.     instend
  2889.  
  2890. instheader set6e,4
  2891.     OR      sE,64                   ;CBF3 SET 6,E
  2892.     instend
  2893.  
  2894. instheader set6h,4
  2895.     OR      sH,64                   ;CBF4 SET 6,H
  2896.     instend
  2897.  
  2898. instheader set6l,4
  2899.     OR      sL,64                   ;CBF5 SET 6,L
  2900.     instend
  2901.  
  2902. instheader set6m,4
  2903.     PUSH    AX                      ;CBF6 SET 6,(HL)
  2904.     gbhl    AL
  2905.     OR      AL,64
  2906.     wbhl    AL
  2907.     POP     AX
  2908.     instend
  2909.  
  2910. instheader set6a,4
  2911.     OR      AL,64                   ;CBF7 SET 6,A
  2912.     instend
  2913.  
  2914. instheader set7b,4
  2915.     OR      sB,128                  ;CBF8 SET 7,B
  2916.     instend
  2917.  
  2918. instheader set7c,4
  2919.     OR      sC,128                  ;CBF9 SET 7,C
  2920.     instend
  2921.  
  2922. instheader set7d,4
  2923.     OR      sD,128                  ;CBFA SET 7,D
  2924.     instend
  2925.  
  2926. instheader set7e,4
  2927.     OR      sE,128                  ;CBFB SET 7,E
  2928.     instend
  2929.  
  2930. instheader set7h,4
  2931.     OR      sH,128                  ;CBFC SET 7,H
  2932.     instend
  2933.  
  2934. instheader set7l,4
  2935.     OR      sL,128                  ;CBFD SET 7,L
  2936.     instend
  2937.  
  2938. instheader set7m,4
  2939.     PUSH    AX                      ;CBFE SET 7,(HL)
  2940.     gbhl    AL
  2941.     OR      AL,128
  2942.     wbhl    AL
  2943.     POP     AX
  2944.     instend
  2945.  
  2946. instheader set7a,4
  2947.     OR      AL,128                  ;CBFF SET 7,A
  2948.     instend
  2949.  
  2950. instheader dadixb,4
  2951.     ADD     [ix],sBC                ;DD09 ADD IX,BC
  2952.     docyf
  2953.  
  2954. instheader dadixd,4
  2955.     ADD     [ix],sDE                ;DD19 ADD IX,DE
  2956.     docyf
  2957.  
  2958. instheader lxiix,4
  2959.     gwpc    BP                      ;DD21 LD IX,nnnn
  2960.     MOV     [ix],BP
  2961.     instend
  2962.  
  2963. instheader sixd,4
  2964.     PUSH    sDE                     ;DD22 LD (addr),IX
  2965.     gwpc    BP
  2966.     MOV     sDE,[ix]
  2967.     wword   sDE
  2968.     POP     sDE
  2969.     instend
  2970.  
  2971. instheader inxix,4
  2972.     INC     [ix]                    ;DD23 INC IX
  2973.     instend
  2974.  
  2975. instheader inrxh,4
  2976.     z80inc  [xh]                    ;DD24 INC XH (undocumented)
  2977.  
  2978. instheader dcrxh,4
  2979.     z80dec  [xh]                    ;DD25 DEC XH (undocumented)
  2980.  
  2981. instheader mvixh,4
  2982.     PUSH    AX                      ;DD26 LD XH,nn (undocumented)
  2983.     gbytePC AL
  2984.     MOV     [xh],AL
  2985.     POP     AX
  2986.     instend
  2987.  
  2988. instheader dadixx,4
  2989.     MOV     BP,[ix]                 ;DD29 ADD IX,IX
  2990.     ADD     [ix],BP
  2991.     docyf
  2992.  
  2993. instheader lixd,4
  2994.     gwpc    BP                      ;DD2A LD IX,(addr)
  2995.     gwordBP BP
  2996.     MOV     [ix],BP
  2997.     instend
  2998.  
  2999. instheader dcxix,4
  3000.     DEC     [ix]                    ;DD2B DEC IX
  3001.     instend
  3002.  
  3003. instheader inrxl,4
  3004.     z80inc  [xl]                    ;DD2C INC XL (undocumented)
  3005.  
  3006. instheader dcrxl,4
  3007.     z80dec  [xl]                    ;DD2D DEC XL (undocumented)
  3008.  
  3009. instheader mvixl,4
  3010.     PUSH    AX                      ;DD2E LD XL,nn (undocumented)
  3011.     gbytePC AL
  3012.     MOV     [xl],AL
  3013.     POP     AX
  3014.     instend
  3015.  
  3016. instheader inrix,4
  3017.     calcind ix                      ;DD34 INC (IX+d)
  3018.     PUSH    sBC
  3019.     gbytefr sC
  3020.     z80inco sC
  3021.     wbytefr sC
  3022.     POP     sBC
  3023.     instend
  3024.  
  3025. instheader dcrix,4
  3026.     calcind ix                      ;DD35 DEC (IX+d)
  3027.     PUSH    sBC
  3028.     gbytefr sC
  3029.     z80deco sC
  3030.     wbytefr sC
  3031.     POP     sBC
  3032.     instend
  3033.  
  3034. instheader mviix,4
  3035.     calcind ix                      ;DD36 LD (IX+d),nn
  3036.     PUSH    AX
  3037.     gbytePC AL
  3038.     wbytefr AL
  3039.     POP     AX
  3040.     instend
  3041.  
  3042. instheader dadixs,4
  3043.     MOV     BP,[simstack]           ;DD39 ADD IX,SP
  3044.     ADD     [ix],BP
  3045.     docyf
  3046.  
  3047. instheader movbxh,4
  3048.     MOV     sB,[xh]                 ;DD44 LD B,XH (undocumented)
  3049.     instend
  3050.  
  3051. instheader movbxl,4
  3052.     MOV     sB,[xl]                 ;DD45 LD B,XL (undocumented)
  3053.     instend
  3054.  
  3055. instheader movbix,4
  3056.     calcind ix                      ;DD46 LD B,(IX+d)
  3057.     gbytefr sB
  3058.     instend
  3059.  
  3060. instheader movcxh,4
  3061.     MOV     sC,[xh]                 ;DD4C LD C,XH (undocumented)
  3062.     instend
  3063.  
  3064. instheader movcxl,4
  3065.     MOV     sC,[xl]                 ;DD4D LD C,XL (undocumented)
  3066.     instend
  3067.  
  3068. instheader movcix,4
  3069.     calcind ix                      ;DD4E LD C,(IX+d)
  3070.     gbytefr sC
  3071.     instend
  3072.  
  3073. instheader movdxh,4
  3074.     MOV     sD,[xh]                 ;DD54 LD D,XH (undocumented)
  3075.     instend
  3076.  
  3077. instheader movdxl,4
  3078.     MOV     sD,[xl]                 ;DD55 LD D,XL (undocumented)
  3079.     instend
  3080.  
  3081. instheader movdix,4
  3082.     calcind ix                      ;DD56 LD D,(IX+d)
  3083.     gbytefr sD
  3084.     instend
  3085.  
  3086. instheader movexh,4
  3087.     MOV     sE,[xh]                 ;DD5C LD E,XH (undocumented)
  3088.     instend
  3089.  
  3090. instheader movexl,4
  3091.     MOV     sE,[xl]                 ;DD5D LD E,XL (undocumented)
  3092.     instend
  3093.  
  3094. instheader moveix,4
  3095.     calcind ix                      ;DD5E LD E,(IX+d)
  3096.     gbytefr sE
  3097.     instend
  3098.  
  3099. instheader movxhb,4
  3100.     MOV     [xh],sB                 ;DD60 LD XH,B (undocumented)
  3101.     instend
  3102.  
  3103. instheader movxhc,4
  3104.     MOV     [xh],sC                 ;DD61 LD XH,C (undocumented)
  3105.     instend
  3106.  
  3107. instheader movxhd,4
  3108.     MOV     [xh],sD                 ;DD62 LD XH,D (undocumented)
  3109.     instend
  3110.  
  3111. instheader movxhe,4
  3112.     MOV     [xh],sE                 ;DD63 LD XH,E (undocumented)
  3113.     instend
  3114.  
  3115. instheader mvxhxh,4
  3116.     instend                         ;DD64 LD XH,XH (undocumented)
  3117.  
  3118. instheader mvxhxl,4
  3119.     PUSH    AX                      ;DD65 LD XH,XL (undocumented)
  3120.     MOV     AL,[xl]
  3121.     MOV     [xh],AL
  3122.     POP     AX
  3123.     instend
  3124.  
  3125. instheader movhix,4
  3126.     calcind ix                      ;DD66 LD H,(IX+d)
  3127.     gbytefr sH
  3128.     instend
  3129.  
  3130. instheader movxha,4
  3131.     MOV     [xh],AL                 ;DD67 LD XH,A
  3132.     instend
  3133.  
  3134. instheader movxlb,4
  3135.     MOV     [xl],sB                 ;DD68 LD XL,B (undocumented)
  3136.     instend
  3137.  
  3138. instheader movxlc,4
  3139.     MOV     [xl],sC                 ;DD69 LD XL,C (undocumented)
  3140.     instend
  3141.  
  3142. instheader movxld,4
  3143.     MOV     [xl],sD                 ;DD6A LD XL,D (undocumented)
  3144.     instend
  3145.  
  3146. instheader movxle,4
  3147.     MOV     [xl],sE                 ;DD6B LD XL,E (undocumented)
  3148.     instend
  3149.  
  3150. instheader mvxlxh,4
  3151.     PUSH    AX                      ;DD6C LD XL,XH (undocumented)
  3152.     MOV     AL,[xh]
  3153.     MOV     [xl],AL
  3154.     POP     AX
  3155.     instend
  3156.  
  3157. instheader mvxlxl,4
  3158.     instend                         ;DD6D LD XL,XL (undocumented)
  3159.  
  3160. instheader movlix,4
  3161.     calcind ix                      ;DD6E LD L,(IX+d)
  3162.     gbytefr sL
  3163.     instend
  3164.  
  3165. instheader movxla,4
  3166.     MOV     [xl],AL                 ;DD6F LD XL,A
  3167.     instend
  3168.  
  3169. instheader movixb,4
  3170.     calcind ix                      ;DD70 LD (IX+d),B
  3171.     wbytefr sB
  3172.     instend
  3173.  
  3174. instheader movixc,4
  3175.     calcind ix                      ;DD71 LD (IX+d),C
  3176.     wbytefr sC
  3177.     instend
  3178.  
  3179. instheader movixd,4
  3180.     calcind ix                      ;DD72 LD (IX+d),D
  3181.     wbytefr sD
  3182.     instend
  3183.  
  3184. instheader movixe,4
  3185.     calcind ix                      ;DD73 LD (IX+d),E
  3186.     wbytefr sE
  3187.     instend
  3188.  
  3189. instheader movixh,4
  3190.     calcind ix                      ;DD74 LD (IX+d),H
  3191.     wbytefr sH
  3192.     instend
  3193.  
  3194. instheader movixl,4
  3195.     calcind ix                      ;DD75 LD (IX+d),L
  3196.     wbytefr sL
  3197.     instend
  3198.  
  3199. instheader movixa,4
  3200.     calcind ix                      ;DD77 LD (IX+d),A
  3201.     wbytefr AL
  3202.     instend
  3203.  
  3204. instheader movaxh,4
  3205.     MOV     AL,[xh]                 ;DD7C LD A,XH (undocumented)
  3206.     instend
  3207.  
  3208. instheader movaxl,4
  3209.     MOV     AL,[xl]                 ;DD7D LD A,XL (undocumented)
  3210.     instend
  3211.  
  3212. instheader movaix,4
  3213.     calcind ix                      ;DD7E LD A,(IX+d)
  3214.     gbytefr AL
  3215.     instend
  3216.  
  3217. instheader addxh,4
  3218.     ADD     AL,[xh]                 ;DD84 ADD A,XH (undocumented)
  3219.     flagsetN0
  3220.  
  3221. instheader addxl,4
  3222.     ADD     AL,[xl]                 ;DD85 ADD A,XL (undocumented)
  3223.     flagsetN0
  3224.  
  3225. instheader addix,4
  3226.     calcind ix                      ;DD86 ADD A,(IX+d)
  3227.     gbytefr AH
  3228.     ADD     AL,AH
  3229.     flagsetN0
  3230.  
  3231. instheader adcxh,4
  3232.     SAHF                            ;DD8C ADC A,XH (undocumented)
  3233.     ADC     AL,[xh]
  3234.     flagsetN0
  3235.  
  3236. instheader adcxl,4
  3237.     SAHF                            ;DD8E ADC A,XL (undocumented)
  3238.     ADC     AL,[xl]
  3239.     flagsetN0
  3240.  
  3241. instheader adcix,4
  3242.     calcind ix                      ;DD8E ADC A,(IX+d)
  3243.     PUSH    sBC
  3244.     gbytefr sC
  3245.     SAHF
  3246.     ADC     AL,sC
  3247.     POP     sBC
  3248.     flagsetN0
  3249.  
  3250. instheader subxh,4
  3251.     SUB     AL,[xh]                 ;DD94 SUB A,XH (undocumented)
  3252.     flagsetN1
  3253.  
  3254. instheader subxl,4
  3255.     SUB     AL,[xl]                 ;DD95 SUB A,XL (undocumented)
  3256.     flagsetN1
  3257.  
  3258. instheader subix,4
  3259.     calcind ix                      ;DD96 SUB A,(IX+d)
  3260.     gbytefr AH
  3261.     SUB     AL,AH
  3262.     flagsetN1
  3263.  
  3264. instheader sbbxh,4
  3265.     SAHF                            ;DD9C SBC A,XH (undocumented)
  3266.     SBB     AL,[xh]
  3267.     flagsetN1
  3268.  
  3269. instheader sbbxl,4
  3270.     SAHF                            ;DD9D SBC A,XL (undocumented)
  3271.     SBB     AL,[xl]
  3272.     flagsetN1
  3273.  
  3274. instheader sbbix,4
  3275.     calcind ix                      ;DD9E SBC A,(IX+d)
  3276.     PUSH    sBC
  3277.     gbytefr sC
  3278.     SAHF
  3279.     SBB     AL,sC
  3280.     POP     sBC
  3281.     flagsetN1
  3282.  
  3283. instheader anaxh,4
  3284.     AND     AL,[xh]                 ;DDA4 AND A,XH (undocumented)
  3285.     LAHF
  3286.     instend
  3287.  
  3288. instheader anaxl,4
  3289.     AND     AL,[xl]                 ;DDA5 AND A,XL (undocumented)
  3290.     LAHF
  3291.     instend
  3292.  
  3293. instheader anaix,4
  3294.     calcind ix                      ;DDA6 AND A,(IX+d)
  3295.     gbytefr AH
  3296.     AND     AL,AH
  3297.     LAHF
  3298.     instend
  3299.  
  3300. instheader xraxh,4
  3301.     XOR     AL,[xh]                 ;DDAC XOR A,XH (undocumented)
  3302.     LAHF
  3303.     instend
  3304.  
  3305. instheader xraxl,4
  3306.     XOR     AL,[xl]                 ;DDAD XOR A,XL (undocumented)
  3307.     LAHF
  3308.     instend
  3309.  
  3310. instheader xraix,4
  3311.     calcind ix                      ;DDAE XOR A,(IX+d)
  3312.     gbytefr AH
  3313.     XOR     AL,AH
  3314.     LAHF
  3315.     instend
  3316.  
  3317. instheader oraxh,4
  3318.     OR      AL,[xh]                 ;DDB4 OR A,XH (undocumented)
  3319.     LAHF
  3320.     instend
  3321.  
  3322. instheader oraxl,4
  3323.     OR      AL,[xl]                 ;DDB5 OR A,XL (undocumented)
  3324.     LAHF
  3325.     instend
  3326.  
  3327. instheader oraix,4
  3328.     calcind ix                      ;DDB6 OR A,(IX+d)
  3329.     gbytefr AH
  3330.     OR      AL,AH
  3331.     LAHF
  3332.     instend
  3333.  
  3334. instheader cmpxh,4
  3335.     CMP     AL,[xh]                 ;DDBC CP XH (undocumented)
  3336.     flagsetN1
  3337.  
  3338. instheader cmpxl,4
  3339.     CMP     AL,[xl]                 ;DDBD CP XL (undocumented)
  3340.     flagsetN1
  3341.  
  3342. instheader cmpix,4
  3343.     calcind ix                      ;DDBE CP (IX+d)
  3344.     gbytefr AH
  3345.     CMP     AL,AH
  3346.     flagsetN1
  3347.  
  3348. instheader rlcib,4
  3349.     POP     BP                      ;DDCB00 RLC (IX+d) > B
  3350.     gbyteBP sB
  3351.     ROL     sB,1
  3352.     LAHF
  3353.     addtoc  sB,sFree
  3354.     instend
  3355.  
  3356. instheader rlcic,4
  3357.     POP     BP                      ;DDCB01 RLC (IX+d) > C
  3358.     gbyteBP sC
  3359.     ROL     sC,1
  3360.     LAHF
  3361.     addtoc  sC,sFree
  3362.     instend
  3363.  
  3364. instheader rlcid,4
  3365.     POP     BP                      ;DDCB01 RLC (IX+d) > D
  3366.     gbyteBP sD
  3367.     ROL     sD,1
  3368.     LAHF
  3369.     addtoc  sD,sFree
  3370.     instend
  3371.  
  3372. instheader rlcie,4
  3373.     POP     BP                      ;DDCB03 RLC (IX+d) > E
  3374.     gbyteBP sE
  3375.     ROL     sE,1
  3376.     LAHF
  3377.     addtoc  sE,sFree
  3378.     instend
  3379.  
  3380. instheader rlcih,4
  3381.     POP     BP                      ;DDCB04 RLC (IX+d) > H
  3382.     gbyteBP sH
  3383.     ROL     sH,1
  3384.     LAHF
  3385.     addtoc  sH,sFree
  3386.     instend
  3387.  
  3388. instheader rlcil,4
  3389.     POP     BP                      ;DDCB05 RLC (IX+d) > L
  3390.     gbyteBP sL
  3391.     ROL     sL,1
  3392.     LAHF
  3393.     addtoc  sL,sFree
  3394.     instend
  3395.  
  3396. instheader rlcix,4
  3397.     POP     BP                      ;DDCB06 RLC (IX+d)
  3398.     PUSH    sBC
  3399.     gbyteBP sC
  3400.     ROL     sC,1
  3401.     LAHF
  3402.     addtoc  sC,sFree
  3403.     wbyte   sC
  3404.     POP     sBC
  3405.     instend
  3406.  
  3407. instheader rlcia,4
  3408.     POP     BP                      ;DDCB07 RLC (IX+d) > A
  3409.     gbyteBP AL
  3410.     ROL     AL,1
  3411.     LAHF
  3412.     addtoc  AL,sFree
  3413.     instend
  3414.  
  3415. instheader rrcib,4
  3416.     POP     BP                      ;DDCB08 RRC (IX+d) > B
  3417.     gbyteBP sB
  3418.     ROR     sB,1
  3419.     LAHF
  3420.     addtoc  sB,sFree
  3421.     instend
  3422.  
  3423. instheader rrcic,4
  3424.     POP     BP                      ;DDCB09 RRC (IX+d) > C
  3425.     gbyteBP sC
  3426.     ROR     sC,1
  3427.     LAHF
  3428.     addtoc  sC,sFree
  3429.     instend
  3430.  
  3431. instheader rrcid,4
  3432.     POP     BP                      ;DDCB0A RRC (IX+d) > D
  3433.     gbyteBP sD
  3434.     ROR     sD,1
  3435.     LAHF
  3436.     addtoc  sD,sFree
  3437.     instend
  3438.  
  3439. instheader rrcie,4
  3440.     POP     BP                      ;DDCB0B RRC (IX+d) > E
  3441.     gbyteBP sE
  3442.     ROR     sE,1
  3443.     LAHF
  3444.     addtoc  sE,sFree
  3445.     instend
  3446.  
  3447. instheader rrcih,4
  3448.     POP     BP                      ;DDCB0C RRC (IX+d) > H
  3449.     gbyteBP sH
  3450.     ROR     sH,1
  3451.     LAHF
  3452.     addtoc  sH,sFree
  3453.     instend
  3454.  
  3455. instheader rrcil,4
  3456.     POP     BP                      ;DDCB0D RRC (IX+d) > L
  3457.     gbyteBP sL
  3458.     ROR     sL,1
  3459.     LAHF
  3460.     addtoc  sL,sFree
  3461.     instend
  3462.  
  3463. instheader rrcix,4
  3464.     POP     BP                      ;DDCB0E RRC (IX+d)
  3465.     PUSH    sBC
  3466.     gbyteBP sC
  3467.     ROR     sC,1
  3468.     LAHF
  3469.     addtoc  sC,sFree
  3470.     wbyte   sC
  3471.     POP     sBC
  3472.     instend
  3473.  
  3474. instheader rrcia,4
  3475.     POP     BP                      ;DDCB0F RRC (IX+d) > A
  3476.     gbyteBP AL
  3477.     ROR     AL,1
  3478.     LAHF
  3479.     addtoc  AL,sFree
  3480.     instend
  3481.  
  3482. instheader rlib,4
  3483.     POP     BP                      ;DDCB10 RL (IX+d) > B
  3484.     gbyteBP sB
  3485.     RCL     sB,1
  3486.     LAHF
  3487.     addtoc  sB,sFree
  3488.     instend
  3489.  
  3490. instheader rlic,4
  3491.     POP     BP                      ;DDCB11 RL (IX+d) > C
  3492.     gbyteBP sC
  3493.     RCL     sC,1
  3494.     LAHF
  3495.     addtoc  sC,sFree
  3496.     instend
  3497.  
  3498. instheader rlid,4
  3499.     POP     BP                      ;DDCB12 RL (IX+d) > D
  3500.     gbyteBP sD
  3501.     RCL     sD,1
  3502.     LAHF
  3503.     addtoc  sD,sFree
  3504.     instend
  3505.  
  3506. instheader rlie,4
  3507.     POP     BP                      ;DDCB13 RL (IX+d) > E
  3508.     gbyteBP sE
  3509.     RCL     sE,1
  3510.     LAHF
  3511.     addtoc  sE,sFree
  3512.     instend
  3513.  
  3514. instheader rlih,4
  3515.     POP     BP                      ;DDCB14 RL (IX+d) > H
  3516.     gbyteBP sH
  3517.     RCL     sH,1
  3518.     LAHF
  3519.     addtoc  sH,sFree
  3520.     instend
  3521.  
  3522. instheader rlil,4
  3523.     POP     BP                      ;DDCB15 RL (IX+d) > L
  3524.     gbyteBP sL
  3525.     RCL     sL,1
  3526.     LAHF
  3527.     addtoc  sL,sFree
  3528.     instend
  3529.  
  3530. instheader rlix,4
  3531.     POP     BP                      ;DDCB16 RL (IX+d)
  3532.     PUSH    sBC
  3533.     gbyteBP sC
  3534.     SAHF
  3535.     RCL     sC,1
  3536.     LAHF
  3537.     addtoc  sC,sFree
  3538.     wbyte   sC
  3539.     POP     sBC
  3540.     instend
  3541.  
  3542. instheader rlia,4
  3543.     POP     BP                      ;DDCB17 RL (IX+d) > A
  3544.     gbyteBP AL
  3545.     RCL     AL,1
  3546.     LAHF
  3547.     addtoc  AL,sFree
  3548.     instend
  3549.  
  3550. instheader rrib,4
  3551.     POP     BP                      ;DDCB18 RR (IX+d) > B
  3552.     gbyteBP sB
  3553.     RCR     sB,1
  3554.     LAHF
  3555.     addtoc  sB,sFree
  3556.     instend
  3557.  
  3558. instheader rric,4
  3559.     POP     BP                      ;DDCB19 RR (IX+d) > C
  3560.     gbyteBP sC
  3561.     RCR     sC,1
  3562.     LAHF
  3563.     addtoc  sC,sFree
  3564.     instend
  3565.  
  3566. instheader rrid,4
  3567.     POP     BP                      ;DDCB1A RR (IX+d) > D
  3568.     gbyteBP sD
  3569.     RCR     sD,1
  3570.     LAHF
  3571.     addtoc  sD,sFree
  3572.     instend
  3573.  
  3574. instheader rrie,4
  3575.     POP     BP                      ;DDCB1B RR (IX+d) > E
  3576.     gbyteBP sE
  3577.     RCR     sE,1
  3578.     LAHF
  3579.     addtoc  sE,sFree
  3580.     instend
  3581.  
  3582. instheader rrih,4
  3583.     POP     BP                      ;DDCB1C RR (IX+d) > H
  3584.     gbyteBP sH
  3585.     RCR     sH,1
  3586.     LAHF
  3587.     addtoc  sH,sFree
  3588.     instend
  3589.  
  3590. instheader rril,4
  3591.     POP     BP                      ;DDCB1D RR (IX+d) > L
  3592.     gbyteBP sL
  3593.     RCR     sL,1
  3594.     LAHF
  3595.     addtoc  sL,sFree
  3596.     instend
  3597.  
  3598. instheader rrix,4
  3599.     POP     BP                      ;DDCB1E RR (IX+d)
  3600.     PUSH    sBC
  3601.     gbyteBP sC
  3602.     SAHF
  3603.     RCR     sC,1
  3604.     LAHF
  3605.     addtoc  sC,sFree
  3606.     wbyte   sC
  3607.     POP     sBC
  3608.     instend
  3609.  
  3610. instheader rria,4
  3611.     POP     BP                      ;DDCB1F RR (IX+d) > A
  3612.     gbyteBP AL
  3613.     RCR     AL,1
  3614.     LAHF
  3615.     addtoc  AL,sFree
  3616.     instend
  3617.  
  3618. instheader slaib,4
  3619.     POP     BP                      ;DDCB20 SLA (IX+d) > B
  3620.     gbyteBP sB
  3621.     SAL     sB,1
  3622.     LAHF
  3623.     instend
  3624.  
  3625. instheader slaic,4
  3626.     POP     BP                      ;DDCB21 SLA (IX+d) > C
  3627.     gbyteBP sC
  3628.     SAL     sC,1
  3629.     LAHF
  3630.     instend
  3631.  
  3632. instheader slaid,4
  3633.     POP     BP                      ;DDCB22 SLA (IX+d) > D
  3634.     gbyteBP sD
  3635.     SAL     sD,1
  3636.     LAHF
  3637.     instend
  3638.  
  3639. instheader slaie,4
  3640.     POP     BP                      ;DDCB23 SLA (IX+d) > E
  3641.     gbyteBP sE
  3642.     SAL     sE,1
  3643.     LAHF
  3644.     instend
  3645.  
  3646. instheader slaih,4
  3647.     POP     BP                      ;DDCB24 SLA (IX+d) > H
  3648.     gbyteBP sH
  3649.     SAL     sH,1
  3650.     LAHF
  3651.     instend
  3652.  
  3653. instheader slail,4
  3654.     POP     BP                      ;DDCB25 SLA (IX+d) > L
  3655.     gbyteBP sL
  3656.     SAL     sL,1
  3657.     LAHF
  3658.     instend
  3659.  
  3660. instheader slaix,4
  3661.     POP     BP                      ;DDCB26 SLA (IX+d)
  3662.     PUSH    sBC
  3663.     gbyteBP sC
  3664.     SAL     sC,1
  3665.     LAHF
  3666.     wbyte   sC
  3667.     POP     sBC
  3668.     AND     AH,0EDh        ;*clear N/H
  3669.     instend
  3670.  
  3671. instheader slaia,4
  3672.     POP     BP                      ;DDCB27 SLA (IX+d) > A
  3673.     gbyteBP AL
  3674.     SAL     AL,1
  3675.     LAHF
  3676.     instend
  3677.  
  3678. instheader sraib,4
  3679.     POP     BP                      ;DDCB28 SRA (IX+d) > B
  3680.     gbyteBP sB
  3681.     SAR     sB,1
  3682.     LAHF
  3683.     instend
  3684.  
  3685. instheader sraic,4
  3686.     POP     BP                      ;DDCB29 SRA (IX+d) > C
  3687.     gbyteBP sC
  3688.     SAR     sC,1
  3689.     LAHF
  3690.     instend
  3691.  
  3692. instheader sraid,4
  3693.     POP     BP                      ;DDCB2A SRA (IX+d) > D
  3694.     gbyteBP sD
  3695.     SAR     sD,1
  3696.     LAHF
  3697.     instend
  3698.  
  3699. instheader sraie,4
  3700.     POP     BP                      ;DDCB2B SRA (IX+d) > E
  3701.     gbyteBP sE
  3702.     SAR     sE,1
  3703.     LAHF
  3704.     instend
  3705.  
  3706. instheader sraih,4
  3707.     POP     BP                      ;DDCB2C SRA (IX+d) > H
  3708.     gbyteBP sH
  3709.     SAR     sH,1
  3710.     LAHF
  3711.     instend
  3712.  
  3713. instheader srail,4
  3714.     POP     BP                      ;DDCB2D SRA (IX+d) > L
  3715.     gbyteBP sL
  3716.     SAR     sL,1
  3717.     LAHF
  3718.     instend
  3719.  
  3720. instheader sraix,4
  3721.     POP     BP                      ;DDCB2E SRA (IX+d)
  3722.     PUSH    sBC
  3723.     gbyteBP sC
  3724.     SAR     sC,1
  3725.     LAHF
  3726.     wbyte   sC
  3727.     POP     sBC
  3728.     AND     AH,0EDh        ;*clear N/H
  3729.     instend
  3730.  
  3731. instheader sraia,4
  3732.     POP     BP                      ;DDCB2F SRA (IX+d) > A
  3733.     gbyteBP AL
  3734.     SAR     AL,1
  3735.     LAHF
  3736.     instend
  3737.  
  3738. instheader sllib,4
  3739.     POP     BP                      ;DDCB30 SLL (IX+d) > B
  3740.     gbyteBP sB
  3741.     SHL     sB,1
  3742.     LAHF
  3743.     OR      sB,1
  3744.     instend
  3745.  
  3746. instheader sllic,4
  3747.     POP     BP                      ;DDCB31 SLL (IX+d) > C
  3748.     gbyteBP sC
  3749.     SHL     sC,1
  3750.     LAHF
  3751.     OR      sC,1
  3752.     instend
  3753.  
  3754. instheader sllid,4
  3755.     POP     BP                      ;DDCB32 SLL (IX+d) > D
  3756.     gbyteBP sD
  3757.     SHL     sD,1
  3758.     LAHF
  3759.     OR      sD,1
  3760.     instend
  3761.  
  3762. instheader sllie,4
  3763.     POP     BP                      ;DDCB33 SLL (IX+d) > E
  3764.     gbyteBP sE
  3765.     SHL     sE,1
  3766.     LAHF
  3767.     OR      sE,1
  3768.     instend
  3769.  
  3770. instheader sllih,4
  3771.     POP     BP                      ;DDCB34 SLL (IX+d) > H
  3772.     gbyteBP sH
  3773.     SHL     sH,1
  3774.     LAHF
  3775.     OR      sH,1
  3776.     instend
  3777.  
  3778. instheader sllil,4
  3779.     POP     BP                      ;DDCB35 SLL (IX+d) > L
  3780.     gbyteBP sL
  3781.     SHL     sL,1
  3782.     LAHF
  3783.     OR      sL,1
  3784.     instend
  3785.  
  3786. instheader sllix,4
  3787.     POP     BP                      ;DDCB36 SLL (IX+d) (undocumented)
  3788.     PUSH    sBC
  3789.     gbyteBP sC
  3790.     SHL     sC,1
  3791.     LAHF
  3792.     OR      sC,1
  3793.     wbyte   sC
  3794.     POP     sBC
  3795.     AND     AH,0EDh        ;*clear N/H
  3796.     instend
  3797.  
  3798. instheader sllia,4
  3799.     POP     BP                      ;DDCB37 SLL (IX+d) > A
  3800.     gbyteBP AL
  3801.     SHL     AL,1
  3802.     LAHF
  3803.     OR      AL,1
  3804.     instend
  3805.  
  3806. instheader srlib,4
  3807.     POP     BP                      ;DDCB38 SRL (IX+d) > B
  3808.     gbyteBP sB
  3809.     SHR     sB,1
  3810.     LAHF
  3811.     instend
  3812.  
  3813. instheader srlic,4
  3814.     POP     BP                      ;DDCB39 SRL (IX+d) > C
  3815.     gbyteBP sC
  3816.     SHR     sC,1
  3817.     LAHF
  3818.     instend
  3819.  
  3820. instheader srlid,4
  3821.     POP     BP                      ;DDCB3A SRL (IX+d) > D
  3822.     gbyteBP sD
  3823.     SHR     sD,1
  3824.     LAHF
  3825.     instend
  3826.  
  3827. instheader srlie,4
  3828.     POP     BP                      ;DDCB3B SRL (IX+d) > E
  3829.     gbyteBP sE
  3830.     SHR     sE,1
  3831.     LAHF
  3832.     instend
  3833.  
  3834. instheader srlih,4
  3835.     POP     BP                      ;DDCB3C SRL (IX+d) > H
  3836.     gbyteBP sH
  3837.     SHR     sH,1
  3838.     LAHF
  3839.     instend
  3840.  
  3841. instheader srlil,4
  3842.     POP     BP                      ;DDCB3D SRL (IX+d) > L
  3843.     gbyteBP sL
  3844.     SHR     sL,1
  3845.     LAHF
  3846.     instend
  3847.  
  3848. instheader srlix,4
  3849.     POP     BP                      ;DDCB3E SRL (IX+d)
  3850.     PUSH    sBC
  3851.     gbyteBP sC
  3852.     SHR     sC,1
  3853.     LAHF
  3854.     wbyte   sC
  3855.     POP     sBC
  3856.     AND     AH,0EDh        ;*clear N/H
  3857.     instend
  3858.  
  3859. instheader srlia,4
  3860.     POP     BP                      ;DDCB3F SRL (IX+d) > A
  3861.     gbyteBP AL
  3862.     SHR     AL,1
  3863.     LAHF
  3864.     instend
  3865.  
  3866. instheader bit0ix,4
  3867.     POP     BP                      ;DDCB46 BIT 0,(IX+d)
  3868.     gwordBP BP
  3869.     BT      BP,0
  3870.     dozf
  3871.  
  3872. instheader bit1ix,4
  3873.     POP     BP                      ;DDCB4E BIT 1,(IX+d)
  3874.     gwordBP BP
  3875.     BT      BP,1
  3876.     dozf
  3877.  
  3878. instheader bit2ix,4
  3879.     POP     BP                      ;DDCB56 BIT 2,(IX+d)
  3880.     gwordBP BP
  3881.     BT      BP,2
  3882.     dozf
  3883.  
  3884. instheader bit3ix,4
  3885.     POP     BP                      ;DDCB5E BIT 3,(IX+d)
  3886.     gwordBP BP
  3887.     BT      BP,3
  3888.     dozf
  3889.  
  3890. instheader bit4ix,4
  3891.     POP     BP                      ;DDCB66 BIT 4,(IX+d)
  3892.     gwordBP BP
  3893.     BT      BP,4
  3894.     dozf
  3895.  
  3896. instheader bit5ix,4
  3897.     POP     BP                      ;DDCB6E BIT 5,(IX+d)
  3898.     gwordBP BP
  3899.     BT      BP,5
  3900.     dozf
  3901.  
  3902. instheader bit6ix,4
  3903.     POP     BP                      ;DDCB76 BIT 6,(IX+d)
  3904.     gwordBP BP
  3905.     BT      BP,6
  3906.     dozf
  3907.  
  3908. instheader bit7ix,4
  3909.     POP     BP                      ;DDCB7E BIT 7,(IX+d)
  3910.     gwordBP BP
  3911.     BT      BP,7
  3912.     dozmf
  3913.  
  3914. instheader res0ix,4
  3915.     POP     BP                      ;DDCB86 RES 0,(IX+d)
  3916.     PUSH    sBC
  3917.     gbyteBP sB
  3918.     AND     sB,0FEh
  3919.     wbyte   sB
  3920.     POP     sBC
  3921.     instend
  3922.  
  3923. instheader res1ix,4
  3924.     POP     BP                      ;DDCB8E RES 1,(IX+d)
  3925.     PUSH    sBC
  3926.     gbyteBP sB
  3927.     AND     sB,0FDh
  3928.     wbyte   sB
  3929.     POP     sBC
  3930.     instend
  3931.  
  3932. instheader res2ix,4
  3933.     POP     BP                      ;DDCB96 RES 2,(IX+d)
  3934.     PUSH    sBC
  3935.     gbyteBP sB
  3936.     AND     sB,0FBh
  3937.     wbyte   sB
  3938.     POP     sBC
  3939.     instend
  3940.  
  3941. instheader res3ix,4
  3942.     POP     BP                      ;DDCB9E RES 3,(IX+d)
  3943.     PUSH    sBC
  3944.     gbyteBP sB
  3945.     AND     sB,0F7h
  3946.     wbyte   sB
  3947.     POP     sBC
  3948.     instend
  3949.  
  3950. instheader res4ix,4
  3951.     POP     BP                      ;DDCBA6 RES 4,(IX+d)
  3952.     PUSH    sBC
  3953.     gbyteBP sB
  3954.     AND     sB,0EFh
  3955.     wbyte   sB
  3956.     POP     sBC
  3957.     instend
  3958.  
  3959. instheader res5ix,4
  3960.     POP     BP                      ;DDCBAE RES 5,(IX+d)
  3961.     PUSH    sBC
  3962.     gbyteBP sB
  3963.     AND     sB,0DFh
  3964.     wbyte   sB
  3965.     POP     sBC
  3966.     instend
  3967.  
  3968. instheader res6ix,4
  3969.     POP     BP                      ;DDCBB6 RES 6,(IX+d)
  3970.     PUSH    sBC
  3971.     gbyteBP sB
  3972.     AND     sB,0BFh
  3973.     wbyte   sB
  3974.     POP     sBC
  3975.     instend
  3976.  
  3977. instheader res7ix,4
  3978.     POP     BP                      ;DDCBBE RES 7,(IX+d)
  3979.     PUSH    sBC
  3980.     gbyteBP sB
  3981.     AND     sB,07Fh
  3982.     wbyte   sB
  3983.     POP     sBC
  3984.     instend
  3985.  
  3986. instheader set0ix,4
  3987.     POP     BP                      ;DDCBC6 SET 0,(IX+d)
  3988.     PUSH    sBC
  3989.     gbyteBP sB
  3990.     OR      sB,01h
  3991.     wbyte   sB
  3992.     POP     sBC
  3993.     instend
  3994.  
  3995. instheader set1ix,4
  3996.     POP     BP                      ;DDCBCE SET 1,(IX+d)
  3997.     PUSH    sBC
  3998.     gbyteBP sB
  3999.     OR      sB,02h
  4000.     wbyte   sB
  4001.     POP     sBC
  4002.     instend
  4003.  
  4004. instheader set2ix,4
  4005.     POP     BP                      ;DDCBD6 SET 2,(IX+d)
  4006.     PUSH    sBC
  4007.     gbyteBP sB
  4008.     OR      sB,04h
  4009.     wbyte   sB
  4010.     POP     sBC
  4011.     instend
  4012.  
  4013. instheader set3ix,4
  4014.     POP     BP                      ;DDCBDE SET 3,(IX+d)
  4015.     PUSH    sBC
  4016.     gbyteBP sB
  4017.     OR      sB,08h
  4018.     wbyte   sB
  4019.     POP     sBC
  4020.     instend
  4021.  
  4022. instheader set4ix,4
  4023.     POP     BP                      ;DDCBE6 SET 4,(IX+d)
  4024.     PUSH    sBC
  4025.     gbyteBP sB
  4026.     OR      sB,10h
  4027.     wbyte   sB
  4028.     POP     sBC
  4029.     instend
  4030.  
  4031. instheader set5ix,4
  4032.     POP     BP                      ;DDCBEE SET 5,(IX+d)
  4033.     PUSH    sBC
  4034.     gbyteBP sB
  4035.     OR      sB,20h
  4036.     wbyte   sB
  4037.     POP     sBC
  4038.     instend
  4039.  
  4040. instheader set6ix,4
  4041.     POP     BP                      ;DDCBF6 SET 6,(IX+d)
  4042.     PUSH    sBC
  4043.     gbyteBP sB
  4044.     OR      sB,40h
  4045.     wbyte   sB
  4046.     POP     sBC
  4047.     instend
  4048.  
  4049. instheader set7ix,4
  4050.     POP     BP                      ;DDCBFE SET 7,(IX+d)
  4051.     PUSH    sBC
  4052.     gbyteBP sB
  4053.     OR      sB,80h
  4054.     wbyte   sB
  4055.     POP     sBC
  4056.     instend
  4057.  
  4058. instheader popix,4
  4059.     MOV     BP,[simstack]           ;DDE1 POP IX
  4060.     gwordBP sFree
  4061.     MOV     [ix],sFree
  4062.     ADD     BP,2
  4063.     MOV     [simstack],BP
  4064.     instend
  4065.  
  4066. instheader xtix,4
  4067.     MOV     BP,[simstack]           ;DDE3 EX (SP),IX
  4068.     gwordBP sFree
  4069.     PUSH    sBC
  4070.     MOV     sBC,[ix]
  4071.     MOV     [ix],sFree
  4072.     wword   sBC
  4073.     POP     sBC
  4074.     instend
  4075.  
  4076. instheader pushix,4
  4077.     MOV     BP,[simstack]           ;DDE5 PUSH IX
  4078.     SUB     BP,2
  4079.     MOV     [simstack],BP
  4080.     PUSH    sBC
  4081.     MOV     sBC,[ix]
  4082.     wword   sBC
  4083.     POP     sBC
  4084.     instend
  4085.  
  4086. instheader pcix,4
  4087.     MOV     sPC,[ix]                ;DDE9 JP IX
  4088.     InitPCSeg
  4089.     instend
  4090.  
  4091. instheader spix,4
  4092.     MOV     BP,[ix]                 ;DDF9 LD SP,IX
  4093.     MOV     [simstack],BP
  4094.     instend
  4095.  
  4096. instheader inbc,4
  4097.     PUSH    AX                      ;ED40 IN B,(C)
  4098.     MOV     AH,sB
  4099.     CALL    inp
  4100.     MOV     sB,AL
  4101.     POP     AX
  4102.     OR      sB,sB
  4103.     MOV     BP,AX
  4104.     LAHF            ; flags setzen
  4105.     AND     AH,0FEh
  4106.     AND     BP,100h
  4107.     OR      AX,BP
  4108.     instend
  4109.  
  4110. instheader outcb,4
  4111.     PUSH    AX                      ;ED41 OUT (C),B
  4112.     MOV     AH,sB
  4113.     MOV     AL,sB
  4114.     CALL    outp
  4115.     POP     AX
  4116.     instend
  4117.  
  4118. instheader dsbbb,4
  4119.     SAHF                            ;ED42 SBC HL,BC
  4120.     SBB     nSHL,sBC
  4121.     flagsetN1
  4122.  
  4123. instheader sbcd,4
  4124.     gwpc    BP                      ;ED43 LD (addr),BC
  4125.     wword   sBC
  4126.     instend
  4127.  
  4128. instheader nega,4
  4129.     NEG     AL                      ;ED44 NEG
  4130.     flagsetN1
  4131.  
  4132. instheader zretn,4
  4133.     ret80                           ;ED45 RETN (treated as RET)
  4134.  
  4135. instheader im0,4
  4136.     MOV     [imode],0               ;ED46 IM0
  4137.     instend
  4138.  
  4139. instheader moveia,4
  4140.     MOV     [BYTE PTR srI],AL       ;ED47 LD I,A
  4141.     instend
  4142.  
  4143. instheader incc,4
  4144.     PUSH    AX                      ;ED48 IN C,(C)
  4145.     MOV     AH,sB
  4146.     CALL    inp
  4147.     MOV     sC,AL
  4148.     POP     AX
  4149.     OR      sC,sC
  4150.     MOV     BP,AX
  4151.     LAHF            ; flags setzen
  4152.     AND     AH,0FEh
  4153.     AND     BP,100h
  4154.     OR      AX,BP
  4155.     instend
  4156.  
  4157. instheader outcc,4
  4158.     PUSH    AX                      ;ED49 OUT (C),C
  4159.     MOV     AX,sBC
  4160.     CALL    outp
  4161.     POP     AX
  4162.     instend
  4163.  
  4164. instheader dadcb,4
  4165.     SAHF                            ;ED4A ADC HL,BC
  4166.     ADC     nSHL,sBC
  4167.     flagsetN0
  4168.  
  4169. instheader lbcd,4
  4170.     gwpc    BP                      ;ED4B LD BC,(addr)
  4171.     gwordBP sBC
  4172.     instend
  4173.  
  4174. instheader reti,4
  4175.     ret80                           ;ED4D RETI (treated as RET)
  4176.  
  4177. instheader movera,4
  4178.     MOV     [BYTE PTR sRF],AL       ;ED4F LD R,A
  4179.     MOV     [BYTE PTR sRFhi],AL
  4180.     instend
  4181.  
  4182. instheader indc,4
  4183.     PUSH    AX                      ;ED50 IN D,(C)
  4184.     MOV     AH,sB
  4185.     CALL    inp
  4186.     MOV     sD,AL
  4187.     POP     AX
  4188.     OR      sD,sD
  4189.     MOV     BP,AX
  4190.     LAHF            ; flags setzen
  4191.     AND     AH,0FEh
  4192.     AND     BP,100h
  4193.     OR      AX,BP
  4194.     instend
  4195.  
  4196. instheader outcd,4
  4197.     PUSH    AX                      ;ED51 OUT (C),D
  4198.     MOV     AL,sD
  4199.     MOV     AH,sB
  4200.     CALL    outp
  4201.     POP     AX
  4202.     instend
  4203.  
  4204. instheader dsbbd,4
  4205.     SAHF                            ;ED52 SBC HL,DE
  4206.     SBB     nSHL,sDE
  4207.     flagsetN1
  4208.  
  4209. instheader sded,4
  4210.     gwpc    BP                      ;ED53 LD (addr),DE
  4211.     wword   sDE
  4212.     instend
  4213.  
  4214. instheader im1,4
  4215.     MOV     [imode],1               ;ED56 IM1
  4216.     instend
  4217.  
  4218. instheader moveai,4
  4219.     MOV     AL,[sIFF2]              ;ED57 LD A,I
  4220.     SHL     AL,2
  4221.     AND     AH,1
  4222.     OR      AH,AL
  4223.     MOV     AL,[BYTE PTR srI]
  4224.     PUSH    AX
  4225.     OR      AL,AL
  4226.     LAHF
  4227.     POP     BP
  4228.     AND     AX,0C000h
  4229.     OR      AX,BP
  4230.     instend
  4231.  
  4232. instheader inec,4
  4233.     PUSH    AX                      ;ED58 IN E,(C)
  4234.     MOV     AH,sB
  4235.     CALL    inp
  4236.     MOV     sE,AL
  4237.     POP     AX
  4238.     OR      sE,sE
  4239.     MOV     BP,AX
  4240.     LAHF            ; flags setzen
  4241.     AND     AH,0FEh
  4242.     AND     BP,100h
  4243.     OR      AX,BP
  4244.     instend
  4245.  
  4246. instheader outce,4
  4247.     PUSH    AX                      ;ED59 OUT (C),E
  4248.     MOV     AL,sE
  4249.     MOV     AH,sB
  4250.     CALL    outp
  4251.     POP     AX
  4252.     instend
  4253.  
  4254. instheader dadcd,4
  4255.     SAHF                            ;ED5A ADC HL,DE
  4256.     ADC     nSHL,sDE
  4257.     flagsetN0
  4258.  
  4259. instheader lded,4
  4260.     gwpc    BP                      ;ED5B LD DE,(addr)
  4261.     gwordBP sDE
  4262.     instend
  4263.  
  4264. instheader im2,4
  4265.     MOV     [imode],2               ;ED5E IM2
  4266.     instend
  4267.  
  4268. instheader movear,4
  4269.     AND     [sRF],7fh               ;ED5F LD A,R
  4270.     AND     [sRFhi],80h
  4271.     MOV     AL,[sIFF2]
  4272.     SHL     AL,2
  4273.     AND     AH,1
  4274.     OR      AH,AL
  4275.     MOV     AL,[BYTE PTR sRF]
  4276.     OR      AL,[BYTE PTR sRFhi]
  4277.     PUSH    AX
  4278.     OR      AL,AL
  4279.     LAHF
  4280.     POP     BP
  4281.     AND     AX,0C000h
  4282.     OR      AX,BP
  4283.     instend
  4284.  
  4285. instheader inhc,4
  4286.     PUSH    AX                      ;ED60 IN H,(C)
  4287.     MOV     AH,sB
  4288.     CALL    inp
  4289.     MOV     sH,AL
  4290.     POP     AX
  4291.     OR      sH,sH
  4292.     MOV     BP,AX
  4293.     LAHF            ; flags setzen
  4294.     AND     AH,0FEh
  4295.     AND     BP,100h
  4296.     OR      AX,BP
  4297.     instend
  4298.  
  4299. instheader outch,4
  4300.     PUSH    AX                      ;ED61 OUT (C),H
  4301.     MOV     AL,sH
  4302.     MOV     AH,sB
  4303.     CALL    outp
  4304.     POP     AX
  4305.     instend
  4306.  
  4307. instheader dsbbh,4
  4308.     SAHF                            ;ED62 SBC HL,HL
  4309.     SBB     nSHL,nSHL
  4310.     flagsetN1
  4311. ;                                       ;ED63 LD (addr),HL
  4312.  
  4313. instheader rrd,4
  4314.     PUSH    sBC                     ;ED67 RRD *flags! *?*
  4315.     gbhl    sC
  4316.     PUSH    sDE
  4317.     PUSH    sBC
  4318.     MOV     sE,AL
  4319.     AND     sE,0Fh
  4320.     AND     sC,0F0h
  4321.     OR      sC,sE
  4322.     ROL     sC,4
  4323.     wbhl    sC
  4324.     POP     sBC
  4325.     POP     sDE
  4326.     AND     AL,0F0h
  4327.     AND     sC,0Fh
  4328.     OR      AL,sC
  4329.     POP     sBC
  4330.     MOV     BP,AX           ; set flags
  4331.     OR      AL,AL
  4332.     LAHF
  4333.     AND     AH,0C4h
  4334.     AND     BP,100h
  4335.     OR      AX,BP
  4336.     instend
  4337.  
  4338. instheader inlc,4
  4339.     PUSH    AX                      ;ED68 IN L,(C)
  4340.     MOV     AH,sB
  4341.     CALL    inp
  4342.     MOV     sL,AL
  4343.     POP     AX
  4344.     OR      sL,sL
  4345.     MOV     BP,AX
  4346.     LAHF            ; flags setzen
  4347.     AND     AH,0FEh
  4348.     AND     BP,100h
  4349.     OR      AX,BP
  4350.     instend
  4351.  
  4352. instheader outcl,4
  4353.     PUSH    AX                      ;ED69 OUT (C),L
  4354.     MOV     AH,sB
  4355.     MOV     AL,sL
  4356.     CALL    outp
  4357.     POP     AX
  4358.     instend
  4359.  
  4360. instheader dadch,4
  4361.     SAHF                            ;ED6A ADC HL,HL
  4362.     ADC     nSHL,nSHL
  4363.     flagsetN0
  4364.  
  4365. ;                                       ;ED6B LD HL,(addr)
  4366.  
  4367. instheader rld,4
  4368.     PUSH    sBC                     ;ED6F RLD *flags! *?*
  4369.     gbhl    sC
  4370.     PUSH    sDE
  4371.     PUSH    sBC
  4372.     SHL     sC,4
  4373.     MOV     sE,AL
  4374.     AND     sE,0fh
  4375.     OR      sC,sE
  4376.     wbhl    sC
  4377.     POP     sBC
  4378.     POP     sDE
  4379.     SHR     sC,4
  4380.     AND     AL,0f0h
  4381.     OR      AL,sC
  4382.     POP     sBC
  4383.     MOV     BP,AX           ; set flags
  4384.     OR      AL,AL
  4385.     LAHF
  4386.     AND     AH,0C4h
  4387.     AND     BP,100h
  4388.     OR      AX,BP
  4389.     instend
  4390.  
  4391. instheader inmc,4
  4392.     PUSH    AX                      ;ED70 IN (HL),(C)
  4393.     MOV     AH,sB
  4394.     CALL    inp
  4395. ;       wbhl    AL
  4396.     OR      AL,AL
  4397.     MOV     BP,AX
  4398.     LAHF            ; flags setzen
  4399.     AND     AH,0FEh
  4400.     AND     BP,100h
  4401.     OR      AX,BP
  4402.     POP     BP
  4403.     AND     BP,0FFh
  4404.     XOR     AL,AL
  4405.     OR      AX,BP
  4406.     instend
  4407.  
  4408. instheader outcm,4
  4409.     PUSH    AX                      ;ED71 OUT (C),(HL)
  4410.     gbhl    AL
  4411.     MOV     AH,sB
  4412.     CALL    outp
  4413.     POP     AX
  4414.     instend
  4415.  
  4416. instheader dsbbs,4
  4417.     SAHF                            ;ED72 SBC HL,SP
  4418.     SBB     nSHL,[simstack]
  4419.     flagsetN1
  4420.  
  4421. instheader sspd,4
  4422.     PUSH    sDE                     ;ED73 LD (addr),SP
  4423.     MOV     sDE,[simstack]
  4424.     gwpc    BP
  4425.     wword   sDE
  4426.     POP     sDE
  4427.     instend
  4428.  
  4429. instheader inac,4
  4430.     PUSH    AX                      ;ED78 IN A,(C)
  4431.     MOV     AH,sB
  4432.     CALL    inp
  4433.     MOV     BP,AX
  4434.     AND     BP,0ffh
  4435.     POP     AX
  4436.     XOR     AL,AL
  4437.     OR      AX,BP
  4438.     OR      AL,AL
  4439.     LAHF            ; flags setzen
  4440.     AND     AH,0FEh
  4441.     AND     BP,100h
  4442.     OR      AX,BP
  4443.     instend
  4444.  
  4445. instheader outca,4
  4446.     PUSH    AX                      ;ED79 OUT (C),A
  4447.     MOV     AH,sB
  4448.     CALL    outp
  4449.     POP     AX
  4450.     instend
  4451.  
  4452. instheader dadcs,4
  4453.     SAHF                            ;ED7A ADC HL,SP
  4454.     ADC     nSHL,[simstack]
  4455.     flagsetN0
  4456.  
  4457. instheader lspd,4
  4458.     gwpc    BP                      ;ED7B LD SP,(addr)
  4459.     gwordBP BP
  4460.     MOV     [simstack],BP
  4461.     instend
  4462.  
  4463. instheader ldi,4
  4464.     PUSH    AX                      ;EDA0 LDI
  4465.     gbhl    AL
  4466.     wbytead EsDE,AL
  4467.     POP     AX
  4468.     INC     sDE
  4469.     INC     nSHL
  4470.     DEC     sBC
  4471.     JE      SHORT ldi1
  4472.     OR      AH,4
  4473.     AND     AH,0EDh
  4474.     instend
  4475. ldi1:   AND     AH,0E9h
  4476.     instend
  4477.  
  4478. instheader cmpi,4
  4479.     MOV     BP,AX
  4480.     AND     BP,100h
  4481.     PUSH    BP
  4482.     PUSH    sBC                     ;EDA1 CPI
  4483.     gbhl    sC
  4484.     CMP     AL,sC
  4485.     LAHF
  4486.     POP     sBC
  4487.     AND     AH,0f8h
  4488.     POP     BP
  4489.     OR      AX,BP
  4490.     INC     nSHL
  4491.     DEC     sBC
  4492.     JE      SHORT cmpi1
  4493.     OR      AH,6
  4494.     instend
  4495. cmpi1:  OR      AH,2
  4496.     instend
  4497.  
  4498. instheader ini,4
  4499.     PUSH    AX                      ;EDA2 INI
  4500.     MOV     AH,sB
  4501.     CALL    inp
  4502.     wbhl    AL
  4503.     OR      AL,AL
  4504.     MOV     BP,AX
  4505.     LAHF
  4506.     AND     AH,0FEh
  4507.     AND     BP,100h
  4508.     OR      AX,BP
  4509.     POP     BP
  4510.     AND     BP,0FFh
  4511.     XOR     AL,AL
  4512.     OR      AX,BP
  4513.     DEC     sB
  4514.     INC     nsHL
  4515.     instend
  4516.  
  4517. instheader outi,4
  4518.     DEC     sB
  4519.     PUSH    AX                      ;EDA3 OUTI
  4520.     gbhl    AL
  4521.     MOV     AH,sB
  4522.     CALL    outp
  4523.     POP     AX
  4524.     INC     nsHL
  4525.     instend
  4526.  
  4527. instheader ldd,4
  4528.     PUSH    AX                      ;EDA8 LDD
  4529.     gbhl    AL
  4530.     MOV     BP,sDE
  4531.     wbyte   AL
  4532.     POP     AX
  4533.     DEC     nSHL
  4534.     DEC     sDE
  4535.     DEC     sBC
  4536.     JE      SHORT ldd1
  4537.     OR      AH,4
  4538.     AND     AH,0EDh
  4539.     instend
  4540. ldd1:   AND     AH,0E9h
  4541.     instend
  4542.  
  4543. instheader cpd,4
  4544.     MOV     BP,AX                   ;EDA9 CPD
  4545.     AND     BP,100h
  4546.     PUSH    BP
  4547.     PUSH    sBC
  4548.     gbhl    sC
  4549.     CMP     AL,sC
  4550.     LAHF
  4551.     POP     sBC
  4552.     AND     AH,0f8h
  4553.     POP     BP
  4554.     OR      AX,BP
  4555.     DEC     nSHL
  4556.     DEC     sBC
  4557.     JE      SHORT cpd1
  4558.     OR      AH,6
  4559.     instend
  4560. cpd1:   OR      AH,2
  4561.     instend
  4562.  
  4563. instheader ind,4
  4564.     PUSH    AX                      ;EDAA IND
  4565.     MOV     AH,sB
  4566.     CALL    inp
  4567.     wbhl    AL
  4568.     OR      AL,AL
  4569.     MOV     BP,AX
  4570.     LAHF
  4571.     AND     AH,0FEh
  4572.     AND     BP,100h
  4573.     OR      AX,BP
  4574.     POP     BP
  4575.     AND     BP,0FFh
  4576.     XOR     AL,AL
  4577.     OR      AX,BP
  4578.     DEC     sB
  4579.     DEC     nsHL
  4580.     instend
  4581.  
  4582. instheader outd,4
  4583.     DEC     sB
  4584.     PUSH    AX                      ;EDAB OUTD
  4585.     gbhl    AL
  4586.     MOV     AH,sB
  4587.     CALL    outp
  4588.     POP     AX
  4589.     DEC     nsHL
  4590.     instend
  4591.  
  4592. instheader ldir,4
  4593.     PUSH    AX                      ;EDB0 LDIR
  4594.     PUSH    ES
  4595.     PUSH    SI
  4596.     PUSH    DI
  4597.  
  4598.     MOV     AL,sC
  4599.     DEC     AL
  4600.     ADD     AL,AL
  4601.     ADD     [BYTE PTR sRF],AL
  4602.  
  4603. ldir_loop1:
  4604.     MOV     [firstad],sDE
  4605.     MOV     BP,nSHL
  4606.     NOT     BP
  4607.     AND     BP,3fffh
  4608.     MOV     sFree,sDE
  4609.     NOT     sFree
  4610.     AND     sFree,3fffh
  4611.     CMP     sFree,BP
  4612.     JNC     ldir_BPless
  4613.     MOV     BP,sFree
  4614. ldir_BPless:
  4615.     INC     BP
  4616.     CMP     BP,sBC
  4617.     JNC     ldir_lastseg
  4618.     MOV     [ldirlen],BP
  4619.     MOV     sFree,sDE
  4620.     SHR     sFree,14
  4621.     MOV     AX,[EsFree*2+writevgaoff]
  4622.     MOV     [scrchg],AX
  4623.     SUB     sBC,BP
  4624.     XCHG    BP,sBC
  4625.     PUSH    DS
  4626.     PUSH    BP
  4627.     GetWSeg ES,sDE
  4628.     GetRSeg DS,nSHL
  4629.     POP     BP
  4630.     MOV     SI,nSHL
  4631.     MOV     DI,sDE
  4632.     REP     MOVSB
  4633.     MOV     sDE,DI
  4634.     MOV     nSHL,SI
  4635.     POP     DS
  4636.     XCHG    BP,sBC
  4637.     MOV     AX,[scrchg]
  4638.     OR      AX,AX           ; in a screen bank?
  4639.     JS      ldir_loop1
  4640.     PUSH    CX
  4641.     MOV     SI,[firstad]
  4642.     MOV     CX,[ldirlen]
  4643.     CALL    RedrawArea
  4644.     POP     CX
  4645.     JMP     ldir_loop1
  4646. ldir_lastseg:
  4647.     MOV     [ldirlen],sBC
  4648.     MOV     sFree,sDE
  4649.     SHR     sFree,14
  4650.     MOV     AX,[EsFree*2+writevgaoff]
  4651.     MOV     [scrchg],AX
  4652.  
  4653.     PUSH    DS
  4654.     GetWSeg ES,sDE
  4655.     GetRSeg DS,nSHL
  4656.     MOV     SI,nSHL
  4657.     MOV     DI,sDE
  4658.     REP     MOVSB
  4659.     MOV     sDE,DI
  4660.     MOV     nSHL,SI
  4661.     POP     DS
  4662.  
  4663.     MOV     AX,[scrchg]
  4664.     OR      AX,AX           ; in a screen bank?
  4665.     JS      ldir_end
  4666.     PUSH    CX
  4667.     MOV     SI,[firstad]
  4668.     MOV     CX,[ldirlen]
  4669.     CALL    RedrawArea
  4670.     POP     CX
  4671. ldir_end:
  4672.     POP     DI
  4673.     POP     SI
  4674.     POP     ES
  4675.     POP     AX
  4676.     AND     AH,0C1h
  4677.     instend
  4678.  
  4679. instheader cpir,4
  4680.     PUSH    sDE                      ;EDB1 CPIR *flags! *?*
  4681. cpirloop:
  4682.     gbhl    sE
  4683.     INC     nSHL
  4684.     DEC     sBC
  4685.     CMP     AL,sE
  4686.     JE      SHORT cpirfound
  4687.     CMP     sBC,0
  4688.     JNE     cpirloop
  4689.     POP     sDE
  4690.     AND     AH,1
  4691.     OR      AH,2
  4692.     instend
  4693. cpirfound:
  4694.     POP     sDE
  4695.     AND     AH,1
  4696.     OR      AH,42h
  4697.     CMP     sBC,0
  4698.     JE      simz80l
  4699.     OR      AH,4
  4700.     instend
  4701.  
  4702. instheader inir,4
  4703.     instend                         ;EDB2 INIR
  4704.  
  4705. instheader otir,4
  4706.     instend                         ;EDB3 OTIR
  4707.  
  4708. instheader lddr,4
  4709.     PUSH    AX                      ;EDB8 LDDR
  4710.  
  4711.     MOV     AL,sC
  4712.     DEC     AL
  4713.     ADD     AL,AL
  4714.     ADD     [BYTE PTR sRF],AL
  4715.  
  4716. lddrloop:
  4717.     gbhl    AL
  4718.     MOV     BP,sDE
  4719.     wbyte   AL
  4720.     DEC     nSHL
  4721.     DEC     sDE
  4722.     DEC     sBC
  4723.     JNE     lddrloop
  4724.     POP     AX
  4725.     AND     AH,0c1h
  4726.     instend
  4727.  
  4728. instheader cpdr,4
  4729.     PUSH    sDE                      ;EDB9 CPDR
  4730. cpdrloop:
  4731.     gbhl    sE
  4732.     DEC     nSHL
  4733.     DEC     sBC
  4734.     CMP     AL,sE
  4735.     JE      SHORT cpdrfound
  4736.     CMP     sBC,0
  4737.     JNE     cpdrloop
  4738.     POP     sDE
  4739.     AND     AH,1
  4740.     OR      AH,2
  4741.     instend
  4742. cpdrfound:
  4743.     POP     sDE
  4744.     AND     AH,1
  4745.     OR      AH,42h
  4746.     CMP     sBC,0
  4747.     JE      simz80l
  4748.     OR      AH,4
  4749.     instend
  4750.  
  4751. instheader indr,4
  4752.     instend                         ;EDBA INDR
  4753.  
  4754. instheader otdr,4
  4755.     instend                         ;EDBB OTDR
  4756.  
  4757. instheader spced,4
  4758.     instend
  4759.  
  4760. instheader dadiyb,4
  4761.     ADD     [iy],sBC                ;FD09 ADD IY,BC
  4762.     docyf
  4763.  
  4764. instheader dadiyd,4
  4765.     ADD     [iy],sDE                ;FD19 ADD IY,DE
  4766.     docyf
  4767.  
  4768. instheader lxiiy,4
  4769.     gwpc    BP                      ;FD21 LD IY,nnnn
  4770.     MOV     [iy],BP
  4771.     instend
  4772.  
  4773. instheader siyd,4
  4774.     PUSH    sDE                     ;FD22 LD (addr),IY
  4775.     gwpc    BP
  4776.     MOV     sDE,[iy]
  4777.     wword   sDE
  4778.     POP     sDE
  4779.     instend
  4780.  
  4781. instheader inxiy,4
  4782.     INC     [iy]                    ;FD23 INC IY
  4783.     instend
  4784.  
  4785. instheader inryh,4
  4786.     z80inc  [yh]                    ;FD24 INC YH (undocumented)
  4787.  
  4788. instheader dcryh,4
  4789.     z80dec  [yh]                    ;FD25 DEC YH (undocumented)
  4790.  
  4791. instheader mviyh,4
  4792.     PUSH    AX                      ;FD26 LD YH,nn (undocumented)
  4793.     gbytePC AL
  4794.     MOV     [yh],AL
  4795.     POP     AX
  4796.     instend
  4797.  
  4798. instheader dadiyy,4
  4799.     MOV     BP,[iy]                 ;FD29 ADD IY,IY
  4800.     ADD     [iy],BP
  4801.     docyf
  4802.  
  4803. instheader liyd,4
  4804.     gwpc    BP                      ;FD2A LD IY,(addr)
  4805.     gwordBP BP
  4806.     MOV     [iy],BP
  4807.     instend
  4808.  
  4809. instheader dcxiy,4
  4810.     DEC     [iy]                    ;FD2B DEC IY
  4811.     instend
  4812.  
  4813. instheader inryl,4
  4814.     z80inc  [yl]                    ;FD2C INC YL (undocumented)
  4815.  
  4816. instheader dcryl,4
  4817.     z80dec  [yl]                    ;FD2D DEC YL (undocumented)
  4818.  
  4819. instheader mviyl,4
  4820.     PUSH    AX                      ;FD2E LD YL,nn (undocumented)
  4821.     gbytePC AL
  4822.     MOV     [yl],AL
  4823.     POP     AX
  4824.     instend
  4825.  
  4826. instheader inriy,4
  4827.     calcind iy                      ;FD34 INC (IY+d)
  4828.     PUSH    sBC
  4829.     gbytefr sC
  4830.     z80inco sC
  4831.     wbytefr sC
  4832.     POP     sBC
  4833.     instend
  4834.  
  4835. instheader dcriy,4
  4836.     calcind iy                      ;FD35 DEC (IY+d)
  4837.     PUSH    sBC
  4838.     gbytefr sC
  4839.     z80deco sC
  4840.     wbytefr sC
  4841.     POP     sBC
  4842.     instend
  4843.  
  4844. instheader mviiy,4
  4845.     calcind iy                      ;FD36 LD (IY+d),nn
  4846.     PUSH    AX
  4847.     gbytePC AL
  4848.     wbytefr AL
  4849.     POP     AX
  4850.     instend
  4851.  
  4852. instheader dadiys,4
  4853.     MOV     BP,[simstack]           ;FD39 ADD IY,SP
  4854.     ADD     [iy],BP
  4855.     docyf
  4856.  
  4857. instheader movbyh,4
  4858.     MOV     sB,[yh]                 ;FD44 LD B,YH (undocumented)
  4859.     instend
  4860.  
  4861. instheader movbyl,4
  4862.     MOV     sB,[yl]                 ;FD45 LD B,YL (undocumented)
  4863.     instend
  4864.  
  4865. instheader movbiy,4
  4866.     calcind iy                      ;FD46 LD B,(IY+d)
  4867.     gbytefr sB
  4868.     instend
  4869.  
  4870. instheader movcyh,4
  4871.     MOV     sC,[yh]                 ;FD4C LD C,YH (undocumented)
  4872.     instend
  4873.  
  4874. instheader movcyl,4
  4875.     MOV     sC,[yl]                 ;FD4D LD C,YL (undocumented)
  4876.     instend
  4877.  
  4878. instheader movciy,4
  4879.     calcind iy                      ;FD4E LD C,(IY+d)
  4880.     gbytefr sC
  4881.     instend
  4882.  
  4883. instheader movdyh,4
  4884.     MOV     sD,[yh]                 ;FD54 LD D,YH (undocumented)
  4885.     instend
  4886.  
  4887. instheader movdyl,4
  4888.     MOV     sD,[yl]                 ;FD55 LD D,YL (undocumented)
  4889.     instend
  4890.  
  4891. instheader movdiy,4
  4892.     calcind iy                      ;FD56 LD D,(IY+d)
  4893.     gbytefr sD
  4894.     instend
  4895.  
  4896. instheader moveyh,4
  4897.     MOV     sE,[yh]                 ;FD5C LD E,YH (undocumented)
  4898.     instend
  4899.  
  4900. instheader moveyl,4
  4901.     MOV     sE,[yl]                 ;FD5D LD E,YL (undocumented)
  4902.     instend
  4903.  
  4904. instheader moveiy,4
  4905.     calcind iy                      ;FD5E LD E,(IY+d)
  4906.     gbytefr sE
  4907.     instend
  4908.  
  4909. instheader movyhb,4
  4910.     MOV     [yh],sB                 ;FD60 LD YH,B (undocumented)
  4911.     instend
  4912.  
  4913. instheader movyhc,4
  4914.     MOV     [yh],sC                 ;FD61 LD YH,C (undocumented)
  4915.     instend
  4916.  
  4917. instheader movyhd,4
  4918.     MOV     [yh],sD                 ;FD62 LD YH,D (undocumented)
  4919.     instend
  4920.  
  4921. instheader movyhe,4
  4922.     MOV     [yh],sE                 ;FD63 LD YH,E (undocumented)
  4923.     instend
  4924.  
  4925. instheader mvyhyh,4
  4926.     instend                         ;FD64 LD YH,YH (undocumented)
  4927.  
  4928. instheader mvyhyl,4
  4929.     PUSH    AX                      ;FD65 LD YH,YL (undocumented)
  4930.     MOV     AL,[yl]
  4931.     MOV     [yh],AL
  4932.     POP     AX
  4933.     instend
  4934.  
  4935. instheader movhiy,4
  4936.     calcind iy                      ;FD66 LD H,(IY+d)
  4937.     gbytefr sH
  4938.     instend
  4939.  
  4940. instheader movyha,4
  4941.     MOV     [yh],AL                 ;FD67 LD YH,A
  4942.     instend
  4943.  
  4944. instheader movylb,4
  4945.     MOV     [yl],sB                 ;FD68 LD YL,B (undocumented)
  4946.     instend
  4947.  
  4948. instheader movylc,4
  4949.     MOV     [yl],sC                 ;FD69 LD YL,C (undocumented)
  4950.     instend
  4951.  
  4952. instheader movyld,4
  4953.     MOV     [yl],sD                 ;FD6A LD YL,D (undocumented)
  4954.     instend
  4955.  
  4956. instheader movyle,4
  4957.     MOV     [yl],sE                 ;FD6B LD YL,E (undocumented)
  4958.     instend
  4959.  
  4960. instheader mvylyh,4
  4961.     PUSH    AX                      ;FD6C LD YL,YH (undocumented)
  4962.     MOV     AL,[yh]
  4963.     MOV     [yl],AL
  4964.     POP     AX
  4965.     instend
  4966.  
  4967. instheader mvylyl,4
  4968.     instend                         ;FD6D LD YL,YL (undocumented)
  4969.  
  4970. instheader movliy,4
  4971.     calcind iy                      ;FD6E LD L,(IY+d)
  4972.     gbytefr sL
  4973.     instend
  4974.  
  4975. instheader movyla,4
  4976.     MOV     [yl],AL                 ;FD6F LD YL,A
  4977.     instend
  4978.  
  4979. instheader moviyb,4
  4980.     calcind iy                      ;FD70 LD (IY+d),B
  4981.     wbytefr sB
  4982.     instend
  4983.  
  4984. instheader moviyc,4
  4985.     calcind iy                      ;FD71 LD (IY+d),C
  4986.     wbytefr sC
  4987.     instend
  4988.  
  4989. instheader moviyd,4
  4990.     calcind iy                      ;FD72 LD (IY+d),D
  4991.     wbytefr sD
  4992.     instend
  4993.  
  4994. instheader moviye,4
  4995.     calcind iy                      ;FD73 LD (IY+d),E
  4996.     wbytefr sE
  4997.     instend
  4998.  
  4999. instheader moviyh,4
  5000.     calcind iy                      ;FD74 LD (IY+d),H
  5001.     wbytefr sH
  5002.     instend
  5003.  
  5004. instheader moviyl,4
  5005.     calcind iy                      ;FD75 LD (IY+d),L
  5006.     wbytefr sL
  5007.     instend
  5008.  
  5009. instheader moviya,4
  5010.     calcind iy                      ;FD77 LD (IY+d),A
  5011.     wbytefr AL
  5012.     instend
  5013.  
  5014. instheader movayh,4
  5015.     MOV     AL,[yh]                 ;FD7C LD A,YH (undocumented)
  5016.     instend
  5017.  
  5018. instheader movayl,4
  5019.     MOV     AL,[yl]                 ;FD7D LD A,YL (undocumented)
  5020.     instend
  5021.  
  5022. instheader movaiy,4
  5023.     calcind iy                      ;FD7E LD A,(IY+d)
  5024.     gbytefr AL
  5025.     instend
  5026.  
  5027. instheader addyh,4
  5028.     ADD     AL,[yh]                 ;FD84 ADD A,YH (undocumented)
  5029.     flagsetN0
  5030.  
  5031. instheader addyl,4
  5032.     ADD     AL,[yl]                 ;FD85 ADD A,YL (undocumented)
  5033.     flagsetN0
  5034.  
  5035. instheader addiy,4
  5036.     calcind iy                      ;FD86 ADD A,(IY+d)
  5037.     gbytefr AH
  5038.     ADD     AL,AH
  5039.     flagsetN0
  5040.  
  5041. instheader adcyh,4
  5042.     SAHF                            ;FD8C ADC A,YH (undocumented)
  5043.     ADC     AL,[yh]
  5044.     flagsetN0
  5045.  
  5046. instheader adcyl,4
  5047.     SAHF                            ;FD8E ADC A,YL (undocumented)
  5048.     ADC     AL,[yl]
  5049.     flagsetN0
  5050.  
  5051. instheader adciy,4
  5052.     calcind iy                      ;FD8E ADC A,(IY+d)
  5053.     PUSH    sBC
  5054.     gbytefr sC
  5055.     SAHF
  5056.     ADC     AL,sC
  5057.     POP     sBC
  5058.     flagsetN0
  5059.  
  5060. instheader subyh,4
  5061.     SUB     AL,[yh]                 ;FD94 SUB A,YH (undocumented)
  5062.     flagsetN1
  5063.  
  5064. instheader subyl,4
  5065.     SUB     AL,[yl]                 ;FD95 SUB A,YL (undocumented)
  5066.     flagsetN1
  5067.  
  5068. instheader subiy,4
  5069.     calcind iy                      ;FD96 SUB A,(IY+d)
  5070.     gbytefr AH
  5071.     SUB     AL,AH
  5072.     flagsetN1
  5073.  
  5074. instheader sbbyh,4
  5075.     SAHF                            ;FD9C SBC A,YH (undocumented)
  5076.     SBB     AL,[yh]
  5077.     flagsetN1
  5078.  
  5079. instheader sbbyl,4
  5080.     SAHF                            ;FD9D SBC A,YL (undocumented)
  5081.     SBB     AL,[yl]
  5082.     flagsetN1
  5083.  
  5084. instheader sbbiy,4
  5085.     calcind iy                      ;FD9E SBC A,(IY+d)
  5086.     PUSH    sBC
  5087.     gbytefr sC
  5088.     SAHF
  5089.     SBB     AL,sC
  5090.     POP     sBC
  5091.     flagsetN1
  5092.  
  5093. instheader anayh,4
  5094.     AND     AL,[yh]                 ;FDA4 AND A,YH (undocumented)
  5095.     LAHF
  5096.     instend
  5097.  
  5098. instheader anayl,4
  5099.     AND     AL,[yl]                 ;FDA5 AND A,YL (undocumented)
  5100.     LAHF
  5101.     instend
  5102.  
  5103. instheader anaiy,4
  5104.     calcind iy                      ;FDA6 AND A,(IY+d)
  5105.     gbytefr AH
  5106.     AND     AL,AH
  5107.     LAHF
  5108.     instend
  5109.  
  5110. instheader xrayh,4
  5111.     XOR     AL,[yh]                 ;FDAC XOR A,YH (undocumented)
  5112.     LAHF
  5113.     instend
  5114.  
  5115. instheader xrayl,4
  5116.     XOR     AL,[yl]                 ;FDAD XOR A,YL (undocumented)
  5117.     LAHF
  5118.     instend
  5119.  
  5120. instheader xraiy,4
  5121.     calcind iy                      ;FDAE XOR A,(IY+d)
  5122.     gbytefr AH
  5123.     XOR     AL,AH
  5124.     LAHF
  5125.     instend
  5126.  
  5127. instheader orayh,4
  5128.     OR      AL,[yh]                 ;FDB4 OR A,YH (undocumented)
  5129.     LAHF
  5130.     instend
  5131.  
  5132. instheader orayl,4
  5133.     OR      AL,[yl]                 ;FDB5 OR A,YL (undocumented)
  5134.     LAHF
  5135.     instend
  5136.  
  5137. instheader oraiy,4
  5138.     calcind iy                      ;FDB6 OR A,(IY+d)
  5139.     gbytefr AH
  5140.     OR      AL,AH
  5141.     LAHF
  5142.     instend
  5143.  
  5144. instheader cmpyh,4
  5145.     CMP     AL,[yh]                 ;FDBC CP YH (undocumented)
  5146.     flagsetN1
  5147.  
  5148. instheader cmpyl,4
  5149.     CMP     AL,[yl]                 ;FDBD CP YL (undocumented)
  5150.     flagsetN1
  5151.  
  5152. instheader cmpiy,4
  5153.     calcind iy                      ;FDBE CP (IY+d)
  5154.     gbytefr AH
  5155.     CMP     AL,AH
  5156.     flagsetN1
  5157.  
  5158. ;* FDCB-prefix instructions can use the DDCB-prefix routines
  5159.  
  5160. instheader popiy,4
  5161.     MOV     BP,[simstack]           ;FDE1 POP IY
  5162.     gwordBP sFree
  5163.     MOV     [iy],sFree
  5164.     ADD     BP,2
  5165.     MOV     [simstack],BP
  5166.     instend
  5167.  
  5168. instheader xtiy,4
  5169.     MOV     BP,[simstack]           ;FDE3 EX (SP),IY
  5170.     gwordBP sFree
  5171.     PUSH    sBC
  5172.     MOV     sBC,[iy]
  5173.     MOV     [iy],sFree
  5174.     wword   sBC
  5175.     POP     sBC
  5176.     instend
  5177.  
  5178. instheader pushiy,4
  5179.     MOV     BP,[simstack]           ;FDE5 PUSH IY
  5180.     SUB     BP,2
  5181.     MOV     [simstack],BP
  5182.     PUSH    sBC
  5183.     MOV     sBC,[iy]
  5184.     wword   sBC
  5185.     POP     sBC
  5186.     instend
  5187.  
  5188. instheader pciy,4
  5189.     MOV     sPC,[iy]                ;FDE9 JP IY
  5190.     InitPCSeg
  5191.     instend
  5192.  
  5193. instheader spiy,4
  5194.     MOV     BP,[iy]                 ;FDF9 LD SP,IY
  5195.     MOV     [simstack],BP
  5196.     instend
  5197.  
  5198. ENDS
  5199.  
  5200. ;*************************************************************************
  5201. ;*                                                                       *
  5202. ;*       Opcode dispatch table                                           *
  5203. ;*                                                                       *
  5204. ;*************************************************************************
  5205.  
  5206. SEGMENT _data DWORD PUBLIC 'DATA'
  5207.  
  5208. opcodes DW    256 DUP (?)
  5209. opcosCB DW    256 DUP (?)
  5210. opcosDD DW    256 DUP (?)
  5211. opcDDCB DW    256 DUP (?)
  5212. opcosED DW    256 DUP (?)
  5213. opcosFD DW    256 DUP (?)
  5214.  
  5215. opclogs DW    1,3,2,2,1,1,2,1,1,3,2,2,1,1,2,1
  5216.     DW    2,3,2,2,1,1,2,1,2,3,2,2,1,1,2,1
  5217.     DW    2,3,5,2,1,1,2,1,2,3,5,2,1,1,2,1
  5218.     DW    2,3,5,2,3,3,3,1,2,3,4,2,1,1,2,1
  5219.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5220.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5221.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5222.     DW    1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1
  5223.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5224.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5225.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5226.     DW    1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1
  5227.     DW    1,3,3,3,3,3,2,3,1,3,3,2,3,3,2,3
  5228.     DW    1,3,3,3,3,3,2,3,1,1,3,3,3,3,2,3
  5229.     DW    1,3,3,3,3,3,2,3,1,3,3,1,3,3,2,3
  5230.     DW    1,3,3,1,3,3,2,3,1,3,3,1,3,3,2,3
  5231.  
  5232. optabl  DW    nop00,lxib,staxb,inxb,inrb,dcrb,mvib,rlc
  5233.     DW    exaf,dadb,ldaxb,dcxb,inrc,dcrc,mvic,rrc
  5234.     DW    djnz,lxid,staxd,inxd,inrd,dcrd,mvid,ral
  5235.     DW    jr,dadd,ldaxd,dcxd,inre,dcre,mvie,rar
  5236.     DW    jrnz,lxih,shldz,inxh,inrh,dcrh,mvih,daaz
  5237.     DW    jrz,dadh,lhld,dcxh,inrl,dcrl,mvil,cma
  5238.     DW    jrnc,lxis,sta,inxs,inrm,dcrm,mvim,stcz
  5239.     DW    jrc,dads,lda,dcxs,inra,dcra,mvia,cmcz
  5240.     DW    movebb,movebc,movebd,movebe,movebh,movebl,movebm,moveba
  5241.     DW    movecb,movecc,movecd,movece,movech,movecl,movecm,moveca
  5242.     DW    movedb,movedc,movedd,movede,movedh,movedl,movedm,moveda
  5243.     DW    moveeb,moveec,moveed,moveee,moveeh,moveel,moveem,moveea
  5244.     DW    movehb,movehc,movehd,movehe,movehh,movehl,movehm,moveha
  5245.     DW    movelb,movelc,moveld,movele,movelh,movell,movelm,movela
  5246.     DW    movemb,movemc,movemd,moveme,movemh,moveml,halt,movema
  5247.     DW    moveab,moveac,movead,moveae,moveah,moveal,moveam,moveaa
  5248.     DW    addb,addc,addd,adde,addh,addl,addm,adda
  5249.     DW    adcb,adcc,adcd,adce,adch,adcl,adcm,adca
  5250.     DW    subb,subc,subd,sube,subh,subl,subm,suba
  5251.     DW    sbbb,sbbc,sbbd,sbbe,sbbh,sbbl,sbbm,sbba
  5252.     DW    andb,andc,andd,ande,andh,andl,andm,anda
  5253.     DW    xrab,xrac,xrad,xrae,xrah,xral,xram,xraa
  5254.     DW    orab,orac,orad,orae,orah,oral,oram,oraa
  5255.     DW    cmpb,cmpc,cmpd,cmpe,cmph,cmpl,cmpam,cmpaa
  5256.     DW    rnz,popb,jnzz,jmpa,cnz,pushb,adi,rst0
  5257.     DW    rz,retz,jzz,preCB,cz,callz,aci,rst1
  5258.     DW    rnc,popd,jncz,outz,cnc,pushd,sui,rst2
  5259.     DW    rc,exx,jcz,inz,cc,preDD,sbi,rst3
  5260.     DW    rpo,poph,jpoz,xthl,cpo,pushh,ani,rst4
  5261.     DW    rpe,pchl,jpez,xchgz,cpe,preED,xri,rst5
  5262.     DW    rp,popp,jpz,diz,cp,pushp,oria,rst6
  5263.     DW    rm,sphl,jmz,ei,cm,preFD,cpi,rst7
  5264.  
  5265. LABEL CBoptab WORD
  5266.     DW    rlcb,rlcc,rlcd,rlce,rlch,rlcl,rlcm,rlca                 ;CB00
  5267.     DW    rrcb,rrcc,rrcd,rrce,rrch,rrcl,rrcm,rrca                 ;CB08
  5268.     DW    rlrb,rlrc,rlrd,rlre,rlrh,rlrl,rlrm,rlra                 ;CB10
  5269.     DW    rrrb,rrrc,rrrd,rrre,rrrh,rrrl,rrrm,rrra                 ;CB18
  5270.     DW    slab,slac,slad,slae,slah,slal,slam,slaa                 ;CB20
  5271.     DW    srab,srac,srad,srae,srah,sral,sram,sraa                 ;CB28
  5272.     DW    sllb,sllc,slld,slle,sllh,slll,sllm,slla                 ;CB30
  5273.     DW    srlb,srlc,srld,srle,srlh,srll,srlm,srla                 ;CB38
  5274.     DW    bit0b,bit0c,bit0d,bit0e,bit0h,bit0l,bit0m,bit0a         ;CB40
  5275.     DW    bit1b,bit1c,bit1d,bit1e,bit1h,bit1l,bit1m,bit1a         ;CB48
  5276.     DW    bit2b,bit2c,bit2d,bit2e,bit2h,bit2l,bit2m,bit2a         ;CB50
  5277.     DW    bit3b,bit3c,bit3d,bit3e,bit3h,bit3l,bit3m,bit3a         ;CB58
  5278.     DW    bit4b,bit4c,bit4d,bit4e,bit4h,bit4l,bit4m,bit4a         ;CB60
  5279.     DW    bit5b,bit5c,bit5d,bit5e,bit5h,bit5l,bit5m,bit5a         ;CB68
  5280.     DW    bit6b,bit6c,bit6d,bit6e,bit6h,bit6l,bit6m,bit6a         ;CB70
  5281.     DW    bit7b,bit7c,bit7d,bit7e,bit7h,bit7l,bit7m,bit7a         ;CB78
  5282.     DW    res0b,res0c,res0d,res0e,res0h,res0l,res0m,res0a         ;CB80
  5283.     DW    res1b,res1c,res1d,res1e,res1h,res1l,res1m,res1a         ;CB88
  5284.     DW    res2b,res2c,res2d,res2e,res2h,res2l,res2m,res2a         ;CB90
  5285.     DW    res3b,res3c,res3d,res3e,res3h,res3l,res3m,res3a         ;CB98
  5286.     DW    res4b,res4c,res4d,res4e,res4h,res4l,res4m,res4a         ;CBA0
  5287.     DW    res5b,res5c,res5d,res5e,res5h,res5l,res5m,res5a         ;CBA8
  5288.     DW    res6b,res6c,res6d,res6e,res6h,res6l,res6m,res6a         ;CBB0
  5289.     DW    res7b,res7c,res7d,res7e,res7h,res7l,res7m,res7a         ;CBB8
  5290.     DW    set0b,set0c,set0d,set0e,set0h,set0l,set0m,set0a         ;CBC0
  5291.     DW    set1b,set1c,set1d,set1e,set1h,set1l,set1m,set1a         ;CBC8
  5292.     DW    set2b,set2c,set2d,set2e,set2h,set2l,set2m,set2a         ;CBD0
  5293.     DW    set3b,set3c,set3d,set3e,set3h,set3l,set3m,set3a         ;CBD8
  5294.     DW    set4b,set4c,set4d,set4e,set4h,set4l,set4m,set4a         ;CBE0
  5295.     DW    set5b,set5c,set5d,set5e,set5h,set5l,set5m,set5a         ;CBE8
  5296.     DW    set6b,set6c,set6d,set6e,set6h,set6l,set6m,set6a         ;CBF0
  5297.     DW    set7b,set7c,set7d,set7e,set7h,set7l,set7m,set7a         ;CBF8
  5298.  
  5299. LABEL DDoptab WORD
  5300.     DW    nop00,lxib,staxb,inxb,inrb,dcrb,mvih,rlc                ;DD00
  5301.     DW    exaf,dadixb,ldaxb,dcxb,inrc,dcrc,mvic,rrc               ;DD08
  5302.     DW    djnz,lxid,staxd,inxd,inrd,dcrd,mvid,ral                 ;DD10
  5303.     DW    jr,dadixd,ldaxd,dcxd,inre,dcre,mvie,rar                 ;DD18
  5304.     DW    jrnz,lxiix,sixd,inxix,inrxh,dcrxh,mvixh,daaz            ;DD20
  5305.     DW    jrz,dadixx,lixd,dcxix,inrxl,dcrxl,mvixl,cma             ;DD28
  5306.     DW    jrnc,lxis,sta,inxs,inrix,dcrix,mviix,stcz               ;DD30
  5307.     DW    jrc,dadixs,lda,dcxs,inra,dcra,mvia,cmcz                 ;DD38
  5308.     DW    movebb,movebc,movebd,movebe,movbxh,movbxl,movbix,moveba ;DD40
  5309.     DW    movecb,movecc,movecd,movece,movcxh,movcxl,movcix,moveca ;DD48
  5310.     DW    movedb,movedc,movedd,movede,movdxh,movdxl,movdix,moveda ;DD50
  5311.     DW    moveeb,moveec,moveed,moveee,movexh,movexl,moveix,moveea ;DD58
  5312.     DW    movxhb,movxhc,movxhd,movxhe,mvxhxh,mvxhxl,movhix,movxha ;DD60
  5313.     DW    movxlb,movxlc,movxld,movxle,mvxlxh,mvxlxl,movlix,movxla ;DD68
  5314.     DW    movixb,movixc,movixd,movixe,movixh,movixl,halt,movixa   ;DD70
  5315.     DW    moveab,moveac,movead,moveae,movaxh,movaxl,movaix,moveaa ;DD78
  5316.     DW    addb,addc,addd,adde,addxh,addxl,addix,adda              ;DD80
  5317.     DW    adcb,adcc,adcd,adce,adcxh,adcxl,adcix,adca              ;DD88
  5318.     DW    subb,subc,subd,sube,subxh,subxl,subix,suba              ;DD90
  5319.     DW    sbbb,sbbc,sbbd,sbbe,sbbxh,sbbxl,sbbix,sbba              ;DD98
  5320.     DW    andb,andc,andd,ande,anaxh,anaxl,anaix,anda              ;DDA0
  5321.     DW    xrab,xrac,xrad,xrae,xraxh,xraxl,xraix,xraa              ;DDA8
  5322.     DW    orab,orac,orad,orae,oraxh,oraxl,oraix,oraa              ;DDB0
  5323.     DW    cmpb,cmpc,cmpd,cmpe,cmpxh,cmpxl,cmpix,cmpaa             ;DDB8
  5324.     DW    rnz,popb,jnzz,jmpa,cnz,pushb,adi,rst0                   ;DDC0
  5325.     DW    rz,retz,jzz,prDDCB,cz,callz,aci,rst1                    ;DDC8
  5326.     DW    rnc,popd,jncz,outz,cnc,pushd,sui,rst2                   ;DDD0
  5327.     DW    rc,exx,jcz,inz,cc,preDD,sbi,rst3                        ;DDD8
  5328.     DW    rpo,popix,jpoz,xtix,cpo,pushix,ani,rst4                 ;DDE0
  5329.     DW    rpe,pcix,jpez,xchgz,cpe,preED,xri,rst5                  ;DDE8
  5330.     DW    rp,popp,jpz,diz,cp,pushp,oria,rst6                      ;DDF0
  5331.     DW    rm,spix,jmz,ei,cm,preFD,cpi,rst7                        ;DDF8
  5332.  
  5333. LABEL DDCBopt WORD
  5334.     DW    rlcib,rlcic,rlcid,rlcie,rlcih,rlcil,rlcix,rlcia         ;DDCB00
  5335.     DW    rrcib,rrcic,rrcid,rrcie,rrcih,rrcil,rrcix,rrcia         ;DDCB08
  5336.     DW    rlib,rlic,rlid,rlie,rlih,rlil,rlix,rlia                 ;DDCB10
  5337.     DW    rrib,rric,rrid,rrie,rrih,rril,rrix,rria                 ;DDCB18
  5338.     DW    slaib,slaic,slaid,slaie,slaih,slail,slaix,slaia         ;DDCB20
  5339.     DW    sraib,sraic,sraid,sraie,sraih,srail,sraix,sraia         ;DDCB28
  5340.     DW    sllib,sllic,sllid,sllie,sllih,sllil,sllix,sllia         ;DDCB30
  5341.     DW    srlib,srlic,srlid,srlie,srlih,srlil,srlix,srlia         ;DDCB38
  5342.     DW    bit0ix,bit0ix,bit0ix,bit0ix,bit0ix,bit0ix,bit0ix,bit0ix ;DDCB40
  5343.     DW    bit1ix,bit1ix,bit1ix,bit1ix,bit1ix,bit1ix,bit1ix,bit1ix ;DDCB48
  5344.     DW    bit2ix,bit2ix,bit2ix,bit2ix,bit2ix,bit2ix,bit2ix,bit2ix ;DDCB50
  5345.     DW    bit3ix,bit3ix,bit3ix,bit3ix,bit3ix,bit3ix,bit3ix,bit3ix ;DDCB58
  5346.     DW    bit4ix,bit4ix,bit4ix,bit4ix,bit4ix,bit4ix,bit4ix,bit4ix ;DDCB60
  5347.     DW    bit5ix,bit5ix,bit5ix,bit5ix,bit5ix,bit5ix,bit5ix,bit5ix ;DDCB68
  5348.     DW    bit6ix,bit6ix,bit6ix,bit6ix,bit6ix,bit6ix,bit6ix,bit6ix ;DDCB70
  5349.     DW    bit7ix,bit7ix,bit7ix,bit7ix,bit7ix,bit7ix,bit7ix,bit7ix ;DDCB78
  5350.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res0ix,iDDCB        ;DDCB80
  5351.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res1ix,iDDCB        ;DDCB88
  5352.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res2ix,iDDCB        ;DDCB90
  5353.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res3ix,iDDCB        ;DDCB98
  5354.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res4ix,iDDCB        ;DDCBA0
  5355.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res5ix,iDDCB        ;DDCBA8
  5356.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res6ix,iDDCB        ;DDCBB0
  5357.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,res7ix,iDDCB        ;DDCBB8
  5358.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set0ix,iDDCB        ;DDCBC0
  5359.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set1ix,iDDCB        ;DDCBC8
  5360.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set2ix,iDDCB        ;DDCBD0
  5361.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set3ix,iDDCB        ;DDCBD8
  5362.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set4ix,iDDCB        ;DDCBE0
  5363.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set5ix,iDDCB        ;DDCBE8
  5364.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set6ix,iDDCB        ;DDCBF0
  5365.     DW    iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,iDDCB,set7ix,iDDCB        ;DDCBF8
  5366.  
  5367. LABEL EDoptab WORD
  5368.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED00
  5369.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED08
  5370.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED10
  5371.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED18
  5372.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED20
  5373.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED28
  5374.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED30
  5375.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED38
  5376.     DW    inbc,outcb,dsbbb,sbcd,nega,zretn,im0,moveia             ;ED40
  5377.     DW    incc,outcc,dadcb,lbcd,nega,reti,illgED,movera           ;ED48
  5378.     DW    indc,outcd,dsbbd,sded,nega,illgED,im1,moveai            ;ED50
  5379.     DW    inec,outce,dadcd,lded,nega,illgED,im2,movear            ;ED58
  5380.     DW    inhc,outch,dsbbh,shldz,nega,illgED,illgED,rrd           ;ED60
  5381.     DW    inlc,outcl,dadch,lhld,nega,illgED,illgED,rld            ;ED68
  5382.     DW    inmc,outcm,dsbbs,sspd,nega,illgED,illgED,illgED         ;ED70
  5383.     DW    inac,outca,dadcs,lspd,nega,illgED,illgED,illgED         ;ED78
  5384.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED80
  5385.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED88
  5386.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED90
  5387.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;ED98
  5388.     DW    ldi,cmpi,ini,outi,illgED,illgED,illgED,illgED           ;EDA0
  5389.     DW    ldd,cpd,ind,outd,illgED,illgED,illgED,illgED            ;EDA8
  5390.     DW    ldir,cpir,inir,otir,illgED,illgED,illgED,illgED         ;EDB0
  5391.     DW    lddr,cpdr,indr,otdr,illgED,illgED,illgED,illgED         ;EDB8
  5392.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDC0
  5393.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDC8
  5394.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDD0
  5395.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDD8
  5396.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDE0
  5397.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDE8
  5398.     DW    illgED,illgED,illgED,illgED,illgED,illgED,illgED,illgED ;EDF0
  5399.     DW    illgED,illgED,illgED,CASInOpen,CASCheck,CASWrite,CASRead,spcED  ;EDF8
  5400.  
  5401. LABEL FDoptab WORD
  5402.     DW    nop00,lxib,staxb,inxb,inrb,dcrb,mvih,rlc                ;FD00
  5403.     DW    exaf,dadiyb,ldaxb,dcxb,inrc,dcrc,mvic,rrc               ;FD08
  5404.     DW    djnz,lxid,staxd,inxd,inrd,dcrd,mvid,ral                 ;FD10
  5405.     DW    jr,dadiyd,ldaxd,dcxd,inre,dcre,mvie,rar                 ;FD18
  5406.     DW    jrnz,lxiiy,siyd,inxiy,inryh,dcryh,mviyh,daaz            ;FD20
  5407.     DW    jrz,dadiyy,liyd,dcxiy,inryl,dcryl,mviyl,cma             ;FD28
  5408.     DW    jrnc,lxis,sta,inxs,inriy,dcriy,mviiy,stcz               ;FD30
  5409.     DW    jrc,dadiys,lda,dcxs,inra,dcra,mvia,cmcz                 ;FD38
  5410.     DW    movebb,movebc,movebd,movebe,movbyh,movbyl,movbiy,moveba ;FD40
  5411.     DW    movecb,movecc,movecd,movece,movcyh,movcyl,movciy,moveca ;FD48
  5412.     DW    movedb,movedc,movedd,movede,movdyh,movdyl,movdiy,moveda ;FD50
  5413.     DW    moveeb,moveec,moveed,moveee,moveyh,moveyl,moveiy,moveea ;FD58
  5414.     DW    movyhb,movyhc,movyhd,movyhe,mvyhyh,mvyhyl,movhiy,movyha ;FD60
  5415.     DW    movylb,movylc,movyld,movyle,mvylyh,mvylyl,movliy,movyla ;FD68
  5416.     DW    moviyb,moviyc,moviyd,moviye,moviyh,moviyl,halt,moviya   ;FD70
  5417.     DW    moveab,moveac,movead,moveae,movayh,movayl,movaiy,moveaa ;FD78
  5418.     DW    addb,addc,addd,adde,addyh,addyl,addiy,adda              ;FD80
  5419.     DW    adcb,adcc,adcd,adce,adcyh,adcyl,adciy,adca              ;FD88
  5420.     DW    subb,subc,subd,sube,subyh,subyl,subiy,suba              ;FD90
  5421.     DW    sbbb,sbbc,sbbd,sbbe,sbbyh,sbbyl,sbbiy,sbba              ;FD98
  5422.     DW    andb,andc,andd,ande,anayh,anayl,anaiy,anda              ;FDA0
  5423.     DW    xrab,xrac,xrad,xrae,xrayh,xrayl,xraiy,xraa              ;FDA8
  5424.     DW    orab,orac,orad,orae,orayh,orayl,oraiy,oraa              ;FDB0
  5425.     DW    cmpb,cmpc,cmpd,cmpe,cmpyh,cmpyl,cmpiy,cmpaa             ;FDB8
  5426.     DW    rnz,popb,jnzz,jmpa,cnz,pushb,adi,rst0                   ;FDC0
  5427.     DW    rz,retz,jzz,prFDCB,cz,callz,aci,rst1                    ;FDC8
  5428.     DW    rnc,popd,jncz,outz,cnc,pushd,sui,rst2                   ;FDD0
  5429.     DW    rc,exx,jcz,inz,cc,preDD,sbi,rst3                        ;FDD8
  5430.     DW    rpo,popiy,jpoz,xtiy,cpo,pushiy,ani,rst4                 ;FDE0
  5431.     DW    rpe,pciy,jpez,xchgz,cpe,preED,xri,rst5                  ;FDE8
  5432.     DW    rp,popp,jpz,diz,cp,pushp,oria,rst6                      ;FDF0
  5433.     DW    rm,spiy,jmz,ei,cm,preFD,cpi,rst7                        ;FDF8
  5434.  
  5435. roptabl DW    r_nop00,r_lxib,r_staxb,r_inxb,r_inrb,r_dcrb,r_mvib,r_rlc
  5436.     DW    r_exaf,r_dadb,r_ldaxb,r_dcxb,r_inrc,r_dcrc,r_mvic,r_rrc
  5437.     DW    r_djnz,r_lxid,r_staxd,r_inxd,r_inrd,r_dcrd,r_mvid,r_ral
  5438.     DW    r_jr,r_dadd,r_ldaxd,r_dcxd,r_inre,r_dcre,r_mvie,r_rar
  5439.     DW    r_jrnz,r_lxih,r_shldz,r_inxh,r_inrh,r_dcrh,r_mvih,r_daaz
  5440.     DW    r_jrz,r_dadh,r_lhld,r_dcxh,r_inrl,r_dcrl,r_mvil,r_cma
  5441.     DW    r_jrnc,r_lxis,r_sta,r_inxs,r_inrm,r_dcrm,r_mvim,r_stcz
  5442.     DW    r_jrc,r_dads,r_lda,r_dcxs,r_inra,r_dcra,r_mvia,r_cmcz
  5443.     DW    r_movebb,r_movebc,r_movebd,r_movebe,r_movebh,r_movebl,r_movebm,r_moveba
  5444.     DW    r_movecb,r_movecc,r_movecd,r_movece,r_movech,r_movecl,r_movecm,r_moveca
  5445.     DW    r_movedb,r_movedc,r_movedd,r_movede,r_movedh,r_movedl,r_movedm,r_moveda
  5446.     DW    r_moveeb,r_moveec,r_moveed,r_moveee,r_moveeh,r_moveel,r_moveem,r_moveea
  5447.     DW    r_movehb,r_movehc,r_movehd,r_movehe,r_movehh,r_movehl,r_movehm,r_moveha
  5448.     DW    r_movelb,r_movelc,r_moveld,r_movele,r_movelh,r_movell,r_movelm,r_movela
  5449.     DW    r_movemb,r_movemc,r_movemd,r_moveme,r_movemh,r_moveml,r_halt,r_movema
  5450.     DW    r_moveab,r_moveac,r_movead,r_moveae,r_moveah,r_moveal,r_moveam,r_moveaa
  5451.     DW    r_addb,r_addc,r_addd,r_adde,r_addh,r_addl,r_addm,r_adda
  5452.     DW    r_adcb,r_adcc,r_adcd,r_adce,r_adch,r_adcl,r_adcm,r_adca
  5453.     DW    r_subb,r_subc,r_subd,r_sube,r_subh,r_subl,r_subm,r_suba
  5454.     DW    r_sbbb,r_sbbc,r_sbbd,r_sbbe,r_sbbh,r_sbbl,r_sbbm,r_sbba
  5455.     DW    r_andb,r_andc,r_andd,r_ande,r_andh,r_andl,r_andm,r_anda
  5456.     DW    r_xrab,r_xrac,r_xrad,r_xrae,r_xrah,r_xral,r_xram,r_xraa
  5457.     DW    r_orab,r_orac,r_orad,r_orae,r_orah,r_oral,r_oram,r_oraa
  5458.     DW    r_cmpb,r_cmpc,r_cmpd,r_cmpe,r_cmph,r_cmpl,r_cmpam,r_cmpaa
  5459.     DW    r_rnz,r_popb,r_jnzz,r_jmpa,r_cnz,r_pushb,r_adi,r_rst0
  5460.     DW    r_rz,r_retz,r_jzz,preCB,r_cz,r_callz,r_aci,r_rst1
  5461.     DW    r_rnc,r_popd,r_jncz,r_outz,r_cnc,r_pushd,r_sui,r_rst2
  5462.     DW    r_rc,r_exx,r_jcz,r_inz,r_cc,preDD,r_sbi,r_rst3
  5463.     DW    r_rpo,r_poph,r_jpoz,r_xthl,r_cpo,r_pushh,r_ani,r_rst4
  5464.     DW    r_rpe,r_pchl,r_jpez,r_xchgz,r_cpe,preED,r_xri,r_rst5
  5465.     DW    r_rp,r_popp,r_jpz,r_diz,r_cp,r_pushp,r_oria,r_rst6
  5466.     DW    r_rm,r_sphl,r_jmz,r_ei,r_cm,preFD,r_cpi,r_rst7
  5467.  
  5468. LABEL rCBoptab WORD
  5469.     DW    r_rlcb,r_rlcc,r_rlcd,r_rlce,r_rlch,r_rlcl,r_rlcm,r_rlca                 ;CB00
  5470.     DW    r_rrcb,r_rrcc,r_rrcd,r_rrce,r_rrch,r_rrcl,r_rrcm,r_rrca                 ;CB08
  5471.     DW    r_rlrb,r_rlrc,r_rlrd,r_rlre,r_rlrh,r_rlrl,r_rlrm,r_rlra                 ;CB10
  5472.     DW    r_rrrb,r_rrrc,r_rrrd,r_rrre,r_rrrh,r_rrrl,r_rrrm,r_rrra                 ;CB18
  5473.     DW    r_slab,r_slac,r_slad,r_slae,r_slah,r_slal,r_slam,r_slaa                 ;CB20
  5474.     DW    r_srab,r_srac,r_srad,r_srae,r_srah,r_sral,r_sram,r_sraa                 ;CB28
  5475.     DW    r_sllb,r_sllc,r_slld,r_slle,r_sllh,r_slll,r_sllm,r_slla                 ;CB30
  5476.     DW    r_srlb,r_srlc,r_srld,r_srle,r_srlh,r_srll,r_srlm,r_srla                 ;CB38
  5477.     DW    r_bit0b,r_bit0c,r_bit0d,r_bit0e,r_bit0h,r_bit0l,r_bit0m,r_bit0a         ;CB40
  5478.     DW    r_bit1b,r_bit1c,r_bit1d,r_bit1e,r_bit1h,r_bit1l,r_bit1m,r_bit1a         ;CB48
  5479.     DW    r_bit2b,r_bit2c,r_bit2d,r_bit2e,r_bit2h,r_bit2l,r_bit2m,r_bit2a         ;CB50
  5480.     DW    r_bit3b,r_bit3c,r_bit3d,r_bit3e,r_bit3h,r_bit3l,r_bit3m,r_bit3a         ;CB58
  5481.     DW    r_bit4b,r_bit4c,r_bit4d,r_bit4e,r_bit4h,r_bit4l,r_bit4m,r_bit4a         ;CB60
  5482.     DW    r_bit5b,r_bit5c,r_bit5d,r_bit5e,r_bit5h,r_bit5l,r_bit5m,r_bit5a         ;CB68
  5483.     DW    r_bit6b,r_bit6c,r_bit6d,r_bit6e,r_bit6h,r_bit6l,r_bit6m,r_bit6a         ;CB70
  5484.     DW    r_bit7b,r_bit7c,r_bit7d,r_bit7e,r_bit7h,r_bit7l,r_bit7m,r_bit7a         ;CB78
  5485.     DW    r_res0b,r_res0c,r_res0d,r_res0e,r_res0h,r_res0l,r_res0m,r_res0a         ;CB80
  5486.     DW    r_res1b,r_res1c,r_res1d,r_res1e,r_res1h,r_res1l,r_res1m,r_res1a         ;CB88
  5487.     DW    r_res2b,r_res2c,r_res2d,r_res2e,r_res2h,r_res2l,r_res2m,r_res2a         ;CB90
  5488.     DW    r_res3b,r_res3c,r_res3d,r_res3e,r_res3h,r_res3l,r_res3m,r_res3a         ;CB98
  5489.     DW    r_res4b,r_res4c,r_res4d,r_res4e,r_res4h,r_res4l,r_res4m,r_res4a         ;CBA0
  5490.     DW    r_res5b,r_res5c,r_res5d,r_res5e,r_res5h,r_res5l,r_res5m,r_res5a         ;CBA8
  5491.     DW    r_res6b,r_res6c,r_res6d,r_res6e,r_res6h,r_res6l,r_res6m,r_res6a         ;CBB0
  5492.     DW    r_res7b,r_res7c,r_res7d,r_res7e,r_res7h,r_res7l,r_res7m,r_res7a         ;CBB8
  5493.     DW    r_set0b,r_set0c,r_set0d,r_set0e,r_set0h,r_set0l,r_set0m,r_set0a         ;CBC0
  5494.     DW    r_set1b,r_set1c,r_set1d,r_set1e,r_set1h,r_set1l,r_set1m,r_set1a         ;CBC8
  5495.     DW    r_set2b,r_set2c,r_set2d,r_set2e,r_set2h,r_set2l,r_set2m,r_set2a         ;CBD0
  5496.     DW    r_set3b,r_set3c,r_set3d,r_set3e,r_set3h,r_set3l,r_set3m,r_set3a         ;CBD8
  5497.     DW    r_set4b,r_set4c,r_set4d,r_set4e,r_set4h,r_set4l,r_set4m,r_set4a         ;CBE0
  5498.     DW    r_set5b,r_set5c,r_set5d,r_set5e,r_set5h,r_set5l,r_set5m,r_set5a         ;CBE8
  5499.     DW    r_set6b,r_set6c,r_set6d,r_set6e,r_set6h,r_set6l,r_set6m,r_set6a         ;CBF0
  5500.     DW    r_set7b,r_set7c,r_set7d,r_set7e,r_set7h,r_set7l,r_set7m,r_set7a         ;CBF8
  5501.  
  5502. LABEL rDDoptab WORD
  5503.     DW    r_nop00,r_lxib,r_staxb,r_inxb,r_inrb,r_dcrb,r_mvih,r_rlc                ;DD00
  5504.     DW    r_exaf,r_dadixb,r_ldaxb,r_dcxb,r_inrc,r_dcrc,r_mvic,r_rrc               ;DD08
  5505.     DW    r_djnz,r_lxid,r_staxd,r_inxd,r_inrd,r_dcrd,r_mvid,r_ral                 ;DD10
  5506.     DW    r_jr,r_dadixd,r_ldaxd,r_dcxd,r_inre,r_dcre,r_mvie,r_rar                 ;DD18
  5507.     DW    r_jrnz,r_lxiix,r_sixd,r_inxix,r_inrxh,r_dcrxh,r_mvixh,r_daaz            ;DD20
  5508.     DW    r_jrz,r_dadixx,r_lixd,r_dcxix,r_inrxl,r_dcrxl,r_mvixl,r_cma             ;DD28
  5509.     DW    r_jrnc,r_lxis,r_sta,r_inxs,r_inrix,r_dcrix,r_mviix,r_stcz               ;DD30
  5510.     DW    r_jrc,r_dadixs,r_lda,r_dcxs,r_inra,r_dcra,r_mvia,r_cmcz                 ;DD38
  5511.     DW    r_movebb,r_movebc,r_movebd,r_movebe,r_movbxh,r_movbxl,r_movbix,r_moveba ;DD40
  5512.     DW    r_movecb,r_movecc,r_movecd,r_movece,r_movcxh,r_movcxl,r_movcix,r_moveca ;DD48
  5513.     DW    r_movedb,r_movedc,r_movedd,r_movede,r_movdxh,r_movdxl,r_movdix,r_moveda ;DD50
  5514.     DW    r_moveeb,r_moveec,r_moveed,r_moveee,r_movexh,r_movexl,r_moveix,r_moveea ;DD58
  5515.     DW    r_movxhb,r_movxhc,r_movxhd,r_movxhe,r_mvxhxh,r_mvxhxl,r_movhix,r_movxha ;DD60
  5516.     DW    r_movxlb,r_movxlc,r_movxld,r_movxle,r_mvxlxh,r_mvxlxl,r_movlix,r_movxla ;DD68
  5517.     DW    r_movixb,r_movixc,r_movixd,r_movixe,r_movixh,r_movixl,r_halt,r_movixa   ;DD70
  5518.     DW    r_moveab,r_moveac,r_movead,r_moveae,r_movaxh,r_movaxl,r_movaix,r_moveaa ;DD78
  5519.     DW    r_addb,r_addc,r_addd,r_adde,r_addxh,r_addxl,r_addix,r_adda              ;DD80
  5520.     DW    r_adcb,r_adcc,r_adcd,r_adce,r_adcxh,r_adcxl,r_adcix,r_adca              ;DD88
  5521.     DW    r_subb,r_subc,r_subd,r_sube,r_subxh,r_subxl,r_subix,r_suba              ;DD90
  5522.     DW    r_sbbb,r_sbbc,r_sbbd,r_sbbe,r_sbbxh,r_sbbxl,r_sbbix,r_sbba              ;DD98
  5523.     DW    r_andb,r_andc,r_andd,r_ande,r_anaxh,r_anaxl,r_anaix,r_anda              ;DDA0
  5524.     DW    r_xrab,r_xrac,r_xrad,r_xrae,r_xraxh,r_xraxl,r_xraix,r_xraa              ;DDA8
  5525.     DW    r_orab,r_orac,r_orad,r_orae,r_oraxh,r_oraxl,r_oraix,r_oraa              ;DDB0
  5526.     DW    r_cmpb,r_cmpc,r_cmpd,r_cmpe,r_cmpxh,r_cmpxl,r_cmpix,r_cmpaa             ;DDB8
  5527.     DW    r_rnz,r_popb,r_jnzz,r_jmpa,r_cnz,r_pushb,r_adi,r_rst0                   ;DDC0
  5528.     DW    r_rz,r_retz,r_jzz,prDDCB,r_cz,r_callz,r_aci,r_rst1                    ;DDC8
  5529.     DW    r_rnc,r_popd,r_jncz,r_outz,r_cnc,r_pushd,r_sui,r_rst2                   ;DDD0
  5530.     DW    r_rc,r_exx,r_jcz,r_inz,r_cc,preDD,r_sbi,r_rst3                        ;DDD8
  5531.     DW    r_rpo,r_popix,r_jpoz,r_xtix,r_cpo,r_pushix,r_ani,r_rst4                 ;DDE0
  5532.     DW    r_rpe,r_pcix,r_jpez,r_xchgz,r_cpe,preED,r_xri,r_rst5                  ;DDE8
  5533.     DW    r_rp,r_popp,r_jpz,r_diz,r_cp,r_pushp,r_oria,r_rst6                      ;DDF0
  5534.     DW    r_rm,r_spix,r_jmz,r_ei,r_cm,preFD,r_cpi,r_rst7                        ;DDF8
  5535.  
  5536. LABEL rDDCBopt WORD
  5537.     DW    r_rlcib,r_rlcic,r_rlcid,r_rlcie,r_rlcih,r_rlcil,r_rlcix,r_rlcia         ;DDCB00
  5538.     DW    r_rrcib,r_rrcic,r_rrcid,r_rrcie,r_rrcih,r_rrcil,r_rrcix,r_rrcia         ;DDCB08
  5539.     DW    r_rlib,r_rlic,r_rlid,r_rlie,r_rlih,r_rlil,r_rlix,r_rlia                 ;DDCB10
  5540.     DW    r_rrib,r_rric,r_rrid,r_rrie,r_rrih,r_rril,r_rrix,r_rria                 ;DDCB18
  5541.     DW    r_slaib,r_slaic,r_slaid,r_slaie,r_slaih,r_slail,r_slaix,r_slaia         ;DDCB20
  5542.     DW    r_sraib,r_sraic,r_sraid,r_sraie,r_sraih,r_srail,r_sraix,r_sraia         ;DDCB28
  5543.     DW    r_sllib,r_sllic,r_sllid,r_sllie,r_sllih,r_sllil,r_sllix,r_sllia         ;DDCB30
  5544.     DW    r_srlib,r_srlic,r_srlid,r_srlie,r_srlih,r_srlil,r_srlix,r_srlia         ;DDCB38
  5545.     DW    r_bit0ix,r_bit0ix,r_bit0ix,r_bit0ix,r_bit0ix,r_bit0ix,r_bit0ix,r_bit0ix ;DDCB40
  5546.     DW    r_bit1ix,r_bit1ix,r_bit1ix,r_bit1ix,r_bit1ix,r_bit1ix,r_bit1ix,r_bit1ix ;DDCB48
  5547.     DW    r_bit2ix,r_bit2ix,r_bit2ix,r_bit2ix,r_bit2ix,r_bit2ix,r_bit2ix,r_bit2ix ;DDCB50
  5548.     DW    r_bit3ix,r_bit3ix,r_bit3ix,r_bit3ix,r_bit3ix,r_bit3ix,r_bit3ix,r_bit3ix ;DDCB58
  5549.     DW    r_bit4ix,r_bit4ix,r_bit4ix,r_bit4ix,r_bit4ix,r_bit4ix,r_bit4ix,r_bit4ix ;DDCB60
  5550.     DW    r_bit5ix,r_bit5ix,r_bit5ix,r_bit5ix,r_bit5ix,r_bit5ix,r_bit5ix,r_bit5ix ;DDCB68
  5551.     DW    r_bit6ix,r_bit6ix,r_bit6ix,r_bit6ix,r_bit6ix,r_bit6ix,r_bit6ix,r_bit6ix ;DDCB70
  5552.     DW    r_bit7ix,r_bit7ix,r_bit7ix,r_bit7ix,r_bit7ix,r_bit7ix,r_bit7ix,r_bit7ix ;DDCB78
  5553.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res0ix,r_iDDCB        ;DDCB80
  5554.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res1ix,r_iDDCB        ;DDCB88
  5555.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res2ix,r_iDDCB        ;DDCB90
  5556.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res3ix,r_iDDCB        ;DDCB98
  5557.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res4ix,r_iDDCB        ;DDCBA0
  5558.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res5ix,r_iDDCB        ;DDCBA8
  5559.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res6ix,r_iDDCB        ;DDCBB0
  5560.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_res7ix,r_iDDCB        ;DDCBB8
  5561.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set0ix,r_iDDCB        ;DDCBC0
  5562.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set1ix,r_iDDCB        ;DDCBC8
  5563.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set2ix,r_iDDCB        ;DDCBD0
  5564.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set3ix,r_iDDCB        ;DDCBD8
  5565.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set4ix,r_iDDCB        ;DDCBE0
  5566.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set5ix,r_iDDCB        ;DDCBE8
  5567.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set6ix,r_iDDCB        ;DDCBF0
  5568.     DW    r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_iDDCB,r_set7ix,r_iDDCB        ;DDCBF8
  5569.  
  5570. LABEL rEDoptab WORD
  5571.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED00
  5572.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED08
  5573.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED10
  5574.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED18
  5575.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED20
  5576.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED28
  5577.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED30
  5578.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED38
  5579.     DW    r_inbc,r_outcb,r_dsbbb,r_sbcd,r_nega,r_zretn,r_im0,r_moveia             ;ED40
  5580.     DW    r_incc,r_outcc,r_dadcb,r_lbcd,r_nega,r_reti,r_illgED,r_movera           ;ED48
  5581.     DW    r_indc,r_outcd,r_dsbbd,r_sded,r_nega,r_illgED,r_im1,r_moveai            ;ED50
  5582.     DW    r_inec,r_outce,r_dadcd,r_lded,r_nega,r_illgED,r_im2,r_movear            ;ED58
  5583.     DW    r_inhc,r_outch,r_dsbbh,r_shldz,r_nega,r_illgED,r_illgED,r_rrd           ;ED60
  5584.     DW    r_inlc,r_outcl,r_dadch,r_lhld,r_nega,r_illgED,r_illgED,r_rld            ;ED68
  5585.     DW    r_inmc,r_outcm,r_dsbbs,r_sspd,r_nega,r_illgED,r_illgED,r_illgED         ;ED70
  5586.     DW    r_inac,r_outca,r_dadcs,r_lspd,r_nega,r_illgED,r_illgED,r_illgED         ;ED78
  5587.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED80
  5588.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED88
  5589.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED90
  5590.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;ED98
  5591.     DW    r_ldi,r_cmpi,r_ini,r_outi,r_illgED,r_illgED,r_illgED,r_illgED           ;EDA0
  5592.     DW    r_ldd,r_cpd,r_ind,r_outd,r_illgED,r_illgED,r_illgED,r_illgED            ;EDA8
  5593.     DW    r_ldir,r_cpir,r_inir,r_otir,r_illgED,r_illgED,r_illgED,r_illgED         ;EDB0
  5594.     DW    r_lddr,r_cpdr,r_indr,r_otdr,r_illgED,r_illgED,r_illgED,r_illgED         ;EDB8
  5595.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDC0
  5596.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDC8
  5597.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDD0
  5598.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDD8
  5599.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDE0
  5600.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDE8
  5601.     DW    r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED,r_illgED ;EDF0
  5602.     DW    r_illgED,r_illgED,r_illgED,CASInOpen,CASCheck,CASWrite,CASRead,r_spcED  ;EDF8
  5603.  
  5604. LABEL rFDoptab WORD
  5605.     DW    r_nop00,r_lxib,r_staxb,r_inxb,r_inrb,r_dcrb,r_mvih,r_rlc                ;DD00
  5606.     DW    r_exaf,r_dadiyb,r_ldaxb,r_dcxb,r_inrc,r_dcrc,r_mvic,r_rrc               ;DD08
  5607.     DW    r_djnz,r_lxid,r_staxd,r_inxd,r_inrd,r_dcrd,r_mvid,r_ral                 ;DD10
  5608.     DW    r_jr,r_dadiyd,r_ldaxd,r_dcxd,r_inre,r_dcre,r_mvie,r_rar                 ;DD18
  5609.     DW    r_jrnz,r_lxiiy,r_siyd,r_inxiy,r_inryh,r_dcryh,r_mviyh,r_daaz            ;DD20
  5610.     DW    r_jrz,r_dadiyy,r_liyd,r_dcxiy,r_inryl,r_dcryl,r_mviyl,r_cma             ;DD28
  5611.     DW    r_jrnc,r_lxis,r_sta,r_inxs,r_inriy,r_dcriy,r_mviiy,r_stcz               ;DD30
  5612.     DW    r_jrc,r_dadiys,r_lda,r_dcxs,r_inra,r_dcra,r_mvia,r_cmcz                 ;DD38
  5613.     DW    r_movebb,r_movebc,r_movebd,r_movebe,r_movbyh,r_movbyl,r_movbiy,r_moveba ;DD40
  5614.     DW    r_movecb,r_movecc,r_movecd,r_movece,r_movcyh,r_movcyl,r_movciy,r_moveca ;DD48
  5615.     DW    r_movedb,r_movedc,r_movedd,r_movede,r_movdyh,r_movdyl,r_movdiy,r_moveda ;DD50
  5616.     DW    r_moveeb,r_moveec,r_moveed,r_moveee,r_moveyh,r_moveyl,r_moveiy,r_moveea ;DD58
  5617.     DW    r_movyhb,r_movyhc,r_movyhd,r_movyhe,r_mvyhyh,r_mvyhyl,r_movhiy,r_movyha ;DD60
  5618.     DW    r_movylb,r_movylc,r_movyld,r_movyle,r_mvylyh,r_mvylyl,r_movliy,r_movyla ;DD68
  5619.     DW    r_moviyb,r_moviyc,r_moviyd,r_moviye,r_moviyh,r_moviyl,r_halt,r_moviya   ;DD70
  5620.     DW    r_moveab,r_moveac,r_movead,r_moveae,r_movayh,r_movayl,r_movaiy,r_moveaa ;DD78
  5621.     DW    r_addb,r_addc,r_addd,r_adde,r_addyh,r_addyl,r_addiy,r_adda              ;DD80
  5622.     DW    r_adcb,r_adcc,r_adcd,r_adce,r_adcyh,r_adcyl,r_adciy,r_adca              ;DD88
  5623.     DW    r_subb,r_subc,r_subd,r_sube,r_subyh,r_subyl,r_subiy,r_suba              ;DD90
  5624.     DW    r_sbbb,r_sbbc,r_sbbd,r_sbbe,r_sbbyh,r_sbbyl,r_sbbiy,r_sbba              ;DD98
  5625.     DW    r_andb,r_andc,r_andd,r_ande,r_anayh,r_anayl,r_anaiy,r_anda              ;DDA0
  5626.     DW    r_xrab,r_xrac,r_xrad,r_xrae,r_xrayh,r_xrayl,r_xraiy,r_xraa              ;DDA8
  5627.     DW    r_orab,r_orac,r_orad,r_orae,r_orayh,r_orayl,r_oraiy,r_oraa              ;DDB0
  5628.     DW    r_cmpb,r_cmpc,r_cmpd,r_cmpe,r_cmpyh,r_cmpyl,r_cmpiy,r_cmpaa             ;DDB8
  5629.     DW    r_rnz,r_popb,r_jnzz,r_jmpa,r_cnz,r_pushb,r_adi,r_rst0                   ;DDC0
  5630.     DW    r_rz,r_retz,r_jzz,prFDCB,r_cz,r_callz,r_aci,r_rst1                      ;DDC8
  5631.     DW    r_rnc,r_popd,r_jncz,r_outz,r_cnc,r_pushd,r_sui,r_rst2                   ;DDD0
  5632.     DW    r_rc,r_exx,r_jcz,r_inz,r_cc,preDD,r_sbi,r_rst3                          ;DDD8
  5633.     DW    r_rpo,r_popiy,r_jpoz,r_xtiy,r_cpo,r_pushiy,r_ani,r_rst4                 ;DDE0
  5634.     DW    r_rpe,r_pciy,r_jpez,r_xchgz,r_cpe,preED,r_xri,r_rst5                    ;DDE8
  5635.     DW    r_rp,r_popp,r_jpz,r_diz,r_cp,r_pushp,r_oria,r_rst6                      ;DDF0
  5636.     DW    r_rm,r_spiy,r_jmz,r_ei,r_cm,preFD,r_cpi,r_rst7                          ;DDF8
  5637.  
  5638. rltops  DW optabl
  5639. rltclks DW 0CE1h
  5640. rltcnt  DD 0CE1h
  5641. rltnew  DW 0
  5642. rltwait DW 0
  5643. rltwcnt DW 0
  5644. rltexp  DW 0
  5645.  
  5646. sAFx    dw      1
  5647. sBCx    dw      1
  5648. sDEx    dw      1
  5649. sHLx    dw      1
  5650. sRF     dw      1
  5651. srFhi   dw      0
  5652. srI     dw      0
  5653.  
  5654. imode   dw      0
  5655.  
  5656. LABEL ix WORD
  5657. xl      db      ?
  5658. xh      db      ?
  5659.  
  5660. LABEL iy WORD
  5661. yl      db      ?
  5662. yh      db      ?
  5663.  
  5664. sIFF1   db      0
  5665. sIFF2   db      0
  5666.  
  5667. simstack dw     ?
  5668.  
  5669. scrchg  dw      0
  5670. firstad dw      1
  5671. ldirlen dw      0
  5672. intflag dw      0
  5673.  
  5674. haltactive dw   0
  5675.  
  5676. intspeed   dw   109
  5677. NormISpeed dw   109
  5678.  
  5679. ENDS
  5680.  
  5681. SEGMENT _stack PARA STACK 'STACK'
  5682. ENDS
  5683.  
  5684. END
  5685.  
  5686.