Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
e5db072deThis file is pinned to the selected release. Download the original to open it in your design tool.
#pragma once
//-----------------------------------------------------------------------------
// quad 0
#define NOP (0x00)
#define LD_A16_SP(A) (0x08), uint8_t(A), uint8_t((A) >> 8)
#define STOP (0x10)
#define JR_R8(A) (0x18), uint8_t(A)
#define JR_NZ_D8(A) (0x20), uint8_t(A)
#define JR_Z_R8(A) (0x28), uint8_t(A)
#define JR_NC_R8(A) (0x30), uint8_t(A)
#define JR_C_R8(A) (0x38), uint8_t(A)
#define LD_BC_D16(A) (0x01), uint8_t(A), uint8_t((A) >> 8)
#define LD_DE_D16(A) (0x11), uint8_t(A), uint8_t((A) >> 8)
#define LD_HL_D16(A) (0x21), uint8_t(A), uint8_t((A) >> 8)
#define LD_SP_D16(A) (0x31), uint8_t(A), uint8_t((A) >> 8)
#define ADD_HL_BC (0x09)
#define ADD_HL_DE (0x19)
#define ADD_HL_HL (0x29)
#define ADD_HL_SP (0x39)
#define LD_BC_A (0x02)
#define LD_A_BC (0x0A)
#define LD_DE_A (0x12)
#define LD_A_DE (0x1A)
#define LD_HLP_A (0x22)
#define LD_A_HLP (0x2A)
#define LD_HLM_A (0x32)
#define LD_A_HLM (0x3A)
#define INC_BC (0x03)
#define DEC_BC (0x0B)
#define INC_DE (0x13)
#define DEC_DE (0x1B)
#define INC_HL (0x23)
#define DEC_HL (0x2B)
#define INC_SP (0x33)
#define DEC_SP (0x3B)
#define INC_B (0x04)
#define INC_C (0x0C)
#define INC_D (0x14)
#define INC_E (0x1C)
#define INC_H (0x24)
#define INC_L (0x2C)
#define INC_AT_HL (0x34)
#define INC_A (0x3C)
#define DEC_B (0x05)
#define DEC_C (0x0D)
#define DEC_D (0x15)
#define DEC_E (0x1D)
#define DEC_H (0x25)
#define DEC_L (0x2D)
#define DEC_AT_HL (0x35)
#define DEC_A (0x3D)
#define LD_B_D8(A) (0x06), uint8_t(A)
#define LD_C_D8(A) (0x0E), uint8_t(A)
#define LD_D_D8(A) (0x16), uint8_t(A)
#define LD_E_D8(A) (0x1E), uint8_t(A)
#define LD_H_D8(A) (0x26), uint8_t(A)
#define LD_L_D8(A) (0x2E), uint8_t(A)
#define LD_HL_D8(A) (0x36), uint8_t(A)
#define LD_A_D8(A) (0x3E), uint8_t(A)
#define RLCA (0x07)
#define RRCA (0x0F)
#define RLA (0x17)
#define RRA (0x1F)
#define DAA (0x27)
#define CPL (0x2F)
#define SCF (0x37)
#define CCF (0x3F)
//-----------------------------------------------------------------------------
// quad 1
#define LD_B_B (0x40)
#define LD_B_C (0x41)
#define LD_B_D (0x42)
#define LD_B_E (0x43)
#define LD_B_H (0x44)
#define LD_B_L (0x45)
#define LD_B_HL (0x46)
#define LD_B_A (0x47)
#define LD_C_B (0x48)
#define LD_C_C (0x49)
#define LD_C_D (0x4A)
#define LD_C_E (0x4B)
#define LD_C_H (0x4C)
#define LD_C_L (0x4D)
#define LD_C_HL (0x4E)
#define LD_C_A (0x4F)
#define LD_D_B (0x50)
#define LD_D_C (0x51)
#define LD_D_D (0x52)
#define LD_D_E (0x53)
#define LD_D_H (0x54)
#define LD_D_L (0x55)
#define LD_D_HL (0x56)
#define LD_D_A (0x57)
#define LD_E_B (0x58)
#define LD_E_C (0x59)
#define LD_E_D (0x5A)
#define LD_E_E (0x5B)
#define LD_E_H (0x5C)
#define LD_E_L (0x5D)
#define LD_E_HL (0x5E)
#define LD_E_A (0x5F)
#define LD_H_B (0x60)
#define LD_H_C (0x61)
#define LD_H_D (0x62)
#define LD_H_E (0x63)
#define LD_H_H (0x64)
#define LD_H_L (0x65)
#define LD_H_HL (0x66)
#define LD_H_A (0x67)
#define LD_L_B (0x68)
#define LD_L_C (0x69)
#define LD_L_D (0x6A)
#define LD_L_E (0x6B)
#define LD_L_H (0x6C)
#define LD_L_L (0x6D)
#define LD_L_HL (0x6E)
#define LD_L_A (0x6F)
#define LD_HL_B (0x70)
#define LD_HL_C (0x71)
#define LD_HL_D (0x72)
#define LD_HL_E (0x73)
#define LD_HL_H (0x74)
#define LD_HL_L (0x75)
#define HALT (0x76)
#define LD_HL_A (0x77)
#define LD_A_B (0x78)
#define LD_A_C (0x79)
#define LD_A_D (0x7A)
#define LD_A_E (0x7B)
#define LD_A_H (0x7C)
#define LD_A_L (0x7D)
#define LD_A_HL (0x7E)
#define LD_A_A (0x7F)
//-----------------------------------------------------------------------------
// quad 2
#define ADD_A_B (0x80)
#define ADD_A_C (0x81)
#define ADD_A_D (0x82)
#define ADD_A_E (0x83)
#define ADD_A_H (0x84)
#define ADD_A_L (0x85)
#define ADD_A_HL (0x86)
#define ADD_A_A (0x87)
#define ADC_A_B (0x88)
#define ADC_A_C (0x89)
#define ADC_A_D (0x8A)
#define ADC_A_E (0x8B)
#define ADC_A_H (0x8C)
#define ADC_A_L (0x8D)
#define ADC_A_HL (0x8E)
#define ADC_A_A (0x8F)
#define SUB_A_B (0x90)
#define SUB_A_C (0x91)
#define SUB_A_D (0x92)
#define SUB_A_E (0x93)
#define SUB_A_H (0x94)
#define SUB_A_L (0x95)
#define SUB_A_HL (0x96)
#define SUB_A_A (0x97)
#define SBC_A_B (0x98)
#define SBC_A_C (0x99)
#define SBC_A_D (0x9A)
#define SBC_A_E (0x9B)
#define SBC_A_H (0x9C)
#define SBC_A_L (0x9D)
#define SBC_A_HL (0x9E)
#define SBC_A_A (0x9F)
#define AND_A_B (0xA0)
#define AND_A_C (0xA1)
#define AND_A_D (0xA2)
#define AND_A_E (0xA3)
#define AND_A_H (0xA4)
#define AND_A_L (0xA5)
#define AND_A_HL (0xA6)
#define AND_A_A (0xA7)
#define XOR_A_B (0xA8)
#define XOR_A_C (0xA9)
#define XOR_A_D (0xAA)
#define XOR_A_E (0xAB)
#define XOR_A_H (0xAC)
#define XOR_A_L (0xAD)
#define XOR_A_HL (0xAE)
#define XOR_A_A (0xAF)
#define OR_A_B (0xB0)
#define OR_A_C (0xB1)
#define OR_A_D (0xB2)
#define OR_A_E (0xB3)
#define OR_A_H (0xB4)
#define OR_A_L (0xB5)
#define OR_A_HL (0xB6)
#define OR_A_A (0xB7)
#define CP_A_B (0xB8)
#define CP_A_C (0xB9)
#define CP_A_D (0xBA)
#define CP_A_E (0xBB)
#define CP_A_H (0xBC)
#define CP_A_L (0xBD)
#define CP_A_HL (0xBE)
#define CP_A_A (0xBF)
//-----------------------------------------------------------------------------
#define RET_NZ (0xC0)
#define RET_Z (0xC8)
#define RET_NC (0xD0)
#define RET_C (0xD8)
#define LDH_A8_A(A) (0xE0), uint8_t(A)
#define ADD_SP_R8(A) (0xE8), uint8_t(A)
#define LDH_A_A8(A) (0xF0), uint8_t(A)
#define LD_HL_SP_R8(A) (0xF8), uint8_t(A)
#define POP_BC (0xC1)
#define RET (0xC9)
#define POP_DE (0xD1)
#define RETI (0xD9)
#define POP_HL (0xE1)
#define JP_HL (0xE9)
#define POP_AF (0xF1)
#define LD_SP_HL (0xF9)
#define JP_NZ_A16(A) (0xC2), uint8_t(A), uint8_t((A) >> 8)
#define JP_Z_A16(A) (0xCA), uint8_t(A), uint8_t((A) >> 8)
#define JP_NC_A16(A) (0xD2)
#define JP_C_A16(A) (0xDA), uint8_t(A), uint8_t((A) >> 8)
#define LDI_C_A (0xE2)
#define LDI_A16_A(A) (0xEA), uint8_t(A & 0xFF), uint8_t((A) >> 8)
#define LDI_A_C (0xF2)
#define LDI_A_A16(A) (0xFA), uint8_t(A), uint8_t((A) >> 8)
#define JP_A16(A) (0xC3), uint8_t(A), uint8_t((A) >> 8)
#define PREFIX_CB (0xCB)
#define UNDEFINED1 (0xD3)
#define UNDEFINED2 (0xDB)
#define UNDEFINED4 (0xE3)
#define UNDEFINED6 (0xEB)
#define DI (0xF3)
#define EI (0xFB)
#define CALL_NZ_A16(A) (0xC4), uint8_t(A), uint8_t((A) >> 8)
#define CALL_Z_A16(A) (0xCC), uint8_t(A), uint8_t((A) >> 8)
#define CALL_NC_A16(A) (0xD4), uint8_t(A), uint8_t((A) >> 8)
#define CALL_C_A16(A) (0xDC), uint8_t(A), uint8_t((A) >> 8)
#define UNDEFINED5 (0xE4)
#define UNDEFINED7 (0xEC)
#define UNDEFINED9 (0xF4)
#define UNDEFINED10 (0xFC)
#define PUSH_BC (0xC5)
#define CALL_A16(A) (0xCD), uint8_t(A), uint8_t((A) >> 8)
#define PUSH_DE (0xD5)
#define UNDEFINED3 (0xDD)
#define PUSH_HL (0xE5)
#define UNDEFINED8 (0xED)
#define PUSH_AF (0xF5)
#define UNDEFINED11 (0xFD)
#define ADD_A_D8(A) (0xC6), uint8_t(A)
#define ADC_A_D8(A) (0xCE), uint8_t(A)
#define SUB_A_D8(A) (0xD6), uint8_t(A)
#define SBC_A_D8(A) (0xDE), uint8_t(A)
#define AND_A_D8(A) (0xE6), uint8_t(A)
#define XOR_A_D8(A) (0xEE), uint8_t(A)
#define OR_A_D8(A) (0xF6), uint8_t(A)
#define CP_D8(A) (0xFE), uint8_t(A)
#define RLD_00 (0xC7)
#define RLD_08 (0xCF)
#define RLD_10 (0xD7)
#define RLD_18 (0xDF)
#define RLD_20 (0xE7)
#define RLD_28 (0xEF)
#define RLD_30 (0xF7)
#define RLD_38 (0xFF)
//-----------------------------------------------------------------------------