68kcounter
Version:
68000 ASM source code cycle counter
264 lines (263 loc) • 7.44 kB
TypeScript
declare type Values<T> = T[keyof T];
export declare const Mnemonics: {
readonly ABCD: "ABCD";
readonly ADD: "ADD";
readonly ADDA: "ADDA";
readonly ADDI: "ADDI";
readonly ADDQ: "ADDQ";
readonly ADDX: "ADDX";
readonly AND: "AND";
readonly ANDI: "ANDI";
readonly ASL: "ASL";
readonly ASR: "ASR";
readonly BCC: "BCC";
readonly BCHG: "BCHG";
readonly BCLR: "BCLR";
readonly BCS: "BCS";
readonly BEQ: "BEQ";
readonly BGE: "BGE";
readonly BGT: "BGT";
readonly BHI: "BHI";
readonly BLE: "BLE";
readonly BLT: "BLT";
readonly BMI: "BMI";
readonly BNE: "BNE";
readonly BPL: "BPL";
readonly BRA: "BRA";
readonly BSET: "BSET";
readonly BSR: "BSR";
readonly BTST: "BTST";
readonly BVC: "BVC";
readonly BVS: "BVS";
readonly BLS: "BLS";
readonly CHK: "CHK";
readonly CLR: "CLR";
readonly CMP: "CMP";
readonly CMPA: "CMPA";
readonly CMPI: "CMPI";
readonly CMPM: "CMPM";
readonly DBCC: "DBCC";
readonly DBCS: "DBCS";
readonly DBEQ: "DBEQ";
readonly DBF: "DBF";
readonly DBGE: "DBGE";
readonly DBGT: "DBGT";
readonly DBHI: "DBHI";
readonly DBLE: "DBLE";
readonly DBLT: "DBLT";
readonly DBMI: "DBMI";
readonly DBNE: "DBNE";
readonly DBPL: "DBPL";
readonly DBT: "DBT";
readonly DBVC: "DBVC";
readonly DBVS: "DBVS";
readonly DBLS: "DBLS";
readonly DIVS: "DIVS";
readonly DIVU: "DIVU";
readonly EOR: "EOR";
readonly EORI: "EORI";
readonly EXG: "EXG";
readonly EXT: "EXT";
readonly JMP: "JMP";
readonly JSR: "JSR";
readonly LEA: "LEA";
readonly LINK: "LINK";
readonly LSL: "LSL";
readonly LSR: "LSR";
readonly MOVE: "MOVE";
readonly MOVEA: "MOVEA";
readonly MOVEM: "MOVEM";
readonly MOVEP: "MOVEP";
readonly MOVEQ: "MOVEQ";
readonly MULS: "MULS";
readonly MULU: "MULU";
readonly NBCD: "NBCD";
readonly NEG: "NEG";
readonly NEGX: "NEGX";
readonly NOP: "NOP";
readonly NOT: "NOT";
readonly OR: "OR";
readonly ORI: "ORI";
readonly PEA: "PEA";
readonly RESET: "RESET";
readonly ROL: "ROL";
readonly ROR: "ROR";
readonly ROXL: "ROXL";
readonly ROXR: "ROXR";
readonly RTE: "RTE";
readonly RTR: "RTR";
readonly RTS: "RTS";
readonly SBCD: "SBCD";
readonly SCC: "SCC";
readonly SCS: "SCS";
readonly SEQ: "SEQ";
readonly SGE: "SGE";
readonly SGT: "SGT";
readonly SHI: "SHI";
readonly SLE: "SLE";
readonly SLT: "SLT";
readonly SMI: "SMI";
readonly SNE: "SNE";
readonly SPL: "SPL";
readonly SF: "SF";
readonly ST: "ST";
readonly SLS: "SLS";
readonly STOP: "STOP";
readonly SUB: "SUB";
readonly SUBA: "SUBA";
readonly SUBI: "SUBI";
readonly SUBQ: "SUBQ";
readonly SUBX: "SUBX";
readonly SVC: "SVC";
readonly SVS: "SVS";
readonly SWAP: "SWAP";
readonly TAS: "TAS";
readonly TRAP: "TRAP";
readonly TRAPV: "TRAPV";
readonly TST: "TST";
readonly UNLK: "UNLK";
readonly ILLEGAL: "ILLEGAL";
};
export declare type Mnemonic = Values<typeof Mnemonics>;
export declare function isMnemonic(v: string): v is Mnemonic;
export declare const Qualifiers: {
readonly B: "B";
readonly W: "W";
readonly L: "L";
readonly Q: "Q";
readonly S: "S";
readonly D: "D";
readonly X: "X";
};
export declare type Qualifier = Values<typeof Qualifiers>;
export declare function isQualifier(v: string): v is Qualifier;
export declare const AddressingModes: {
readonly Dn: "Dn";
readonly An: "An";
readonly AnIndir: "(An)";
readonly AnPostInc: "(An)+";
readonly AnPreDec: "-(An)";
readonly AnDisp: "d(An)";
readonly AnDispIx: "d(An,ix)";
readonly PcDisp: "d(PC)";
readonly PcDispIx: "d(PC,ix)";
readonly AbsW: "xxx.W";
readonly AbsL: "xxx.L";
readonly RegList: "RegList";
readonly Imm: "#xxx";
readonly CCR: "ccr";
readonly SR: "sr";
readonly USP: "usp";
};
export declare type AddressingMode = Values<typeof AddressingModes>;
export declare type MnemonicGroup = "BCC" | "DBCC" | "SCC" | "SHIFT";
export declare const mnemonicGroups: Record<MnemonicGroup, Mnemonic[]>;
export declare type AddressingModeGroup = "EA" | "DI" | "M";
export declare const addressingModeGroups: Record<AddressingModeGroup, AddressingMode[]>;
export declare const Directives: {
readonly DC: "DC";
readonly DCB: "DCB";
readonly DS: "DS";
readonly DB: "DB";
readonly DW: "DW";
readonly DL: "DL";
readonly SECTION: "SECTION";
readonly BSS: "BSS";
readonly BSS_C: "BSS_C";
readonly BSS_F: "BSS_F";
readonly CSEG: "CSEG";
readonly CODE: "CODE";
readonly CODE_C: "CODE_C";
readonly CODE_F: "CODE_F";
readonly DATA: "DATA";
readonly DATA_C: "DATA_C";
readonly DATA_F: "DATA_F";
readonly DSEG: "DSEG";
readonly EQU: "EQU";
readonly FEQU: "FEQU";
readonly "=": "=";
readonly SET: "SET";
readonly INCLUDE: "INCLUDE";
readonly INCDIR: "INCDIR";
readonly INCBIN: "INCBIN";
readonly IFEQ: "IFEQ";
readonly IFNE: "IFNE";
readonly IFGT: "IFGT";
readonly IFGE: "IFGE";
readonly IFLT: "IFLT";
readonly IFLE: "IFLE";
readonly IFB: "IFB";
readonly IFNB: "IFNB";
readonly IFC: "IFC";
readonly IFNC: "IFNC";
readonly IFD: "IFD";
readonly IFND: "IFND";
readonly IFMACROD: "IFMACROD";
readonly IFMACROND: "IFMACROND";
readonly ELSE: "ELSE";
readonly ENDC: "ENDC";
readonly ENDIF: "ENDIF";
readonly MACRO: "MACRO";
readonly ENDM: "ENDM";
readonly REPT: "REPT";
readonly ENDR: "ENDR";
readonly ALIGN: "ALIGN";
readonly EVEN: "EVEN";
readonly ODD: "ODD";
readonly CNOP: "CNOP";
readonly OPT: "OPT";
readonly CARGS: "CARGS";
readonly CLRFO: "CLRFO";
readonly CLRSO: "CLRSO";
readonly COMM: "COMM";
readonly COMMENT: "COMMENT";
readonly ECHO: "ECHO";
readonly EINLINE: "EINLINE";
readonly END: "END";
readonly ENDF: "ENDF";
readonly ENDP: "ENDP";
readonly EREM: "EREM";
readonly FAIL: "FAIL";
readonly FPU: "FPU";
readonly IDNT: "IDNT";
readonly INLINE: "INLINE";
readonly JUMPPTR: "JUMPPTR";
readonly LIST: "LIST";
readonly LLEN: "LLEN";
readonly LOAD: "LOAD";
readonly MACHINE: "MACHINE";
readonly MEXIT: "MEXIT";
readonly MMU: "MMU";
readonly NOLIST: "NOLIST";
readonly NOPAGE: "NOPAGE";
readonly NREF: "NREF";
readonly OFFSET: "OFFSET";
readonly OPWORD: "OPWORD";
readonly ORG: "ORG";
readonly OUTPUT: "OUTPUT";
readonly PAGE: "PAGE";
readonly PLEN: "PLEN";
readonly PRINTT: "PRINTT";
readonly PRINTV: "PRINTV";
readonly PUBLIC: "PUBLIC";
readonly RECORD: "RECORD";
readonly REM: "REM";
readonly RORG: "RORG";
readonly RSRESET: "RSRESET";
readonly RSSET: "RSSET";
readonly SETFO: "SETFO";
readonly SETSO: "SETSO";
readonly SPC: "SPC";
readonly TEXT: "TEXT";
readonly TTL: "TTL";
readonly WEAK: "WEAK";
readonly XDEF: "XDEF";
readonly XREF: "XREF";
};
export declare type Directive = Values<typeof Directives>;
export declare function isDirective(v: string): v is Directive;
/**
* Map alternate to canonical mnemonics used in our mappings.
*/
export declare const aliases: Record<string, string>;
export {};