65,7 → 65,9 |
mov [IDE_Channel_2],0 |
ret |
|
uglobal |
cd_status dd 0 |
endg |
|
;---------------------------------------------------------------- |
; |
253,15 → 255,18 |
call .get_names_from_buffer |
sub eax,2048 |
; äèðåêòîðèÿ çàêîí÷èëàñü? |
cmp eax,0 |
ja .read_to_buffer |
mov edi,[cd_counter_block] |
mov [edx+8],edi |
mov edi,[ebx] |
sub [edx+4],edi |
xor eax, eax |
dec ecx |
js @f |
mov al, ERROR_END_OF_FILE |
@@: |
pop ecx edi |
mov ebx, [edx+4] |
mov eax,ERROR_SUCCESS |
ret |
|
.get_names_from_buffer: |
658,11 → 663,9 |
cmp byte [esi-1], 0 |
jz .done |
mov eax,[cd_current_pointer_of_input] |
add eax,2 |
mov eax,[eax] |
mov [CDSectorAddress],eax ; íà÷àëî äèðåêòîðèè |
add eax,8 |
mov eax,[eax] ; ðàçìåð äèðåêòîðèè |
push dword [eax+2] |
pop dword [CDSectorAddress] ; íà÷àëî äèðåêòîðèè |
mov eax,[eax+2+8] ; ðàçìåð äèðåêòîðèè |
jmp .mainloop |
; óêàçàòåëü ôàéëà íàéäåí |
.done: |