PSP-EMU rev 57
Un emulador en c++ para SONY PSP
Clases | 'defines' | 'typedefs'

Referencia del Archivo cAllegrexDefs.h

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...

#include <inttypes.h>
#include "general_emu.h"
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

Descripción detallada

Fecha:
Jan 19, 2011
Autor:
m0skit0

Documentación de los '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

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


Documentación de los 'typedefs'

typedef uint32_t tRegistro

Definimos un registro del procesador

 Todo Clases Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones 'defines'