第三章 8086指令系统与汇编语言程序设计-2.ppt

第三章 8086指令系统与汇编语言程序设计-2.ppt

  1. 1、本文档共102页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动化仪表研究所 MSDOS.SYS中的中断子程 ( 称DOS内核模块 ) 调用IO.SYS,实现对外设的控制。 与标准外设有两层隔离 : IO.SYS和ROM BIOS。 其中21H类型的中断子程 提供了丰富的系统服务, 称21类型的中断调用 为DOS系统(功能)调用。 用户程序 磁盘管理模块(DOS内核) MSDOS.SYS 系统功能 基本输入/输出 BIOS 模 块 IO.SYS 设备驱动 ROM BIOS 基本I/O 系 统 硬 件 装入 命令处理模块 COMMAN D.COM 用户命令 DOS系统层次结构 自动化仪表研究所 用户编程原则 ①尽可能使用DOS的系统功能调用, 提高程序可移植性。 ②在DOS功能不能实现情况下, 考虑用BIOS功能调用。 ③在DOS和BIOS的中断子程 不能解决问题时, 使用IN/OUT指令直接控制硬件。 用户程序 磁盘管理模块(DOS内核) MSDOS.SYS 系统功能 基本输入/输出 BIOS 模 块 IO.SYS 设备驱动 ROM BIOS 基本I/O 系 统 硬 件 装入 命令处理模块 COMMAN D.COM 用户命令 DOS系统层次结构 自动化仪表研究所 2. 中断类型分类 向量表中的中断类型分为七类: ① 处理CPU特殊操作( 除0、溢出 )的00H、04H类型。 ② 为DEBUG调试程序设置的单步( 01H )、断点( 03H )类型。 ③ 处理CPU的NMI引脚信号的02H类型。 非屏蔽硬中断子程 ④ 处理CPU的INTR引脚信号的08~0FH类型。 可屏蔽类型硬中断子程 ⑤ 用INT指令调用的中断子程 BIOS功能调用(如10~1AH) DOS功能调用 (如 21H) 自动化仪表研究所 ⑥ 保留类型 为DOS系统保留 1)指现在未用到,以后系统可能会用到。 2)已用到,但不向用户公开。 为用户保留 1)被系统子程嵌套调用了的类型 ( 如1BH、 1CH )。 使用户在系统功能基础上扩充功能。 2)系统未占用类型 ( 如 60H~67H )。 ⑦ 非中断向量类型 对应向量表中的4个单元存放的不是中断向量。 (如1DH、1EH、1FH、41H、46H、22H) 通常是一些参数表的地址信息. 自动化仪表研究所 中断向量分配表(P186表4-2) 自动化仪表研究所 3、调用方法 设置入口参数 在AH设置功能号m 执行中断指令INT N 分析、应用出口参数 自动化仪表研究所 2、DOS系统功能调用(INT 21H) 调用步骤: (1)传送入口参数到指定的寄存器。 (2)调用号送AH寄存器。 (3)执行INT 21H。 常用功能调用 (1)、键盘输入单字符并显示 调用号:01,无入口参数。 MOV AH ,01 INT 21H 功能:等待键入,检查是否是Ctr - Break键,是,退出。不是将键入的字符送 AL 寄存器并显示。 例 单字符输入功能调用 MOV AH, 01H ;设置功能号 INT 21H ;执行中断调用 CMP AL, 0DH ;分析、应用出口参数 JZ exit 、、、 自动化仪表研究所 (2)、打印输出 功能:把DL中的字符输出到打印机上 例:MOV DL , ‘A’ MOV AH , 5 INT 21H 调用号:05, 无入口参数 自动化仪表研究所 (3)直接控制台输入/输出 调用号:6 功能:从标准输入输出设备输入字符或向屏幕输出字符。不检查Ctrl_Break。 DL=FFH,表示从键盘入; DL≠FFH,表示向屏幕输出,DL中为输出字符; ZF=0,AL中为键入的字符值; ZF=1,AL中不是键入的值,无键按下。 MOV DL , 0FFH MOV AH , 6 INT 21H (4)键盘输入字符串 调用号:0AH,入口参数:DS:DX = 缓冲区首地址 功能:将键盘键入的以 ENTER (0DH)结尾的字符串写到DS:DX指定的内存区。为此,应先用程序设置一内存区。 例

文档评论(0)

441113422 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档