ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:21.88KB ,
资源ID:8170909      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8170909.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汇编AH功能.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

汇编AH功能.docx

1、汇编AH功能汇编AH功能 作者: 日期: AH功能调用参数返回参数00程序终止(同INT 20H)CS=程序段前缀01键盘输入并回显AL=输入字符02显示输出DL=输出字符03异步通迅输入AL=输入数据04异步通迅输出DL=输出数据05打印机输出DL=输出字符06直接控制台I/ODL=FF(输入)DL=字符(输出)AL=输入字符07键盘输入(无回显)AL=输入字符08键盘输入(无回显)检测Ctrl-BreakAL=输入字符09显示字符串DS:DX=串地址$结束字符串0A键盘输入到缓冲区DS:DX=缓冲区首地址(DS:DX)=缓冲区最大字符数(DS:DX+1)=实际输入的字符数0B检验键盘状态A

2、L=00有输入AL=FF无输入0C清除输入缓冲区并请求指定的输入功能AL=输入功能号(1,6,7,8,A)0D磁盘复位清除文件缓冲区0E指定当前缺省的磁盘驱动器DL=驱动器号0=A,1=B,.AL=驱动器数0F打开文件DS:DX=FCB首地址AL=00文件找到AL=FF文件未找到10关闭文件DS:DX=FCB首地址AL=00目录修改成功AL=FF目录中未找到文件11查找第一个目录项DS:DX=FCB首地址AL=00找到AL=FF未找到12查找下一个目录项DS:DX=FCB首地址(文件中带有*或?)AL=00找到AL=FF未找到13删除文件DS:DX=FCB首地址AL=00删除成功AL=FF未找

3、到14顺序读DS:DX=FCB首地址AL=00读成功 =01文件结束,记录中无数据 =02 DTA空间不够 =03文件结束,记录不完整15顺序写DS:DX=FCB首地址AL=00写成功 =01盘满 =02 DTA空间不够16建文件DS:DX=FCB首地址AL=00建立成功 =FF无磁盘空间17文件改名DS:DX=FCB首地址(DS:DX+1)=旧文件名(DS:DX+17)=新文件名AL=00成功AL=FF未成功19取当前缺省磁盘驱动器AL=缺省的驱动器号0=A,1=B,2=C,.1A置DTA地址DS:DX=DTA地址1B取缺省驱动器FAT信息AL=每簇的扇区数DS:BX=FAT标识字节CX=物

4、理扇区大小DX=缺省驱动器的簇数1C取任一驱动器FAT信息DL=驱动器号同上21随机读DS:DX=FCB首地址AL=00读成功 =01文件结束 =02缓冲区溢出 =03缓冲区不满22随机写DS:DX=FCB首地址AL=00写成功 =01盘满 =02缓冲区溢出23测定文件大小DS:DX=FCB首地址AL=00成功(文件长度填入FCB)AL=FF未找到24设置随机记录号DS:DX=FCB首地址25设置中断向量DS:DX=中断向量AL=中断类型号26建立程序段前缀DX=新的程序段前缀27随机分块读DS:DX=FCB首地址CX=记录数AL=00读成功 =01文件结束 =02缓冲区太小,传输结束 =03

5、缓冲区不满28随机分块写DS:DX=FCB首地址CX=记录数AL=00写成功 =01盘满 =02缓冲区溢出29分析文件名ES:DI=FCB首地址DS:SI=ASCIIZ串AL=控制分析标志AL=00标准文件 =01多义文件 =02非法盘符2A取日期CX=年DH:DL=月:日(二进制)2B设置日期CX:DH:DL=年:月:日AL=00成功 =FF无效2C取时间CH:CL=时:分DH:DL=秒:1/100秒2D设置时间CH:CL=时:分DH:DL=秒:1/100秒AL=00成功 =FF无效2E置磁盘自动读写标志AL=00关闭标志AL=01打开标志2F取磁盘缓冲区的首址ES:BX=缓冲区首址30取D

6、OS版本号AH=发行号,AL=版本31结束并驻留AL=返回码DX=驻留区大小33Ctrl-Break检测AL=00取状态 =01置状态(DL)DL=00关闭检测 =01打开检测DL=00关闭Ctrl-Break检测 =01打开Ctrl-Break检测35取中断向量AL=中断类型ES:BX=中断向量36取空闲磁盘空间DL=驱动器号0=缺省,1=A,2=B,.成功:AX=每簇扇区数 BX=有效簇数 CX=每扇区字节数 DX=总簇数失败:AX=FFFF38置/取国家信息DS:DX=信息区首地址BX=国家码(国际电话前缀码)AX=错误码39建立子目录(MKDIR)DS:DX=ASCIIZ串地址AX=错

