summaryrefslogtreecommitdiffstats
path: root/src/arch/x86/core/dumpregs.c
blob: 37d62a7b6702fc1582f96331a178e1fa9d6842ad (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <realmode.h>

void __asmcall _dump_regs ( struct i386_all_regs *ix86 ) {

	__asm__ __volatile__ (
		TEXT16_CODE ( ".globl dump_regs\n\t"
			      "\ndump_regs:\n\t"
			      VIRT_CALL ( _dump_regs )
			      "ret\n\t" ) );

	printf ( "EAX=%08x EBX=%08x ECX=%08x EDX=%08x\n"
		 "ESI=%08x EDI=%08x EBP=%08x ESP=%08x\n"
		 "CS=%04x SS=%04x DS=%04x ES=%04x FS=%04x GS=%04x\n",
		 ix86->regs.eax, ix86->regs.ebx, ix86->regs.ecx,
		 ix86->regs.edx, ix86->regs.esi, ix86->regs.edi,
		 ix86->regs.ebp, ix86->regs.esp,
		 ix86->segs.cs, ix86->segs.ss, ix86->segs.ds,
		 ix86->segs.es, ix86->segs.fs, ix86->segs.gs );
}