1、 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计8086/80888086/8088和和ARMARM核核汇编语言程序设计汇编语言程序设计第第1212章章 汇编语言汇编语言基础知识基础知识9/26/20241第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 BIOS12.1 BIOS中断调用中断调用12.2 DOS功能调用第第1212章章 BIOSBIOS和和DOSDOS中断调用中断调用9/26/20242第第12章章 汇编语言基础
2、知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用 在存储器系统中,内存器高端在存储器系统中,内存器高端8K8K的的ROMROM中存放有基本中存放有基本输入输出系统(输入输出系统(Basic Input/Output SystemBasic Input/Output System,BIOSBIOS)例行程)例行程序。序。BIOSBIOS给给PCPC系列的不同微处理器提供了兼容的系统加电系列的不同微处理器提供了兼容的系统
3、加电自、引导装入、主要自、引导装入、主要I/OI/O设备的处理程序以及接口控制等功设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用能模块来处理所有的系统中断。使用BIOSBIOS功能调用,给程序功能调用,给程序员编程带来极大方便。程序员不必了解硬件的具体细节,可员编程带来极大方便。程序员不必了解硬件的具体细节,可直接使用指令设置参数直接使用指令设置参数,使用,使用软件中断软件中断调用调用BIOSBIOS例行程序,例行程序,所以利用所以利用BIOSBIOS功能调用编写的程序简洁,可读性好,而且易功能调用编写的程序简洁,可读性好,而且易于移植。于移植。9/26/20243第第12章章
4、 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 磁盘操作系统(磁盘操作系统(Disk Operating SystemDisk Operating System)是)是PCPC机上最重机上最重要的操作系统,它是由软盘或硬盘提供的。它的两个要的操作系统,它是由软盘或硬盘提供的。它的两个DOSDOS模模块块IBMBIO.COMIBMBIO.COM和和IBMDOS.COMIBMDOS.COM使使BIOSBIOS使用起来更方便。使用起来更方便。因为因为DOSDOS模块提供了更多更必要的测试,使模块提供了更多更必
5、要的测试,使DOSDOS操作比使用操作比使用相应功能的相应功能的BIOSBIOS操作更简易,而且操作更简易,而且DOSDOS对硬件的依赖性更少对硬件的依赖性更少些。些。DOSDOS模块和模块和ROM BIOSROM BIOS的关系如下图所示。的关系如下图所示。12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用一般中断号20H以下为BIOS,20H(含)以上为DOS中断调用9/26/20244第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计
6、地址(地址(地址(地址(HexHex)类型码类型码类型码类型码 中断名称中断名称中断名称中断名称 03 0 03 0 除以除以除以除以0 0 47 1 47 1 单步单步单步单步 8B 2 8B 2 非屏蔽非屏蔽非屏蔽非屏蔽 CF CF CF CF 3 3 断点断点断点断点 1013 4 1013 4 溢出溢出溢出溢出 1417 5 1417 5 打印屏幕打印屏幕打印屏幕打印屏幕 181B 6 181B 6 保留保留保留保留 1D1F 7 1D1F 7 保留保留保留保留 2023 8 2023 8 定时器定时器定时器定时器 2427 9 2427 9 键盘键盘键盘键盘 282B A 282B
7、A 保留的硬中断保留的硬中断保留的硬中断保留的硬中断 2C2F B 2C2F B 异步通信(异步通信(异步通信(异步通信(COM2COM2)3033 C 3033 C 异步通信(异步通信(异步通信(异步通信(COM1COM1)3437 D 3437 D 硬盘硬盘硬盘硬盘 383B E 383B E 软盘软盘软盘软盘 3C3F F 3C3F F 并行打印机并行打印机并行打印机并行打印机地址(地址(地址(地址(HexHex)类型码类型码类型码类型码 中断名称中断名称中断名称中断名称4043 10 4043 10 视频显示视频显示视频显示视频显示I/OI/O调用调用调用调用4447 11 4447
8、11 设备检测调用设备检测调用设备检测调用设备检测调用484B 12 484B 12 存储器容量检测存储器容量检测存储器容量检测存储器容量检测4C4F 13 4C4F 13 软软软软/硬盘硬盘硬盘硬盘I/OI/O调用调用调用调用5053 14 5053 14 通信通信通信通信I/OI/O调用调用调用调用5457 15 5457 15 盒式磁带盒式磁带盒式磁带盒式磁带I/OI/O调用调用调用调用585B 16 585B 16 键盘键盘键盘键盘I/OI/O调用调用调用调用5C5F 17 5C5F 17 打印机打印机打印机打印机I/OI/O调用调用调用调用6063 18 ROM BASIC6063
9、18 ROM BASIC6467 19 6467 19 引导程序入口引导程序入口引导程序入口引导程序入口686B 1A 686B 1A 时间调用时间调用时间调用时间调用6C6F 1B 6C6F 1B 键盘键盘键盘键盘CTRL-BREAKCTRL-BREAK控制控制控制控制7073 1C 7073 1C 定时器报时定时器报时定时器报时定时器报时7477 1D 7477 1D 显示器参数表显示器参数表显示器参数表显示器参数表787B 1E 787B 1E 软盘参数表软盘参数表软盘参数表软盘参数表7C7F 1F 7C7F 1F 字符点阵结构参数表字符点阵结构参数表字符点阵结构参数表字符点阵结构参数表
10、12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用BIOSBIOS中断调用表中断调用表9/26/20245第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用掌握中断调用一般与接口函数一样,应了解以下三个方面:1.入口参数,即输入的数据(可能没有);2.中断号,子功能号(必须有);3.出口参数,即返回的结果(可能没有)。9/26/20246第
11、第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用1设置显示方式设置显示方式2文本方式文本方式3图形方式图形方式9/26/20247第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言
12、程序设计设计设计设计显示器可以简单的分为单色显示器和彩色显示器。随着显示技显示器可以简单的分为单色显示器和彩色显示器。随着显示技显示器可以简单的分为单色显示器和彩色显示器。随着显示技显示器可以简单的分为单色显示器和彩色显示器。随着显示技术的发展,种类也更加丰富,常见的有阴极射线管(术的发展,种类也更加丰富,常见的有阴极射线管(术的发展,种类也更加丰富,常见的有阴极射线管(术的发展,种类也更加丰富,常见的有阴极射线管(CRT)CRT)、液晶显示器、等离子显示器等。液晶显示器、等离子显示器等。液晶显示器、等离子显示器等。液晶显示器、等离子显示器等。显示器是通过显卡与主机相显示器是通过显卡与主机相显
13、示器是通过显卡与主机相显示器是通过显卡与主机相连连连连。显示器的显示屏通常称之为屏幕,现在常用的显示器有。显示器的显示屏通常称之为屏幕,现在常用的显示器有。显示器的显示屏通常称之为屏幕,现在常用的显示器有。显示器的显示屏通常称之为屏幕,现在常用的显示器有1414和和和和1717,常用的显示分辨率为,常用的显示分辨率为,常用的显示分辨率为,常用的显示分辨率为800600800600或或或或10247681024768等。常用等。常用等。常用等。常用的显示卡类型为的显示卡类型为的显示卡类型为的显示卡类型为VGAVGA、SVGASVGA、EVGAEVGA和和和和TVGATVGA等,显示卡上等,显示卡
14、上等,显示卡上等,显示卡上也都带有大量的显示存储器,能快速显示精美的图象。也都带有大量的显示存储器,能快速显示精美的图象。也都带有大量的显示存储器,能快速显示精美的图象。也都带有大量的显示存储器,能快速显示精美的图象。1 1MDAMDA MDAMDA(Monochrome Display Adapter Monochrome Display Adapter)属于)属于)属于)属于单色显示适配单色显示适配单色显示适配单色显示适配器器器器,是,是,是,是IBMIBM最早研制的视频显示适配器。最早研制的视频显示适配器。最早研制的视频显示适配器。最早研制的视频显示适配器。2 2CGACGA 在在在在M
15、DAMDA推出的同时,推出的同时,推出的同时,推出的同时,IBMIBM也推出了也推出了也推出了也推出了彩色图形显示适配器彩色图形显示适配器彩色图形显示适配器彩色图形显示适配器CGACGA(Color Graphics AdapterColor Graphics Adapter)。)。)。)。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/20248第第12章章 汇编语言基础知识汇编语言基础知识
16、计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计3 3 3 3EGAEGAEGAEGA 增增增增 强强强强 图图图图 形形形形 显显显显 示示示示 适适适适 配配配配 器器器器 EGAEGAEGAEGA(Enhanced Enhanced Enhanced Enhanced Graphics Graphics Graphics Graphics AdapterAdapterAdapterAdapter)是是是是IBMIBMIBMIBM公公公公司司司司推推推推出出出出的的的的第第第第二二二二代代代代图图图图形形形形显显显显示示示示适适适适配配
17、配配器器器器,它它它它兼兼兼兼容容容容了了了了MDAMDAMDAMDA和和和和CGACGACGACGA的全部功能。的全部功能。的全部功能。的全部功能。4 4 4 4VGAVGAVGAVGA 视视视视 频频频频 图图图图 形形形形 阵阵阵阵 列列列列 显显显显 示示示示 适适适适 配配配配 器器器器 VGAVGAVGAVGA(Video Video Video Video Graphics Graphics Graphics Graphics ArrayArrayArrayArray)是是是是IBMIBMIBMIBM公公公公司司司司推推推推出出出出的的的的第第第第三三三三代代代代图图图图形形形形
18、显显显显示示示示适适适适配配配配器器器器,它它它它兼兼兼兼容容容容了了了了MDAMDAMDAMDA、CGACGACGACGA和和和和EGAEGAEGAEGA的全部功能。现以增强至的全部功能。现以增强至的全部功能。现以增强至的全部功能。现以增强至SVGASVGASVGASVGA。(。(。(。(PCPCPCPC机机机机)5.XGA5.XGA5.XGA5.XGA XGAXGAXGAXGA(Extended Extended Extended Extended Graphics Graphics Graphics Graphics ArrayArrayArrayArray)是是是是IBMIBMIBMI
19、BM公公公公司司司司继继继继VGAVGAVGAVGA之之之之后后后后推推推推出的出的出的出的扩展图形显示适配器扩展图形显示适配器扩展图形显示适配器扩展图形显示适配器。(。(。(。(笔记本笔记本笔记本笔记本)12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/20249第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序
20、设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用显显示示器器任任一一时时刻刻都都必必须须工工作作在在某某一一显显示示模模式式下下,显显示模式分为两大类:示模式分为两大类:文本模式文本模式 图形模式图形模式9/26/202410第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.
21、1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用1设置显示方式设置显示方式(0号功能号功能)a.a.入口参数,入口参数,AL=AL=?;?;b.b.中断号中断号10H10H,子功能号,子功能号AH=0AH=0;c.c.出口参数,没有。出口参数,没有。输入参数输入参数(AL)(AL)显显 示示 方方 式式02H02H808025 25 单色字符显示方式单色字符显示方式03H03H808025 25 彩色字符显示方式彩色字符显示方式04H04H320320200 4200 4色图形显示方式色图形显示方式05H05H320320200 200 黑白图形显示方式
22、黑白图形显示方式06H06H640640200 200 黑白图形显示方式黑白图形显示方式09H09H320320200 16200 16色图形显示方式色图形显示方式0DH0DH320320200 200 彩色图形显示方式彩色图形显示方式11H11H640640480 480 单色图形显示方式单色图形显示方式13H13H320320200 256200 256色图形显示方式色图形显示方式9/26/202411第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计MOV ALMOV AL,nnnn ;n
23、nnn为输入参数为输入参数MOV AHMOV AH,0 0INT 10HINT 10H如要设置如要设置320X200 16320X200 16色方式色方式程序段如下:程序段如下:12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202412第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.
24、112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用(2 2)设置光标类型()设置光标类型(1 1号功能)号功能)入口参数入口参数:AH=1AH=1(功能号),功能号),CH=CH=光标开始行,光标开始行,CL=CL=光标光标 结束行。结束行。出口参数出口参数:无无,根据根据CXCX给出光标的大小。给出光标的大小。(3 3)设置光标位置()设置光标位置(2 2号功能)号功能)入入口口参参数数:AH=2AH=2(功功能能
25、号号),BH=BH=页页号号,DH=DH=行行号号,DL=DL=列号。列号。出口参数出口参数:无。根据无。根据DXDX确定了光标位置。确定了光标位置。(4 4)读当前光标位置()读当前光标位置(3 3号功能)号功能)入口参数入口参数;AH=3AH=3(功能号),(功能号),BH=BH=页号。页号。出口参数出口参数:DH=DH=行号,行号,DL=DL=列号,列号,CX=CX=光标大小。光标大小。9/26/202413第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出
26、管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用(5 5)初始窗口或向上滚动()初始窗口或向上滚动(6 6号功能)号功能)入入口口参参数数:AH=6AH=6,AL=AL=上上滚滚行行数数,CX=CX=上上滚滚窗窗口口左左上上角角的的行行、列号。列号。DX=DX=上滚窗口右下角的行、列号。上滚窗口右下角的行、列号。BH=BH=卷入行的属性。卷入行的属性。出口参数出口参数:无。当滚动后,底部为空白输入行。:无。当滚动后,底部为空白输入行。(
27、6 6)初始窗口或向下滚动()初始窗口或向下滚动(7 7号功能)号功能)入入口口参参数数:AH=7AH=7,AL=AL=下下滚滚行行数数,CX=CX=下下滚滚窗窗口口左左上上角角的的行行、列号。列号。DX=DX=下滚窗口右下角的行、列号。下滚窗口右下角的行、列号。BH=BH=卷入行的属性。卷入行的属性。出口参数:出口参数:无。当滚动后,顶部为空白输入行。无。当滚动后,顶部为空白输入行。(7 7)读当前光标位置的字符与属性()读当前光标位置的字符与属性(8 8号功能)号功能)入口参数:入口参数:AH=08HAH=08H,BH=BH=页号。页号。出口参数:出口参数:ALAL为读出的字符,为读出的字
28、符,AHAH为字符属性。为字符属性。9/26/202414第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用(8 8)在当前光标位置写字符和属性()在当前光标位置写字符和属性(9 9号功能)号功能)入入口口参参数数:AH=9AH=9,BH=BH=页页号号,AL
29、=AL=字字符符的的ASCIIASCII码码,BL=BL=字字符属性,符属性,CX=CX=写入字符数。写入字符数。出口参数:出口参数:无。无。(9 9)在当前光标位置写字符()在当前光标位置写字符(1010号功能)号功能)入入口口参参数数:AH=0AHAH=0AH,BH=BH=页页号号,AL=AL=字字符符的的ASCIIASCII码码,CX=CX=写入字符数。写入字符数。出口参数:出口参数:无。无。9/26/202415第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计2 2文本方式文本方式12
30、.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用在文本方式下,每个屏幕是由在文本方式下,每个屏幕是由2525行行和和8080列列组成组成,序号由零序号由零算起。算起。如如WINDOWWINDOW系统下系统下DOSDOS方式。方式。由一屏所能显示字符的行、列数及字符属性确定。由一屏所能显示字符的行、列数及字符属性确定。显显存存中中保保存存着着当当前前正正显显示示的的一一整整屏屏图图像像数数据据,显显卡卡在在显显
31、存存与与屏屏幕幕之之间间建建立立了了一一种种自自动动映映射射关关系系,只只要要向向显显存存写写入入显显示示数数据据,屏屏幕幕上上将将立立刻刻显显示示出出字字符或图形。符或图形。实实际际上上显显存存又又被被映映射射到到主主机机系系统统的的一一段段内内存存地地址空间上,这段内存地址空间称为视频缓冲区。址空间上,这段内存地址空间称为视频缓冲区。9/26/202416第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计2 2文本方式文本方式12.1 12.1 12.1 12.1 BIOSBIOSBIOSB
32、IOS中断调用中断调用中断调用中断调用 7 6 5 4 3 2 1 0闪烁位闪烁位背景色背景色亮度色亮度色前景色前景色(1)(1)第第0 0、1 1和和2 2位决定了前景(显示字符)的颜色。位决定了前景(显示字符)的颜色。(2)(2)第第3 3位用来控制亮度。其值为位用来控制亮度。其值为0 0表示正常显示,为表示正常显示,为1 1表示高表示高 亮度显示。亮度显示。(3)(3)第第4 4、5 5和和6 6位决定背景(显示屏幕)的颜色。位决定背景(显示屏幕)的颜色。(4)(4)第第7 7位用来控制闪烁。其值为位用来控制闪烁。其值为0 0表示不闪烁,为表示不闪烁,为1 1表示闪烁。表示闪烁。程序读写
33、程序读写视频缓冲区视频缓冲区,就等效于读写,就等效于读写显存显存。屏幕上每个显示字符都对应视频缓冲区中的屏幕上每个显示字符都对应视频缓冲区中的两个字节单元两个字节单元:第一个单元存显示字符的第一个单元存显示字符的ASCIIASCII码码 第二个单元存该显示字符的属性第二个单元存该显示字符的属性.字字符符的的属属性性确确定定了了该该字字符符的的显显示示方方式式:显显示示字字符符的的颜颜色色、背背景颜色及是否闪烁、高亮度。景颜色及是否闪烁、高亮度。9/26/202417第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言
34、程序设计设计设计设计2 2文本方式文本方式12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202418第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计3 3图形方式图形方式12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0
35、H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用图形方式主要是利用像素来生成图形。对应于显示屏幕上的每一个像素点,在显示适配器的存储器上都有一个相应的存储单元与之对应。0 0 0 0,0 0 0 0N-1N-1N-1N-1,0 0 0 00 0 0 0,M-1M-1M-1M-19/26/202419第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(
36、INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用由由由由于于于于各各各各种种种种图图图图形形形形显显显显示示示示模模模模式式式式所所所所能能能能显显显显示示示示的的的的颜颜颜颜色色色色和和和和象象象象素素素素是是是是不不不不同同同同的的的的,它它它它决决决决定定定定了了了了显显显显示示示示缓缓缓缓冲冲冲冲区区区区的的的的存存存存储储储储方方方方式式式式也也也也是是是是不不不不同同同同的的的的。下下下下面面面面给给给给出出出出三三三三个个个个具具具具体体体体的的的的图图图图形形形形显显显
37、显示示示示模模模模式式式式及及及及其其其其存存存存储储储储方方方方式式式式,通通通通过过过过它它它它们们们们可可可可看看看看出出出出各各各各种种种种显显显显示示示示模模模模式式式式在在在在显显显显示示示示缓缓缓缓冲冲冲冲区区区区存存存存储储储储方方方方式式式式上上上上的的的的明明明明显显显显差差差差异。异。异。异。9/26/202420第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计4 4 4 4色色320200320200图形显示模式图形显示模式 由于每个象素只能是四种颜色之一,而四种情况用
38、由于每个象素只能是四种颜色之一,而四种情况用2 2位二进位二进制就可表示,所以,制就可表示,所以,一个字节可表示一个字节可表示4 4个象素的显示颜色个象素的显示颜色,存,存储一行上的所有象素信息就需要储一行上的所有象素信息就需要8080个字节个字节。在具体存储过程中,它又在具体存储过程中,它又把偶数行象素和奇数行分开来存储。把偶数行象素和奇数行分开来存储。偶数行和齐数行的象素总数各有偶数行和齐数行的象素总数各有3200032000个,也都需要个,也都需要80008000个字个字节来存储,并规定:节来存储,并规定:偶数行象素从偶数行象素从0B800:0000H0B800:0000H开始存储,开始
39、存储,奇数行象素从奇数行象素从0B800:2000H0B800:2000H开始存储。开始存储。该显示模式的存储形式如图所示。该显示模式的存储形式如图所示。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202421第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管
40、理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202422第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计16161616色色色色640480640480640480640480图形显示模式图形显示模式图形显示模式图形显示模式 640480640480640480640480图形显示模式共有图形显示模式共有图形显示模式共有图形
41、显示模式共有307200307200307200307200个象素,每个象素可选用个象素,每个象素可选用个象素,每个象素可选用个象素,每个象素可选用16161616种颜色,它需要用种颜色,它需要用种颜色,它需要用种颜色,它需要用4 4 4 4位二进位二进位二进位二进制来表示。该显示模式在存储显示信息时,把该制来表示。该显示模式在存储显示信息时,把该制来表示。该显示模式在存储显示信息时,把该制来表示。该显示模式在存储显示信息时,把该4 4 4 4位分在四个位位分在四个位位分在四个位位分在四个位平面平面平面平面P1P1P1P1、P2P2P2P2、P3P3P3P3和和和和P4P4P4P4上,所以,位
42、平面上,所以,位平面上,所以,位平面上,所以,位平面Pi(i=1,2,3,4)Pi(i=1,2,3,4)Pi(i=1,2,3,4)Pi(i=1,2,3,4)共有共有共有共有307200307200307200307200个二进制位,即有个二进制位,即有个二进制位,即有个二进制位,即有38400384003840038400个字节。其显示缓冲区的存储个字节。其显示缓冲区的存储个字节。其显示缓冲区的存储个字节。其显示缓冲区的存储形式如图所示。形式如图所示。形式如图所示。形式如图所示。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0
43、H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202423第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计256256256256色色色色320200320200320200320200图形显示模式图形显示模式图形显示模式图形显示模式 表达表达表达表达256256256256种不同颜色需要种不同颜色需要种不同颜色需要种不同颜色需要8 8 8 8位位位位二进制,即一个字节。在该模式下,其显示缓冲区的存储方式二
44、进制,即一个字节。在该模式下,其显示缓冲区的存储方式二进制,即一个字节。在该模式下,其显示缓冲区的存储方式二进制,即一个字节。在该模式下,其显示缓冲区的存储方式是非常简单的,即:第一个字节存储第一个象素的颜色,第二是非常简单的,即:第一个字节存储第一个象素的颜色,第二是非常简单的,即:第一个字节存储第一个象素的颜色,第二是非常简单的,即:第一个字节存储第一个象素的颜色,第二个字节存储第二个象素的颜色,以此类推,所以,存储满屏象个字节存储第二个象素的颜色,以此类推,所以,存储满屏象个字节存储第二个象素的颜色,以此类推,所以,存储满屏象个字节存储第二个象素的颜色,以此类推,所以,存储满屏象素所需要
45、的字节数为:素所需要的字节数为:素所需要的字节数为:素所需要的字节数为:320200132020013202001320200164000640006400064000。其显示缓冲区。其显示缓冲区。其显示缓冲区。其显示缓冲区的存储方式如图所示。的存储方式如图所示。的存储方式如图所示。的存储方式如图所示。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202424第第12章章 汇编语言基础知识汇编
46、语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 从上面三种不同图形显示模式的介绍,不难从上面三种不同图形显示模式的介绍,不难看出:各种显示模式在显示缓冲区存储方式上的明看出:各种显示模式在显示缓冲区存储方式上的明显差异,操作象素方法的难易程度相差也很大,所显差异,操作象素方法的难易程度相差也很大,所以,再次建议:以,再次建议:程序员不要用直接操作显示缓冲区程序员不要用直接操作显示缓冲区的办法来达到改变显示象素的目的,最好是通过的办法来达到改变显示象素的目的,最好是通过BIOSBIOS、DOSDOS内的中断功能来实现相应的功能
47、或者使内的中断功能来实现相应的功能或者使用用windowwindow的的APIAPI函数实现。函数实现。这样,所编写的程序能这样,所编写的程序能很方便地适应不同的图形显示模式。很方便地适应不同的图形显示模式。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/26/202425第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言
48、程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用 键盘是计算机最基本的一种输入设备,用来输入信息,以达到人机对话的目的。键盘主要由3种基本类型的键组成:(1)字符数字键:(2)扩展功能键:如Home、End、Backspace、Delete、Insert、PgUp、PgDown以及功能键F1F10(3)和其他键组合使用的控制键:如Alt,Ctrl,Shift等 12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/26/202426第第12章章 汇编语言基础知识汇编语言基础知识 计算
49、机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 键盘和主机通过键盘和主机通过5 5芯电缆相连,这芯电缆相连,这5 5根线分别是根线分别是电电源线、地线、复位线以及键盘数据线和键盘时钟线源线、地线、复位线以及键盘数据线和键盘时钟线。PCPC机系列的键盘触点电路按机系列的键盘触点电路按1616行行88列的矩阵列的矩阵来排列,来排列,用单片机用单片机Intel8048Intel8048来控制对键盘的扫描。来控制对键盘的扫描。按键的识别按键的识别采用行列扫描法采用行列扫描法,即根据对行线和列线的扫描结果来,即根据对行线和列线的扫描结果来确定闭合键的位
50、置,确定闭合键的位置,这个位置值称为按键的扫描码这个位置值称为按键的扫描码,通过数据线将通过数据线将8 8位扫描码送往主机。位扫描码送往主机。当在键盘上当在键盘上“按按下下”或或“放开放开”一个键时,如果键盘中断是允许的一个键时,如果键盘中断是允许的(21H21H端口的第一位等于端口的第一位等于0 0),就会产生一个类型),就会产生一个类型9 9的的中断,并转入到中断,并转入到BIOSBIOS的键盘中断处理程序。的键盘中断处理程序。12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT