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

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

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

File size: 2.6 KB
RevLine 
[41]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
[177]25 call di
[41]26 pop bx
27 pop cx
28 pop dx
29 pop si
30 ret
31
32
[177]33%define DisplayWithHandlerInBXandUserDataInDXAX MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
34;%define Close MenuInit_CloseMenuWindow ; Special case in CALL_MENU_LIBRARY
35%define RefreshWindow MenuInit_RefreshMenuWindow
[41]36
[177]37;%define SetUserDataFromDSSI MenuInit_SetUserDataFromDSSI ; Special case in CALL_MENU_LIBRARY
38;%define GetUserDataToDSSI MenuInit_GetUserDataToDSSI ; Special case in CALL_MENU_LIBRARY
[41]39
[177]40;%define SetTitleHeightFromAL MenuInit_SetTitleHeightFromAL ; Special case in CALL_MENU_LIBRARY
41%define ClearTitleArea MenuText_ClearTitleArea
42%define RefreshTitle MenuText_RefreshTitle
[41]43
[177]44%define HighlightItemFromAX MenuInit_HighlightItemFromAX
45;%define SetTotalItemsFromAX MenuInit_SetTotalItemsFromAX ; Special case in CALL_MENU_LIBRARY
46%define RefreshItemFromAX MenuText_RefreshItemFromAX
[41]47
[177]48;%define SetInformationHeightFromAL MenuInit_SetInformationHeightFromAL ; Special case in CALL_MENU_LIBRARY
49%define ClearInformationArea MenuText_ClearInformationArea
50%define RefreshInformation MenuText_RefreshInformation
[41]51
[177]52%define StartSelectionTimeoutWithTicksInAX MenuTime_StartSelectionTimeoutWithTicksInAX
[41]53
54%ifdef INCLUDE_MENU_DIALOGS
[177]55%define StartProgressTaskWithIoInDSSIandParamInDXAX DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
56%define SetProgressValueFromAX DialogProgress_SetProgressValueFromAX
[41]57
[177]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
[41]64%endif
[177]65
Note: See TracBrowser for help on using the repository browser.