view emulator/iset.c @ 20:ddeae9d3fff4

clean up
author james <jb302@eecs.qmul.ac.uk>
date Sun, 23 Feb 2014 14:52:31 +0000
parents 256d24488e3f
children a542cd390efd
line wrap: on
line source
/* iset.c
 * op functions */
#include <stdlib.h>
#include "iset.h"
#include "mem.h"

//implement me
void
JNS(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
LJMP(void) {
    registers.PC = registers.PC + 1;
}

/*
 * 0x08 - SET C
 * 0x0A - SET BS
 * 0x0C - SET IE */
void
SET(void) {
    switch (op) {
        case 0x08:
            registers.flags = registers.flags | 0x80;
            break;
        case 0x0A:
            registers.flags = registers.flags | 0x01;
            break;
        case 0x0C:
            registers.flags = registers.flags | 0x02;
            break;
    }
    registers.PC = registers.PC + 1;
}

void
RESERVED(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JPO(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
ANL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JNZ(void) {
    registers.PC = registers.PC + 1;
}

/* 0xFF - HLT */
void
HLT(void) {
    exit(0);
}

//implement me
void
RRC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
POP(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JNC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
SUBB(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
PCALL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
IN(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
INC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
XRL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
SUB(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
RR(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
SJMP(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
RETI(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
RET(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
INT(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
ADD(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
ADDC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
RL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
MUL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JMP(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
DJNZ(void) {
    registers.PC = registers.PC + 1;
}

/* 0x09 - CLR C
 * 0x0B - CLR BS
 * 0x0D - CLR IE */
void
CLR(void) {
    switch (op) {
        case 0x09:
            registers.flags = registers.flags ^ 0x80;
            break;
        case 0x0B:
            registers.flags = registers.flags ^ 0x01;
            break;
        case 0x0D:
            registers.flags = registers.flags ^ 0x02;
            break;
    }
    registers.PC = registers.PC + 1;
}

//implement me
void
JZ(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JPE(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
LAF(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
MOV(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
RLC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
JS(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
ORL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
CJNE(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
XCSD(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
LCALL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
DA(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
NOP(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
SFA(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
CPL(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
PUSH(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
DIV(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
DEC(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
OUT(void) {
    registers.PC = registers.PC + 1;
}

//implement me
void
PJMP(void) {
    registers.PC = registers.PC + 1;
}