home *** CD-ROM | disk | FTP | other *** search
- ;void set_blink(code);
- ; unsigned short code;
-
- EXTRN _memory_model:byte
-
- _TEXT SEGMENT BYTE PUBLIC 'CODE'
- ASSUME CS:_TEXT
- PUBLIC _set_blink
- _set_blink proc near
- mov bx,sp ;BX pts to stack
- cmp _memory_model,0 ;near or far?
- jle begin ;jump if near
- inc bx ;else add 2 to BX
- inc bx ;
- begin: mov al,ss:[bx+4] ;get code
- cmp al,2 ;CGA?
- jne L1 ;jump ahead if not
- mov dx,3d8H ;video controller port
- mov al,41 ;new value for register
- out dx,al ;enable blinking
- jmp short L2 ;quit
- L1: cmp al,3 ;EGA?
- jne L2 ;quit routine if not
- mov ah,10h ;EGA BIOS function
- mov al,3 ;subfunction to set blink
- mov bl,1 ;blink ON
- int 10h ;go do it
- L2: cmp _memory_model,0 ;quit
- jle quit ;
- db 0CBh ;RET far
- quit: ret ;RET near
- _set_blink endp
- _TEXT ENDS
- END