summaryrefslogtreecommitdiff
path: root/bios/bios.ha
blob: caaa37f680f322382bb9769acd9109f0e33c4e6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Struct defining the contents of the register state used
// for bios calls
export type state = struct {
	@offset(0) eax: u32,
	@offset(4) ebx: u32,
	@offset(8) ecx: u32,
	@offset(12) edx: u32,
	@offset(16) edi: u32,
	@offset(20) esi: u32,
	@offset(24) es: u16,
};

// The set real mode registers
export let regs: state;

// Clears the BIOS mode registers
export fn clearregs() void = {
	regs = state {
		...
	};
};

// Call a BIOS interrupt
export fn call(intno: u8) void;