DOS和BIOS调用.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;;;;图 6.18 PC-DOS对内存的分配 (a) DOS启动后 (b) 执行程序装入后 ;?软件中断分类;;1. 调用BIOS/DOS功能子程序的基本方法;;BIOS功能调用 ;;;?DOS调用与BIOS调用两者的区别;2. 常用的DOS功能子程序调用;;;① 单字符输入 (01H、07H、08H功能);例: 程序中有时需要用户对提示做出应答 GET_KEY: MOV AH,1 ;等待键入字符 INT 21H ;结果在AL中 CMP AL,’Y’ ;是’Y’? JZ YES ;是,转YES CMP AL,’N’ ;是’N’? JZ NOY ;是,转NOY JMP GET_KEY ;否则继续等待输入 YES: … … NOY: …;;;;② 显示单字符 (02H、05H功能);;③ 单字符输入或显示 (06H功能);;④ 字符串输入 (0AH功能);例: 6 应用0AH功能输入字符串。 data SEGMENT ;定义缓冲区 max DB 11 ;定义限制最多输入个数 lenth DB ? ;用于存放实际输入个数 stri DB 11 DUP(?) ;用于存放输入的字符串 data ENDS code SEGMENT ASSUME CS:code, DS:data start: MOV AX , data ;置缓冲区地址于DS:DX MOV DS , AX LEA DX , max MOV AH , 0AH INT 21H ;调0A输入功能 MOV CH , 0 MOV CL , lenth ;取字符串长度放CX中 LEA BX , stri ;取字符串首址于BX中 MOV AL , [BX] ;应用输入字符 …… code ENDS;;;⑤ 显示字符串 (09H功能);例:8 编程显示字符串’ Tsinghua University’ data SEGMENT ;定义显示的子符串 stri DB ‘Tsinghua University’, ‘$’ data ENDS code SEGMENT ASSUME CS:code, DS:data start: MOV AX, data ;置缓冲区地址于DS:DX MOV DS, AX LEA DX, stri MOV AH, 09H ;调显示功能 INT 21H MOV AH, 4CH ;返回DOS INT 21H code ENDS END start;例(P182):9 利用DOS系统功能调用实现人机对话。根据屏幕上显示的提示信息,从键盘输入字符串并存入内存缓冲区。 DATA SEGMENT BUF DB 100 ;定义输入缓冲区长度 DB ? ;保留为填入实际输入的字符个数 DB 100 DUP(?) ;准备接收键盘输入信息 MESG DB ‘WHAT IS YOUR NAME ?$’ ;要显示的提示信息DATA DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX,DATA MOV DS,AX … MOV DX,OFFSET MESG MOV AH,9 ;屏幕显示提示信息 INT 21H MOV DX,OFFSET BUF MOV AH,10 ;接收键盘输入 INT 21H …;⑥ 检测键盘状态 (0BH功能);;3. BIOS中断调用;;

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档