- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DEBUG DOS调用课件
;(3)6号系统功能调用-直接控制台输入输出字符
此调用的功能是从键盘输入一个字符,或输出一个字符到屏幕。
如果(DL)=0FFH,表示是从键盘输入字符。
当标志ZF=0时,表示有键被按下,将字符的ASCII码送入AL寄存器中。
当标志ZF=1时,表示没有键按下,寄存器AL中不是键入字符的ASCII码。
如果(DL)≠0FFH,表示输出一个字符到屏幕,将被输出字符ASCII码送到DL中。此调用与1号、2号调用的区别在于不检查Ctrl+Break。
;例4-3:调用6号功能从键盘输入一个字符并输出字符“?”。
MOV DL,0FFH
MOV AH,6
INT 21H ;从键盘输入字符到AL
MOV DL,‘?’
MOV AH,6
INT 21H ;输出DL中的字符到显示器;(4)9号系统功能调用-显示字符串
此功能调用是将指定缓冲区中的字符串输出到屏幕。要输出的字符串必需以“$”符号结尾。缓冲区的段地址保存到DS寄存器,偏移地址保存到DX寄存器中。
例:MOV DX,SEG OBUFF
MOV DS,DX ;将缓冲区段地址置DS
MOV DX,OFFSET OBUFF ;将缓冲区偏移地址置DX
MOV AH,9
INT 21H ;调用9号功能显示该字符串;(5)10号系统功能调用-输入字符串到缓冲区
此功能调用是从键盘输入字符串到指定缓冲区中。要输入的字符串以回车结束。缓冲区的段地址保存到DS寄存器,偏移地址保存到DX寄存器中。缓冲区定义格式如图。
例:MOV DX,SEG IBUFF
MOV DS,DX ;将缓冲区段地址置DS
MOV DX,OFFSET IBUFF ;将缓冲区偏移地址置DX
MOV AH,10
INT 21H ;调用10号功能输入字符串
;(6)4C号系统功能调用-结束程序运行
此功能调用是结束程序运行,返回操作系统。汇编程序结束通常要调用此功能调用,结束并返回操作系统。否则无法返回。
例: MOV AH,4CH
INT 21H
;DEBUG调试程序的使用;DEBUG的主要功能;DEBUG的主要命令;DEBUG的启动与退出; 启动DEBUG通常只需在其存放目录下直接键入“DEBUG”回车即可。启动后会出现DEBUG的命令提示符“-”。
若要同时加载被调试程序,可以将被调试程序输入DEBUG命令后面。
如:DEBUG MYPRO.EXE
则DEBUG启动的同时加载名为“MYPRO.EXE”的程序到内存,以便调试。
2. 退出
退出DEBUG 是在其命令提示符后输入“Q”命令回车,即可退出并返回操作系统。;DEBUG常用命令;例:显示指定范围的存储单元内容。
D 100 120 (显示当前数据段中从偏移位置100H开始到120H结束的存储单元)
D 100 L20 (显示当前数据段中从偏移位置100H开始的连续20H个存储单元)
D SS:200 210 (显示当前堆栈段中从偏移位置200H开始到210H结束的存储单元)
D 3000:100 L10 (显示段地址为3000H,从偏移位置100H开始的连续10H个存储单元)
;说明;2. 修改存储单元内容的命令有两种
? 输入命令E(Enter),有两种格式如下:
第一种格式可以用给定的内容表来替代指定范围的存储单元内容。命令格式为:
E address [list]
例如,E DS:100 F3XYZ8D
其中F3,‘X’,‘Y’,‘Z’和8D各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。; 第二种格式则是采用逐个单元相继修改的方法。命令格式为:
??? E? address
??? 例如,E? CS:100
??? 则可能显示为:
??? 18E4:0100?? 89. -
??? 如果需要把该单元的内容修改为78,则可以直接键入78,再按空格键可接着显示下一个单元的内容,这
文档评论(0)