Changeset 116 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common
- Timestamp:
- Feb 26, 2011, 11:55:06 PM (14 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HIRQ.asm
r86 r116 1 ; Project name : IDEBIOS1 ; Project name : XTIDE Universal BIOS 2 2 ; Description : Interrupt handling related functions. 3 3 … … 35 35 push ds 36 36 37 LOAD_BDA_SEGMENT_TO ds, ax 37 LOAD_BDA_SEGMENT_TO ds, ax, ! ; Zero AX 38 38 cli ; Disable interrupts 39 39 cmp al, [BDA.bHDTaskFlg] ; Task flag already set? … … 68 68 HIRQ_ClearTaskFlag: 69 69 push ds 70 LOAD_BDA_SEGMENT_TO ds, ax ; Also zero AX70 LOAD_BDA_SEGMENT_TO ds, ax, ! ; Also zero AX 71 71 mov [BDA.bHDTaskFlg], al 72 72 pop ds -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13h/Common/HPIO.asm
r86 r116 1 ; Project name : IDEBIOS1 ; Project name : XTIDE Universal BIOS 2 2 ; Description : PIO transfer functions. 3 3 … … 15 15 16 16 ;-------------------------------------------------------------------- 17 ; Normalizes far pointer to that offset overflows won't happen18 ; when transferring data using PIO.19 ;20 ; HPIO_NORMALIZE_PTR21 ; Parameters:22 ; %1:%2: Far pointer to normalize23 ; %3: Scratch register24 ; %4: Scratch register25 ; Returns:26 ; %1:%2: Normalized far pointer27 ; Corrupts registers:28 ; %3, %429 ;--------------------------------------------------------------------30 %macro HPIO_NORMALIZE_PTR 431 mov %4, %2 ; Copy offset to scratch reg32 and %2, BYTE 0Fh ; Clear offset bits 15...433 eSHR_IM %4, 4 ; Divide offset by 1634 mov %3, %1 ; Copy segment to scratch reg35 add %3, %4 ; Add shifted offset to segment36 mov %1, %3 ; Set normalized segment37 %endmacro38 39 40 ;--------------------------------------------------------------------41 17 ; Reads sectors from hard disk using PIO transfer mode. 42 18 ; … … 110 86 mov [bp+PIOVARS.fnXfer], bx ; Store offset to transfer function 111 87 xchg bx, ax 112 ; Fall to HPIO_NormalizePtr 113 114 ;-------------------------------------------------------------------- 115 ; Initializes PIOVARS members. 116 ; 117 ; HPIO_InitializePIOVARS 88 ; Fall to HPIO_NormalizeDataPointer 89 90 ;-------------------------------------------------------------------- 91 ; Normalizes far pointers so that offset overflows won't happen 92 ; when transferring data using PIO. 93 ; 94 ; HPIO_NormalizeDataPointer 118 95 ; Parameters: 119 96 ; ES:BX: Ptr to source or destination data buffer … … 125 102 ;ALIGN JUMP_ALIGN 126 103 HPIO_NormalizeDataPointer: 127 HPIO_NORMALIZE_PTRes, bx, ax, cx104 NORMALIZE_FAR_POINTER es, bx, ax, cx 128 105 ret 129 106
Note:
See TracChangeset
for help on using the changeset viewer.