Ignore:
Timestamp:
Nov 15, 2011, 5:21:19 AM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Space optimization, added a new format character 'I' which is the same as 'u' but shows a dash if the operand is zero. Replaces the PushIRQ functionality in bootmenuprintcfg.asm. This only saves a few bytes now, but saves significantly more with the string compression code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XTIDE_Universal_BIOS/Src/Boot/BootMenuPrintCfg.asm

    r182 r184  
    143143;--------------------------------------------------------------------
    144144PushIRQ:
    145     mov     dl, ' '                     ; Load space to DL
    146     mov     al, [cs:si+IDEVARS.bIRQ]
    147     test    al, al                      ; Interrupts disabled?
    148     jz      SHORT .PushIrqDisabled
    149     add     al, '0'                     ; Digit to ASCII
    150     cmp     al, '9'                     ; Only one digit needed?
    151     jbe     SHORT .PushCharacters
    152 
    153     ; Two digits needed
    154     sub     al, 10                      ; Limit to single digit ASCII
    155     mov     dl, '1'                     ; Load '1 to DX
    156     jmp     SHORT .PushCharacters
    157 ALIGN JUMP_ALIGN
    158 .PushIrqDisabled:
    159     mov     al, '-'                     ; Load line to AL
    160     xchg    ax, dx                      ; Space to AL, line to DL
    161 ALIGN JUMP_ALIGN
    162 .PushCharacters:
    163     push    dx
     145    eMOVZX  ax, BYTE [cs:si+IDEVARS.bIRQ]
    164146    push    ax
    165147
Note: See TracChangeset for help on using the changeset viewer.