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.