Changeset 370 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Inc/IDE_8bit.inc
- Timestamp:
- Mar 29, 2012, 4:40:50 PM (12 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/IDE_8bit.inc
r363 r370 30 30 ; XTIDE_INSW 31 31 ; Parameters: 32 ; B X: Bit mask for toggling XTIDE data low/high reg32 ; BL: Bit mask for toggling XTIDE data low/high reg 33 33 ; DX: XTIDE Data Low Register address 34 34 ; ES:DI: Ptr to destination buffer … … 41 41 %ifdef USE_186 ; INS instruction available 42 42 insb ; Load low byte from port DX to [ES:DI] 43 xor d x, bx; IDE Data Reg to XTIDE Data High Reg43 xor dl, bl ; IDE Data Reg to XTIDE Data High Reg 44 44 insb ; Load high byte from port DX to [ES:DI] 45 xor d x, bx; Restore to IDE Data Register45 xor dl, bl ; Restore to IDE Data Register 46 46 %else ; If 8088/8086 47 47 in al, dx ; Load low byte from port 48 xor d x, bx; IDE Data Reg to XTIDE Data High Reg48 xor dl, bl ; IDE Data Reg to XTIDE Data High Reg 49 49 stosb ; Store byte to [ES:DI] 50 50 in al, dx ; Load high byte from port 51 xor d x, bx; Restore to IDE Data Register51 xor dl, bl ; Restore to IDE Data Register 52 52 stosb ; Store byte to [ES:DI] 53 53 %endif … … 60 60 ; XTIDE_OUTSW 61 61 ; Parameters: 62 ; B X: Bit mask for toggling XTIDE data low/high reg62 ; BL: Bit mask for toggling XTIDE data low/high reg 63 63 ; DX: XTIDE Data Low Register address 64 64 ; DS:SI: Ptr to source buffer … … 71 71 %ifdef USE_186 ; OUTS instruction available 72 72 lodsb ; Load low byte from [DS:SI] to AL 73 xor d x, bx; IDE Data Reg to XTIDE Data High Reg73 xor dl, bl ; IDE Data Reg to XTIDE Data High Reg 74 74 outsb ; Output high byte from [DS:SI] 75 xor d x, bx; XTIDE Data High Reg to Data Low Reg75 xor dl, bl ; XTIDE Data High Reg to Data Low Reg 76 76 out dx, al ; Output low byte from AL 77 77 %else ; If 8088/8086 78 78 lodsw ; Load word from [DS:SI] 79 xor d x, bx; IDE Data Reg to XTIDE Data High Reg79 xor dl, bl ; IDE Data Reg to XTIDE Data High Reg 80 80 xchg al, ah ; => AL=high byte, AH=low byte 81 81 out dx, al ; Output high byte 82 xor d x, bx; XTIDE Data High Reg to Data Low Reg82 xor dl, bl ; XTIDE Data High Reg to Data Low Reg 83 83 mov al, ah ; Copy low byte to AL 84 84 out dx, al ; Output low byte
Note: See TracChangeset
for help on using the changeset viewer.