Changeset 60000 in vbox for trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-PrintChr.asm
- Timestamp:
- Mar 11, 2016 7:12:05 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/ValidationKit/bootsectors/bs3kit/bs3-cmn-PrintChr.asm
r59984 r60000 25 25 ; 26 26 27 28 ;********************************************************************************************************************************* 29 ;* Header Files * 30 ;********************************************************************************************************************************* 27 31 %include "bs3kit-template-header.mac" 32 33 34 ;********************************************************************************************************************************* 35 ;* External Symbols * 36 ;********************************************************************************************************************************* 37 %if TMPL_BITS == 16 38 BS3_EXTERN_DATA16 g_bBs3CurrentMode 39 %endif 40 BS3_EXTERN_CMN Bs3Syscall 41 42 43 TMPL_BEGIN_TEXT 28 44 29 45 ;; … … 38 54 push xBX 39 55 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 45 64 65 .do_vga_bios_call: 46 66 mov al, [xBP + xCB*2] ; Load the char 47 67 mov bx, 0ff00h … … 49 69 int 10h 50 70 jmp .return 51 52 .protected_mode:53 71 %endif 54 72 73 .do_system_call: 55 74 mov cl, [xBP + xCB*2] ; Load the char 56 75 mov ax, BS3_SYSCALL_PRINT_CHR 57 int BS3_TRAP_SYSCALL76 call Bs3Syscall ; (no BS3_CALL!) 58 77 59 78 .return:
Note:
See TracChangeset
for help on using the changeset viewer.