- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
9.设置中断向量(25H号功能) 25H号功能把由AL指定的中断类型的中断向量DS:DX放置在中断向量表中。具体设置过程为:首先将要设置的中断类型号送AL,然后把要设置的中断服务程序的段地址和偏移量分别送DS、DX,最后再调用25H功能。典型的使用DOS功能调用存取中断向量的程序段如下: …… MOV AL,N ;取出并保存原中断向量 MOV AH,35H INT 21H PUSH BX PUSH ES PUSH DS MOV AX,SEG INTERRUPT MOV DS,AX MOV DX,OFFSET INTERRUPT MOV AL,N MOV AH,25H INT 21H POP DS ;恢复数据段地址 …… POP DS 取中断服务程序段地址 取中断服务程序偏移地址 中断类型号转入AL 功能号装入AH 恢复原中断向量 POP DX MOV AL,N MOV AH,25H INT 21H MOV AH,4CH ;返回DOS INT 21H INTERRUPT: …… ;中断服务程序 IRET …… 10.读出系统日期(2AH号功能) 本功能子程序的执行,将系统的年、月、日、星期的数据读出,并存入指定的寄存器中: CX ← 年(1980~2099) DH ← 月(1~12) DL ← 日(1~31) AL ← 星期(0—星期日,1—星期一等) 11.设置系统日期(2BH功能) 调用本功能子程序时,必须在CX和DX中设置有效日期,其中,CX中存放年号(1980~2099),DH中存放月号(1~12),DL中存放日(1~31)。如果日期设置有效,待功能子程序返回时,(AL)=0,否则(AL)=0FFH。故为了检查设置是否成功,通常在调用2BH号功能后检查AL内容。 12.读出系统时间(2CH功能) 本功能子程序从系统中可得到当时的时间:时、分、秒和百分秒,它们分别存放在CX和DX寄存器中: CH ← 小时 (0~23) CL ← 分 (0~59) DH ← 秒 (0~59) DL ← 百分秒(0~99) 13.设置系统时间(2DH功能) 调用本功能子程序时,必须在CX和DX中设置有效时间(指定有关寄存器和数据范围与2C号功能相同)。如果设置时间有效,从功能子程序返回时,(AL)=0,否则(AL)=0FFH。 14.返回DOS(4CH号功能) 无入口参数,也无出口参数。 其调用示例如下: MOV AH,4CH INT 21H 举 例: 将1个字节的数据以十六进制的格式送到屏幕显示,设该数据在BL寄存器中。 DISP SEGMENT ASSUME CS:DISP START:MOV DL,BL MOV CL,4 SHR DL,CL CALL DISPHEX MOV DL,BL AND DL,0FH CALL DISPHEX MOV AH,4CH INT 21H DISPHEX PROC NEAR PUSH DX PUSH AX ADD DL,30H CMP DL,’9’ JBE NEXT ADD DL,7 NEXT: MOV AH,2 INT 21H POP AX POP DX RET DISPHEX ENDP DISP ENDS END START 例5.10:从键盘取得一个十进制数(小于等于65535),然后把该数以十六进制形式在屏幕上显示出来。 十进制转换成二进制 回车换行 二进制转换成十六进制
文档评论(0)