Changeset 286 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm
- Timestamp:
- Mar 1, 2012, 8:52:08 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menuitem.asm
r233 r286 76 76 ; DS:SI: Ptr to MENUITEM 77 77 ; Returns: 78 ; Nothing 78 ; CF: Cleared if value inputted 79 ; Set if user cancellation 79 80 ; Corrupts registers: 80 81 ; AX, BX, CX, SI, DI, ES … … 97 98 pop di 98 99 99 cmp BYTE [si+WORD_DIALOG_IO.bUserCancellation], TRUE 100 mov cl, [si+WORD_DIALOG_IO.bUserCancellation] 101 cmp cl, TRUE 100 102 je SHORT .NothingToChange 101 103 mov ax, [si+WORD_DIALOG_IO.wReturnWord] … … 104 106 .NothingToChange: 105 107 add sp, BYTE WORD_DIALOG_IO_size 108 shr cl, 1 106 109 ret 107 110 … … 150 153 add di, [si+MENUITEM.itemValue+ITEM_VALUE.wRomvarsValueOffset] 151 154 jmp [cs:bx+.rgfnJumpToStoreValueBasedOnItemType] 155 .InvalidItemType: 156 ret 152 157 153 158 ALIGN WORD_ALIGN … … 174 179 ALIGN JUMP_ALIGN 175 180 .StoreMultichoiceValueFromAXtoESDIwithItemInDSSI: 181 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE 182 jnz SHORT .ClearBitsUsingMask 176 183 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_FLAGVALUE 177 184 jz SHORT .TranslateChoiceToValueUsingLookupTable … … 187 194 or [es:di], ax 188 195 jmp SHORT .SetUnsavedChanges 196 197 ALIGN JUMP_ALIGN 198 .ClearBitsUsingMask: 199 mov bx, [si+MENUITEM.itemValue+ITEM_VALUE.wValueBitmask] 200 not bx 201 and [es:di], bx 202 ; Fall to .TranslateChoiceToValueUsingLookupTable 203 189 204 190 205 ALIGN JUMP_ALIGN … … 225 240 .NoWriter: 226 241 pop bx 242 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE 243 jz SHORT .StoreByteOrWord 244 or [es:di], ax 245 jmp SHORT .SetUnsavedChanges 246 247 .StoreByteOrWord: 227 248 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_BYTEVALUE 228 249 jnz SHORT .StoreByteFromAL 229 250 230 251 mov [es:di+1], ah 231 252 ALIGN JUMP_ALIGN … … 255 276 CALL_MENU_LIBRARY GetHighlightedItemToAX 256 277 CALL_MENU_LIBRARY RefreshItemFromAX 257 .InvalidItemType:258 278 ret 259 279 … … 306 326 pop es 307 327 328 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_MASKVALUE 329 jz SHORT .TestIfFlagValue 330 and ax, [si+MENUITEM.itemValue+ITEM_VALUE.wValueBitmask] 331 ret 332 333 .TestIfFlagValue: 308 334 test BYTE [si+MENUITEM.bFlags], FLG_MENUITEM_FLAGVALUE 309 335 jz SHORT .Return
Note:
See TracChangeset
for help on using the changeset viewer.