video.inc
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:3k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. ;========================================================
  2. COMMENT #
  3. VIDEO.INC
  4. Copyright (c) 1991 - Microsoft Corp.
  5. All rights reserved.
  6. Microsoft Confidential
  7. Definitions for assembly language video fuctions.
  8. Must be include in BIOS_IO.ASM
  9. johnhe - 03/03/89
  10.  01/12/90 Converted to lib form
  11. END COMMENT #
  12. ;========================================================
  13. VIDEO_INT         EQU     10h         ; Video interrupt
  14. KB_INT            EQU     16h         ; Keyboard interrupt
  15. SET_VIDEO_MODE    EQU     00h         ; Set video mode function
  16. SET_CURS_SIZE     EQU     01h         ; Set cursor size
  17. SET_CURS_POS      EQU     02h         ; Modify cursor posn
  18. GET_CURS_POS      EQU     03h         ; Read current cursor posn
  19. READ_LIGHT_PEN    EQU     04h         ; Read light pen position
  20. SET_VIDEO_PAGE    EQU     05h         ; Set screen page
  21. SCROLL_UP         EQU     06h         ; Scroll screen up
  22. SCROLL_DOWN       EQU     07h         ; Scroll screen down
  23. READ_CHAR_ATTR    EQU     08h         ; Get char & attrib from scr
  24. WRITE_CHAR_ATTR   EQU     09h         ; Write character & attrib
  25. WRITE_CHAR_ONLY   EQU     0ah         ; Write character to scr
  26. SET_GRAPHIC_PAL   EQU     0bh         ; Set graphics palete
  27. WRITE_GRAPHIC     EQU     0ch         ; Write a graphic pixel
  28. READ_GRAPHIC      EQU     0dh         ; Read a graphic pixel
  29. WRITE_TTY         EQU     0eh         ; Write char & move cursor
  30. GET_VIDEO_MODE    EQU     0fh         ; Get video mode & disp pg
  31. MAX_SCR_ROW       EQU     24          ; Max row # on screen
  32. ZERO_FLAG         EQU     40h         ; Bit 6 of the flags
  33. BEL           EQU     07h         ; ASCII BEL character
  34. ASCII_CR EQU 13
  35. ASCII_LF EQU 10
  36. ; =======================================================
  37. ; Equates
  38. ; =======================================================
  39. KBD_INT           EQU   16h     ; Bios keyboard interrupt
  40. KBD_GET_CHAR      EQU   00      ; Get char from keyboard buffer
  41. KBD_IS_WAITING    EQU   01      ; See if character is waiting
  42. KBD_GET_STATUS    EQU   02      ; Return shift status
  43. COLOR_BIT         EQU     000001b
  44. EGA_BIT           EQU     000010b
  45. FAST_BIT          EQU     000100b
  46. ; =========================================================================
  47. ; Macro which does an explicit NEAR or FAR call based on the memory
  48. ; model.
  49. ; =========================================================================
  50. call_M MACRO Function
  51. IF  @codesize ; Call adjusted for memory model
  52. call FAR PTR Function ; FAR call if LARGE, MED, or HUGE
  53. ELSE
  54. call NEAR PTR Function ; Else NEAR call
  55. ENDIF
  56. ENDM