Classes | |
struct | V86_machine |
struct | v86_regs |
Variables | |
label | v86_create |
Create V86 machine in: nothing out: eax = handle (pointer to struc V86_machine) eax = NULL => failure destroys: ebx, ecx, edx (due to malloc) More... | |
label | v86_get_lin_addr |
Translate V86-address to linear address in: eax=V86 address esi=handle out: eax=linear address destroys: nothing. More... | |
dd | sys_v86_machine |
label | init_sys_v86 |
Called from kernel.asm at first stages of loading Initialize system V86 machine (used to simulate BIOS int 13h) More... | |
label | v86_start |
Run V86 machine in: ebx -> registers for V86 (two structures: in and out) esi = handle ecx = expected end address (CS:IP) edx = IRQ to hook or -1 if not required out: structure pointed to by ebx is filled with new values eax = 1 - exception has occured, cl contains code eax = 2 - access to disabled i/o port, ecx contains port address eax = 3 - IRQ is already hooked by another VM destroys: nothing. More... | |
rd | v86_irqhooks |
db | v86_exc_str1 |
db | v86_exc_str2 |
db | v86_exc_str3 |
db | v86_exc_str4 |
db | v86_exc_str5 |
db | v86_newline |
db | v86_io_str1 |
db | v86_io_byte |
db | v86_io_word |
db | v86_io_dword |
db | v86_irqerr |
label | v86_exc_c |
label | v86_irq |
label | v86_irq2 |
label init_sys_v86 |
Called from kernel.asm at first stages of loading Initialize system V86 machine (used to simulate BIOS int 13h)
dd sys_v86_machine |
label v86_create |
Create V86 machine in: nothing out: eax = handle (pointer to struc V86_machine) eax = NULL => failure destroys: ebx, ecx, edx (due to malloc)
label v86_exc_c |
db v86_exc_str1 |
db v86_exc_str2 |
db v86_exc_str3 |
db v86_exc_str4 |
db v86_exc_str5 |
label v86_get_lin_addr |
Translate V86-address to linear address in: eax=V86 address esi=handle out: eax=linear address destroys: nothing.
db v86_io_byte |
db v86_io_dword |
db v86_io_str1 |
db v86_io_word |
label v86_irq |
label v86_irq2 |
db v86_irqerr |
rd v86_irqhooks |
db v86_newline |
label v86_start |
Run V86 machine in: ebx -> registers for V86 (two structures: in and out) esi = handle ecx = expected end address (CS:IP) edx = IRQ to hook or -1 if not required out: structure pointed to by ebx is filled with new values eax = 1 - exception has occured, cl contains code eax = 2 - access to disabled i/o port, ecx contains port address eax = 3 - IRQ is already hooked by another VM destroys: nothing.