Changeset 271 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm
- Timestamp:
- Feb 27, 2012, 4:24:52 PM (13 years ago)
- google:author:
- aitotat@gmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm
r265 r271 116 116 ret 117 117 118 119 ;-------------------------------------------------------------------- 120 ; FindDPT_ForIdevarsOffsetInDL 121 ; Parameters: 122 ; DL: Offset to IDEVARS to search for 123 ; DS: RAMVARS segment 124 ; Returns: 125 ; DS:DI: Ptr to first DPT with same IDEVARS as in DL 126 ; CF: Clear if wanted DPT found 127 ; Set if DPT not found, or no DPTs present 128 ; Corrupts registers: 129 ; SI 130 ;-------------------------------------------------------------------- 131 FindDPT_ForIdevarsOffsetInDL: 132 mov si, IterateFindFirstDPTforIdevars ; iteration routine (see below) 133 jmp SHORT FindDPT_IterateAllDPTs ; look for the first drive on this controller, if any 134 135 ;-------------------------------------------------------------------- 136 ; Iteration routine for FindDPT_ForIdevarsOffsetInDL, 137 ; for use with IterateAllDPTs 138 ; 139 ; Returns when DPT is found on the controller with Idevars offset in DL 140 ; 141 ; IterateFindFirstDPTforIdevars 142 ; DL: Offset to IDEVARS to search from DPTs 143 ; DS:DI: Ptr to DPT to examine 144 ; Returns: 145 ; CF: Clear if wanted DPT found 146 ; Set if wrong DPT 147 ;-------------------------------------------------------------------- 148 IterateFindFirstDPTforIdevars: 149 cmp dl, [di+DPT.bIdevarsOffset] ; Clears CF if matched 150 je .done 151 stc ; Set CF for not found 152 .done: 153 ret 154 155 118 156 ;-------------------------------------------------------------------- 119 157 ; Finds pointer to first unused Disk Parameter Table. … … 198 236 ; Iterates all Disk Parameter Tables. 199 237 ; 200 ; IterateAllDPTs238 ; FindDPT_IterateAllDPTs 201 239 ; Parameters: 202 240 ; AX,BX,DX: Parameters to callback function … … 213 251 ;-------------------------------------------------------------------- 214 252 ALIGN JUMP_ALIGN 215 IterateAllDPTs:253 FindDPT_IterateAllDPTs: 216 254 push cx 217 255
Note:
See TracChangeset
for help on using the changeset viewer.