Курсовая работа: Захист від несанкціонованого доступу
mov SI,BX ;Збережемо розмір кластера в SI
d1v BX ;DX:AX/BX.
push DX ;Збережемо у стекі залишок
;Встановимо вказівник на кінець файла
mov AH,42h
mov AL,2 ;Режим установки від кінця файла
mov BX,handle
mov CX,O ;0 байтів
mov DX,O ;відкінцяфайла
1nt 21h
;чи потрібна корекція довжини файла? Файл треба подовжити,
;якщо залишок дорівнює 0 або дорівнює довжині кластера-1.
pop DX ; Витягнемо зі стека залишок
dec SI ;SI-число байтів у кластері-1
cmp DX,0 ;Залишок дорівнює 0?
je incr ;Так, на корекцію
cmp DX.SI ;Залишок дорівнює довжині кластера-1?
je incr ;Так, на корекцію
jmp good ;корекція не потрібна
;Збільшемо файл на два байти, щоб він зайняв ще один кластер
incr:
mov AH,40h
mov BX,handle
mov CX.2
mov OX, offset null
Int 21h
jmp good ;Ha записключазамежаминовоїдовжинифайла
good:
;Запишемо за межами файла ключ