Курсовая работа: Захист від несанкціонованого доступу
jnc go1
jmp notopen
go1:
mov handle,AX ;
;Одержимоіндекс SFT із JFT, щознаходитьсяв PSP
mov DI,l8h ;ES:DI->JFT
add DI,AX ;ЕS:DI->наш елемент у JFT
mov CL,ES:[DI] ;CL=індекс SFT
xor CH.CH ;CH=індекс SFT
;Одержимо доступ до системної таблиці файлів
mov AH,52h
Int 21h
les DI,ES:[BX+4] ;ES:DI->перша SFT сmр CX,ES:[OI+4] ;Індекс у цій SFT?
jb here ;І
sub CX,ES:[DI+4] ;Немає, віднімемо число блоків у цій ;SFT
les DI,ES:[OI] ;ES:DI->друга SFT
here:
;Знайшли ту SFT, у котрій наш індекс
mov AX,59 ;Розмір блока опису файла
mul CL
add DI,6 ;ЕS:DI->перший блок опису файла
add DI,AX ;ЕS:DI->блок опису файла
mov AX,ES:[DI+llh] ;АХ=молодше слово довжини
mov DX,ES:[DI+13h] ;DХ=старше слово довжини
les DI,ES:[DI+7] ;ЕS:DI=вказівник на DPB
mov BL,ES:[DI+4] ;ВL=номер старшого сектора кластера
inc BL ;BL=число секторів у кластері
xor BH,BH ;ВХ-число секторів у кластері
mov CL,9 ;Зсув на 9 бітій = множення на 512