home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
utils
/
antivir2.zip
/
NOHARD.ASM
< prev
next >
Wrap
Assembly Source File
|
1986-01-04
|
2KB
|
69 lines
;HARD DISK IVEC REMOVER
;COPYRIGHTED AND PLACED IN THE PUBLIC DOMAIN
;BY ROB KING, SPRINGFIELD,VA
;4 JAN 86
CR EQU 0DH
LF EQU 0AH
BEL EQU 07H
ABSO SEGMENT AT 0H
ORG 13H*4
DISK_INT LABEL DWORD
ORG 40H*4
FLOP_INT LABEL DWORD
ABSO ENDS
CSEG SEGMENT
ASSUME CS:CSEG;DS:CSEG
ORG 0100H
FIRST:
MOV DX,OFFSET MSG_SIGNON ;say what this program does
MOV AH,9
INT 21H
PUSH DS ;save segments because its good form
PUSH ES
XOR AX,AX ;point ds to bottom of ram
MOV DS,AX
MOV DX,OFFSET MSG_NOT_THERE ;make this assignment before the
;assume statement
ASSUME DS:ABSO
LDS SI,DISK_INT ;get int 13h interrupt vector
MOV AX,DS
CMP AX,0C800H ;test to see if it points to
;the "usual" location for a hard
;disk controller rom
JNE DONE ;skip if not
XOR AX,AX ;cheap zero
PUSH AX ;save a copy
MOV DS,AX ;point ds to bottom of ram again
LDS SI,FLOP_INT ;get floppy ivec
MOV AX,DS ;save segment
POP DS ;point ds to bottom of ram again
MOV DISK_INT,SI ;save offset for floppy ivec
MOV DISK_INT+2,AX ;save segment for floppy ivec
ASSUME DS:CSEG ;generate proper label for next line
MOV DX,OFFSET MSG_THERE ;point to action taken message
DONE:
POP ES ;recover segments
POP DS
MOV AH,09H ;print msg pointed to by dx
INT 21H
XOR AX,AX ;cheap zero
INT 21H ;exit
MSG_SIGNON DB 'Hard disk access remover by Rob King.'
DB ' 6622 Holford Lane, Springfield, Va.',cr,lf
DB 'If you like this program, send me a dollar',cr,lf,'$'
MSG_NOT_THERE DB 'Segment address for Interrupt 13H not C800..'
DB 'NO interrupt vectors changed',cr,lf,bel,'$'
MSG_THERE DB 'Interrupt vector 13H replaced with interrupt '
DB 'vector 40H.',cr,lf
DB 'Hard disk access disabled...CTL-ALT-DEL to restore.'
DB cr,lf,bel,'$'
CSEG ENDS
END FIRST ;use this so masm/link will make a proper com file