汇编语言程序设计与上机调试.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计与上机调试

4.6 汇编语言程序设计与上机调试 4.6.2 DOS功能调用 21H号中断是DOS提供给用户的用于调用系统功能的中断,它有近百个功能供用户选择使用,主要包括设备管理、目录管理和文件管理三个方面的功能。 汇编语言程序设计需要采用系统的各种功能程序 充分利用操作系统提供的资源是程序设计的一个重要方面,需要掌握。 功能调用的格式 通常按照如下4个步骤进行: ⑴ 在AH寄存器中设置系统功能调用号 ⑵ 在指定寄存器中设置入口参数 ⑶ 执行指令INT 21H(或ROM-BIOS的中断向量号)实现中断服务程序的功能调用 ⑷ 根据出口参数分析功能调用执行情况 (1)从键盘输入单个字符 DOS功能调用INT 21H 功能号:AH=01H 出口参数:(AL)=字符的ASCII码 功能:获得按键的ASCII代码值 调用此功能时,若无键按下,则会一直等待,直到按键后才读取该键值 例:判断按键 getkey: mov ah,01h ;功能号:ah←01h int 21h ;功能调用 cmp al,’Y’ ;处理出口参数al je yeskey ;是“Y” cmp al,’N’ je nokey ;是“N” jne getkey ... yeskey: ... nokey: ... (2)屏幕显示一个字符 DOS功能调用INT 21H 功能号:AH=02H 入口参数DL=字符的ASCII码 功能:在显示器当前光标位置显示给定的字符,光标右移一个字符位置。如按Ctrl-Break或Ctrl-C则退出 例:显示问号 ;在当前显示器光标位置显示一个问号 mov ah,02h ;设置功能号:ah←02h mov dl,? ;提供入口参数:dl←? int 21h ;DOS功能调用:显示 (3)从键盘输入一串字符 DOS功能调用INT 21H 功能号:AH=0AH 入口参数:DS:DX=缓冲区首地址 执行该功能调用时,用户按键,最后用回车确认。 本调用可执行全部标准键盘编辑命令;用户按回车键结束输入,如按Ctrl+Break或Ctrl+C则中止。 缓冲区的定义 第1字节事先填入最多欲接收的字符个数(包括回车字符,可以是1~255) 第2字节将存放实际输入的字符个数(不包括回车符),由系统填入 第3字节开始将存放输入的字符串 实际输入的字符数多于定义数时,多出的字符丢掉,且响铃 例:输入字符串 buffer db 81 ;定义缓冲区第,1个字节填入可能输入的最大字符数 db 0 ;存放实际输入的字符数 db 81 dup(0) ;存放输入的字符串 ... mov ax,seg buffer ;伪指令seg取得buffer的段地址 mov ds,ax ;设置数据段DS mov dx,offset buffer mov ah,0ah int 21h (4)屏幕显示字符串 DOS功能调用INT 21H 功能号:AH=09H 入口参数:DS:DX=欲显示字符串在主存中的首 地址 功能:在显示器输出指定的字符串 字符串应以$(24H)结束 可以输出回车(0DH)和换行(0AH)字符产生回车和换行的作用 例:显示字符串 string db Hello,Everybody !,0dh,0ah,$ ;在数据段定义要显示的字符串 ... mov ah,09h ;设置功能号:ah←09h mov dx,offset string ;提供入口参数:dx←字符串的偏移地址 int 21h ;DOS功能调用:显示 4.6.3 汇编语言上机调试过程 DEBUG DEBUG是为汇编语言设计的一种调试工具程序,它通过单步、设置断点等工作方式,提供了非常有效的调试手段。 综合举例 1. 从键盘输入一个带符号的十进制数,转换成二进制数 子程序从键盘输入一个有符号十进制数;子程序还包含将ASCII码转换为二进制数的过程 输入时,负数用“-”引导,正数直接输入或用“+”引导 子程序用寄存器传递出口参数,主程序调用该子程序输入10个数据 ASCII码转换为二进制数方法 ① 首先判断输入为正或负数,并用一个寄存器记录 ② 接着输入0~9数字(ASCII码),并减30H转换为二进制数 ③ 然后将前面输入的数值乘10,并与刚输入的数字相加得到新的数值 ④ 重复②、③步,直到输入一个非数字字符结束 ⑤ 负数进行求补,转换成补码;否则直接保存数值 本例采用16位寄存器表

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档