VirtualBox

Ticket #671 (closed defect: wontfix)

Opened 7 years ago

Last modified 4 years ago

INT 16H

Reported by: fab120 Owned by:
Priority: minor 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

comment:1 Changed 7 years ago by frank

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.

comment:2 Changed 7 years ago by sandervl73

  • Priority changed from blocker to minor

comment:3 Changed 7 years ago by fab120

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 Changed 7 years ago by fab120

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 Changed 7 years ago by frank

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 Changed 7 years ago by fab120

@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:7 Changed 7 years ago by frank

The BIOS does for sure!

What guest operating system are you working on?

comment:8 Changed 7 years ago by fab120

Windows XP

comment:9 Changed 4 years ago by Technologov

How is the experience with VBox 3.1.0 ?

-Technologov

comment:10 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to wontfix
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use