资源描述:
《清华_ibmpc汇编语言_ 程序设计(第2版) 第3章功能调用变量ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章功能调用INT21H1.单字符输入(1号子功能)入口参数:1--〉AH出口参数:从键盘所输的字符的ASCII码--〉AL功能:从键盘输入单个字符注意:(1)只要在执行INT21指令时AH中的值是1;(2)调用时,屏幕上出现一个闪烁的光标,等按键;(3)只需按一个键,不许按回车键,按下符号会显示在屏幕上;(4)特殊按键:ESC-(AL)=1BH,回车-(AL)=0DH,退格-(AL)=08H;(5)调用后不改变除AL外的其他寄存器的值。实例:编写程序段,从键盘读入一个按键(假定是数字键中的一个),计算出对应的
2、数值,放入寄存器DL中。MOVAH,1INT21HSUBAL,’0’MOVDL,AL2.单字符输出(2号子功能)入口参数:2--〉AH欲显示字符的ASCII码--〉DL出口参数:无功能:在当前光标处输出单个字符,并把光标向后移一格注意:(1)调用之后AL的内容发生了改变;(2)在执行INT21H时,不论DL中来源如何,都当作是一个ASCII值;(3)特殊ASCII值:07H-发出“嘀”声,08H-光标在同行向左移动一格,0AH-光标在同列向下移动一行,0DH-光标移到所在行得最左端实例:编写程序段完成回车换行功能
3、。MOVAH,2MOVDL,13(0DH)INT21HMOVDL,10(0AH)INT21H3.字符串输出(9号子功能)入口参数:9--〉AHDS:DX=待输出字符串的首字符的逻辑地址出口参数:无功能:在当前光标处输出字符串注意:(1)被输出的字符串的长度不限,但必须连续存放在内存的某个地方,且以ASCII值为24H的字符‘$’结束,中间可以含有回车符、换行符、响铃符等特殊功能符号,存放字符串的起始逻辑地址必须放在指定的寄存器DS和DX中;(2)‘$’符本身不输出到屏幕;(3)调用结果是把字符串中的各个字符从光标
4、当前所在位置起,依次显示在屏幕上,直至遇到‘$’为止,光标停在最后一个输出符号的后面;(4)如果程序中需要输出‘$’,只能用2号子功能实现;(5)9号子功能调用将影响AL的内容,不改变其余寄存器及标志寄存器的值。例1:分析下面的程序,写出程序执行后的结果DATASEGMENTBUF1DB‘Hello,’,13,10,’thisisanexample.$’,13,10BUF2DB‘—END--$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAIN:MOVAX,DATAMOVDS
5、,AXLEADX,[BUF1]MOVAH,9INT21HMOVDX,OFFSETBUF2INT21HMOVAH,4CHINT21HCODEENDSENDMAIN例2:分析下面的程序,写出程序执行后的结果DATASEGMENTBUF1DB‘Hello,’,13,10,’thisisanexample.’,13,10BUF2DB‘—END--$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAMAIN:MOVAX,DATAMOVDS,AXLEADX,[BUF1]MOVAH,9INT21
6、HMOVDX,OFFSETBUF2INT21HMOVAH,4CHINT21HCODEENDSENDMAIN例1执行结果:Hello,thisisanexample.--END--例2执行结果:Hello,thisisanexample.--END----END--4.字符串输入(10号子功能)入口参数:0AH--〉AHDS:DX=输入缓冲区的起始逻辑地址出口参数:由DOS的10号子功能在输入缓冲区中填写实际输入情况,即根据键盘输入情况,对图中的“实际输入字符数”和“输入串的各个字符”部分进行填写。输入缓冲区有特定
7、的要求,其内存图如下所示:功能:由键盘输入若干个字符串注意:(1)输入缓冲区是一段连续的内存区,首地址必须在调用10号子功能前放到指定的寄存器DS和DX中;(2)10号子功能在调用时等待操作员从键盘上按键,直到按下回车键为止,按键情况会显示在屏幕上,最后按下的回车键会导致回车操作。如果在回车键之前发现输入错误,可以使用退格键或向左的箭头进行修改;(3)输入缓冲区的最前面一个字节(上页图len1处)的值由用户程序填写,用以指出允许输入的最大字符数。该值是字节型无符号数,有效范围是0-255,最后按的回车键也计算在内
8、。当已输入len1-1个字符后就只能按回车键了,按其它键都会被认为是不正确的输入而不被机器认可,并且喇叭还会发出“嘀”的一声响以示警告。如果len1=1,表示只能按1个键,这个键只能是回车键,按其它键都会有“嘀”的一声警告;如果len1=0,表示一这个键都不能按,包括回车键在内的任何按键都会被拒绝并且发出“嘀”的警告声,但机器又在等待输入,这一矛盾将导致无限期等待,即死机