From c31970a71b26b4777ac740541aa1ac2a8ecc7751 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Sat, 19 Dec 2020 22:41:54 +0100 Subject: [PATCH] more optimizations --- src/zvm_m65/z80_instr_bit.s | 448 +++++++++--------------------------- 1 file changed, 112 insertions(+), 336 deletions(-) diff --git a/src/zvm_m65/z80_instr_bit.s b/src/zvm_m65/z80_instr_bit.s index 6d381255..0ec05417 100644 --- a/src/zvm_m65/z80_instr_bit.s +++ b/src/zvm_m65/z80_instr_bit.s @@ -593,394 +593,282 @@ Z80_instr_FDCB_7E: ; BIT 7,(IY+d) Z80_instr_CB_C0: ; SET 0,B - lda REG_B - ora #%00000001 - sta REG_B + smb0 REG_B jmp ZVM_next Z80_instr_CB_C1: ; SET 0,C - lda REG_C - ora #%00000001 - sta REG_C + smb0 REG_C jmp ZVM_next Z80_instr_CB_C2: ; SET 0,D - lda REG_D - ora #%00000001 - sta REG_D + smb0 REG_D jmp ZVM_next Z80_instr_CB_C3: ; SET 0,E - lda REG_E - ora #%00000001 - sta REG_E + smb0 REG_E jmp ZVM_next Z80_instr_CB_C4: ; SET 0,H - lda REG_H - ora #%00000001 - sta REG_H + smb0 REG_H jmp ZVM_next Z80_instr_CB_C5: ; SET 0,L - lda REG_L - ora #%00000001 - sta REG_L + smb0 REG_L jmp ZVM_next Z80_instr_CB_C7: ; SET 0,A - lda REG_A - ora #%00000001 - sta REG_A + smb0 REG_A jmp ZVM_next Z80_instr_CB_C8: ; SET 1,B - lda REG_B - ora #%00000010 - sta REG_B + smb1 REG_B jmp ZVM_next Z80_instr_CB_C9: ; SET 1, - lda REG_C - ora #%00000010 - sta REG_C + smb1 REG_C jmp ZVM_next Z80_instr_CB_CA: ; SET 1,D - lda REG_D - ora #%00000010 - sta REG_D + smb1 REG_D jmp ZVM_next Z80_instr_CB_CB: ; SET 1,E - lda REG_E - ora #%00000010 - sta REG_E + smb1 REG_E jmp ZVM_next Z80_instr_CB_CC: ; SET 1,H - lda REG_H - ora #%00000010 - sta REG_H + smb1 REG_H jmp ZVM_next Z80_instr_CB_CD: ; SET 1,L - lda REG_L - ora #%00000010 - sta REG_L + smb1 REG_L jmp ZVM_next Z80_instr_CB_CF: ; SET 1,A - lda REG_A - ora #%00000010 - sta REG_A + smb1 REG_A jmp ZVM_next Z80_instr_CB_D0: ; SET 2,B - lda REG_B - ora #%00000100 - sta REG_B + smb2 REG_B jmp ZVM_next Z80_instr_CB_D1: ; SET 2,C - lda REG_C - ora #%00000100 - sta REG_C + smb2 REG_C jmp ZVM_next Z80_instr_CB_D2: ; SET 2,D - lda REG_D - ora #%00000100 - sta REG_D + smb2 REG_D jmp ZVM_next Z80_instr_CB_D3: ; SET 2,E - lda REG_E - ora #%00000100 - sta REG_E + smb2 REG_E jmp ZVM_next Z80_instr_CB_D4: ; SET 2,H - lda REG_H - ora #%00000100 - sta REG_H + smb2 REG_H jmp ZVM_next Z80_instr_CB_D5: ; SET 2,L - lda REG_L - ora #%00000100 - sta REG_L + smb2 REG_L jmp ZVM_next Z80_instr_CB_D7: ; SET 2,A - lda REG_A - ora #%00000100 - sta REG_A + smb2 REG_A jmp ZVM_next Z80_instr_CB_D8: ; SET 3,B - lda REG_B - ora #%00001000 - sta REG_B + smb3 REG_B jmp ZVM_next Z80_instr_CB_D9: ; SET 3,C - lda REG_C - ora #%00001000 - sta REG_C + smb3 REG_C jmp ZVM_next Z80_instr_CB_DA: ; SET 3,D - lda REG_D - ora #%00001000 - sta REG_D + smb3 REG_D jmp ZVM_next Z80_instr_CB_DB: ; SET 3,E - lda REG_E - ora #%00001000 - sta REG_E + smb3 REG_E jmp ZVM_next Z80_instr_CB_DC: ; SET 3,H - lda REG_H - ora #%00001000 - sta REG_H + smb3 REG_H jmp ZVM_next Z80_instr_CB_DD: ; SET 3,L - lda REG_L - ora #%00001000 - sta REG_L + smb3 REG_L jmp ZVM_next Z80_instr_CB_DF: ; SET 3,A - lda REG_A - ora #%00001000 - sta REG_A + smb3 REG_A jmp ZVM_next Z80_instr_CB_E0: ; SET 4,B - lda REG_B - ora #%00010000 - sta REG_B + smb4 REG_B jmp ZVM_next Z80_instr_CB_E1: ; SET 4,C - lda REG_C - ora #%00010000 - sta REG_C + smb4 REG_C jmp ZVM_next Z80_instr_CB_E2: ; SET 4,D - lda REG_D - ora #%00010000 - sta REG_D + smb4 REG_D jmp ZVM_next Z80_instr_CB_E3: ; SET 4,E - lda REG_E - ora #%00010000 - sta REG_E + smb4 REG_E jmp ZVM_next Z80_instr_CB_E4: ; SET 4,H - lda REG_H - ora #%00010000 - sta REG_H + smb4 REG_H jmp ZVM_next Z80_instr_CB_E5: ; SET 4,L - lda REG_L - ora #%00010000 - sta REG_L + smb4 REG_L jmp ZVM_next Z80_instr_CB_E7: ; SET 4,A - lda REG_A - ora #%00010000 - sta REG_A + smb4 REG_A jmp ZVM_next Z80_instr_CB_E8: ; SET 5,B - lda REG_B - ora #%00100000 - sta REG_B + smb5 REG_B jmp ZVM_next Z80_instr_CB_E9: ; SET 5,C - lda REG_C - ora #%00100000 - sta REG_C + smb5 REG_C jmp ZVM_next Z80_instr_CB_EA: ; SET 5,D - lda REG_D - ora #%00100000 - sta REG_D + smb5 REG_D jmp ZVM_next Z80_instr_CB_EB: ; SET 5,E - lda REG_E - ora #%00100000 - sta REG_E + smb5 REG_E jmp ZVM_next Z80_instr_CB_EC: ; SET 5,H - lda REG_H - ora #%00100000 - sta REG_H + smb5 REG_H jmp ZVM_next Z80_instr_CB_ED: ; SET 5,L - lda REG_L - ora #%00100000 - sta REG_L + smb5 REG_L jmp ZVM_next Z80_instr_CB_EF: ; SET 5,A - lda REG_A - ora #%00100000 - sta REG_A + smb5 REG_A jmp ZVM_next Z80_instr_CB_F0: ; SET 6,B - lda REG_B - ora #%01000000 - sta REG_B + smb6 REG_B jmp ZVM_next Z80_instr_CB_F1: ; SET 6,C - lda REG_C - ora #%01000000 - sta REG_C + smb6 REG_C jmp ZVM_next Z80_instr_CB_F2: ; SET 6,D - lda REG_D - ora #%01000000 - sta REG_D + smb6 REG_D jmp ZVM_next Z80_instr_CB_F3: ; SET 6,E - lda REG_E - ora #%01000000 - sta REG_E + smb6 REG_E jmp ZVM_next Z80_instr_CB_F4: ; SET 6,H - lda REG_H - ora #%01000000 - sta REG_H + smb6 REG_H jmp ZVM_next Z80_instr_CB_F5: ; SET 6,L - lda REG_L - ora #%01000000 - sta REG_L + smb6 REG_L jmp ZVM_next Z80_instr_CB_F7: ; SET 6,A - lda REG_A - ora #%01000000 - sta REG_A + smb6 REG_A jmp ZVM_next Z80_instr_CB_F8: ; SET 7,B - lda REG_B - ora #%10000000 - sta REG_B + smb7 REG_B jmp ZVM_next Z80_instr_CB_F9: ; SET 7,C - lda REG_C - ora #%10000000 - sta REG_C + smb7 REG_C jmp ZVM_next Z80_instr_CB_FA: ; SET 7,D - lda REG_D - ora #%10000000 - sta REG_D + smb7 REG_D jmp ZVM_next Z80_instr_CB_FB: ; SET 7,E - lda REG_E - ora #%10000000 - sta REG_E + smb7 REG_E jmp ZVM_next Z80_instr_CB_FC: ; SET 7,H - lda REG_H - ora #%10000000 - sta REG_H + smb7 REG_H jmp ZVM_next Z80_instr_CB_FD: ; SET 7,L - lda REG_L - ora #%10000000 - sta REG_L + smb7 REG_L jmp ZVM_next Z80_instr_CB_FF: ; SET 7,A - lda REG_A - ora #%10000000 - sta REG_A + smb7 REG_A jmp ZVM_next Z80_instr_CB_C6: ; SET 0,(HL) @@ -1129,394 +1017,282 @@ Z80_instr_FDCB_FE: ; SET 7,(IY+d) Z80_instr_CB_80: ; RES 0,B - lda REG_B - and #%11111110 - sta REG_B + rmb0 REG_B jmp ZVM_next Z80_instr_CB_81: ; RES 0,C - lda REG_C - and #%11111110 - sta REG_C + rmb0 REG_C jmp ZVM_next Z80_instr_CB_82: ; RES 0,D - lda REG_D - and #%11111110 - sta REG_D + rmb0 REG_D jmp ZVM_next Z80_instr_CB_83: ; RES 0,E - lda REG_E - and #%11111110 - sta REG_E + rmb0 REG_E jmp ZVM_next Z80_instr_CB_84: ; RES 0,H - lda REG_H - and #%11111110 - sta REG_H + rmb0 REG_H jmp ZVM_next Z80_instr_CB_85: ; RES 0,L - lda REG_L - and #%11111110 - sta REG_L + rmb0 REG_L jmp ZVM_next Z80_instr_CB_87: ; RES 0,A - lda REG_A - and #%11111110 - sta REG_A + rmb0 REG_A jmp ZVM_next Z80_instr_CB_88: ; RES 1,B - lda REG_B - and #%11111101 - sta REG_B + rmb1 REG_B jmp ZVM_next Z80_instr_CB_89: ; RES 1,C - lda REG_C - and #%11111101 - sta REG_C + rmb1 REG_C jmp ZVM_next Z80_instr_CB_8A: ; RES 1,D - lda REG_D - and #%11111101 - sta REG_D + rmb1 REG_D jmp ZVM_next Z80_instr_CB_8B: ; RES 1,E - lda REG_E - and #%11111101 - sta REG_E + rmb1 REG_E jmp ZVM_next Z80_instr_CB_8C: ; RES 1,H - lda REG_H - and #%11111101 - sta REG_H + rmb1 REG_H jmp ZVM_next Z80_instr_CB_8D: ; RES 1,L - lda REG_L - and #%11111101 - sta REG_L + rmb1 REG_L jmp ZVM_next Z80_instr_CB_8F: ; RES 1,A - lda REG_A - and #%11111101 - sta REG_A + rmb1 REG_A jmp ZVM_next Z80_instr_CB_90: ; RES 2,B - lda REG_B - and #%11111011 - sta REG_B + rmb2 REG_B jmp ZVM_next Z80_instr_CB_91: ; RES 2,C - lda REG_C - and #%11111011 - sta REG_C + rmb2 REG_C jmp ZVM_next Z80_instr_CB_92: ; RES 2,D - lda REG_D - and #%11111011 - sta REG_D + rmb2 REG_D jmp ZVM_next Z80_instr_CB_93: ; RES 2,E - lda REG_E - and #%11111011 - sta REG_E + rmb2 REG_E jmp ZVM_next Z80_instr_CB_94: ; RES 2,H - lda REG_H - and #%11111011 - sta REG_H + rmb2 REG_H jmp ZVM_next Z80_instr_CB_95: ; RES 2,L - lda REG_L - and #%11111011 - sta REG_L + rmb2 REG_L jmp ZVM_next Z80_instr_CB_97: ; RES 2,A - lda REG_A - and #%11111011 - sta REG_A + rmb2 REG_A jmp ZVM_next Z80_instr_CB_98: ; RES 3,B - lda REG_B - and #%11110111 - sta REG_B + rmb3 REG_B jmp ZVM_next Z80_instr_CB_99: ; RES 3,C - lda REG_C - and #%11110111 - sta REG_C + rmb3 REG_C jmp ZVM_next Z80_instr_CB_9A: ; RES 3,D - lda REG_D - and #%11110111 - sta REG_D + rmb3 REG_D jmp ZVM_next Z80_instr_CB_9B: ; RES 3,E - lda REG_E - and #%11110111 - sta REG_E + rmb3 REG_E jmp ZVM_next Z80_instr_CB_9C: ; RES 3,H - lda REG_H - and #%11110111 - sta REG_H + rmb3 REG_H jmp ZVM_next Z80_instr_CB_9D: ; RES 3,L - lda REG_L - and #%11110111 - sta REG_L + rmb3 REG_L jmp ZVM_next Z80_instr_CB_9F: ; RES 3,A - lda REG_A - and #%11110111 - sta REG_A + rmb3 REG_A jmp ZVM_next Z80_instr_CB_A0: ; RES 4,B - lda REG_B - and #%11101111 - sta REG_B + rmb4 REG_B jmp ZVM_next Z80_instr_CB_A1: ; RES 4,C - lda REG_C - and #%11101111 - sta REG_C + rmb4 REG_C jmp ZVM_next Z80_instr_CB_A2: ; RES 4,D - lda REG_D - and #%11101111 - sta REG_D + rmb4 REG_D jmp ZVM_next Z80_instr_CB_A3: ; RES 4,E - lda REG_E - and #%11101111 - sta REG_E + rmb4 REG_E jmp ZVM_next Z80_instr_CB_A4: ; RES 4,H - lda REG_H - and #%11101111 - sta REG_H + rmb4 REG_H jmp ZVM_next Z80_instr_CB_A5: ; RES 4,L - lda REG_L - and #%11101111 - sta REG_L + rmb4 REG_L jmp ZVM_next Z80_instr_CB_A7: ; RES 4,A - lda REG_A - and #%11101111 - sta REG_A + rmb4 REG_A jmp ZVM_next Z80_instr_CB_A8: ; RES 5,B - lda REG_B - and #%11011111 - sta REG_B + rmb5 REG_B jmp ZVM_next Z80_instr_CB_A9: ; RES 5,C - lda REG_C - and #%11011111 - sta REG_C + rmb5 REG_C jmp ZVM_next Z80_instr_CB_AA: ; RES 5,D - lda REG_D - and #%11011111 - sta REG_D + rmb5 REG_D jmp ZVM_next Z80_instr_CB_AB: ; RES 5,E - lda REG_E - and #%11011111 - sta REG_E + rmb5 REG_E jmp ZVM_next Z80_instr_CB_AC: ; RES 5,H - lda REG_H - and #%11011111 - sta REG_H + rmb5 REG_H jmp ZVM_next Z80_instr_CB_AD: ; RES 5,L - lda REG_L - and #%11011111 - sta REG_L + rmb5 REG_L jmp ZVM_next Z80_instr_CB_AF: ; RES 5,A - lda REG_A - and #%11011111 - sta REG_A + rmb5 REG_A jmp ZVM_next Z80_instr_CB_B0: ; RES 6,B - lda REG_B - and #%10111111 - sta REG_B + rmb6 REG_B jmp ZVM_next Z80_instr_CB_B1: ; RES 6,C - lda REG_C - and #%10111111 - sta REG_C + rmb6 REG_C jmp ZVM_next Z80_instr_CB_B2: ; RES 6,D - lda REG_D - and #%10111111 - sta REG_D + rmb6 REG_D jmp ZVM_next Z80_instr_CB_B3: ; RES 6,E - lda REG_E - and #%10111111 - sta REG_E + rmb6 REG_E jmp ZVM_next Z80_instr_CB_B4: ; RES 6,H - lda REG_H - and #%10111111 - sta REG_H + rmb6 REG_H jmp ZVM_next Z80_instr_CB_B5: ; RES 6,L - lda REG_L - and #%10111111 - sta REG_L + rmb6 REG_L jmp ZVM_next Z80_instr_CB_B7: ; RES 6,A - lda REG_A - and #%10111111 - sta REG_A + rmb6 REG_A jmp ZVM_next Z80_instr_CB_B8: ; RES 7,B - lda REG_B - and #%01111111 - sta REG_B + rmb7 REG_B jmp ZVM_next Z80_instr_CB_B9: ; RES 7,C - lda REG_C - and #%01111111 - sta REG_C + rmb7 REG_C jmp ZVM_next Z80_instr_CB_BA: ; RES 7,D - lda REG_D - and #%01111111 - sta REG_D + rmb7 REG_D jmp ZVM_next Z80_instr_CB_BB: ; RES 7,E - lda REG_E - and #%01111111 - sta REG_E + rmb7 REG_E jmp ZVM_next Z80_instr_CB_BC: ; RES 7,H - lda REG_H - and #%01111111 - sta REG_H + rmb7 REG_H jmp ZVM_next Z80_instr_CB_BD: ; RES 7,L - lda REG_L - and #%01111111 - sta REG_L + rmb7 REG_L jmp ZVM_next Z80_instr_CB_BF: ; RES 7,A - lda REG_A - and #%01111111 - sta REG_A + rmb7 REG_A jmp ZVM_next Z80_instr_CB_86: ; RES 0,(HL)