汇编常用的INT 21H系统调用.doc_第1页
汇编常用的INT 21H系统调用.doc_第2页
汇编常用的INT 21H系统调用.doc_第3页
汇编常用的INT 21H系统调用.doc_第4页
汇编常用的INT 21H系统调用.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编常用的INT 21H系统调用系统功能调用由DOS提供的一组实现特殊功能的子程序供程序员在编写自己的程序时调用,以减轻编程的工作量。分两种,DOS系统功能调用和BIOS终端调用。汇编语言中DOS系统功能调用有很多,涉及屏幕显示、文件管理、I/O管理等等,每个子程序都有一个功能号,所有的功能调用的格式都是一致的。调用的步骤大致如下:(1)系统功能号送到寄存器AH中;(2)入口参数送到指定的寄存器中;(3)用INT 21H指令执行功能调用;(4)根据出口参数分析功能调用执行情况。下面归纳5个在汇编中常用的INT 21H系统功能调用。AH 功能 入口参数 出口参数4CH返回DOS 无 无1键盘输入一个字符到AL中 无 AL=字符2输出DL寄存器的字符到显示器DL(存放一个字符) 无9输出一个以“$”结尾的字符串到显示器DS:字符串所在的段地址DX:字符串首地址 无0AH从键盘输入一个字符串到指定缓冲区DS:缓冲区所在的段地址DX:缓冲区首地址缓冲区相应位置下面分别详细分析5种功能调用:1、带返回码的结束(AH=4CH)功能:返回DOS入口参数:无调用方法MOV AH, 4CH INT 21H通过4CH功能调用能够结束当前正在执行的程序,返回DOS系统,一般用于汇编程序的结束位置。2、键盘输入一个字符(AH=1)功能:从键盘输入一个字符到AL中,AL中为该字符的ASCII码。入口参数:无调用方法MOV AH, 1 INT 21H执行完上面的系统调用后,出现提示输入光标,从键盘输入一个字符并保存其ASIIC码到AL寄存器中。:交互式程序中用户按下数字键1,2,3,程序转入相应的服务子程序,若按下其他键则会继续等待。代码:1. KEY:MOVAH,12. INT21H;系统等待输入一个字符3. CMPAL,14. JEONE;如果输入字符为1则跳到标识符ONE处执行5. CMPAL,26. JETWO;如上解析7. CMPAL,38. JETHREE9. JMPKEY;如果不是1、2、3则继续输入字符10. ONE:.11. TWO:.12. THREE:.3、输出显示一个字符(AH=2)功能:输出DL寄存器中的字符到显示器。入口参数:被输出显示的字符或者字符ASCII码送到DL寄存器中调用方法MOV DL,字符码 MOV AH, 2 INT 21H执行完上面的调用后,显示器显示出DL中的字符。: MOV DL,6 (也可以写成6的ASCII码36H,既:MOV DL,36H) MOV AH, 2 INT 21H调用结果在屏幕上光标位置处显示6。4、输出一个字符串(AH=9)功能:输出显示一个以$字符结尾的字符串到显示器。入口参数:DX=字符串偏移地址;DS=字符串的段地址调用方法MOV AX,字符串所在的段地址 MOV DS, AX MOV DX, 字符串的首址偏移地址 MOV AH, 9 INT 21H执行上面调用,输出以DS:DX为首地址,$为结尾的字符串到显示器中。若要在显示字符串光标自动回车换行,则在$字符前面加上0DH(回车),0AH(换行)字符。:在屏幕上显示“HOW DO YOU DO?”字符串。并且光标回车换行。代码:1. DATASEGMENT2. STR1DBHOWDUYOUDO?,0DH,0AH,$3. DATAENDS4. 5. CODESEGMENT6. ASSUMECS:CODE,DS:DATA7. START:8. MOVAX,DATA9. MOVDS,AX10. MOVDX,OFFSETSTR1;字符串首偏移地址放到DX中11. MOVAH,912. NT21H;输出字符串13. 14. MOVAH,4CH15. INT21H16. CODEENDS17. ENDSTART5、从键盘输入一个字符串到缓冲区(AH=0AH)功能:从键盘输入一串ASCII码字符到缓冲区,输入结束为缓冲区的个数或者“回车”字符。入口参数:DX=缓冲区首偏移地址;DS=缓冲区段地址调用方法MOV AX,缓冲区的首址的段地址 MOV DS,AX MOV DX,缓冲区的首址的偏移地址 MOV AH,0AH INT 21H执行完上面调用,将从键盘接受字符串送到内存的输入缓冲区(由DS:DX指定缓冲区),要求预先定义一个缓冲区,缓冲区的第一个字节指定容纳的最大字符个数,由用户给出;第二个字节存放实际的最大字符个数,由系统最后添入;从第三个字节开始存放从键盘接受的字符,直到ENTER键结束。:1. DATASEGMENT2. BUFDB20,;存放最大字符个数20个3. DB?,;存放实际输入字符个数4. DB20DUP(?);存放输入字符5. DATAENDS6. CODESEGMENT7. ASSUMECS:CODE,DS:DATA8. START:9. MOVAX,DATA;缓冲区所在段基址10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论