Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ideal
- Model tiny
- Dataseg
- FirstStart db "First start", 10, 13, '$'
- AccessDenied db "Access denied", 10, 13, '$'
- AccessGranted db "Access granted", 10, 13, '$'
- FirstTime db 0
- FirstVsn dw 0, 0
- FirstPathLength db 0
- FirstPath db 256 dup(0)
- Vsn dw 0, 0
- Path db 256 dup(0)
- PathLength db 0
- DiskInfo dw 64 dup(0)
- Codeseg
- org 100h
- proc main
- mov ds, [2ch]
- mov bx, 0
- SEARCH_START:
- add bx, 1
- mov al, [bx]
- cmp al, 0
- jne SEARCH_START
- mov al, [bx + 1]
- cmp al, 1
- jne SEARCH_START
- add bx, 2
- mov di, -1
- lea bp, cs:Path
- SAVE:
- add bx, 1
- add di, 1
- mov al, [bx]
- mov [bp +di], al
- cmp al, 0
- jne SAVE
- mov ax, di
- mov cs:PathLength, al
- push cs
- pop ds
- mov ax, 6900h
- xor bl, bl
- lea dx, DiskInfo
- int 21h
- mov ax, DiskInfo + 2
- mov Vsn, ax
- mov ax, DiskInfo + 4
- mov Vsn + 2, ax
- cmp FirstTime, 0
- jne NOTFIRST
- mov ax, 3d00h
- lea dx, Path
- int 21h
- mov bx, ax
- mov ax, 4301h
- mov cx, 0
- int 21h
- mov ah, 3eh
- int 21h
- mov ax, 3d02h
- int 21h
- mov bx, ax
- mov dx, 12dh
- mov ax, 4201h
- int 21h
- mov FirstTime, 1
- mov ah, 40h
- mov cx, 1
- lea dx, FirstTime
- int 21h
- mov ah, 40h
- mov cx, 4
- lea dx, Vsn
- int 21h
- mov ah, 40h
- mov cx, 1
- lea dx, PathLength
- int 21h
- xor cx, cx
- mov cl, PathLength
- mov ah, 40h
- lea dx, Path
- int 21h
- mov ah, 3Eh
- int 21h
- mov ah, 9
- lea dx, FirstStart
- int 21h
- jmp KONEC
- NOTFIRST:
- mov ax, Vsn
- cmp ax, FirstVsn
- jne NOACCESS
- mov ax, Vsn + 2
- cmp ax, FirstVsn + 2
- jne NOACCESS
- mov al, PathLength
- cmp al, FirstPathLength
- jne NOACCESS
- mov cl, PathLength
- xor di, di
- COMPARE:
- mov al, FirstPath + di
- cmp al, Path + di
- jne NOACCESS
- inc di
- loop COMPARE
- mov ah, 9
- lea dx, AccessGranted
- int 21h
- jmp KONEC
- NOACCESS:
- mov ah, 9
- lea dx, AccessDenied
- int 21h
- KONEC:
- mov ah, 1
- int 21h
- mov ah, 4ch
- int 21h
- endp main
- end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement