⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interrup.txt

📁 中断表 dos的中断 中断表 dos的中断
💻 TXT
📖 第 1 页 / 共 2 页
字号:

	returns nothing


	- in video mode 4 (300x200 4 color) on the EGA, MCGA and VGA
	  this function scrolls page 0 regardless of the current page
	- can be used to scroll graphics screens, using character coords
	- on CGA's this function disables video adapter, causing flitter

:int 10,8
^INT 10,8 - Read Character and Attribute at Cursor Position


	AH = 08
	BH = display page


	on return:
	AH = attribute of character (alpha modes only)
	AL = character at cursor position


	- in video mode 4 (300x200 4 color) on the EGA, MCGA and VGA
	  this function works only on page zero

:int 10,9
^INT 10,9 - Write Character and Attribute at Cursor Position


	AH = 09
	AL = ASCII character to write
	BH = display page  (or mode 13h, background pixel value)
	BL = character attribute (text) foreground color (graphics)
	CX = count of characters to write (CX >= 1)


	returns nothing


	- does not move the cursor
	- in graphics mode (except mode 13h), if BL bit 7=1 then
	  value of BL is XOR'ed with the background color

:int 10,a
^INT 10,A - Write Character Only at Current Cursor Position


	AH = 0A
	AL = ASCII character to write
	BH = display page  (or mode 13h, background pixel value)
	BL = foreground color (graphics mode only)
	CX = count of characters to write (CX >= 1)


	return nothing


	- similar to ~INT 10,9~ except color ignored in text modes

:int 10,b
^INT 10,B - Set Color Palette

	AH = 0B
	BH = palette color ID
	   = 0	to set background and border color
	   = 1	to select 4 color palette
	BL = color value (when BH = 0)
	   = palette value (when BH = 1)

	Palette    Pixel	  Color
	   0	     0	    current background color
		     1	    green (2)
		     2	    red (4)
		     3	    brown (6)
	   1	     0	    current background color
		     1	    cyan (3)
		     2	    magenta (5)
		     3	    white (7)

	- does not work for all EGA and VGA video modes
	- sets border color in text mode (BH = 0)

