VirtualBox

Ignore:
Timestamp:
Mar 11, 2016 7:12:05 PM (9 years ago)
Author:
vboxsync
Message:

bs3kit: v8086, long, fixes, updates.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-PrintChr.asm

    r59984 r60000  
    2525;
    2626
     27
     28;*********************************************************************************************************************************
     29;*  Header Files                                                                                                                 *
     30;*********************************************************************************************************************************
    2731%include "bs3kit-template-header.mac"
     32
     33
     34;*********************************************************************************************************************************
     35;*  External Symbols                                                                                                             *
     36;*********************************************************************************************************************************
     37%if TMPL_BITS == 16
     38BS3_EXTERN_DATA16 g_bBs3CurrentMode
     39%endif
     40BS3_EXTERN_CMN Bs3Syscall
     41
     42
     43TMPL_BEGIN_TEXT
    2844
    2945;;
     
    3854        push    xBX
    3955
    40 %ifdef TMPL_16BIT
    41         ; If we're not in protected mode, call the VGA BIOS directly.
    42         smsw    bx
    43         test    bx, X86_CR0_PE
    44         jnz     .protected_mode
     56%if TMPL_BITS == 16
     57        ; If we're in real mode or v8086 mode, call the VGA BIOS directly.
     58        mov     bl, [g_bBs3CurrentMode]
     59        cmp     bl, BS3_MODE_RM
     60        je      .do_vga_bios_call
     61;later ;        and     bl, BS3_MODE_CODE_MASK
     62;later ;        cmp     bl, BS3_MODE_CODE_V86
     63        jne     .do_system_call
    4564
     65.do_vga_bios_call:
    4666        mov     al, [xBP + xCB*2]       ; Load the char
    4767        mov     bx, 0ff00h
     
    4969        int     10h
    5070        jmp     .return
    51 
    52 .protected_mode:
    5371%endif
    5472
     73.do_system_call:
    5574        mov     cl, [xBP + xCB*2]       ; Load the char
    5675        mov     ax, BS3_SYSCALL_PRINT_CHR
    57         int     BS3_TRAP_SYSCALL
     76        call    Bs3Syscall              ; (no BS3_CALL!)
    5877
    5978.return:
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette