1988-06-22 16:57:09 +00:00
|
|
|
/*
|
|
|
|
The big switch on all the opcodes
|
|
|
|
*/
|
|
|
|
|
1994-06-24 11:31:16 +00:00
|
|
|
/* $Id$ */
|
1988-06-22 16:57:09 +00:00
|
|
|
|
|
|
|
#include <em_abs.h>
|
|
|
|
#include "global.h"
|
|
|
|
#include "opcode.h"
|
|
|
|
#include "text.h"
|
|
|
|
#include "trap.h"
|
|
|
|
#include "warn.h"
|
2019-10-23 23:13:51 +00:00
|
|
|
#include "switch.h"
|
1988-06-22 16:57:09 +00:00
|
|
|
|
2019-03-17 14:42:00 +00:00
|
|
|
void do_instr(unsigned int opcode)
|
1988-06-22 16:57:09 +00:00
|
|
|
{
|
|
|
|
switch (opcode) {
|
2018-06-09 12:13:31 +00:00
|
|
|
#include "DoCases" /* for the muscle */
|
1988-06-22 16:57:09 +00:00
|
|
|
case SECONDARY:
|
|
|
|
do_instr(SEC_BASE + nextPCbyte());
|
|
|
|
break;
|
|
|
|
case TERTIARY:
|
|
|
|
do_instr(TERT_BASE + nextPCbyte());
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
wtrap(WBADOPC, EILLINS);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|