网站大量收购独家精品文档,联系QQ:2885784924

清华_IBMPC汇编语言_ 程序设计(第2版) 第3章功能调用变量PPT课件.ppt

清华_IBMPC汇编语言_ 程序设计(第2版) 第3章功能调用变量PPT课件.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华_IBMPC汇编语言_ 程序设计(第2版) 第3章功能调用变量PPT课件

第3章 功能调用 INT 21H 1.单字符输入(1号子功能) 入口参数:1--〉AH 出口参数:从键盘所输的字符的ASCII码--〉AL 功能:从键盘输入单个字符 注意: (1)只要在执行INT 21指令时AH中的值是1; (2)调用时,屏幕上出现一个闪烁的光标,等按键; (3)只需按一个键,不许按回车键,按下符号会显示在屏幕上; (4)特殊按键:ESC-(AL)=1BH,回车-(AL)=0DH,退格-(AL)=08H; (5)调用后不改变除AL外的其他寄存器的值。 实例:编写程序段,从键盘读入一个按键(假定是数字键中的一个),计算出对应的数值,放入寄存器DL中。 MOV AH,1 INT 21H SUB AL,’0’ MOV DL,AL 2.单字符输出(2号子功能) 入口参数:2--〉AH 欲显示字符的ASCII码--〉DL 出口参数:无 功能:在当前光标处输出单个字符,并把光标向后移一格 注意: (1)调用之后AL的内容发生了改变; (2)在执行INT 21H时,不论DL中来源如何,都当作是一个ASCII值; (3)特殊ASCII值:07H-发出“嘀”声,08H-光标在同行向左移动一格,0AH-光标在同列向下移动一行,0DH-光标移到所在行得最左端 实例:编写程序段完成回车换行功能。 MOV AH,2 MOV DL,13(0DH) INT 21H MOV DL,10(0AH) INT 21H 3.字符串输出(9号子功能) 入口参数:9--〉AH DS:DX=待输出字符串的首字符的逻辑地址 出口参数:无 功能:在当前光标处输出字符串 注意: (1)被输出的字符串的长度不限,但必须连续存放在内存的某个地方,且以ASCII值为24H的字符‘$’结束,中间可以含有回车符、换行符、响铃符等特殊功能符号,存放字符串的起始逻辑地址必须放在指定的寄存器DS和DX中; (2) ‘$’符本身不输出到屏幕; (3)调用结果是把字符串中的各个字符从光标当前所在位置起,依次显示在屏幕上,直至遇到‘$’为止,光标停在最后一个输出符号的后面; (4)如果程序中需要输出‘$’,只能用2号子功能实现; (5)9号子功能调用将影响AL的内容,不改变其余寄存器及标志寄存器的值。 例1:分析下面的程序,写出程序执行后的结果 DATA SEGMENT BUF1 DB ‘Hello,’,13,10,’this is an example.$’,13,10 BUF2 DB ‘—END--$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN: MOV AX,DATA MOV DS,AX LEA DX,[BUF1] MOV AH,9 INT 21H MOV DX,OFFSET BUF2 INT 21H MOV AH,4CH INT 21H CODE ENDS END MAIN 例2:分析下面的程序,写出程序执行后的结果 DATA SEGMENT BUF1 DB ‘Hello,’,13,10,’this is an example.’,13,10 BUF2 DB ‘—END--$’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA MAIN: MOV AX,DATA MOV DS,AX LEA DX,[BUF1] MOV AH,9 INT 21H MOV DX,OFFSET BUF2 INT 21H MOV AH,4CH INT 21H CODE ENDS END MAIN 例1执行结果: Hello, this is an example.--END-- 例2执行结果: Hello, this is an example. --END----END-- 4.字符串输入(10号子功能) 入口参数:0AH--〉AH DS:DX=输入缓冲区的起始逻辑地址 出口参数:由DOS的10号子功能在输入缓冲区中填写实际输入情况,即根据键盘输入情况,对图中的“实际输入字符数”和“输入串的各个字符”部分进行填写。输入缓冲区有特定的要求,其内存图如下所示: 功能:由键盘输入若干个字符串 注意: (1)输入缓冲区是一段连续的内存区,首地址必须在调用10号子功能前放到指定的寄存器DS和DX中; (2) 10号子功能在调用时等待操作员从键盘上按键,直到按下回车键为止,按键情况会显示在屏幕上,最后按下的回车键会导致回车操作。如果在回车键之前发现输入错误,可以使用退格键或向左的箭头进行修改; (3)输入缓冲区的最前面一个字节(上页图len1处)的值由用户程序填写,用以指出允许输入的最大字符

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档