source: xtideuniversalbios/trunk/Assembly_Library/Src/Menu/Menu.asm @ 177

Last change on this file since 177 was 177, checked in by gregli@…, 12 years ago

Optimiztion, replaced the jump tables for MENU_LIB and DISPLAY_LIB with direct jump offsets

File size: 2.6 KB
Line 
1; Project name  :   Assembly Library
2; Description   :   Menu Library functions for CALL_MENU_LIBRARY macro
3;                   that users should use to make library call.
4
5; Section containing code
6SECTION .text
7
8;--------------------------------------------------------------------
9; MenuFunctionFromDI
10;   Parameters:
11;       DI:     Function to call (MENU_LIB.functionName)
12;       BP:     Menu handle
13;       Others: Depends on function to call
14;   Returns:
15;       Depends on function to call
16;   Corrupts registers:
17;       AX (unless used as a return register), DI
18;--------------------------------------------------------------------
19ALIGN JUMP_ALIGN
20Menu_FunctionFromDI:
21    push    si
22    push    dx
23    push    cx
24    push    bx
25    call    di
26    pop     bx
27    pop     cx
28    pop     dx
29    pop     si
30    ret
31
32
33%define DisplayWithHandlerInBXandUserDataInDXAX     MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
34;%define Close                                      MenuInit_CloseMenuWindow                ; Special case in CALL_MENU_LIBRARY
35%define RefreshWindow                       MenuInit_RefreshMenuWindow
36
37;%define SetUserDataFromDSSI                MenuInit_SetUserDataFromDSSI            ; Special case in CALL_MENU_LIBRARY
38;%define GetUserDataToDSSI                  MenuInit_GetUserDataToDSSI              ; Special case in CALL_MENU_LIBRARY
39
40;%define SetTitleHeightFromAL               MenuInit_SetTitleHeightFromAL           ; Special case in CALL_MENU_LIBRARY
41%define ClearTitleArea                      MenuText_ClearTitleArea
42%define RefreshTitle                        MenuText_RefreshTitle
43
44%define HighlightItemFromAX                 MenuInit_HighlightItemFromAX
45;%define SetTotalItemsFromAX                MenuInit_SetTotalItemsFromAX            ; Special case in CALL_MENU_LIBRARY
46%define RefreshItemFromAX                   MenuText_RefreshItemFromAX
47
48;%define SetInformationHeightFromAL                     MenuInit_SetInformationHeightFromAL     ; Special case in CALL_MENU_LIBRARY
49%define ClearInformationArea                            MenuText_ClearInformationArea
50%define RefreshInformation                              MenuText_RefreshInformation
51
52%define StartSelectionTimeoutWithTicksInAX              MenuTime_StartSelectionTimeoutWithTicksInAX
53
54%ifdef INCLUDE_MENU_DIALOGS
55%define StartProgressTaskWithIoInDSSIandParamInDXAX     DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
56%define SetProgressValueFromAX                          DialogProgress_SetProgressValueFromAX
57
58%define DisplayMessageWithInputInDSSI                   DialogMessage_DisplayMessageWithInputInDSSI
59%define GetSelectionToAXwithInputInDSSI                 DialogSelection_GetSelectionToAXwithInputInDSSI
60%define GetWordWithIoInDSSI                             DialogWord_GetWordWithIoInDSSI
61%define GetStringWithIoInDSSI                           DialogString_GetStringWithIoInDSSI
62%define GetFileNameWithIoInDSSI                         DialogFile_GetFileNameWithIoInDSSI
63%define GetDriveWithIoInDSSI                            DialogDrive_GetDriveWithIoInDSSI
64%endif
65
Note: See TracBrowser for help on using the repository browser.