Changeset 161 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Timestamp:
- May 8, 2011, 8:02:52 PM (14 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/AccessDPT.asm
r158 r161 71 71 ALIGN JUMP_ALIGN 72 72 AccessDPT_GetLCHSfromPCHS: 73 xchg ax, cx74 mov cl, [di+DPT.bFlagsLow]75 and cl, MASKL_DPT_CHS_SHIFT_COUNT ; Load shift count73 mov al, [di+DPT.bFlagsLow] 74 and al, MASKL_DPT_CHS_SHIFT_COUNT ; Load shift count 75 xchg cx, ax 76 76 mov bx, [di+DPT.wPchsCylinders] ; Load P-CHS cylinders 77 77 shr bx, cl ; Shift to L-CHS cylinders 78 78 xchg cx, ax 79 eMOVZX dx, BYTE [di+DPT.bLchsHeads] ; Load L-CHS heads80 79 eMOVZX ax, BYTE [di+DPT.bPchsSectors] ; Load Sectors per track 80 cwd 81 mov dl, [di+DPT.bLchsHeads] ; Load L-CHS heads 81 82 ret 82 83 -
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/FindDPT.asm
r158 r161 39 39 FindDPT_ForDriveNumber: 40 40 push dx 41 push ax41 xchg di, ax ; Save the contents of AX in DI 42 42 43 43 mov al, LARGEST_DPT_SIZE … … 45 45 mul dl 46 46 add ax, BYTE RAMVARS_size 47 xchg di, ax48 47 49 pop ax48 xchg di, ax ; Restore AX and put result in DI 50 49 pop dx 51 50 ret … … 119 118 120 119 ;-------------------------------------------------------------------- 121 ; FindDPT_ToDSDIforInterruptInService122 ; Parameters:123 ; DS: RAMVARS segment124 ; Returns:125 ; DS:DI: Ptr to DPT126 ; CF: Set if wanted DPT found127 ; Cleared if DPT not found128 ; Corrupts registers:129 ; SI130 ;--------------------------------------------------------------------131 ALIGN JUMP_ALIGN132 FindDPT_ToDSDIforInterruptInService:133 mov si, IterateToDptWithInterruptInServiceFlagSet134 jmp SHORT IterateAllDPTs135 136 ;--------------------------------------------------------------------137 120 ; IterateToDptWithInterruptInServiceFlagSet 138 121 ; Parameters: … … 153 136 clc ; Clear CF since wrong DPT 154 137 ret 138 139 140 ;-------------------------------------------------------------------- 141 ; FindDPT_ToDSDIforInterruptInService 142 ; Parameters: 143 ; DS: RAMVARS segment 144 ; Returns: 145 ; DS:DI: Ptr to DPT 146 ; CF: Set if wanted DPT found 147 ; Cleared if DPT not found 148 ; Corrupts registers: 149 ; SI 150 ;-------------------------------------------------------------------- 151 ALIGN JUMP_ALIGN 152 FindDPT_ToDSDIforInterruptInService: 153 mov si, IterateToDptWithInterruptInServiceFlagSet 154 ; Fall to IterateAllDPTs 155 155 156 156
Note:
See TracChangeset
for help on using the changeset viewer.