home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / MSMOUSE1.ZIP / FOR.ZIP / SUBS.ASM < prev   
Encoding:
Assembly Source File  |  1989-02-10  |  2.7 KB  |  74 lines

  1. ;******************************************************************
  2. ;*  SUBS.ASM                                                      *
  3. ;*                                                                *
  4. ;*  Macro Assembler subroutines for FORTRAN program FDEMO.FOR     *
  5. ;*                                                                *
  6. ;*  graf - Set 640 x 200, 2 color graphics mode                   *
  7. ;*  chkdrv - Check that mouse driver is installed                 *
  8. ;*                                                                *
  9. ;*  This code is to be linked with FDEMO                          *
  10. ;*  Example:                                                      *
  11. ;*  masm subs;                                                    *
  12. ;*  fl /FPc fdemo.for subs.obj -link mouse                        *
  13. ;******************************************************************
  14.  
  15.  
  16. mdata           segment byte public 'data'
  17.  
  18.                 msg     db   "Mouse Driver NOT installed","$"
  19.  
  20. mdata           ends
  21.  
  22.  
  23. mcode           segment para public 'CODE'
  24.                 assume  cs:mcode
  25.  
  26.                 public  graf
  27.  
  28. ; graf - Set 640 x 200, 2 color graphics mode
  29.  
  30. graf            proc    far
  31.                 push    bp
  32.                 mov     ax, 06h                 ;change to graphics
  33.                 int     10h                     ;mode by calling
  34.                 pop     bp                      ;int 10 service
  35.                 ret
  36. graf            endp
  37.  
  38.  
  39. ; chkdrv - Check that mouse driver is installed
  40.  
  41.                 public  chkdrv
  42.  
  43. chkdrv          proc    far
  44.                 push    bp
  45.                 push    es
  46.  
  47.                 mov     ax, 03533h              ;get int 33h
  48.                 int     21h                     ;by calling int 21
  49.                 mov     ax, es                  ;check segment and
  50.                 or      ax, bx                  ;offset of int 33
  51.                 jnz     back                    ;vector if 0 or IRET
  52.                 mov     bl, es:[bx]             ;mouse driver not installed
  53.                 cmp     bl, 0cfh
  54.                 jne     back                    ;exit
  55.  
  56.                 mov     ax,seg mdata            ;set up DS to
  57.                 mov     ds,ax                   ;point to data seg
  58.                 mov     dx, offset msg          ;get message
  59.                 mov     ah, 09h                 ;out to screen
  60.                 int     21h
  61.                 pop     es
  62.                 pop     bp
  63.                 mov     ax,04c00h               ;function code for
  64.                 int     21h                     ;end process
  65.  
  66.         back:
  67.                 pop     es
  68.                 pop     bp
  69.                 ret
  70. chkdrv          endp
  71. ;
  72. mcode           ends
  73.                 end
  74.