?? makez80.c
字號:
{0x70, BITHandler}, {0x71, BITHandler}, {0x72, BITHandler}, {0x73, BITHandler}, {0x74, BITHandler}, {0x75, BITHandler}, {0x76, BITHandler}, {0x77, BITHandler}, {0x78, BITHandler}, {0x79, BITHandler}, {0x7a, BITHandler}, {0x7b, BITHandler}, {0x7c, BITHandler}, {0x7d, BITHandler}, {0x7e, BITHandler}, {0x7f, BITHandler}, // RES {0x80, RESSETHandler}, {0x81, RESSETHandler}, {0x82, RESSETHandler}, {0x83, RESSETHandler}, {0x84, RESSETHandler}, {0x85, RESSETHandler}, {0x86, RESSETHandler}, {0x87, RESSETHandler}, {0x88, RESSETHandler}, {0x89, RESSETHandler}, {0x8a, RESSETHandler}, {0x8b, RESSETHandler}, {0x8c, RESSETHandler}, {0x8d, RESSETHandler}, {0x8e, RESSETHandler}, {0x8f, RESSETHandler}, {0x90, RESSETHandler}, {0x91, RESSETHandler}, {0x92, RESSETHandler}, {0x93, RESSETHandler}, {0x94, RESSETHandler}, {0x95, RESSETHandler}, {0x96, RESSETHandler}, {0x97, RESSETHandler}, {0x98, RESSETHandler}, {0x99, RESSETHandler}, {0x9a, RESSETHandler}, {0x9b, RESSETHandler}, {0x9c, RESSETHandler}, {0x9d, RESSETHandler}, {0x9e, RESSETHandler}, {0x9f, RESSETHandler}, {0xa0, RESSETHandler}, {0xa1, RESSETHandler}, {0xa2, RESSETHandler}, {0xa3, RESSETHandler}, {0xa4, RESSETHandler}, {0xa5, RESSETHandler}, {0xa6, RESSETHandler}, {0xa7, RESSETHandler}, {0xa8, RESSETHandler}, {0xa9, RESSETHandler}, {0xaa, RESSETHandler}, {0xab, RESSETHandler}, {0xac, RESSETHandler}, {0xad, RESSETHandler}, {0xae, RESSETHandler}, {0xaf, RESSETHandler}, {0xb0, RESSETHandler}, {0xb1, RESSETHandler}, {0xb2, RESSETHandler}, {0xb3, RESSETHandler}, {0xb4, RESSETHandler}, {0xb5, RESSETHandler}, {0xb6, RESSETHandler}, {0xb7, RESSETHandler}, {0xb8, RESSETHandler}, {0xb9, RESSETHandler}, {0xba, RESSETHandler}, {0xbb, RESSETHandler}, {0xbc, RESSETHandler}, {0xbd, RESSETHandler}, {0xbe, RESSETHandler}, {0xbf, RESSETHandler}, // SET {0xc0, RESSETHandler}, {0xc1, RESSETHandler}, {0xc2, RESSETHandler}, {0xc3, RESSETHandler}, {0xc4, RESSETHandler}, {0xc5, RESSETHandler}, {0xc6, RESSETHandler}, {0xc7, RESSETHandler}, {0xc8, RESSETHandler}, {0xc9, RESSETHandler}, {0xca, RESSETHandler}, {0xcb, RESSETHandler}, {0xcc, RESSETHandler}, {0xcd, RESSETHandler}, {0xce, RESSETHandler}, {0xcf, RESSETHandler}, {0xd0, RESSETHandler}, {0xd1, RESSETHandler}, {0xd2, RESSETHandler}, {0xd3, RESSETHandler}, {0xd4, RESSETHandler}, {0xd5, RESSETHandler}, {0xd6, RESSETHandler}, {0xd7, RESSETHandler}, {0xd8, RESSETHandler}, {0xd9, RESSETHandler}, {0xda, RESSETHandler}, {0xdb, RESSETHandler}, {0xdc, RESSETHandler}, {0xdd, RESSETHandler}, {0xde, RESSETHandler}, {0xdf, RESSETHandler}, {0xe0, RESSETHandler}, {0xe1, RESSETHandler}, {0xe2, RESSETHandler}, {0xe3, RESSETHandler}, {0xe4, RESSETHandler}, {0xe5, RESSETHandler}, {0xe6, RESSETHandler}, {0xe7, RESSETHandler}, {0xe8, RESSETHandler}, {0xe9, RESSETHandler}, {0xea, RESSETHandler}, {0xeb, RESSETHandler}, {0xec, RESSETHandler}, {0xed, RESSETHandler}, {0xee, RESSETHandler}, {0xef, RESSETHandler}, {0xf0, RESSETHandler}, {0xf1, RESSETHandler}, {0xf2, RESSETHandler}, {0xf3, RESSETHandler}, {0xf4, RESSETHandler}, {0xf5, RESSETHandler}, {0xf6, RESSETHandler}, {0xf7, RESSETHandler}, {0xf8, RESSETHandler}, {0xf9, RESSETHandler}, {0xfa, RESSETHandler}, {0xfb, RESSETHandler}, {0xfc, RESSETHandler}, {0xfd, RESSETHandler}, {0xfe, RESSETHandler}, {0xff, RESSETHandler}, // Terminator {0xffffffff, NULL} };struct sOp EDOps[] ={ {0x67, RRDRLDHandler}, {0x6f, RRDRLDHandler}, {0x42, AdcSbcRegpair}, {0x4a, AdcSbcRegpair}, {0x52, AdcSbcRegpair}, {0x5a, AdcSbcRegpair}, {0x62, AdcSbcRegpair}, {0x6a, AdcSbcRegpair}, {0x72, AdcSbcRegpair}, {0x7a, AdcSbcRegpair}, {0x45, RetIRetNHandler}, {0x4d, RetIRetNHandler}, {0x44, NegHandler}, {0xa0, LDILDRLDIRLDDRHandler}, {0xa8, LDILDRLDIRLDDRHandler}, {0xb0, LDILDRLDIRLDDRHandler}, {0xb8, LDILDRLDIRLDDRHandler}, {0x57, IRHandler}, {0x5F, IRHandler}, {0x47, IRHandler}, {0x4F, IRHandler}, {0x46, IMHandler}, {0x56, IMHandler}, {0x5e, IMHandler}, {0x4b, LdRegpair}, {0x5b, LdRegpair}, {0x7b, LdRegpair}, {0x43, ExtendedRegIntoMemory}, {0x53, ExtendedRegIntoMemory}, {0x63, ExtendedRegIntoMemory}, {0x73, ExtendedRegIntoMemory}, {0x40, ExtendedInHandler}, {0x48, ExtendedInHandler}, {0x50, ExtendedInHandler}, {0x58, ExtendedInHandler}, {0x60, ExtendedInHandler}, {0x68, ExtendedInHandler}, {0x78, ExtendedInHandler}, {0x41, ExtendedOutHandler}, {0x49, ExtendedOutHandler}, {0x51, ExtendedOutHandler}, {0x59, ExtendedOutHandler}, {0x61, ExtendedOutHandler}, {0x69, ExtendedOutHandler}, {0x79, ExtendedOutHandler}, {0xa1, CPICPDCPIRCPDRHandler}, {0xa9, CPICPDCPIRCPDRHandler}, {0xb1, CPICPDCPIRCPDRHandler}, {0xb9, CPICPDCPIRCPDRHandler}, {0xbb, OTIROTDROUTIOUTDHandler}, // OTDR {0xb3, OTIROTDROUTIOUTDHandler}, // OTIR {0xab, OTIROTDROUTIOUTDHandler}, // OUTD {0xa3, OTIROTDROUTIOUTDHandler}, // OUTI {0xb2, INIRINDRINIINDHandler}, // INIR {0xba, INIRINDRINIINDHandler}, // INDR {0xa2, INIRINDRINIINDHandler}, // INI {0xaa, INIRINDRINIINDHandler}, // IND // Terminator {0xffffffff, NULL} };struct sOp DDFDOps[] ={ {0x35, IncDecIndexed}, {0x34, IncDecIndexed}, {0xcb, DDFDCBHandler}, {0x86, MathOperationIndexed}, {0x8e, MathOperationIndexed}, {0x96, MathOperationIndexed}, {0x9e, MathOperationIndexed}, {0xa6, MathOperationIndexed}, {0xae, MathOperationIndexed}, {0xb6, MathOperationIndexed}, {0xbe, MathOperationIndexed}, {0xe1, PushPopOperationsIndexed}, {0xe5, PushPopOperationsIndexed}, {0x21, LoadImmediate}, {0xe9, JPIXIYHandler}, {0x09, AddIndexHandler}, {0x19, AddIndexHandler}, {0x29, AddIndexHandler}, {0x39, AddIndexHandler}, {0xf9, SPToIndex}, {0x36, LdByteToIndex}, {0x46, LdRegIndexOffset}, {0x4e, LdRegIndexOffset}, {0x56, LdRegIndexOffset}, {0x5e, LdRegIndexOffset}, {0x66, LdRegIndexOffset}, {0x6e, LdRegIndexOffset}, {0x7e, LdRegIndexOffset}, {0x70, LdIndexPtrReg}, {0x71, LdIndexPtrReg}, {0x72, LdIndexPtrReg}, {0x73, LdIndexPtrReg}, {0x74, LdIndexPtrReg}, {0x75, LdIndexPtrReg}, {0x77, LdIndexPtrReg}, {0x23, IncDecIndexReg}, {0x2b, IncDecIndexReg}, {0x22, StoreIndexReg}, {0x2a, LoadIndexReg}, {0xe3, ExIndexed}, {0x44, UndocRegToIndex}, {0x45, UndocRegToIndex}, {0x4c, UndocRegToIndex}, {0x4d, UndocRegToIndex}, {0x54, UndocRegToIndex}, {0x55, UndocRegToIndex}, {0x5c, UndocRegToIndex}, {0x5d, UndocRegToIndex}, {0x7c, UndocRegToIndex}, {0x7d, UndocRegToIndex}, {0x60, UndocIndexToReg}, {0x61, UndocIndexToReg}, {0x62, UndocIndexToReg}, {0x63, UndocIndexToReg}, {0x64, UndocIndexToReg}, {0x65, UndocIndexToReg}, {0x67, UndocIndexToReg}, {0x68, UndocIndexToReg}, {0x69, UndocIndexToReg}, {0x6a, UndocIndexToReg}, {0x6b, UndocIndexToReg}, {0x6c, UndocIndexToReg}, {0x6d, UndocIndexToReg}, {0x6f, UndocIndexToReg}, {0x24, UndocIncDecIndexReg}, {0x25, UndocIncDecIndexReg}, {0x2c, UndocIncDecIndexReg}, {0x2d, UndocIncDecIndexReg}, {0x26, UndocLoadHalfIndexReg}, {0x2e, UndocLoadHalfIndexReg}, {0x84, UndocMathIndex}, {0x85, UndocMathIndex}, {0x8c, UndocMathIndex}, {0x8d, UndocMathIndex}, {0x94, UndocMathIndex}, {0x95, UndocMathIndex}, {0x9c, UndocMathIndex}, {0x9d, UndocMathIndex}, {0xa4, UndocMathIndex}, {0xa5, UndocMathIndex}, {0xac, UndocMathIndex}, {0xad, UndocMathIndex}, {0xb4, UndocMathIndex}, {0xb5, UndocMathIndex}, {0xbc, UndocMathIndex}, {0xbd, UndocMathIndex}, // Terminator {0xffffffff, NULL}};struct sOp DDFDCBOps[] ={ {0x06, ddcbBitWise}, {0x0e, ddcbBitWise}, {0x16, ddcbBitWise}, {0x1e, ddcbBitWise}, {0x26, ddcbBitWise}, {0x2e, ddcbBitWise}, {0x3e, ddcbBitWise}, {0x46, ddcbBitWise}, {0x4e, ddcbBitWise}, {0x56, ddcbBitWise}, {0x5e, ddcbBitWise}, {0x66, ddcbBitWise}, {0x6e, ddcbBitWise}, {0x76, ddcbBitWise}, {0x7e, ddcbBitWise}, {0x86, ddcbBitWise}, {0x8e, ddcbBitWise}, {0x96, ddcbBitWise}, {0x9e, ddcbBitWise}, {0xa6, ddcbBitWise}, {0xae, ddcbBitWise}, {0xb6, ddcbBitWise}, {0xbe, ddcbBitWise}, {0xc6, ddcbBitWise}, {0xce, ddcbBitWise}, {0xd6, ddcbBitWise}, {0xde, ddcbBitWise}, {0xe6, ddcbBitWise}, {0xee, ddcbBitWise}, {0xf6, ddcbBitWise}, {0xfe, ddcbBitWise}, // Terminator {0xffffffff, NULL}};void InvalidInstructionC(UINT32 dwCount){ fprintf(fp, " InvalidInstruction(%ld);\n", dwCount);}UINT32 Timing(UINT8 bWho, UINT32 dwOpcode){ UINT32 dwTiming = 0; assert(dwOpcode < 0x100); if (TIMING_REGULAR == bWho) // Regular? dwTiming = bTimingRegular[dwOpcode]; else if (TIMING_CB == bWho) dwTiming = bTimingCB[dwOpcode]; else if (TIMING_DDFD == bWho) dwTiming = bTimingDDFD[dwOpcode]; else if (TIMING_ED == bWho) dwTiming = bTimingED[dwOpcode]; else if (TIMING_XXCB == bWho) dwTiming = bTimingXXCB[dwOpcode]; else if (TIMING_EXCEPT == bWho) dwTiming = dwOpcode; else assert(0); if (0 == dwTiming) { fprintf(stderr, "Opcode: %.2x:%.2x - Not zero!\n", bWho, dwOpcode); fclose(fp); exit(1); } return(dwTiming);}void IndexedOffset(UINT8 *Localmz80Index)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -