文档详情

第11讲DOS功能调用及中断调用试题.ppt

发布:2017-03-23约3.27千字共11页下载文档
文本预览下载声明
2.5.4子程序设计(Subroutine) 1子程序的调用和返回(call return) CALL SUB1 (断点1) CALL SUB1 (断点1) 2主程序与子程序间信息传递(message) 3保护现场和恢复现场 PUSH POP 例:2.17 设计子程序,使其具有显示EAX寄存器中数据的功能 2.子程序的调用 JBE L2 1.保护现场和恢复现场 (preserve environment) PUSH POP 先后顺序 3.子程序的返回 RET 2.5.5 ROM BIOS中断调用 MOV AH,02H;功能2号 (function) MOV BH,0  ;0页 MOV DH,12H  ;第12行 MOV DL,01H  ;第1列 INT 10H 例2.18 利用INT10H指令的2号功能将光标(cursor)定位在屏幕的第12行 、第1列 利用INT16H指令的0号功能从键盘读入一个字符(keyboard) MOV AH,0  ;功能0 INT 16H ;读入一个字符, (AH)=扫描码(AL)=ASCII码 scan code 2.5.5 DOS系统功能调用 在AH寄存器中设置调用子程序的功能号 根据所调用功能号设置入口参数 用INT21H指令转入子程序入口 子程序运行完毕后,按规定取得出口参数 LEA DX,BUF MOV AH,9 INT 20H/?21H  数据区以’$’结尾的字符串送显示器显示 2.5.6 中断程序设计(Interupt) 1.中断过程 (1).中断请求(Require) (2).响应中断(PUSH CS IP) (3).中断处理 (4).中断返回(IRET与RET的区别?) 2.中断程序的分类 3.中断程序的设计方法 课堂练习-输入输出子程序设计 SUBIN PROC MOV AH,01H INT 21H RET SUBIN ENDP 功 能:从标准输入设备(一般为键盘)输入一个字符 入口参数:无 出口参数:输入字符的ASCII码存入AL寄存器 课堂练习-输入输出子程序设计 SUBOUT PROC PUSH DX MOV DL,AL MOV AH,2 INT 21H POP DX RET SUBOUT ENDP 功 能:从标准输出设备(一般为屏幕)输出一个字符 入口参数:输出的字符的ASCII码送寄存器AL 出口参数:在屏幕上显示单个字符: 提高篇 非屏蔽中断请求 中断逻辑 INT n 指令 INT0 指令 除法 错误 单步 TF=1 IR0 8259A IR1 可编程 IR2 中断 IR3 控制器 IR4 (PIC) IR5 IR6 IR7 INTR NMI CPU n 4 1 0 系统定时器 键盘 彩色/图形接口 保留(通信) 串行通信接口 保 留(ALT打印机) 软盘 保留(打印机) 08 09 0A 0B 0C 0D 0E 0F 提高篇-基本I/O功能调用 基本I/O功能调用 带回显键盘输入(1号功能调用) 功能:读入一字符并回显 入口参数:无。 出口参数:AL=读到字符的ASCII码。 不带回显键盘输入(8号功能调用) 功能同1号调用,只是不回显 直接键盘输入(7号功能调用) 显示输出(2号功能调用) 直接控制台输入输出(6号功能调用) 功能:读一字符 入口参数:无 出口参数:AL=读到字符的代码 功能:写一字符。 入口参数:DL=要输出字符的ASCII码。 出口参数:无。 功能:直接控制台输入输出。 入口参数:DL=0FFH,输入;否则,DL=输出字符代码。 出口参数:输入时,ZF=1表示无字符可读;ZF=0表示读到 字符,AL=输入字符代码;输出时,无。 显示字符串(9号功能调用) 功能:显示一个字符串 入口参数: DS:DX=需要输出字符串的首地址,串以‘$’
显示全部
相似文档