Changeset 101 in xtideuniversalbios for trunk/Assembly_Library/Src/Display/DisplayFormat.asm


Ignore:
Timestamp:
Jan 31, 2011, 7:03:22 PM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to Assembly Library:

  • Some minor size optimizations to Display Library.
File:
1 edited

Legend:

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

    r48 r101  
    1 ; File name     :   DisplayFormat.asm
    21; Project name  :   Assembly Library
    3 ; Created date  :   29.6.2010
    4 ; Last update   :   8.10.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Functions for displaying formatted strings.
    73
     
    2521DisplayFormat_ParseCharacters:
    2622    call    ReadCharacterAndTestForNull
    27     jz      SHORT .QuitCharacterParsing
     23    jz      SHORT ReturnFromFormat
    2824
    2925    ePUSH_T cx, DisplayFormat_ParseCharacters   ; Return address
    3026    xor     cx, cx                              ; Initial placeholder size
    3127    cmp     al, '%'                             ; Format specifier?
    32     je      SHORT ParseFormatSpecifier
    33     jmp     DisplayPrint_CharacterFromAL
    34 
    35 ALIGN JUMP_ALIGN
    36 .QuitCharacterParsing:
    37     ret
    38 
     28    jne     SHORT DisplayPrint_CharacterFromAL
     29    ; Fall to ParseFormatSpecifier
    3930
    4031;--------------------------------------------------------------------
     
    5344;       AX, BX, CX, DX
    5445;--------------------------------------------------------------------
    55 ALIGN JUMP_ALIGN
    5646ParseFormatSpecifier:
    5747    call    ReadCharacterAndTestForNull
    5848    call    Char_IsDecimalDigitInAL
    59     jc      SHORT .ParsePlaceholderSizeDigitFromALtoCX
     49    jc      SHORT ParsePlaceholderSizeDigitFromALtoCX
    6050    call    GetFormatSpecifierParserToAX
    6151    call    ax              ; Parser function
     
    6454    test    cx, cx
    6555    jnz     SHORT PrependOrAppendSpaces
    66     ret
    67 
    68 ;--------------------------------------------------------------------
    69 ; .ParsePlaceholderSizeDigitFromALtoCX
     56ReturnFromFormat:
     57    ret
     58
     59;--------------------------------------------------------------------
     60; ParsePlaceholderSizeDigitFromALtoCX
    7061;   Parameters:
    7162;       AL:     Digit character from format string
     
    7970;--------------------------------------------------------------------
    8071ALIGN JUMP_ALIGN
    81 .ParsePlaceholderSizeDigitFromALtoCX:
     72ParsePlaceholderSizeDigitFromALtoCX:
    8273    mov     [VIDEO_BDA.displayContext+DISPLAY_CONTEXT.fpCursorPosition], di
    8374    sub     al, '0'             ; Digit '0'...'9' to integer 0...9
Note: See TracChangeset for help on using the changeset viewer.