home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / FGL402A.ZIP / EXCOMMON.ARJ / FGDOC / EXAMPLES / BB-01.ASM next >
Encoding:
Assembly Source File  |  1995-01-20  |  2.0 KB  |  51 lines

  1.           EXTRN   _fg_getmode:far  ; Fastgraph's GETMODE routine
  2.           EXTRN   _fg_reset:far    ; Fastgraph's RESET routine
  3.           EXTRN   _fg_setmode:far  ; Fastgraph's SETMODE routine
  4.           EXTRN   _fg_version:far  ; Fastgraph's VERSION routine
  5.  
  6. stackseg  SEGMENT stack
  7.           db      1024 dup (?)  ; use a 1K stack
  8. stackseg  ENDS
  9.  
  10. _DATA     SEGMENT word public 'DATA'
  11. major     dw      ?             ; major version number
  12. minor     dw      ?             ; minor version number
  13. old_mode  dw      ?             ; original video mode
  14. _DATA     ENDS
  15.  
  16. dgroup    GROUP   _DATA
  17.           ASSUME  cs:main_TEXT,ds:dgroup
  18.  
  19. main_TEXT SEGMENT byte public 'CODE'
  20.  
  21. start:    mov     ax,_DATA      ; load segment location
  22.           mov     ds,ax         ; into DS register
  23.  
  24.           call    _fg_getmode   ; AX = current video mode
  25.           mov     old_mode,ax   ; save it
  26.  
  27.           mov     ax,4          ; use video mode 4
  28.           push    ax            ; pass argument fg_setmode
  29.           call    _fg_setmode   ; establish CGA four-color mode
  30.           add     sp,2          ; remove fg_setmode argument
  31.  
  32.           push    old_mode      ; pass argument to fg_setmode
  33.           call    _fg_setmode   ; restore original video mode
  34.           add     sp,2          ; remove fg_setmode argument
  35.  
  36.           call    _fg_reset     ; restore screen attributes
  37.  
  38.           lea     ax,minor      ; get address of minor variable
  39.           push    ax            ; pass argument #2 to fg_version
  40.           lea     ax,major      ; get address of major variable
  41.           push    ax            ; pass argument #1 to fg_version
  42.           call    _fg_version   ; get the Fastgraph version number
  43.           add     sp,4          ; remove fg_version arguments
  44.  
  45.           mov     ah,76         ; function 76: terminate process
  46.           xor     al,al         ; errorlevel 0
  47.           int     21h           ; exit to DOS
  48.  
  49. main_TEXT ENDS
  50.           END     start
  51.