|
PSP-EMU rev 57
Un emulador en c++ para SONY PSP
|
Definiciones de los struct que contienen los tipos de registros del procesador principal, así como los opcodes de los diferentes tipos de instrucciones. Más...
Dependencia gráfica adjunta para cAllegrexDefs.h:
Gráfico de los archivos que directa o indirectamente incluyen a este archivo:Ir al código fuente de este archivo.
Clases | |
| union | tRegistroDoble |
| union | tRegistroInst |
'defines' | |
| #define | INST_ADD 0x20 |
| #define | INST_ADDU 0x21 |
| #define | INST_AND 0x24 |
| #define | INST_BREAK 0x0D |
| #define | INST_DIV 0x1A |
| #define | INST_DIVU 0x1B |
| #define | INST_JALR 0x09 |
| #define | INST_JR 0x08 |
| #define | INST_MASC_J 0xC0000000 |
| #define | INST_MFHI 0x10 |
| #define | INST_MFLO 0x12 |
| #define | INST_MOVNZ 0x0B |
| #define | INST_MOVZ 0x0A |
| #define | INST_MTHI 0x11 |
| #define | INST_MTLO 0x13 |
| #define | INST_MULT 0x18 |
| #define | INST_MULTU 0x19 |
| #define | INST_NOP 0x00000000 |
| #define | INST_NOR 0x27 |
| #define | INST_OR 0x25 |
| #define | INST_RIMM_BGEZ 0x01 |
| #define | INST_RIMM_BGEZAL 0x11 |
| #define | INST_RIMM_BGEZALL 0x13 |
| #define | INST_RIMM_BGEZL 0x03 |
| #define | INST_RIMM_BLTZ 0x00 |
| #define | INST_RIMM_BLTZAL 0x10 |
| #define | INST_RIMM_BLTZALL 0x12 |
| #define | INST_RIMM_BLTZL 0x02 |
| #define | INST_RIMM_TEQI 0x0C |
| #define | INST_RIMM_TGEI 0x08 |
| #define | INST_RIMM_TGEIU 0x09 |
| #define | INST_RIMM_TLTI 0x0A |
| #define | INST_RIMM_TLTIU 0x0B |
| #define | INST_RIMM_TNEI 0x0E |
| #define | INST_SLL 0x00 |
| #define | INST_SLLV 0x04 |
| #define | INST_SLT 0x2A |
| #define | INST_SLTU 0x2B |
| #define | INST_SRA 0x03 |
| #define | INST_SRAV 0x07 |
| #define | INST_SRL 0x02 |
| #define | INST_SRLV 0x06 |
| #define | INST_SUB 0x22 |
| #define | INST_SUBU 0x23 |
| #define | INST_SYNC 0x0F |
| #define | INST_SYSCALL 0x0C |
| #define | INST_TEQ 0x34 |
| #define | INST_TGE 0x30 |
| #define | INST_TGEU 0x31 |
| #define | INST_TLT 0x32 |
| #define | INST_TLTU 0x33 |
| #define | INST_TNE 0x36 |
| #define | INST_XOR 0x26 |
| #define | NUM_OPCODES 64 |
| #define | NUM_REG_GENERICOS 32 |
| #define | REG_A0 4 |
| #define | REG_A1 5 |
| #define | REG_A2 6 |
| #define | REG_A3 7 |
| #define | REG_AT 1 |
| #define | REG_FP 30 |
| #define | REG_GP 28 |
| #define | REG_K0 26 |
| #define | REG_K1 27 |
| #define | REG_RA 31 |
| #define | REG_S0 16 |
| #define | REG_S1 17 |
| #define | REG_S2 18 |
| #define | REG_S3 19 |
| #define | REG_S4 20 |
| #define | REG_S5 21 |
| #define | REG_S6 22 |
| #define | REG_S7 23 |
| #define | REG_SP 29 |
| #define | REG_T0 8 |
| #define | REG_T1 9 |
| #define | REG_T2 10 |
| #define | REG_T3 11 |
| #define | REG_T4 12 |
| #define | REG_T5 13 |
| #define | REG_T6 14 |
| #define | REG_T7 15 |
| #define | REG_T8 24 |
| #define | REG_T9 25 |
| #define | REG_V0 2 |
| #define | REG_V1 3 |
| #define | REG_VALOR_DEFECTO 0 |
| #define | REG_VALOR_INICIAL_PC 0xBFC00000 |
| #define | REG_VALOR_INICIAL_SP 0x7FFFEFFC |
| #define | REG_ZR 0 |
| #define | TAM_INSTRUCCION sizeof(tWord) |
| #define | TAM_PIPLINE 2 |
'typedefs' | |
| typedef uint32_t | tRegistro |
| #define INST_ADD 0x20 |
| #define INST_ADDU 0x21 |
| #define INST_AND 0x24 |
| #define INST_BREAK 0x0D |
| #define INST_DIV 0x1A |
| #define INST_DIVU 0x1B |
| #define INST_JALR 0x09 |
| #define INST_JR 0x08 |
| #define INST_MASC_J 0xC0000000 |
Máscara para saltos
| #define INST_MFHI 0x10 |
| #define INST_MFLO 0x12 |
| #define INST_MOVNZ 0x0B |
| #define INST_MOVZ 0x0A |
| #define INST_MTHI 0x11 |
| #define INST_MTLO 0x13 |
| #define INST_MULT 0x18 |
| #define INST_MULTU 0x19 |
| #define INST_NOP 0x00000000 |
| #define INST_NOR 0x27 |
| #define INST_OR 0x25 |
| #define INST_RIMM_BGEZ 0x01 |
| #define INST_RIMM_BGEZAL 0x11 |
| #define INST_RIMM_BGEZALL 0x13 |
| #define INST_RIMM_BGEZL 0x03 |
| #define INST_RIMM_BLTZ 0x00 |
| #define INST_RIMM_BLTZAL 0x10 |
| #define INST_RIMM_BLTZALL 0x12 |
| #define INST_RIMM_BLTZL 0x02 |
| #define INST_RIMM_TEQI 0x0C |
| #define INST_RIMM_TGEI 0x08 |
| #define INST_RIMM_TGEIU 0x09 |
| #define INST_RIMM_TLTI 0x0A |
| #define INST_RIMM_TLTIU 0x0B |
| #define INST_RIMM_TNEI 0x0E |
| #define INST_SLL 0x00 |
| #define INST_SLLV 0x04 |
| #define INST_SLT 0x2A |
| #define INST_SLTU 0x2B |
| #define INST_SRA 0x03 |
| #define INST_SRAV 0x07 |
| #define INST_SRL 0x02 |
| #define INST_SRLV 0x06 |
| #define INST_SUB 0x22 |
| #define INST_SUBU 0x23 |
| #define INST_SYNC 0x0F |
| #define INST_SYSCALL 0x0C |
| #define INST_TEQ 0x34 |
| #define INST_TGE 0x30 |
| #define INST_TGEU 0x31 |
| #define INST_TLT 0x32 |
| #define INST_TLTU 0x33 |
| #define INST_TNE 0x36 |
| #define INST_XOR 0x26 |
| #define NUM_OPCODES 64 |
Tipos diferentes de códigos de operación que existen
| #define NUM_REG_GENERICOS 32 |
Número de registros genéricos tiene el procesador
| #define REG_A0 4 |
| #define REG_A1 5 |
| #define REG_A2 6 |
| #define REG_A3 7 |
| #define REG_AT 1 |
| #define REG_FP 30 |
| #define REG_GP 28 |
| #define REG_K0 26 |
| #define REG_K1 27 |
| #define REG_RA 31 |
| #define REG_S0 16 |
| #define REG_S1 17 |
| #define REG_S2 18 |
| #define REG_S3 19 |
| #define REG_S4 20 |
| #define REG_S5 21 |
| #define REG_S6 22 |
| #define REG_S7 23 |
| #define REG_SP 29 |
| #define REG_T0 8 |
| #define REG_T1 9 |
| #define REG_T2 10 |
| #define REG_T3 11 |
| #define REG_T4 12 |
| #define REG_T5 13 |
| #define REG_T6 14 |
| #define REG_T7 15 |
| #define REG_T8 24 |
| #define REG_T9 25 |
| #define REG_V0 2 |
| #define REG_V1 3 |
| #define REG_VALOR_DEFECTO 0 |
| #define REG_VALOR_INICIAL_PC 0xBFC00000 |
| #define REG_VALOR_INICIAL_SP 0x7FFFEFFC |
| #define REG_ZR 0 |
| #define TAM_INSTRUCCION sizeof(tWord) |
Tamaño de instrucción del procesador
| #define TAM_PIPLINE 2 |
Tamaño del pipeline del procesador
| typedef uint32_t tRegistro |
Definimos un registro del procesador
1.7.3