/kernel/trunk/detect/sear_par.inc |
---|
216,8 → 216,7 |
push 'bd' |
.bdloop: |
; 3b. Get the drive number for using in /bd* name. |
lea eax, [esi*4] |
movzx eax, [BiosDisksData+eax*4+BiosDiskData.DriveNumber] |
movzx eax, byte [BiosDisksData+esi*4] |
sub al, 80h |
; 3c. Convert eax to decimal and store starting with [esp+3]. |
; First 2 bytes in [esp] are "bd". |
/kernel/trunk/detect/biosdisk.inc |
---|
11,7 → 11,6 |
; Detect all BIOS hard drives. |
; diamond, 2008 |
; Do not include USB mass storages. CleverMouse, 2013 |
; Read the number of sectors, bytes per sector. dunkaist, 2017 |
xor cx, cx |
mov es, cx |
66,7 → 65,6 |
mov al, dl |
stosb |
push ds |
push si |
lds si, [es:si+1Ah] |
mov al, [si+6] |
and al, 0xF |
84,9 → 82,8 |
; mov ax, -1 |
@@: |
stosw |
pop si |
pop ds |
jmp bddc3 |
jmp bddc2 |
.noide: |
cmp word [es:si], 42h |
jb .nousb |
106,13 → 103,6 |
; stosb |
; mov ax, -1 |
; stosw |
bddc3: |
movzx eax, word[es:si+24] |
stosd |
mov eax, [es:si+16] |
stosd |
mov eax, [es:si+20] |
stosd |
bddc2: |
cmp cl, [es:0x475] |
jae bdde |