0

Hi

I am doing a project of simulating a CPU using my pc and Turbo C.

I have,

void execInst(int inst)
{
int opCode;
int operand;

opCode = inst >> 8;
operand = inst & 0xff;

switch (opCode) {
// default: Handle illegal instruction here.
case LDA:
Cpu.a = operand;
break;

case STA:
Mem[operand] = Cpu.a;
break;
----
}
----
}

What is the justification for "8" above and also for "0xff" ? Are they correct?

Also when declaring
#define STA 1

for the switch statement, the "1" above - can it be arbitary - or should it be related to OpCode?

Thanks

2
Contributors
1
Reply
4
Views
12 Years
Discussion Span
Last Post by Evenbit
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.