Changeset 192 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot/BootPrint.asm


Ignore:
Timestamp:
Nov 16, 2011, 11:35:45 AM (12 years ago)
Author:
gregli@…
google:author:
gregli@hotmail.com
Message:

Optimized away some long jumps, by rearranging routines within files, and file order within main.asm. Also added some 'relay' entry points for popular destinations, so that a short jump can go to an existing short jump and then on to the final destination, instead of using a long jump - clearly space over speed optimization. All 'relay's are limited to the UI code, and will not have an impact on IDE operational performance.

File:
1 edited

Legend:

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

    r143 r192  
    44; Section containing code
    55SECTION .text
     6
     7;--------------------------------------------------------------------
     8; BootPrint_FailedToLoadFirstSector
     9;   Parameters:
     10;       AH:     INT 13h error code
     11;   Returns:
     12;       Nothing
     13;   Corrupts registers:
     14;       AX, CX, SI, DI
     15;--------------------------------------------------------------------
     16ALIGN JUMP_ALIGN
     17BootPrint_FailedToLoadFirstSector:
     18    push    bp
     19    mov     bp, sp
     20    eMOVZX  cx, ah
     21    push    cx                  ; Push INT 13h error code
     22    mov     si, g_szReadError
     23       
     24BootPrint_BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay:       
     25    jmp     short BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay
     26       
    627
    728;--------------------------------------------------------------------
     
    3354
    3455    mov     si, g_szTryToBoot
    35     jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
     56    jmp     short BootPrint_BootMenuPrint_FormatCSSIfromParamsInSSBP_Relay     
    3657
    3758
    38 ;--------------------------------------------------------------------
    39 ; BootPrint_FailedToLoadFirstSector
    40 ;   Parameters:
    41 ;       AH:     INT 13h error code
    42 ;   Returns:
    43 ;       Nothing
    44 ;   Corrupts registers:
    45 ;       AX, CX, SI, DI
    46 ;--------------------------------------------------------------------
    47 ALIGN JUMP_ALIGN
    48 BootPrint_FailedToLoadFirstSector:
    49     push    bp
    50     mov     bp, sp
    51     eMOVZX  cx, ah
    52     push    cx                  ; Push INT 13h error code
    53     mov     si, g_szReadError
    54     jmp     BootMenuPrint_FormatCSSIfromParamsInSSBP
     59
Note: See TracChangeset for help on using the changeset viewer.