Changeset 181 in xtideuniversalbios for trunk/Assembly_Library/Src/Menu/MenuLocation.asm


Ignore:
Timestamp:
Nov 13, 2011, 3:38:40 PM (12 years ago)
Author:
krille_n_@…
google:author:
krille_n_@hotmail.com
Message:

Changes to all parts of the project:

  • Size optimizations.
  • Added a define (EXCLUDE_FROM_XTIDECFG) to exclude unused library code from XTIDECFG.
  • Tried to minimize time spent with interrupts disabled.
  • Some minor attempts to improve speed (reordering instructions etc).
  • Tried to improve readability, did some cleanup and fixed some errors in comments.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Assembly_Library/Src/Menu/MenuLocation.asm

    r104 r181  
    44; Section containing code
    55SECTION .text
    6 
    7 ;--------------------------------------------------------------------
    8 ; MenuLocation_GetTitleTextTopLeftCoordinatesToAX
    9 ; MenuLocation_GetInformationTextTopLeftCoordinatesToAX
    10 ;   Parameters
    11 ;       SS:BP:  Ptr to MENU
    12 ;   Returns:
    13 ;       AL:     Column (X)
    14 ;       AH:     Row (Y)
    15 ;   Corrupts registers:
    16 ;       Nothing
    17 ;--------------------------------------------------------------------
    18 ALIGN JUMP_ALIGN
    19 MenuLocation_GetTitleTextTopLeftCoordinatesToAX:
    20     mov     ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
    21     jmp     SHORT MenuLocation_AddTitleBordersTopLeftCoordinatesToAX
    22 
    23 ALIGN JUMP_ALIGN
    24 MenuLocation_GetInformationTextTopLeftCoordinatesToAX:
    25     mov     ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
    26     jmp     SHORT AddInformationBordersTopLeftCoordinatesToAX
    27 
    286
    297;--------------------------------------------------------------------
     
    4321    xchg    al, ah                              ; Line to AH, clear AL
    4422    add     ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
    45     jmp     SHORT AddItemBordersTopLeftCoordinatesToAX
    46 
     23    SKIP2B  f   ; cmp ax, <next instruction>
     24    ; Fall to MenuLocation_GetItemBordersTopLeftCoordinatesToAX
    4725
    4826;--------------------------------------------------------------------
     27; MenuLocation_GetItemBordersTopLeftCoordinatesToAX
     28; MenuLocation_GetTitleTextTopLeftCoordinatesToAX
    4929; MenuLocation_GetTitleBordersTopLeftCoordinatesToAX
    50 ; MenuLocation_GetItemBordersTopLeftCoordinatesToAX
     30; MenuLocation_GetInformationTextTopLeftCoordinatesToAX
    5131; MenuLocation_GetBottomBordersTopLeftCoordinatesToAX
    5232;   Parameters
     
    5838;       Nothing
    5939;--------------------------------------------------------------------
     40MenuLocation_GetItemBordersTopLeftCoordinatesToAX:
     41    xor     ax, ax
     42    jmp     SHORT AddItemBordersTopLeftCoordinatesToAX
     43
    6044ALIGN JUMP_ALIGN
     45MenuLocation_GetTitleTextTopLeftCoordinatesToAX:
     46    mov     ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
     47    SKIP2B  f   ; cmp ax, <next instruction>
    6148MenuLocation_GetTitleBordersTopLeftCoordinatesToAX:
    6249    xor     ax, ax
     
    6451
    6552ALIGN JUMP_ALIGN
    66 MenuLocation_GetItemBordersTopLeftCoordinatesToAX:
    67     xor     ax, ax
    68     jmp     SHORT AddItemBordersTopLeftCoordinatesToAX
     53MenuLocation_GetInformationTextTopLeftCoordinatesToAX:
     54    mov     ax, (MENU_TEXT_ROW_OFFSET<<8) | MENU_TEXT_COLUMN_OFFSET
     55    jmp     SHORT AddInformationBordersTopLeftCoordinatesToAX
    6956
    7057ALIGN JUMP_ALIGN
Note: See TracChangeset for help on using the changeset viewer.