#671 closed defect (wontfix)
INT 16H
Reported by: | Fabio | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 1.5.0 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | other |
Description
I have virtual box on linux ubuntu host and I have Windows XP like guest.
I'm a assembler programmer and when I use the instruction INT 16H for output on screen of character the virtual machines don't answer to the commandos and the PC become very very slow.
INT 16H is a bios subroutine and if it's doesn't work it wants to say that there is a bug in the bios.
Thanks for the attention
I attach to this ticket the assembler program.
Fabio.
Change History (10)
comment:1 by , 17 years ago
comment:2 by , 17 years ago
priority: | blocker → minor |
---|
comment:3 by , 17 years ago
I have write wrong:
When I use INT 16H keyboard for input the virtual machines doesn't answer to the commandos and the PC become very very slow.
Sorry for error :(
comment:4 by , 17 years ago
The call of that bios routine is in that subroutine:
INPUT PROC NEAR PUSH DX ;Backup DX MOV DH,AH ;Backup AH MOV AH,0 ;Funzione input INT 16H MOV AH,DH ;Restore AH POP DX ;Restore DX RET ;Ritorna al programma principale INPUT ENDP
comment:5 by , 17 years ago
The BIOS functions are known to be very simple. For instance, function 0 of int16h polls the keyboard if there is any input and loops until there is a scancode available. The VBox BIOS behaves exactly as the original PC BIOS. This might be improved as the VM executing this function will employ a complete CPU core. However, such functions should not be used in regular user programs but they are meant to be used in boot loaders and such stuff. User applications should use functions the operating system provides.
comment:6 by , 17 years ago
@frank: You have Reason: I don't think that int16h polls the keyboard and that on a Virtual Machines employ a complete CPU core.
what I can use in place of int 16H ??
comment:10 by , 14 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
int 16h is for keyboard input. int 10h == int 16dec (function 0x0Eh == function 14dec) is for screen output.
See http://en.wikipedia.org/wiki/BIOS_call.