汇编语言--常用DOS功能

举报
海轰Pro 发表于 2021/08/05 23:39:42 2021/08/05
【摘要】 常用的DOS功能调用 1.键盘输入并显示(1号功能调用) 格式: MOV AH, 01H INT 21H 12 功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中 2.键盘输入但不显示输入字符(8号功能调用) 格式: MOV AH, 0...

常用的DOS功能调用

1.键盘输入并显示(1号功能调用)

格式: MOV AH, 01H INT 21H

  
 
  • 1
  • 2

功能:按下任何键,将其对应字符的ASCII码送入AL中,并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中

2.键盘输入但不显示输入字符(8号功能调用)

格式: MOV AH, 08H INT 21H

  
 
  • 1
  • 2

功能:同1号功能调用,但字符不在屏幕上显示。

3.屏幕显示一个字符(2号功能调用)

格式: MOV DL, ‘字符’ MOV AH, 02H INT 21H

  
 
  • 1
  • 2
  • 3

功能:将置入DL寄存器中的字符在屏幕上显示输出。

4.打印输出(5号功能调用)

格式: MOV DL, ‘字符’ MOV AH, 05H INT 21H

  
 
  • 1
  • 2
  • 3

功能:将置入DL寄存器中的字符送打印机接口,打印输出。

5.屏幕显示字符串(9号功能调用)

格式: MOV DX, 字符串的偏移地址 MOV AH, 09H INT 21H

  
 
  • 1
  • 2
  • 3
功能:在屏幕上显示字符串。
在使用9号功能调用时,应当注意以下问题。
① 待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。 
② 应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。

  
 
  • 1
  • 2
  • 3
  • 4

6.字符串输入功能调用(0AH号功能调用)

   格式: MOV DX, 已定义缓冲区的偏移地址 MOV AH, 0AH INT 21H
功能:从键盘接收字符,并存放到内存缓冲区。
在使用0AH号功能调用时,应当注意以下问题。
① 执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符0DH在内,不能为“0”值。第二个字节保留,在执 行程序完毕后存入输入的实际字符个数。从第三个字节开始存入从键盘上接收字符的ASCII码。若实际输入的字符个数少于定义的最大字符个数,则缓冲区其他 单元自动清0。若实际输入的字符个数大于定义的字符个数,其后输入的字符丢弃不用,且响铃示警,一直到输入回车键为止。整个缓冲区的长度等于最大字符个数 再加2。 
② 应当将缓冲区首地址的段基址和偏移地址分别存入DS和DX寄存器中。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

7.返回DOS操作系统(4CH号功能调用)

格式: MOV AH, 4CH INT 21H
功能:终止当前程序的运行,并把控制权交给调用的程序,即返回DOS系统,屏幕出现DOS提示符,如“C: \ >”,等待DOS命令。

  
 
  • 1
  • 2
  • 3

8.直接输入、输出单字符(6号功能调用)

格式: MOV DL, 输入/输出标志 MOV AH, 06H INT 21H
功能:执行键盘输入操作或屏幕显示输出操作,但不检查Ctrl+Break组合键是否按下。执行这两种操作的选择由DL寄存器中的内容决定。
① 当(DL)=0FFH时,执行键盘输入操作。若标志ZF=0,AL中放入字符的ASCII码;若标志ZF=1,表示无键按下。这种调用用来检测键盘是否有键按下,但不等待键盘输入。 
② 当(DL)≠0FFH时,表示将DL中内容送屏幕显示输出。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

9.检查键盘的工作状态(0BH号功能调用)

格式: MOV AH, 0BH INT 21H
功能:检查是否有键盘输入,若有键按下,则使AL=0FFH,若无键按下,则AL=00H。对于利用键盘操作退出循环或使程序结束之类的操作来说,这种调用是很方便实用的。

  
 
  • 1
  • 2
  • 3

10.设置系统日期(2BH号功能调用)

格式: MOV CX, 年号 MOV DH, 月号 MOV DL, 日期 MOV AH, 2BH INT 21H
功能:设置有效的年、月、日。当AL=0时,设置成功;当AL=0FFH时,设置失败。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

11.设置系统时间(2DH号功能调用)

格式: MOV CH, 小时 MOV CL, 分 MOV DH, 秒 MOV AH, 2DH INT 21H
功能:设置有效的时间。当AL=0时,设置成功;当AL=0FFH时,设置失败。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。

原文链接:haihong.blog.csdn.net/article/details/101051041

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。