65,9 → 65,7 |
mov [IDE_Channel_2],0 |
ret |
|
uglobal |
cd_status dd 0 |
endg |
|
;---------------------------------------------------------------- |
; |
255,18 → 253,15 |
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: |
663,9 → 658,11 |
cmp byte [esi-1], 0 |
jz .done |
mov eax,[cd_current_pointer_of_input] |
push dword [eax+2] |
pop dword [CDSectorAddress] ; íà÷àëî äèðåêòîðèè |
mov eax,[eax+2+8] ; ðàçìåð äèðåêòîðèè |
add eax,2 |
mov eax,[eax] |
mov [CDSectorAddress],eax ; íà÷àëî äèðåêòîðèè |
add eax,8 |
mov eax,[eax] ; ðàçìåð äèðåêòîðèè |
jmp .mainloop |
; óêàçàòåëü ôàéëà íàéäåí |
.done: |