create condition flags
This commit is contained in:
@@ -12,22 +12,22 @@ uint16_t memory[UINT16_MAX];
|
|||||||
/* Initializing 10 registers of which:
|
/* Initializing 10 registers of which:
|
||||||
8 general purpose, 1 program counter, 1 conditional */
|
8 general purpose, 1 program counter, 1 conditional */
|
||||||
enum {
|
enum {
|
||||||
R_GP0,
|
RG_GP0 = 0,
|
||||||
R_GP1,
|
RG_GP1,
|
||||||
R_GP2,
|
RG_GP2,
|
||||||
R_GP3,
|
RG_GP3,
|
||||||
R_GP4,
|
RG_GP4,
|
||||||
R_GP5,
|
RG_GP5,
|
||||||
R_GP6,
|
RG_GP6,
|
||||||
R_GP7,
|
RG_GP7,
|
||||||
R_PC = 0,
|
RG_PC = 0, // program counter
|
||||||
R_COND,
|
RG_COND, // condition flag
|
||||||
R_COUNT
|
RG_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
uint16_t reg[R_COUNT];
|
uint16_t reg[RG_COUNT];
|
||||||
|
|
||||||
/* Creating LC-3 instruction set opcodes */
|
/* Creating instruction set opcodes */
|
||||||
enum {
|
enum {
|
||||||
OP_BR = 0, // branch
|
OP_BR = 0, // branch
|
||||||
OP_ADD, // add
|
OP_ADD, // add
|
||||||
@@ -46,3 +46,10 @@ enum {
|
|||||||
OP_LEA, // load effective address
|
OP_LEA, // load effective address
|
||||||
OP_TRAP, // execute trap
|
OP_TRAP, // execute trap
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Creating condition flags */
|
||||||
|
enum {
|
||||||
|
FL_POS = 1 << 0, // P
|
||||||
|
FL_ZRO = 1 << 1, // Z
|
||||||
|
FL_NEG = 1 << 2, // N
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user