home *** CD-ROM | disk | FTP | other *** search
- page 60,75
- title 'Program to enable cntl-U and cntl-W for DOS 3.x'
- ;
- ;================================================================
- ; Copyright (c) 1987 Bill Davidsen
- ;
- ; This program may be freely used and distributed, providing it is
- ; not included in any commercial package, and this notice remains
- ; intact.
- ;================================================================
- ;
- BEL equ 7 ; ASCII bell
-
- xxx segment byte public 'text'
- assume cs:xxx
-
- org 0100h
- entry proc near
- ;
- ; Set DS on DOS
- mov ax,40h
- mov ds,ax
- ;
- ; find the compare statement
- mov ax,173cH ; CMP AL,17H
- mov si,0 ; search location
- mov cx,30000 ; Count for search length
- Part1:
- cmp ax,[si]
- jz Part2
- TryAgain:
- inc si
- loop Part1
- ;
- ; Didn't find it, error message
- push cs ; CS -> DS
- pop ds
- mov ah,9
- mov dx,(Offset emsg)
- int 21h
- AllDone:
- ret
-
- ; finish the compare
- Part2:
- mov bx,[si+2] ; S.B. nops
- cmp bx,9090H
- jnz TryAgain
-
- ; Set the jumps in place
- mov ax,5e74H
- mov [si+2],ax
- mov ax,5574h
- mov [si+6],ax
-
- ; Reassure the user that it worked
- push cs ; CS -> DS
- pop ds
- mov ah,9
- mov dx,(Offset okmsg)
- int 21h
-
- jmp short AllDone
-
- ; Error message
- emsg db 'Can''t enable Cntl-U',BEL,15Q,12Q,'$'
- okmsg db 'Cntl-U and Cntl-W enabled.',15Q,12Q,'$'
-
- entry endp
- xxx ends
-
- end entry
-
-