Changeset 590 in xtideuniversalbios for trunk/Assembly_Library/Src/Display


Ignore:
Timestamp:
May 25, 2016, 8:16:35 AM (9 years ago)
Author:
Krister Nordvall
Message:

Changes:

  • Updated URLs and copyright info in BIOSDRVS and XTIDECFG.
  • BIOSDRVS should now build under Linux.
  • Minor optimizations to the library.
Location:
trunk/Assembly_Library/Src/Display
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Display/Display.asm

    r526 r590  
    9797    %define FormatNullTerminatedStringFromCSSI              Display_FormatNullTerminatedStringFromCSSI
    9898%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
    99     %define PrintSignedWordFromAXWithBaseInBX               DisplayPrint_SignedWordFromAXWithBaseInBX
     99    %define PrintSignedWordFromAXWithBaseInBL               DisplayPrint_SignedWordFromAXWithBaseInBL
    100100%endif
    101     %define PrintWordFromAXwithBaseInBX                     DisplayPrint_WordFromAXWithBaseInBX
     101    %define PrintWordFromAXWithBaseInBL                     DisplayPrint_WordFromAXWithBaseInBL
    102102%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS OR EXCLUDE_FROM_XTIDECFG
    103103    %define PrintQWordFromSSBPwithBaseInBX                  DisplayPrint_QWordFromSSBPwithBaseInBX
  • trunk/Assembly_Library/Src/Display/DisplayFormat.asm

    r589 r590  
    334334d_FormatSignedDecimalWord:
    335335    mov     ax, [bp]
    336     mov     bx, 10
    337     jmp     DisplayPrint_SignedWordFromAXWithBaseInBX
     336    mov     bl, 10
     337    jmp     DisplayPrint_SignedWordFromAXWithBaseInBL
    338338%endif
    339339
     
    341341u_FormatUnsignedDecimalWord:
    342342    mov     ax, [bp]
    343     mov     bx, 10
    344     jmp     DisplayPrint_WordFromAXWithBaseInBX
     343    mov     bl, 10
     344    jmp     DisplayPrint_WordFromAXWithBaseInBL
    345345
    346346ALIGN DISPLAY_JUMP_ALIGN
    347347x_FormatHexadecimalWord:
    348348    mov     ax, [bp]
    349     mov     bx, 16
    350     call    DisplayPrint_WordFromAXWithBaseInBX
     349    mov     bl, 16
     350    call    DisplayPrint_WordFromAXWithBaseInBL
    351351    mov     al, 'h'
    352352    jmp     DisplayPrint_CharacterFromAL
     
    354354ALIGN DISPLAY_JUMP_ALIGN
    355355I_FormatDashForZero:
    356     mov     ax, [bp]
    357     test    ax,ax
    358     jnz     u_FormatUnsignedDecimalWord
    359     mov     [bp], word g_szDashForZero
     356    cmp     WORD [bp], 0
     357    jne     SHORT u_FormatUnsignedDecimalWord
     358    mov     WORD [bp], g_szDashForZero
    360359;;; fall-through
    361360
     
    366365    mov     si, [bp]
    367366
    368     cmp     si, byte 07fh       ; well within the boundaries of ROMVARS_size
     367    cmp     si, BYTE 7Fh        ; well within the boundaries of ROMVARS_size
    369368    jb      .notFormatted
    370369
  • trunk/Assembly_Library/Src/Display/DisplayPrint.asm

    r589 r590  
    8383
    8484;--------------------------------------------------------------------
    85 ; DisplayPrint_SignedWordFromAXWithBaseInBX
     85; DisplayPrint_SignedWordFromAXWithBaseInBL
    8686;   Parameters:
    8787;       AX:     Word to display
    88 ;       BX:     Integer base (binary=2, octal=8, decimal=10, hexadecimal=16)
    89 ;       DS:     BDA segment (zero)
    90 ;       ES:DI:  Ptr to cursor location in video RAM
    91 ;   Returns:
    92 ;       DI:     Updated offset to video RAM
    93 ;   Corrupts registers:
    94 ;       AX, DX
     88;       BL:     Integer base (binary=2, octal=8, decimal=10, hexadecimal=16)
     89;       DS:     BDA segment (zero)
     90;       ES:DI:  Ptr to cursor location in video RAM
     91;   Returns:
     92;       DI:     Updated offset to video RAM
     93;   Corrupts registers:
     94;       AX, BH, DX
    9595;--------------------------------------------------------------------
    9696%ifndef EXCLUDE_FROM_XTIDE_UNIVERSAL_BIOS
    9797ALIGN DISPLAY_JUMP_ALIGN
    98 DisplayPrint_SignedWordFromAXWithBaseInBX:
    99     test    ax, ax
    100     jns     SHORT DisplayPrint_WordFromAXWithBaseInBX
     98DisplayPrint_SignedWordFromAXWithBaseInBL:
     99    sahf
     100    jns     SHORT DisplayPrint_WordFromAXWithBaseInBL
    101101
    102102    push    ax
     
    105105    pop     ax
    106106    neg     ax
    107     ; Fall to DisplayPrint_WordFromAXWithBaseInBX
    108 %endif
    109 
    110 
    111 ;--------------------------------------------------------------------
    112 ; DisplayPrint_WordFromAXWithBaseInBX
     107    ; Fall to DisplayPrint_WordFromAXWithBaseInBL
     108%endif
     109
     110
     111;--------------------------------------------------------------------
     112; DisplayPrint_WordFromAXWithBaseInBL
    113113;   Parameters:
    114114;       AX:     Word to display
    115 ;       BX:     Integer base (binary=2, octal=8, decimal=10, hexadecimal=16)
    116 ;       DS:     BDA segment (zero)
    117 ;       ES:DI:  Ptr to cursor location in video RAM
    118 ;   Returns:
    119 ;       DI:     Updated offset to video RAM
    120 ;   Corrupts registers:
    121 ;       AX, DX
     115;       BL:     Integer base (binary=2, octal=8, decimal=10, hexadecimal=16)
     116;       DS:     BDA segment (zero)
     117;       ES:DI:  Ptr to cursor location in video RAM
     118;   Returns:
     119;       DI:     Updated offset to video RAM
     120;   Corrupts registers:
     121;       AX, BH, DX
    122122;--------------------------------------------------------------------
    123123%ifndef MODULE_STRINGS_COMPRESSED
    124124ALIGN DISPLAY_JUMP_ALIGN
    125 DisplayPrint_WordFromAXWithBaseInBX:
     125DisplayPrint_WordFromAXWithBaseInBL:
    126126    push    cx
    127127
    128128    xor     cx, cx
     129    xor     bh, bh              ; Base now in BX
    129130ALIGN DISPLAY_JUMP_ALIGN
    130131.DivideLoop:
Note: See TracChangeset for help on using the changeset viewer.