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


Ignore:
Timestamp:
Feb 2, 2011, 3:53:52 AM (13 years ago)
Author:
aitotat
google:author:
aitotat
Message:

Changes to Assembly Library:

  • Some more optimizations.
  • Moved macros.inc from XTIDE Universal BIOS to Assembly Library.
File:
1 edited

Legend:

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

    r60 r104  
    1 ; File name     :   MenuLocation.asm
    21; Project name  :   Assembly Library
    3 ; Created date  :   14.7.2010
    4 ; Last update   :   25.11.2010
    5 ; Author        :   Tomi Tilli
    62; Description   :   Functions for calculation menu window dimensions.
    73
    84; Section containing code
    95SECTION .text
    10 
    11 ;--------------------------------------------------------------------
    12 ; MenuLocation_GetScrollbarCoordinatesToAXforItemInAX
    13 ;   Parameters
    14 ;       AX:     Item index
    15 ;       SS:BP:  Ptr to MENU
    16 ;   Returns:
    17 ;       AL:     Column (X)
    18 ;       AH:     Row (Y)
    19 ;   Corrupts registers:
    20 ;       Nothing
    21 ;--------------------------------------------------------------------
    22 ALIGN JUMP_ALIGN
    23 MenuLocation_GetScrollbarCoordinatesToAXforItemInAX:
    24     call    MenuLocation_GetTextCoordinatesToAXforItemInAX
    25     add     al, [bp+MENUINIT.bWidth]
    26     sub     al, MENU_TEXT_COLUMN_OFFSET*2
    27     ret
    28 
    296
    307;--------------------------------------------------------------------
     
    7249; MenuLocation_GetTitleBordersTopLeftCoordinatesToAX
    7350; MenuLocation_GetItemBordersTopLeftCoordinatesToAX
    74 ; MenuLocation_GetInformationBordersTopLeftCoordinatesToAX
    7551; MenuLocation_GetBottomBordersTopLeftCoordinatesToAX
    7652;   Parameters
     
    9369
    9470ALIGN JUMP_ALIGN
    95 MenuLocation_GetInformationBordersTopLeftCoordinatesToAX:
    96     xor     ax, ax
    97     jmp     SHORT AddInformationBordersTopLeftCoordinatesToAX
    98 
    99 ALIGN JUMP_ALIGN
    10071MenuLocation_GetBottomBordersTopLeftCoordinatesToAX:
    10172    xor     ax, ax
    102     ; Fall to AddBottomBordersTopLeftCoordinatesToAX
     73    ; Fall to .AddBottomBordersTopLeftCoordinatesToAX
    10374
    10475;--------------------------------------------------------------------
    105 ; AddBottomBordersTopLeftCoordinatesToAX
     76; .AddBottomBordersTopLeftCoordinatesToAX
    10677; AddInformationBordersTopLeftCoordinatesToAX
    10778; AddItemBordersTopLeftCoordinatesToAX
     
    11687;       Nothing
    11788;--------------------------------------------------------------------
    118 ALIGN JUMP_ALIGN
    119 AddBottomBordersTopLeftCoordinatesToAX:
     89.AddBottomBordersTopLeftCoordinatesToAX:
    12090    stc                         ; Compensate for Information top border
    12191    adc     ah, [bp+MENUINIT.bInfoLines]
     
    160130    sub     ax, BYTE MENU_HORIZONTAL_BORDER_LINES + MENU_TEXT_COLUMN_OFFSET
    161131    ret
    162 
    163 
    164 ;--------------------------------------------------------------------
    165 ; MenuLocation_MoveCursorByALcolumnsAndAHrows
    166 ;   Parameters
    167 ;       AL:     Number of columns to move
    168 ;       AH:     Numver of rows to move
    169 ;       SS:BP:  Ptr to MENU
    170 ;   Returns:
    171 ;       Nothing
    172 ;   Corrupts registers:
    173 ;       AX, DI
    174 ;--------------------------------------------------------------------
    175 ALIGN JUMP_ALIGN
    176 MenuLocation_MoveCursorByALcolumnsAndAHrows:
    177     push    ax
    178     CALL_DISPLAY_LIBRARY GetSoftwareCoordinatesToAX
    179     pop     di
    180     add     ax, di
    181     CALL_DISPLAY_LIBRARY SetCursorCoordinatesFromAX
    182     ret
Note: See TracChangeset for help on using the changeset viewer.