Changeset 119 in xtideuniversalbios for trunk/Assembly_Library/Inc
- Timestamp:
- Feb 28, 2011, 4:29:11 PM (14 years ago)
- google:author:
- aitotat
- Location:
- trunk/Assembly_Library/Inc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/BiosData.inc
r116 r119 126 126 127 127 128 ;--------------------------------------------------------------------129 ; Load BDA (Bios Data Area) segment to wanted segment register.130 ;131 ; Use an exclamation point (!) as the third parameter when you want132 ; to force the use of the register in the second parameter. This is133 ; useful when that register needs to be zeroed in subsequent code or134 ; when stack usage is undesirable (ie speed is critical).135 ;136 ; LOAD_BDA_SEGMENT_TO137 ; Parameters:138 ; %1: Destination Segment Register139 ; %2: Temporary WORD Register140 ; %3: Can be ! or empty141 ; Returns:142 ; %1: BDA segment (zero)143 ; Corrupts registers:144 ; %2145 ;--------------------------------------------------------------------146 %macro LOAD_BDA_SEGMENT_TO 2-3147 %ifndef USE_186148 xor %2, %2149 mov %1, %2150 %elifidn %3, !151 xor %2, %2152 mov %1, %2153 %else154 push BYTE 0155 pop %1156 %endif157 %endmacro158 159 160 128 %endif ; BIOSDATA_INC -
trunk/Assembly_Library/Inc/Macros.inc
r110 r119 45 45 46 46 ;-------------------------------------------------------------------- 47 ; Load BDA (Bios Data Area) segment to wanted segment register. 48 ; 49 ; Use an exclamation point (!) as the third parameter when you want 50 ; to force the use of the register in the second parameter. This is 51 ; useful when that register needs to be zeroed in subsequent code or 52 ; when stack usage is undesirable (ie speed is critical). 53 ; 54 ; LOAD_BDA_SEGMENT_TO 55 ; Parameters: 56 ; %1: Destination Segment Register 57 ; %2: Temporary WORD Register 58 ; %3: Can be ! or empty 59 ; Returns: 60 ; %1: BDA segment (zero) 61 ; Corrupts registers: 62 ; %2 63 ;-------------------------------------------------------------------- 64 %macro LOAD_BDA_SEGMENT_TO 2-3 65 %ifndef USE_186 66 xor %2, %2 67 mov %1, %2 68 %elifidn %3, ! 69 xor %2, %2 70 mov %1, %2 71 %else 72 push BYTE 0 73 pop %1 74 %endif 75 %endmacro 76 77 78 ;-------------------------------------------------------------------- 47 79 ; eENTER_STRUCT 48 80 ; Parameters:
Note:
See TracChangeset
for help on using the changeset viewer.