7、误码3A删除子目录(RMDIR)DS:DX=ASCIIZ串地址AX=错误码3B改变当前目录(CHDIR)DS:DX=ASCIIZ串地址AX=错误码3C建立文件DS:DX=ASCIIZ串地址CX=文件属性成功:AX=文件代号错误:AX=错误码3D打开文件DS:DX=ASCIIZ串地址AL=0读 =1写 =3读/写成功:AX=文件代号错误:AX=错误码3E关闭文件BX=文件代号失败:AX=错误码3F读文件或设备DS:DX=数据缓冲区地址BX=文件代号CX=读取的字节数读成功: AX=实际读入的字节数 AX=0已到文件尾读出错:AX=错误码40写文件或设备DS:DX=数据缓冲区地址BX=文件代号CX

8、=写入的字节数写成功: AX=实际写入的字节数写出错:AX=错误码41删除文件DS:DX=ASCIIZ串地址成功:AX=00出错:AX=错误码(2,5)42移动文件指针BX=文件代号CX:DX=位移量AL=移动方式(0:从文件头绝对位移,1:从当前位置相对移动,2:从文件尾绝对位移)成功:DX:AX=新文件指针位置出错:AX=错误码43置/取文件属性DS:DX=ASCIIZ串地址AL=0取文件属性AL=1置文件属性CX=文件属性成功:CX=文件属性失败:CX=错误码44设备文件I/O控制BX=文件代号AL=0取状态 =1置状态DX =2读数据 =3写数据 =6取输入状态 =7取输出状态DX=设

9、备信息45复制文件代号BX=文件代号1成功:AX=文件代号2失败:AX=错误码46人工复制文件代号BX=文件代号1CX=文件代号2失败:AX=错误码47取当前目录路径名DL=驱动器号DS:SI=ASCIIZ串地址(DS:SI)=ASCIIZ串失败:AX=出错码48分配内存空间BX=申请内存容量成功:AX=分配内存首地失败:BX=最大可用内存49释放内容空间ES=内存起始段地址失败:AX=错误码4A调整已分配的存储块ES=原内存起始地址BX=再申请的容量失败:BX=最大可用空间 AX=错误码4B装配/执行程序DS:DX=ASCIIZ串地址ES:BX=参数区首地址AL=0装入执行AL=3装入不执行

10、失败:AX=错误码4C带返回码结束AL=返回码4D取返回代码AX=返回代码4E查找第一个匹配文件DS:DX=ASCIIZ串地址CX=属性AX=出错代码(02,18)4F查找下一个匹配文件DS:DX=ASCIIZ串地址(文件名中带有?或*)AX=出错代码(18)54取盘自动读写标志AL=当前标志值56文件改名DS:DX=ASCIIZ串(旧)ES:DI=ASCIIZ串(新)AX=出错码(03,05,17)57置/取文件日期和时间BX=文件代号AL=0读取AL=1设置(DX:CX)DX:CX=日期和时间失败:AX=错误码58取/置分配策略码AL=0取码AL=1置码(BX)成功:AX=策略码失败:AX

11、=错误码59取扩充错误码AX=扩充错误码BH=错误类型BL=建议的操作CH=错误场所5A建立临时文件CX=文件属性DS:DX=ASCIIZ串地址成功:AX=文件代号失败:AX=错误码5B建立新文件CX=文件属性DS:DX=ASCIIZ串地址成功:AX=文件代号失败:AX=错误码5C控制文件存取AL=00封锁 =01开启BX=文件代号CX:DX=文件位移SI:DI=文件长度失败:AX=错误码62取程序段前缀BX=PSP地址常用的DOS功能调用:1键盘输入并显示(1号功能调用)格式: MOV AH, 01H INT 21H功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符

12、。如果按下的是CtrlBreak组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中2键盘输入但不显示输入字符(8号功能调用)格式: MOV AH, 08H INT 21H功能:同1号功能调用,但字符不在屏幕上显示。 3屏幕显示一个字符(2号功能调用)格式: MOV DL, 字符 MOV AH, 02H INT 21H功能:将置入DL寄存器中的字符在屏幕上显示输出。 4打印输出(5号功能调用)格式: MOV DL, 字符 MOV AH, 05H INT 21H功能:将置入DL寄存器中的字符送打印机接口,打印输出。5屏幕显示字符串(9号功能调用)格式: MOV DX, 字符串的偏移

13、地址 MOV AH, 09H INT 21H 功能:在屏幕上显示字符串。 在使用9号功能调用时,应当注意以下问题。 待显示的字符串必须先放在内存一数据区(DS段)中,且以$符号作为结束标志。 应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。6字符串输入功能调用(0AH号功能调用) 格式: MOV DX, 已定义缓冲区的偏移地址 MOV AH, 0AH INT 21H 功能:从键盘接收字符,并存放到内存缓冲区。 在使用0AH号功能调用时,应当注意以下问题。 执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。

14、第二个字节保留,在执 行程序完毕后存入输入的实际字符个数。从第三个字节开始存入从键盘上接收字符的ASCII码。若实际输入的字符个数少于定义的最大字符个数,则缓冲区其他 单元自动清0。若实际输入的字符个数大于定义的字符个数,其后输入的字符丢弃不用,且响铃示警,一直到输入回车键为止。整个缓冲区的长度等于最大字符个数 再加2。 应当将缓冲区首地址的段基址和偏移地址分别存入DS和DX寄存器中。7返回DOS操作系统(4CH号功能调用)格式: MOV AH, 4CH INT 21H 功能:终止当前程序的运行,并把控制权交给调用的程序,即返回DOS系统,屏幕出现DOS提示符,如“C: ”,等待DOS命令。8

15、直接输入、输出单字符(6号功能调用)格式: MOV DL, 输入/输出标志 MOV AH, 06H INT 21H 功能:执行键盘输入操作或屏幕显示输出操作,但不检查CtrlBreak组合键是否按下。执行这两种操作的选择由DL寄存器中的内容决定。 当(DL)0FFH时,执行键盘输入操作。若标志ZF0,AL中放入字符的ASCII码;若标志ZF1,表示无键按下。这种调用用来检测键盘是否有键按下,但不等待键盘输入。 当(DL)0FFH时,表示将DL中内容送屏幕显示输出。9检查键盘的工作状态(0BH号功能调用)格式: MOV AH, 0BH INT 21H 功能:检查是否有键盘输入,若有键按下,则使A

16、L0FFH,若无键按下,则AL00H。对于利用键盘操作退出循环或使程序结束之类的操作来说,这种调用是很方便实用的。10设置系统日期(2BH号功能调用)格式: MOV CX, 年号 MOV DH, 月号 MOV DL, 日期 MOV AH, 2BH INT 21H 功能:设置有效的年、月、日。当AL0时,设置成功;当AL0FFH时,设置失败。11设置系统时间(2DH号功能调用)格式: MOV CH, 小时 MOV CL, 分 MOV DH, 秒 MOV AH, 2DH INT 21H 功能:设置有效的时间。当AL0时,设置成功;当AL0FFH时,设置失败。/=13.1 BIOS中断调用 BIOS

17、中断调用是DOS功能调用的基础,DOS功能调用是BIOS的高层扩展,它概括了BIOS中的某些功能,摆脱了输入/输出的具体细节,使用起来更方便。两者比较如下: BIOS中断调用比DOS功能调用复杂,但运行速度快,功能强; DOS功能调用只能在DOS环境下运行,而BIOS中断调用不受任何操作系 统的约束; BIOS功能丰富,某些功能只有BIOS具有,但实现起来与具体I/O参数有关; 使用BIOS中断调用可直接控制和访问计算机的硬件。13.2 视频子系统 屏幕显示中断调用 屏幕显示中断处理功能较多,而且随着显示技术的发展而不断丰富,尤其是图形方式(它实际上在许多方面已取代了字符的文本显示方式)。 屏

18、幕显示中断子程序是程序设计中使用频率最高的系统程序之一,其中断号为10H,功能号放在AH中,还有不少入口参数,调用指令为: INT 10H 设置显示方式 功能号:AH=0 入口参数:AL=显示方式号 显示方式号 显示方式 0 40列25行黑白文本方式 1 40列25行彩色文本方式 2 80列25行黑白文本方式 3 80列25行彩色文本方式 4 320列200行黑白图形方式 5 320列200行彩色图形方式 6 640列200行黑白图形方式 7 单显80列25行黑白文本方式 出口参数:无 扩展显示方式请参考附录II。 例:设置屏幕为80列25行彩色文本显示方式: MOV AH,0 MOV AL,

