Changeset 59 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm
- Timestamp:
- Nov 19, 2010, 10:59:52 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm
r57 r59 2 2 ; Project name : XTIDE Universal BIOS Configurator v2 3 3 ; Created date : 5.10.2010 4 ; Last update : 2.11.20104 ; Last update : 19.11.2010 5 5 ; Author : Tomi Tilli 6 6 ; Description : Functions for accessing MENUITEM structs. … … 8 8 ; Section containing code 9 9 SECTION .text 10 11 ;--------------------------------------------------------------------12 ; Menuitem_SetVisibleFromDSSI13 ; Menuitem_SetInvisibleFromDSSI14 ; Parameters:15 ; DS:SI: Ptr to MENUITEM16 ; Returns: (Menuitem_IsVisibleFromDSSI only)17 ; ZF: Clear if visible18 ; Set if not visible19 ; Corrupts registers:20 ; Nothing21 ;--------------------------------------------------------------------22 ALIGN JUMP_ALIGN23 Menuitem_SetVisibleFromDSSI:24 or BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_VISIBLE25 ret26 27 ALIGN JUMP_ALIGN28 Menuitem_SetInvisibleFromDSSI:29 and BYTE [si+MENUITEM.bFlags], ~FLG_MENUITEM_VISIBLE30 ret31 32 10 33 11 ;-------------------------------------------------------------------- … … 173 151 ja SHORT .InvalidItemType 174 152 175 call Buffers_GetFileBufferToESDI153 call GetConfigurationBufferToESDIforMenuitemInDSSI 176 154 add di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset] 177 155 jmp [cs:bx+.rgfnJumpToStoreValueBasedOnItemType] … … 259 237 ALIGN JUMP_ALIGN 260 238 .SetUnsavedChanges: 239 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_PROGRAMVAR 240 jnz SHORT .NoUnsavedChangesForProgramVariables 261 241 call Buffers_SetUnsavedChanges 242 .NoUnsavedChangesForProgramVariables: 262 243 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MODIFY_MENU 263 244 jnz SHORT .ModifyItemVisibility … … 291 272 ALIGN JUMP_ALIGN 292 273 Menuitem_GetValueToAXfromMenuitemInDSSI: 293 mov bx, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset] 294 call Buffers_GetRomvarsValueToAXfromOffsetInBX 274 call .GetMenuitemValueToAX 295 275 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_BYTEVALUE 296 276 jnz SHORT .ConvertWordToByteValue … … 300 280 301 281 ALIGN JUMP_ALIGN 282 .GetMenuitemValueToAX: 283 push es 284 push di 285 call GetConfigurationBufferToESDIforMenuitemInDSSI 286 add di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset] 287 mov ax, [es:di] 288 pop di 289 pop es 290 ret 291 292 ALIGN JUMP_ALIGN 302 293 .ConvertWordToByteValue: 303 294 xor ah, ah … … 314 305 mov ax, TRUE<<1 ; Shift for lookup 315 306 ret 307 308 309 ;-------------------------------------------------------------------- 310 ; GetConfigurationBufferToESDIforMenuitemInDSSI 311 ; Parameters: 312 ; DS:SI: Ptr to MENUITEM 313 ; Returns: 314 ; ES:DI: Ptr to configuration buffer 315 ; Corrupts registers: 316 ; Nothing 317 ;-------------------------------------------------------------------- 318 ALIGN JUMP_ALIGN 319 GetConfigurationBufferToESDIforMenuitemInDSSI: 320 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_PROGRAMVAR 321 jnz SHORT .ReturnCfgvarsInESDI 322 jmp Buffers_GetFileBufferToESDI 323 ALIGN JUMP_ALIGN 324 .ReturnCfgvarsInESDI: 325 push cs 326 pop es 327 mov di, g_cfgVars 328 ret
Note:
See TracChangeset
for help on using the changeset viewer.