- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PC汇编语言程序设计课件_第6章_系统功能子程序的调用
NEXT3: MOV AH, 3EH ; 关闭文件 MOV BX, FILCODE INT 21H EXIT: MOV AH, 4CH INT 21H CODE ENDS DISP PROC NEAR ; 显示错误信息子程序 MOV AH, 09H INT 21H RET DISP ENDP END START 例 6.2 读出A驱动器中文件名为TEST.TXT的ASCII文本文件的内容(文件长度为512字节)并在屏幕上显示。 本例要求编制一个程序, 通过读文件操作将盘上512个字符读出,并存入内存数据缓冲区中,然后分别将它们显示出来。 整个程序应由打开文件的程序段、读文件的程序段、关闭文件的程序段和显示读出字符的程序段组成。 程序如下: DATA SEGMENT FILNAM DB ′A: \TEST.TXT′, 0 FILCODE DW ? INBUF DB 512 DUP (? ) ERRMES1 DB ′OPEN FILE ERROE! $′ ERRMES2 DB ′READ FILE ERROR! $′ DATA ENDS STACKS SEGMENT PARA STACK DB 200 DUP (0) STACKS ENDS CODE SEGMENT ASSUME CS: CODE, SS: STACKS, DS: DATA START: MOV AX, DATA MOV DS, AX MOV AH, 3DH MOV AL, 0 LEA DX, FILNAM INT 21H JNC NEXT1 ; 文件打开成功 LEA DX, ERRMES1 ; 打开文件出错 CALL DISP JMP EXIT NEXT1: MOV FILCODE, AX ; 存入文件代号 MOV BX, AX MOV CX, 512 LEA DX, INBUF MOV AH, 3FH INT 21H JNC NEXT2 ; 读文件成功 LEA DX, ERRMES2 ; 读文件出错 CALL DISP JMP OFFIL NEXT2: MOV SI, 0 MOV AH, 02H CONT: MOV DL, INBUF[SI] ; 显示读出的字符 INT 21H INC SI CMP SI, 512 JB CONT OFFIL: MOV AH, 3EH ; 关闭文件 MOV BX, FILCODE INT 21H EXIT: MOV AH, 4CH INT 21H CODE ENDS DISP PROC NEAR ; 显示错误信息子程序 MOV AH, 09H INT 21H RET DISP ENDP END START 6.2 BIOS功能子程序的调用 DOS提供的许多功能子程序除了存放在盘上外, 还有一部分直接固化在ROM中,称作基本输入/输出系统ROM- BIOS(Basic Input/Output System), 它处于DOS的最底层,主要有加电自检程序、 装入程序、I/O设备驱动程序和相应设备的中断服务程序, 它们是整个操作系统直接与硬件设备联系的一层。 汇编语言程序也可以直接调用BIOS中的功能子程序,这种调用称为BIOS功能子程序的调用。 有些BIOS功能调用和DOS系统功能调用功能类似。比如, 打印输出一个字符, 既可用DOS系统功能调用INT 21H的5号功能实现,也可用BIOS功能调用INT 17H的0号功能实现。从键盘输入一个字符的功能,既可用INT 21H的1号功能,也可用BIOS功能调用INT 16H的0号功能实现。 由于DOS系统功能调用与BIOS功能调用相比对硬件的依赖性更少,功能也强得多, 所以DOS调用比BIOS调用更方便、可靠。 BIOS功能调用方法与DOS系统功能调用方法基本相同, 也要求给出子功能号, 有的功能调用还需要入口参数。只不过BIOS的功能调用不同,其软中断指令的中断类型码不同。 中断类型码与功能见表6 - 1所示。 表 6 - 1 BIOS功能调用的中断类型码及
文档评论(0)