home *** CD-ROM | disk | FTP | other *** search
- ; *-------------------------------------------------------------------
- ; [ CURSOR.ASM
- ; [ Changes the cursor to a blinking block from a blinking underscore.
- ; *-------------------------------------------------------------------
- ; [ Copyright (c) 1986, Kurt Arthur, All rights reserved.
- ; [ Arthur Computer Associates
- ; [ 9256 Leith
- ; [ St. Louis, MO 63134
- ; [ (314) 427-8173
- ; [
- ; [ Note: This code has been released for free public distribution.
- ; [ No charge may be assessed for this code.
- ; *-------------------------------------------------------------------
- ; [ Written by: Kurt Arthur Date: January, 1986
- ; [
- ; [ Compiler: Microsoft MASM, Version 4.0, No options.
- ; [ Linker: Microsoft LINK, Version 3.05, No options.
- ; [ Exe2bin: Microsoft EXE2BIN, Vers 2.11, No options.
- ; *-------------------------------------------------------------------
- cseg segment
- assume cs:cseg,ds:cseg ; required by MASM
- org 100H ; all .COM files start here
-
- start:
- jmp initialize ; jump to the code that ends,
- ; leaving the rest resident.
-
- old_vector dw 2 dup (?) ; define a space for old cmd.
-
- block_cursor proc far ; cursor change code
- assume cs:cseg,ds:cseg
- sti
- mov cl,7 ; cursor end scan line.
- mov ch,0 ; cursor start scan line.
- mov ah,1 ; change the cursor.
- int 10H ; invoke video interrupt
- iret
- block_cursor endp
-
- initialize: ; memory residence code
- mov bx,cs
- mov ds,bx
- mov al,28H ; timer click interrupt
- mov ah,35H ; get vector function
- int 21H ; function request
- mov old_vector,bx ; save old vector in variable.
- mov old_vector[2],es
-
- mov bx,cs
- mov ds,bx
- mov dx,offset block_cursor
- mov al,28H ; timer click interrupt
- mov ah,25H ; set vector function
- int 21H ; function request
-
- mov bx,cs
- mov ds,bx
- mov dx,offset initialize
- int 27H ; terminate, remain resident
-
- cseg ends
- end start