:int 10,c
^INT 10,C - Write Graphics Pixel at Coordinate


	AH = 0C
	AL = color value (XOR'ED with current pixel if bit 7=1)
	BH = page number, see ~VIDEO PAGES~
	CX = column number (zero based)
	DX = row number (zero based)


	returns nothing


	- if bit 7 is 1, color specified is XOR'ed with current pixel
	- page number in BH ignored for 320x200 4 color graphics mode
	- this function is known to destroy AX and possibly SI and DI on
	  on some PS/2 VGA systems

:int 10,d
^INT 10,D - Read Graphics Pixel at Coordinate


	AH = 0D
	BH = page number, see ~VIDEO PAGES~
	CX = column number (zero based)
	DX = row number (zero based)


	on return:
	AL = color of pixel read


	- 64K IBM EGAs with BIOS dated 9/13/84 in 350 line video
	  modes,  return invalid data in AL
	- page number in BH ignored for 320x200 4 color graphics mode

:int 10,e
^INT 10,E - Write Text in Teletype Mode


	AH = 0E
	AL = ASCII character to write
	BH = page number (text modes)
	BL = foreground pixel color (graphics modes)


	returns nothing


	- cursor advances after write
	- characters BEL (7), BS (8), LF (A), and CR (D) are
	  treated as control codes
	- for some older BIOS (10/19/81), the BH register must point
	  to the currently displayed page
	- on CGA adapters this function can disable the video signal while
	  performing the output which causes flitter.

:int 10,f
^INT 10,F - Get Video State


	AH = 0F


	on return:
	AH = number of screen columns
	AL = mode currently set (see ~VIDEO MODES~)
	BH = current display page


	- video modes greater than 13h on EGA, MCGA and VGA indicate
	  ~INT 10,0~ was called with the high bit of the mode (AL) set
	  to 1, meaning the display does not need cleared
	- function returns byte value at 40:49;  On EGA, MCGA and
	  VGA bit 7 of register AL is determined by bit 7 of BIOS Data
	  Area byte 40:87.   This bit is usually set by INT 10,0
	  with bit 7 of the requested mode (in AL) set to 1

:int 10,10
^INT 10,10 - Set/Get Palette Registers (EGA/VGA)

	AH = 10h

%	AL = 00  set individual palette register
	   BH = color value
	   BL = palette register


%	AL = 01  set border color (overscan register)
	   BH = color value


%	AL = 02  set all palette registers and border
	   ES:DX = pointer to 17 byte table representing 16 palette
		   registers and border color register


%	AL = 03  toggle intensity/blinking (EGA)
	   BL = 0  enable intensity
		1  enable blinking


%	AL = 07  read palette register (PS/2)
	   BL = palette register to read (0-15)

	on return:
	  BH = value of palette register


%	AL = 08  read border color (overscan register, PS/2)

	on return:
	  BH = value of border color (overscan register)


%	AL = 09  read palette registers and border (PS/2)
	   ES:DX = pointer to 17 byte table representing 16 palette
		   registers and border color register

	on return:
	ES:DX = pointer to table provided as input


%	AL = 10  set DAC color register
	   BX = color register to set
	   CH = green value
	   CL = blue value
	   DH = red value


%	AL = 12  set block of DAC color registers
	   BX = first color register to set
	   CX = number of color registers to set
	   ES:DX = pointer to table of color values to set


%	AL = 13  set attribute controller color select state
	   BL = 0  set Mode Control register bit 7
	      BH = value for bit 7
	   BL = 1  set color select register
	      BH = value for color select register


%	AL = 15  read DAC color register (PS/2)
	   BX = color register to read

	on return:
	CH = green value
	CL = blue value
	DH = red value


%	AL = 17  read block of DAC color registers
	   BX = first color register to read
	   CX = number of color registers to read
	   ES:DX = pointer to buffer for color registers

	on return:
	ES:DX = pointer to color table provided as input


%	AL = 18  update video DAC mask register
	   BL = new mask


%	AL = 19  read video DAC mask register

	on return:
	BL = value read from video DAC mask register


%	AL = 1A  read color page state
	   BL = bit 7 of Mode Control Register
	   BH = bits 2 thru 3 of Color select register if BL = 0
	      = bits 0 thru 3 of Color select register if BL = 1

	on return:
	BL = current paging mode
	CX = current page



%	AL = 1B  sum color values to shades of gray
	   BX = first color register to sum
	   CX = number of color registers to sum


	- controls the pixel color mapping bit values
	- BIOS extension to EGA/VGA systems

:int 10,11
^INT 10,11 - Character Generator Routine (EGA/VGA)

	AH = 11h

%	AL = 00  user character load
	   BH = number of bytes per character
	   BL = table in character generator RAM
	   CX = count of characters in table
	   DX = ASCII code of first character defined
	   ES:BP = pointer to user table


%	AL = 01  ROM BIOS 8x14 monochrome set
	   BL = table in character generator RAM


%	AL = 02  ROM BIOS 8x8 double dot
	   BL = table in character generator RAM


%	AL = 03  set displayed definition table
	   BL = value for character Map Select register (EGA,VGA)
	      = character generator RAM table numbers (MCGA)


%	AL = 04  ROM BIOS 8x16 character set
	   BL = table in character generator RAM


%	AL = 10  user specified character definition table
	   BH = bytes per character (points)
	   BL = table in character generator RAM
	   CX = number of characters defined in table
	   DX = ASCII code of first character defined
	   ES:BP = pointer to user table


%	AL = 11  ROM BIOS 8x14 monochrome character set
	   BL = table in character generator RAM


%	AL = 12  ROM 8x8 double dot character definitions
	   BL = table in character generator RAM


%	AL = 14  ROM 8x16 double dot character definitions
	   BL = table in character generator RAM


%	AL = 20  pointer to graphics character table for ~INT 1F~ (8x8)
	   ES:BP = pointer to user table


%	AL = 21  user graphics character pointer at INT 43
	   BL = row specifier
	      = 0 - user specified  (DL = rows)
	      = 1 is 14 rows
	      = 2 is 25 rows
	      = 3 is 43 rows
	   CX = bytes per character (points)
	   DL = rows (when BL = 0)
	   ES:BP = pointer to user table


%	AL = 22  ROM 8x14 character set
	   BL = number of rows (see AL=21)
	   DL = rows (when BL = 0)


%	AL = 23  ROM 8x8 double dot character set
	   BL = row specifier (see AL=21)
	   DL = rows (when BL = 0)


%	AL = 24  ROM 8x16 character set
	   BL = row specifier (see AL=21)
	   DL = rows (when BL = 0)


%	AL = 30  get current character generator information
	   BH = information desired:
	      = 0  ~INT 1F~ pointer
	      = 1  INT 44h pointer
	      = 2  ROM 8x14 pointer
	      = 3  ROM 8x8 double dot pointer (base)
	      = 4  ROM 8x8 double dot pointer (top)
	      = 5  ROM 9x14 alpha alternate pointer
	      = 6  ROM 8x16 character table pointer
	      = 7  ROM 9x16 alternate character table pointer

	on return:
	CX = bytes per character (points)
	DL = rows (less 1)
	ES:BP = pointer to table

:int 10,12
^INT 10,12 - Video Subsystem Configuration (EGA/VGA)

	AH = 12h


%	BL = 10  return video configuration information

	on return:
	BH = 0 if color mode in effect
	   = 1 if mono mode in effect
	BL = 0 if 64k EGA memory
	   = 1 if 128k EGA memory
	   = 2 if 192k EGA memory
	   = 3 if 256k EGA memory
	CH = feature bits
	CL = switch settings


%	BL = 20  select alternate print screen routine

%	BL = 30  select scan lines for alphanumeric modes
	   AL = 0  200 scan lines
	      = 1  350 scan lines
	      = 2  400 scan lines

	on return:
	AL = 12


%	BL = 31  select default palette loading
	   AL = 0 enable default palette loading
	      = 1 disable default palette loading

	on return:
	AL = 12


%	BL = 32  CPU access to video RAM
	   AL = 0  enable CPU access to video RAM and I/O ports
	      = 1  disable CPU access to video RAM and I/O ports

	on return:
	AL = 12


%	BL = 33  Gray scale summing
	   AL = 0  enable gray scale summing
	      = 2  disable gray scale summing

	on return:
	AL = 12


%	BL = 34  cursor emulation
	   AL = 0  enable cursor emulation
	      = 1  disable cursor emulation

	on return:
	AL = 12


%	BL = 35  PS/2 video display switching
	   AL = 0 initial adapter video off
	      = 1 initial planar video on
	      = 2 switch active video off
	      = 3 switch inactive video on
	   ES:DX pointer to 128 byte save area (when AL = 0, 2 or 3)

	on return:
	AL = 12


%	BL = 36  video refresh control
	   AL = 0 enable refresh
	      = 1 disable refresh

	on return:
	AL = 12

:int 10,13
^INT 10,13 - Write String (BIOS versions from 1/10/86)

	AH = 13h
	AL = write mode (see bit settings below)
	   = 0 string is chars only, attribute in BL, cursor not moved
	   = 1 string is chard only, attribute in BL, cursor moved
	   = 2 string contains chars and attributes, cursor not moved
	   = 3 string contains chars and attributes, cursor moved
	BH = video page number
	BL = attribute if mode 0 or 1 (AL bit 1=0)
	CX = length of string (ignoring attributes)
	DH = row coordinate
	DL = column coordinate
	ES:BP = pointer to string


	Bit settings for write mode (register AL):

	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -