安徽理工大学计算机汇编教程-汇编语言基础知识

上传人:ca****in 文档编号:231471183 上传时间:2023-09-04 格式:PPT 页数:52 大小:397KB
返回 下载 相关 举报
安徽理工大学计算机汇编教程-汇编语言基础知识_第1页
第1页 / 共52页
安徽理工大学计算机汇编教程-汇编语言基础知识_第2页
第2页 / 共52页
安徽理工大学计算机汇编教程-汇编语言基础知识_第3页
第3页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计8086/80888086/8088和和ARMARM核核汇编语言程序设计汇编语言程序设计第第1212章章 汇编语言汇编语言基础知识基础知识9/4/20231第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 BIOS12.1 BIOS中断调用中断调用12.2 DOS功能调用第第1212章章 BIOSBIOS和和DOSDOS中断调用中断调用9/4/20232第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用 在存储器系统中,内存器高端在存储器系统中,内存器高端8K8K的的ROMROM中存放有基本中存放有基本输入输出系统(输入输出系统(Basic Input/Output SystemBasic Input/Output System,BIOSBIOS)例行程)例行程序。序。BIOSBIOS给给PCPC系列的不同微处理器提供了兼容的系统加电系列的不同微处理器提供了兼容的系统加电自、引导装入、主要自、引导装入、主要I/OI/O设备的处理程序以及接口控制等功设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用能模块来处理所有的系统中断。使用BIOSBIOS功能调用,给程序功能调用,给程序员编程带来极大方便。程序员不必了解硬件的具体细节,可员编程带来极大方便。程序员不必了解硬件的具体细节,可直接使用指令设置参数直接使用指令设置参数,使用,使用软件中断软件中断调用调用BIOSBIOS例行程序,例行程序,所以利用所以利用BIOSBIOS功能调用编写的程序简洁,可读性好,而且易功能调用编写的程序简洁,可读性好,而且易于移植。于移植。9/4/20233第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 磁盘操作系统(磁盘操作系统(Disk Operating SystemDisk Operating System)是)是PCPC机上最重机上最重要的操作系统,它是由软盘或硬盘提供的。它的两个要的操作系统,它是由软盘或硬盘提供的。它的两个DOSDOS模模块块IBMBIO.COMIBMBIO.COM和和IBMDOS.COMIBMDOS.COM使使BIOSBIOS使用起来更方便。使用起来更方便。因为因为DOSDOS模块提供了更多更必要的测试,使模块提供了更多更必要的测试,使DOSDOS操作比使用操作比使用相应功能的相应功能的BIOSBIOS操作更简易,而且操作更简易,而且DOSDOS对硬件的依赖性更少对硬件的依赖性更少些。些。DOSDOS模块和模块和ROM BIOSROM BIOS的关系如下图所示。的关系如下图所示。12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用一般中断号20H以下为BIOS,20H(含)以上为DOS中断调用9/4/20234第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 地址(地址(地址(地址(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 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 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 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 字符点阵结构参数表字符点阵结构参数表字符点阵结构参数表字符点阵结构参数表12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用BIOSBIOS中断调用表中断调用表9/4/20235第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用掌握中断调用一般与接口函数一样,应了解以下三个方面:1.入口参数,即输入的数据(可能没有);2.中断号,子功能号(必须有);3.出口参数,即返回的结果(可能没有)。9/4/20236第第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/4/20237第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计显示器可以简单的分为单色显示器和彩色显示器。随着显示技显示器可以简单的分为单色显示器和彩色显示器。随着显示技显示器可以简单的分为单色显示器和彩色显示器。随着显示技显示器可以简单的分为单色显示器和彩色显示器。随着显示技术的发展,种类也更加丰富,常见的有阴极射线管(术的发展,种类也更加丰富,常见的有阴极射线管(术的发展,种类也更加丰富,常见的有阴极射线管(术的发展,种类也更加丰富,常见的有阴极射线管(CRT)CRT)、液晶显示器、等离子显示器等。液晶显示器、等离子显示器等。液晶显示器、等离子显示器等。液晶显示器、等离子显示器等。显示器是通过显卡与主机相显示器是通过显卡与主机相显示器是通过显卡与主机相显示器是通过显卡与主机相连连连连。显示器的显示屏通常称之为屏幕,现在常用的显示器有。显示器的显示屏通常称之为屏幕,现在常用的显示器有。显示器的显示屏通常称之为屏幕,现在常用的显示器有。显示器的显示屏通常称之为屏幕,现在常用的显示器有1414和和和和1717,常用的显示分辨率为,常用的显示分辨率为,常用的显示分辨率为,常用的显示分辨率为800600800600或或或或10247681024768等。常用等。常用等。常用等。常用的显示卡类型为的显示卡类型为的显示卡类型为的显示卡类型为VGAVGA、SVGASVGA、EVGAEVGA和和和和TVGATVGA等,显示卡上等,显示卡上等,显示卡上等,显示卡上也都带有大量的显示存储器,能快速显示精美的图象。也都带有大量的显示存储器,能快速显示精美的图象。也都带有大量的显示存储器,能快速显示精美的图象。也都带有大量的显示存储器,能快速显示精美的图象。1 1MDAMDA MDAMDA(Monochrome Display Adapter Monochrome Display Adapter)属于)属于)属于)属于单色显示适配单色显示适配单色显示适配单色显示适配器器器器,是,是,是,是IBMIBM最早研制的视频显示适配器。最早研制的视频显示适配器。最早研制的视频显示适配器。最早研制的视频显示适配器。2 2CGACGA 在在在在MDAMDA推出的同时,推出的同时,推出的同时,推出的同时,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/4/20238第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计3 3 3 3EGAEGAEGAEGA 增增增增 强强强强 图图图图 形形形形 显显显显 示示示示 适适适适 配配配配 器器器器 EGAEGAEGAEGA(Enhanced Enhanced Enhanced Enhanced Graphics Graphics Graphics Graphics AdapterAdapterAdapterAdapter)是是是是IBMIBMIBMIBM公公公公司司司司推推推推出出出出的的的的第第第第二二二二代代代代图图图图形形形形显显显显示示示示适适适适配配配配器器器器,它它它它兼兼兼兼容容容容了了了了MDAMDAMDAMDA和和和和CGACGACGACGA的全部功能。的全部功能。的全部功能。的全部功能。4 4 4 4VGAVGAVGAVGA 视视视视 频频频频 图图图图 形形形形 阵阵阵阵 列列列列 显显显显 示示示示 适适适适 配配配配 器器器器 VGAVGAVGAVGA(Video Video Video Video Graphics Graphics Graphics Graphics ArrayArrayArrayArray)是是是是IBMIBMIBMIBM公公公公司司司司推推推推出出出出的的的的第第第第三三三三代代代代图图图图形形形形显显显显示示示示适适适适配配配配器器器器,它它它它兼兼兼兼容容容容了了了了MDAMDAMDAMDA、CGACGACGACGA和和和和EGAEGAEGAEGA的全部功能。现以增强至的全部功能。现以增强至的全部功能。现以增强至的全部功能。现以增强至SVGASVGASVGASVGA。(。(。(。(PCPCPCPC机机机机)5.XGA5.XGA5.XGA5.XGA XGAXGAXGAXGA(Extended Extended Extended Extended Graphics Graphics Graphics Graphics ArrayArrayArrayArray)是是是是IBMIBMIBMIBM公公公公司司司司继继继继VGAVGAVGAVGA之之之之后后后后推推推推出的出的出的出的扩展图形显示适配器扩展图形显示适配器扩展图形显示适配器扩展图形显示适配器。(。(。(。(笔记本笔记本笔记本笔记本)12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/20239第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用显显示示器器任任一一时时刻刻都都必必须须工工作作在在某某一一显显示示模模式式下下,显显示模式分为两大类:示模式分为两大类:文本模式文本模式 图形模式图形模式9/4/202310第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.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 黑白图形显示方式黑白图形显示方式06H06H640640200 200 黑白图形显示方式黑白图形显示方式09H09H320320200 16200 16色图形显示方式色图形显示方式0DH0DH320320200 200 彩色图形显示方式彩色图形显示方式11H11H640640480 480 单色图形显示方式单色图形显示方式13H13H320320200 256200 256色图形显示方式色图形显示方式9/4/202311第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计MOV ALMOV AL,nnnn ;nnnn为输入参数为输入参数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/4/202312第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.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(功功能能号号),BH=BH=页页号号,DH=DH=行行号号,DL=DL=列号。列号。出口参数出口参数:无。根据无。根据DXDX确定了光标位置。确定了光标位置。(4 4)读当前光标位置()读当前光标位置(3 3号功能)号功能)入口参数入口参数;AH=3AH=3(功能号),(功能号),BH=BH=页号。页号。出口参数出口参数:DH=DH=行号,行号,DL=DL=列号,列号,CX=CX=光标大小。光标大小。9/4/202313第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(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=卷入行的属性。卷入行的属性。出口参数出口参数:无。当滚动后,底部为空白输入行。:无。当滚动后,底部为空白输入行。(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为读出的字符,为读出的字符,AHAH为字符属性。为字符属性。9/4/202314第第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=AL=字字符符的的ASCIIASCII码码,BL=BL=字字符属性,符属性,CX=CX=写入字符数。写入字符数。出口参数:出口参数:无。无。(9 9)在当前光标位置写字符()在当前光标位置写字符(1010号功能)号功能)入入口口参参数数:AH=0AHAH=0AH,BH=BH=页页号号,AL=AL=字字符符的的ASCIIASCII码码,CX=CX=写入字符数。写入字符数。出口参数:出口参数:无。无。9/4/202315第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计2 2文本方式文本方式12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用在文本方式下,每个屏幕是由在文本方式下,每个屏幕是由2525行行和和8080列列组成组成,序号由零序号由零算起。算起。如如WINDOWWINDOW系统下系统下DOSDOS方式。方式。由一屏所能显示字符的行、列数及字符属性确定。由一屏所能显示字符的行、列数及字符属性确定。显显存存中中保保存存着着当当前前正正显显示示的的一一整整屏屏图图像像数数据据,显显卡卡在在显显存存与与屏屏幕幕之之间间建建立立了了一一种种自自动动映映射射关关系系,只只要要向向显显存存写写入入显显示示数数据据,屏屏幕幕上上将将立立刻刻显显示示出出字字符或图形。符或图形。实实际际上上显显存存又又被被映映射射到到主主机机系系统统的的一一段段内内存存地地址空间上,这段内存地址空间称为视频缓冲区。址空间上,这段内存地址空间称为视频缓冲区。9/4/202316第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计2 2文本方式文本方式12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用 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表示闪烁。表示闪烁。程序读写程序读写视频缓冲区视频缓冲区,就等效于读写,就等效于读写显存显存。屏幕上每个显示字符都对应视频缓冲区中的屏幕上每个显示字符都对应视频缓冲区中的两个字节单元两个字节单元:第一个单元存显示字符的第一个单元存显示字符的ASCIIASCII码码 第二个单元存该显示字符的属性第二个单元存该显示字符的属性.字字符符的的属属性性确确定定了了该该字字符符的的显显示示方方式式:显显示示字字符符的的颜颜色色、背背景颜色及是否闪烁、高亮度。景颜色及是否闪烁、高亮度。9/4/202317第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计2 2文本方式文本方式12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/202318第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计3 3图形方式图形方式12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)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/4/202319第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用由由由由于于于于各各各各种种种种图图图图形形形形显显显显示示示示模模模模式式式式所所所所能能能能显显显显示示示示的的的的颜颜颜颜色色色色和和和和象象象象素素素素是是是是不不不不同同同同的的的的,它它它它决决决决定定定定了了了了显显显显示示示示缓缓缓缓冲冲冲冲区区区区的的的的存存存存储储储储方方方方式式式式也也也也是是是是不不不不同同同同的的的的。下下下下面面面面给给给给出出出出三三三三个个个个具具具具体体体体的的的的图图图图形形形形显显显显示示示示模模模模式式式式及及及及其其其其存存存存储储储储方方方方式式式式,通通通通过过过过它它它它们们们们可可可可看看看看出出出出各各各各种种种种显显显显示示示示模模模模式式式式在在在在显显显显示示示示缓缓缓缓冲冲冲冲区区区区存存存存储储储储方方方方式式式式上上上上的的的的明明明明显显显显差差差差异。异。异。异。9/4/202320第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计4 4 4 4色色320200320200图形显示模式图形显示模式 由于每个象素只能是四种颜色之一,而四种情况用由于每个象素只能是四种颜色之一,而四种情况用2 2位二进位二进制就可表示,所以,制就可表示,所以,一个字节可表示一个字节可表示4 4个象素的显示颜色个象素的显示颜色,存,存储一行上的所有象素信息就需要储一行上的所有象素信息就需要8080个字节个字节。在具体存储过程中,它又在具体存储过程中,它又把偶数行象素和奇数行分开来存储。把偶数行象素和奇数行分开来存储。偶数行和齐数行的象素总数各有偶数行和齐数行的象素总数各有3200032000个,也都需要个,也都需要80008000个字个字节来存储,并规定:节来存储,并规定:偶数行象素从偶数行象素从0B800:0000H0B800:0000H开始存储,开始存储,奇数行象素从奇数行象素从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/4/202321第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/202322第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计16161616色色色色640480640480640480640480图形显示模式图形显示模式图形显示模式图形显示模式 640480640480640480640480图形显示模式共有图形显示模式共有图形显示模式共有图形显示模式共有307200307200307200307200个象素,每个象素可选用个象素,每个象素可选用个象素,每个象素可选用个象素,每个象素可选用16161616种颜色,它需要用种颜色,它需要用种颜色,它需要用种颜色,它需要用4 4 4 4位二进位二进位二进位二进制来表示。该显示模式在存储显示信息时,把该制来表示。该显示模式在存储显示信息时,把该制来表示。该显示模式在存储显示信息时,把该制来表示。该显示模式在存储显示信息时,把该4 4 4 4位分在四个位位分在四个位位分在四个位位分在四个位平面平面平面平面P1P1P1P1、P2P2P2P2、P3P3P3P3和和和和P4P4P4P4上,所以,位平面上,所以,位平面上,所以,位平面上,所以,位平面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)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/202323第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计256256256256色色色色320200320200320200320200图形显示模式图形显示模式图形显示模式图形显示模式 表达表达表达表达256256256256种不同颜色需要种不同颜色需要种不同颜色需要种不同颜色需要8 8 8 8位位位位二进制,即一个字节。在该模式下,其显示缓冲区的存储方式二进制,即一个字节。在该模式下,其显示缓冲区的存储方式二进制,即一个字节。在该模式下,其显示缓冲区的存储方式二进制,即一个字节。在该模式下,其显示缓冲区的存储方式是非常简单的,即:第一个字节存储第一个象素的颜色,第二是非常简单的,即:第一个字节存储第一个象素的颜色,第二是非常简单的,即:第一个字节存储第一个象素的颜色,第二是非常简单的,即:第一个字节存储第一个象素的颜色,第二个字节存储第二个象素的颜色,以此类推,所以,存储满屏象个字节存储第二个象素的颜色,以此类推,所以,存储满屏象个字节存储第二个象素的颜色,以此类推,所以,存储满屏象个字节存储第二个象素的颜色,以此类推,所以,存储满屏象素所需要的字节数为:素所需要的字节数为:素所需要的字节数为:素所需要的字节数为:320200132020013202001320200164000640006400064000。其显示缓冲区。其显示缓冲区。其显示缓冲区。其显示缓冲区的存储方式如图所示。的存储方式如图所示。的存储方式如图所示。的存储方式如图所示。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/202324第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 从上面三种不同图形显示模式的介绍,不难从上面三种不同图形显示模式的介绍,不难看出:各种显示模式在显示缓冲区存储方式上的明看出:各种显示模式在显示缓冲区存储方式上的明显差异,操作象素方法的难易程度相差也很大,所显差异,操作象素方法的难易程度相差也很大,所以,再次建议:以,再次建议:程序员不要用直接操作显示缓冲区程序员不要用直接操作显示缓冲区的办法来达到改变显示象素的目的,最好是通过的办法来达到改变显示象素的目的,最好是通过BIOSBIOS、DOSDOS内的中断功能来实现相应的功能或者使内的中断功能来实现相应的功能或者使用用windowwindow的的APIAPI函数实现。函数实现。这样,所编写的程序能这样,所编写的程序能很方便地适应不同的图形显示模式。很方便地适应不同的图形显示模式。12.1.112.1.1显示输出管理显示输出管理显示输出管理显示输出管理(INT(INT(INT(INTl0H)l0H)l0H)l0H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/202325第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计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/4/202326第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 键盘和主机通过键盘和主机通过5 5芯电缆相连,这芯电缆相连,这5 5根线分别是根线分别是电电源线、地线、复位线以及键盘数据线和键盘时钟线源线、地线、复位线以及键盘数据线和键盘时钟线。PCPC机系列的键盘触点电路按机系列的键盘触点电路按1616行行88列的矩阵列的矩阵来排列,来排列,用单片机用单片机Intel8048Intel8048来控制对键盘的扫描。来控制对键盘的扫描。按键的识别按键的识别采用行列扫描法采用行列扫描法,即根据对行线和列线的扫描结果来,即根据对行线和列线的扫描结果来确定闭合键的位置,确定闭合键的位置,这个位置值称为按键的扫描码这个位置值称为按键的扫描码,通过数据线将通过数据线将8 8位扫描码送往主机。位扫描码送往主机。当在键盘上当在键盘上“按按下下”或或“放开放开”一个键时,如果键盘中断是允许的一个键时,如果键盘中断是允许的(21H21H端口的第一位等于端口的第一位等于0 0),就会产生一个类型),就会产生一个类型9 9的的中断,并转入到中断,并转入到BIOSBIOS的键盘中断处理程序。的键盘中断处理程序。12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202327第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计敲键8048 向8259A发出IRQ1中断请求将所敲键的扫描码送8255 60H端口(IF=1)主机响应主机响应IRQ1调用调用09中断类型服务程序,从中断类型服务程序,从8255 60H端口接收扫描码并转换为ASCII码键盘缓冲区键盘缓冲区键盘中断响应流程用户程序用户程序利用DOS功能调用BIOS中断调用 9/4/202328第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 该处理程序从该处理程序从82558255可编程外围接口芯片的输入端口读取一可编程外围接口芯片的输入端口读取一个字节,这个字节的低个字节,这个字节的低7 7位是按键的扫描码。最高位为位是按键的扫描码。最高位为0 0或者为或者为1 1,分别表示键是,分别表示键是“按下按下”状态还是状态还是“放开放开”状态。状态。按下时,取得按下时,取得的字节称为的字节称为通码通码,放开时取得的字节称为放开时取得的字节称为断码断码。如如ESCESC键按下取键按下取得的通码为得的通码为01H01H(0 000000010000001B B),),放开放开ESCESC键时会产生一个断码键时会产生一个断码81H81H(1 100000010000001B B)。)。BIOSBIOS键盘处理程序将取得的扫描码转换成相应的键盘处理程序将取得的扫描码转换成相应的字符码,大部字符码,大部分的字符码是一个标准的分的字符码是一个标准的ASCIIASCII码码;没有相应;没有相应ASCIIASCII的键,如的键,如AltAlt和和功能键(功能键(F1F1F10F10),),字符码为字符码为0 0;还有一些非;还有一些非ASCIIASCII码键产生一码键产生一个指定的操作。个指定的操作。12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202329第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计9/4/202330第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计键盘缓冲区键盘缓冲区键盘缓冲区是一个先进先出的环形队列,其所占内存区域如下键盘缓冲区是一个先进先出的环形队列,其所占内存区域如下:键盘缓冲区是一个环形队列,其性质与键盘缓冲区是一个环形队列,其性质与数据结构数据结构课程课程中对中对“环形队列环形队列”所描述的性质完全一致。虽然缓冲区的本身所描述的性质完全一致。虽然缓冲区的本身长度为长度为1616个字,但出于判断个字,但出于判断“对列满对列满”的考虑,它最多只能保的考虑,它最多只能保存存1515个键盘信息。当缓冲区满时,系统将不再接受按键信息,个键盘信息。当缓冲区满时,系统将不再接受按键信息,而会发出而会发出“嘟嘟”的声音,以示要暂缓按键。当的声音,以示要暂缓按键。当KBHeadKBHeadKBTailKBTail时,表示无键盘输入。时,表示无键盘输入。KBHeadKBHead DW DW?;其内存地址为其内存地址为0000:041AH0000:041AH,缓冲区头指针缓冲区头指针KBTailKBTail DW DW?;其内存地址为其内存地址为0000:041CH0000:041CH,缓冲区尾指针缓冲区尾指针KBBuffKBBuff DW DW16 DUP(?);16 DUP(?);其内存地址为其内存地址为0000:041EH0000:041EH,该缓冲区该缓冲区 ;的缺省长度为;的缺省长度为1616个字个字12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202331第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计 类型类型 16H16H 的中断提供了基本的键盘操作,它的中断处理程的中断提供了基本的键盘操作,它的中断处理程序包括序包括3 3个不同的功能,分别根据个不同的功能,分别根据AHAH寄存器中的子功能号来确定。寄存器中的子功能号来确定。(1 1)AH=0 AH=0 本功能为本功能为从键盘读字符到从键盘读字符到ALAL寄存器中寄存器中 (读键值读键值)。出口参数:出口参数:AL=AL=字符码,字符码,AH=AH=扫描码扫描码 (2 2)AH=1 AH=1 本功能判断有无键按下本功能判断有无键按下 出口参数出口参数:若若ZF=0ZF=0,有键按下,则,有键按下,则AL=AL=字符码,字符码,AH=AH=扫描码扫描码 ZF=1 ZF=1,无键按下,无键按下 (3 3)AH=2 AH=2 本功能为本功能为读取特殊功能键读取特殊功能键的状态。的状态。出口参数:出口参数:AL=AL=键盘状态字节键盘状态字节12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202332第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计code segmentcode segment assume assume cs:codecs:code movmov ah,0 ah,0 intint 16h 16h movmov ah,4ch ah,4ch intint 21h 21h code ends code endsendend从键盘读字符从键盘读字符12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202333第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计在计算机键盘上除了可输入各种字符在计算机键盘上除了可输入各种字符在计算机键盘上除了可输入各种字符在计算机键盘上除了可输入各种字符(字母、数字字母、数字字母、数字字母、数字和符号等和符号等和符号等和符号等)的按键之外,还有一些的按键之外,还有一些的按键之外,还有一些的按键之外,还有一些功能键功能键功能键功能键(如:如:如:如:F1F1F1F1、F2F2F2F2、等等等等)、控制键控制键控制键控制键(如:如:如:如:CtrlCtrlCtrlCtrl、AltAltAltAlt、ShiftShiftShiftShift等等等等)、双态双态键键(如:如:Num LockNum Lock、Caps LockCaps Lock等等)和和和和特殊请求键特殊请求键特殊请求键特殊请求键(如:如:如:如:Print ScreenPrint ScreenPrint ScreenPrint Screen、Scroll LockScroll LockScroll LockScroll Lock等等等等)。键盘中的控制键和双态键是非打印按键,它们键盘中的控制键和双态键是非打印按键,它们键盘中的控制键和双态键是非打印按键,它们键盘中的控制键和双态键是非打印按键,它们是起控制或转换作用的。是起控制或转换作用的。是起控制或转换作用的。是起控制或转换作用的。当使用者按下控制键或双当使用者按下控制键或双当使用者按下控制键或双当使用者按下控制键或双态键时,系统要记住其所按下的按键。态键时,系统要记住其所按下的按键。态键时,系统要记住其所按下的按键。态键时,系统要记住其所按下的按键。为此,在计为此,在计为此,在计为此,在计算机系统中,算机系统中,算机系统中,算机系统中,特意安排的一个字来标志这些按键的特意安排的一个字来标志这些按键的特意安排的一个字来标志这些按键的特意安排的一个字来标志这些按键的状态,我们称该字为状态,我们称该字为状态,我们称该字为状态,我们称该字为键盘状态字键盘状态字键盘状态字键盘状态字。键盘状态字的各位含义如图所示。键盘状态字的各位含义如图所示。键盘状态字的各位含义如图所示。键盘状态字的各位含义如图所示。键盘状态字键盘状态字12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202334第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)9/4/202335第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计code segment assume cs:code mov ah,2 int 16h mov ah,4ch int 21h code endsend读取特殊功能键的状态读取特殊功能键的状态12.1.212.1.2 键盘输入管理键盘输入管理(INT l6H)(INT l6H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用出口参数:出口参数:出口参数:出口参数:Al=Al=Al=Al=键盘状态字节键盘状态字节键盘状态字节键盘状态字节9/4/202336第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计有有3 3个基本功能,功能号在个基本功能,功能号在AHAH中,中,BIOSBIOS允许连接允许连接3 3台打印机,打印机号在台打印机,打印机号在DXDX中,编号分别为中,编号分别为0 0(代表(代表只有一台打印机)、只有一台打印机)、1 1、2 2,该中断调用返回的状态,该中断调用返回的状态在在AHAH中中 7 6 5 4 3 2 1 0 忙忙应答应答缺纸缺纸联机联机出错出错12.1.312.1.3打印输出管理打印输出管理(INT l7H)(INT l7H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用9/4/202337第第12章章 汇编语言基础知识汇编语言基础知识 计算机科学与技术系计算机科学与技术系 汇编语言程序汇编语言程序汇编语言程序汇编语言程序设计设计设计设计功能功能0 0:AHAH等于等于0 0,向打印机输出,向打印机输出8 8位数据。位数据。输入参数:输入参数:DXDX为打印机号为打印机号(0(02)2)。ALAL1 1为输出字节数据。为输出字节数据。返回参数:返回参数:AHAH为打印机状态字节数据为打印机状态字节数据。12.1.312.1.3打印输出管理打印输出管理(INT l7H)(INT l7H)12.1 12.1 12.1 12.1 BIOSBIOSBIOSBIOS中断调用中断调用中断调用中断调用
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!