《汇编语言》讲稿_13.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13.5 BIOS和DOS中断例程的安装过程 而BIOS和DOS提供的中断例程是如何安装到内存中的呢? 我们下面讲解它们的安装过程。 13.5 BIOS和DOS中断例程的安装过程 (1) 开机后,CPU 一加电,初始化(CS)=0FFFFH,(IP)=0,自动从FFFF:0单元开始执行程序。FFFF:0处有一条转跳指令,CPU执行该指令后,转去执行BIOS中的硬件系统检测和初始化程序。 13.5 BIOS和DOS中断例程的安装过程 (2)初始化程序将建立BIOS 所支持的中断向量,即将BIOS提供的中断例程的入口地址登记在中断向量表中。 13.5 BIOS和DOS中断例程的安装过程 (3) 硬件系统检测和初始化完成后,调用int 19h进行操作系统的引导。从此将计算机交由操作系统控制。 13.5 BIOS和DOS中断例程的安装过程 (4)DOS 启动后,除完成其它工作外,还将它所提供的中断例程装入内存,并建立相应的中断向量。 特别提示 检测点13.2(page248 独立思考后可共同讨论) 没有通过此检测点,请不要向下进行! 13.6 BIOS中断例程应用 下面我们举几个例子,来看一下BIOS中断例程的应用。 int 10h中断例程是BIOS提供的中断例程,其中包含了多个和屏幕输出相关的子程序。 13.6 BIOS中断例程应用 一般来说,一个供程序员调用的中断例程中往往包括多个子程序,中断例程内部用传递进来的参数来决定执行哪个子程序。 BIOS 和DOS 提供的中断例程,都用ah来传递内部子程序的编号。 13.6 BIOS中断例程应用 我们看一下int 10h中断例程的设置光标位置功能。 mov ah,2 mov bh,0 mov dh,5 mov dl,12 int 10h 13.6 BIOS中断例程应用 (ah)=2表示调用第 10h号中断例程的 2号子程序,功能为设置光标位置,可以提供光标所在的行号(80*25字符模式下:0~24)、列号(80*25字符模式下:0~79),和页号作为参数。 (bh)=0,(dh)=5,(dl)=12,设置光标到第0页,第5行,第12列。 13.6 BIOS中断例程应用 bh中页号的含义:内存地址空间中,B8000h~BFFFFh共 32K的空间,为80*25 彩色字符模式的显示缓冲区。 一屏的内容在显示缓冲区中共占4000个字节。 13.6 BIOS中断例程应用 显示缓冲区分为8页,每页4K(≈4000),显示器可以显示任意一页的内容。一般情况下,显示第 0 页的内容。 也就是说,通常情况下,B8000~B8F9F中的4000个字节的内容将出现在显示器上。 13.6 BIOS中断例程应用 再看一下int 10h中断例程的在光标位置显示字符功能。 mov ah,9 ;置光标 mov al,’a’ ;字符 mov bl,7 ;颜色属性 mov bh,0 ;第0页 mov cx,3 ;字符重复个数 int 10h 13.6 BIOS中断例程应用 (ah)=9 表示调用第10h号中断例程的9号子程序; 功能为在光标位置显示字符,可以提供要显示的字符、颜色属性、页号、字符重复个数作为参数。 13.6 BIOS中断例程应用 (bh)中的颜色属性格式如下: 可以看出,和显存中的属性字节的格式相同。 13.6 BIOS中断例程应用 编程:在屏幕的5行12列显示3个红底高亮闪烁绿色的‘a’。 程序源码 注意:闪烁的效果必须在全屏DOS 方式下才能看到。 13.7 DOS中断例程应用 int 21h 中断例程是DOS提供的中断例程,其中包含了DOS提供给程序员在编程时调用的子程序。 我们从前一直使用的是 int 21中断例程的4ch号功能,即程序返回功能,如下: mov ah,4ch ;程序返回 mov al,0 ;返回值 int 21h 13.7 DOS中断例程应用 (ah)=4ch表示调用第21h号中断例程的 4ch号子程序,功能为程序返回,可以提供返回值作为参数。 我们前面使用这个功能的时候经常写作: mov ax,4c00h int 21h 13.7 DOS中断例程应用 我们看一下int 21h中断例程的在光标位置显示字符串的功能: ds:dx指向字符串 ;要显示的字符串需用“$”作为结束符 mov ah ,9 ;功能号9,表示在光标位置显示字符串 int 21h 13.7 DOS中断例程应用 (ah)=9表示调用第21

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档