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
|
---|
6 | SECTION .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 | ;--------------------------------------------------------------------
|
---|
19 | ALIGN JUMP_ALIGN
|
---|
20 | Menu_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 |
|
---|