#include "doscmd.h"

void
int00(struct sigcontext *sc)
{
	fprintf(debugf, "Divide by 0!\n");
	exit(1);
}

void
int01(struct sigcontext *sc)
{
}

void
int03(struct sigcontext *sc)
{
}

void
int0d(struct sigcontext *sc)
{
	/*XXXXX*/
}

void
cpu_init(void)
{
	u_long vec;

	vec = insert_hardint_trampoline();
	ivec[0x00] = vec;
	register_callback(vec, int00, "int 00");

	vec = insert_softint_trampoline();
	ivec[0x01] = vec;
	register_callback(vec, int01, "int 01");

	vec = insert_softint_trampoline();
	ivec[0x03] = vec;
	register_callback(vec, int03, "int 03");

	vec = insert_hardint_trampoline();
	ivec[0x0d] = vec;
	register_callback(vec, int0d, "int 0d");

	vec = insert_null_trampoline();
	ivec[0x34] = vec;	/* floating point emulator */
	ivec[0x35] = vec;	/* floating point emulator */
	ivec[0x36] = vec;	/* floating point emulator */
	ivec[0x37] = vec;	/* floating point emulator */
	ivec[0x38] = vec;	/* floating point emulator */
	ivec[0x39] = vec;	/* floating point emulator */
	ivec[0x3a] = vec;	/* floating point emulator */
	ivec[0x3b] = vec;	/* floating point emulator */
	ivec[0x3c] = vec;	/* floating point emulator */
	ivec[0x3d] = vec;	/* floating point emulator */
	ivec[0x3e] = vec;	/* floating point emulator */
	ivec[0x3f] = vec;	/* floating point emulator */
}