19、3 INT 10H 设置光标大小 功能号:AH=1 入口参数:CH=光标起始行(范围:011) CL=光标终止行(范围:112) 例:将光标设置成一个闪烁方块 MOV AH,1 MOV CX,000CH INT 10H 设置光标位置 功能号:AH=2 入口参数:BH=页号,通常取0(页)或当前(页) DH=行号,取值024 DL=列号,对于40列文本039,对于80列文本079 例:将光标设置在第14行35列上 MOV BH,0 MOV DX,0E23H MOV AH,2 INT 10H 屏幕上滚 功能号:AH=6 入口参数:AL=上滚行数,当AL=0时,清除屏幕矩形方框 CH、CL=矩形方框

20、左上角行号、列号 DH、DL=矩形方框右下角行号、列号 BH=上滚后空行区域填充字符属性 例:将(5,5)到(10,10)矩形窗口上滚动4行,黑底白字属性 MOV AX,604H MOV CX,505H MOV DX,0A0AH MOV BH,07H INT 10H 屏幕下滚 功能号:AH=7 其余同功能6调用。 显示字符 功能号:AH=0AH ;功能是在光标位置处写入(显示)字符 入口参数:AL=显示的字符 CX=字符重复的次数 BH=显示页 13.3 键盘 键盘I/O中断调用 键盘中断调用包括三个功能:从键盘读字符、读键盘状态和读特殊键标志等,其中断号为16H,功能号放在AH寄存器中,调用

21、指令:INT 16H。 功能号:AH=0 ;功能:从键盘读入字符送AL寄存器。 入口参数:无 出口参数:AL=键入字符的ASCII码。 AH=键入字符的扫描码或扩展码功能号:AH=1 ;功能:判有无键按下 入口参数:无出口参数:有键按下ZF=0,AL=键入字符的ASCII码;否则ZF=1 若按过任一键(即键盘缓冲区不空),置ZF=0,表示有键按下,读 入键盘第一个键入的字符并送AL寄存器,但读键盘缓冲区的指针不 移动,即下次读键盘仍读相同的键值;否则ZF=1,表示无键按下。 功能号:AH=2 ;功能:读取特殊功能键的状态。 出口参数:AL=为各特殊功能键的状态,其含义如下: 13.4 打印机

22、打印机I/O中断调用 打印机中断调用包括三个功能:读取打印机状态、初始化打印机、字符输出打印。其中断号为17H,功能号放在AH中,调用指令:INT 17H BIOS最多允许连接三台打印机,用DX表示打印机号,若只有一台打印机,则打印机号一定为0。功能号:AH=0 ;功能:把AL中的字符在打印机上打印出来。 入口参数:AL=待打印字符的ASCII码,DX=打印机号 出口参数:无功能号:AH=1 ;功能:按AL中的命令对打印机初始化。 入口参数:AL=对打印机的初始化命令,DX=打印机号 出口参数:无。 对打印机初始化命令如下: 功能号:AH=2 ;功能:读取打印机的状态 入口参数:DX=打印机号

23、 出口参数:AL=打印机状态信息,含义如下: 在缺省打印机上输出“F”字符: MOV DX,0 MOV AL,F MOV AH,0 INT 17H 时间中断调用时间中断调用有两个功能,功能号在AH中,中断号为1AH,调用指令:INT 1AH。 功能号:AH=0 ;功能:读取时间计数器的当前值。 入口参数:无 出口参数:CX=计数值的高位字,DX=计数值的低位字 AL=0:未计满24小时,AL=1:已计满24小时时间计数器约54.926ms计数一次,所以可按下列公式计算出当前的时间:时:时间计数器的值(CX:DX)/65543 时的余数=时间计数器的值 MOD 65543分:时的余数/1092 分的余数=时的余数MOD 1092秒:分的余数/18.21功能号:AH=1 ;功能:设置时间计数器的当前值。 入口参数:CX=时间计数器当前值高位字,DX=时间计数器当前值低位字。 一般可按下列公式来计算:CX:DX=(时65543)+(分1092)+(秒18.21) 例:将字符“AAA”在屏幕上显示5秒钟 MOV A

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1