📄 hdlocker.asm
字号:
code segment
assume cs:code,ds:code
org 100h
start:
jmp begin
msg1 db 0Ah,0Dh,' Babysoft (R) Hard Disk Locker version 1.0'
db 0Ah,0Dh,' Copyright (C) 1997.11 LiuYaDing,Babysoft Corp.',0Ah,0Dh
db 0Ah,0Dh,' C ...... Lock Hard Disk'
db 0Ah,0Dh,' D ...... Only Lock Driver D:'
db 0Ah,0Dh,' Q ...... Quit',0Ah,0Dh
db 0Ah,0Dh,' Enter your select :(D)?$'
msg2 db 07h,0Ah,0Dh,' Locked OK!',0Ah,0Dh,'$'
msg3 db ' Not fount Driver D:$'
error db 0Ah,0Dh,' Enter error!$'
cxd dw 0
begin:
mov ax,201h
mov bx,offset buf
mov cx,1
mov cxd,cx
mov dx,80h
int 13h
jc begin
mov ah,9
lea dx,msg1
int 21h
ag1: mov ah,1
int 21h
cmp al,'Q'
jz exitq
cmp al,'q'
jz exitq
cmp al,0Dh
jz jmd
cmp al,'D'
jz jmd
cmp al,'d'
jz jmd
cmp al,'C'
jz jmc
cmp al,'c'
jz jmc
lea dx,error
jmp exit
jmd: cmp byte ptr [buf+1D0h],0
jnz re
lea dx,msg3
jmp exit
re: mov ax,201h
mov cx,word ptr [buf+1D0h]
mov cxd,cx
mov bx,offset buf
mov dx,80h
int 13h
jc re
jmc: mov ah,0A8h
cld
mov si,offset buf
mov di,si
mov cx,1FEh
ag2: lodsb
xor al,ah
rol ah,1
stosb
loop ag2
agw: mov ax,301h
mov bx,offset buf
mov cx,cxd
mov dx,80h
int 13h
jc agw
mov dx,offset msg2
mov ah,9
int 21h
mov ax,0FFFFh
push ax
xor ax,ax
push ax
retf
exit:mov ah,9
int 21h
exitq:
int 20h
buf db 0
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -