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

汇编语言 第07章课件.ppt

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

第7章 串型数据的处理 ;7.1 字符串的输入输出 ;7.11 DOS的9号子功能 ;【注意事项】 (1)被输出的字符串的长度不限,但必须连续存放在内存的某个地方,且以ASCII值为24H的字符“$”结束,中间可以含有回车符、换行符、响铃符等有特殊功能的符号。 (2)字符串的起始逻辑地址必须放在指定的寄存器DS和DX中。 (3)调用结果是把字符串中的各个字符从光标当前所在位置起,依次显示在屏幕上,直至遇到“$”为止,光标停在最后一个输出符号的后面。“$”仅仅作为字符串的结束符号,本身不输出到屏幕。如果程序中需要输出“$”,只能用2号子功能实现。 (4)9号子功能调用将影响AL的内容,不改变其余寄存器及标志寄存器的值。 ;例7.1分析下面的程序,写出程序执行后的结果。 DATA SEGMENT bufl 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,[bufl] MOV AH,9 INT 21H MOV DX, OFFSET buf2 INT 21H MOV AX,4C00H INT 21H CODE ENDS END main ;执行结果如下: Hello, this is an example.--END--;例7.2完善【例6.27】的汇编程序。 【C语言程序】 main() { int n=0; printf(“input a string:\n“); while(getchar()!=‘\n‘) n++; printf(“n=%d“,n); } ;【汇编程序】为了输出统计数据变量n的处理简单,假定输入的字符不能超过9个。 汇编程序如下: Data SEGMENT Buf1 DB “input a string: “, 10, 13, “$“ Buf2 DB “n=$“ Data ENDS Code SENGMENT ASSUME CS:Code,DS:Data ;Start: MOV AX,Data MOV DS,AX LEA DS,Buf1 MOV AH,9 INT 21H ? MOV BL,0 ; 实现n=0 ;L_Repeat:MOV AH,1 INT 21H CMP AL,13 JE L_End INC BL ; 实现n++ JMP L_Repeat ;L_End:MOV AH,9 LEA DX,Buf2 INT 21H ; 实现printf中的n= MOV AH,2 MOV DL,BL ADD DL,30H ; 形成n的数字对应的ASCII INT 21H ; 输出n,实现%d ? MOV AX,4C00H INT 21H Code ENDS END Start ;7.12 DOS的10号子功能 ;【注意事项】 (1)输入缓冲区的首字节的逻辑地址必须在调用10号子功能前放到指定的寄存器DS和DX中。 (2)程序执行到10号子功能调用时,机器将等待操作员从键盘上按键,直到按下回车键为止。按键情况会显示在屏幕上,最后按下的回车键会使光标移动到同一行最左端。如果在按回车键之前发现输入有错误,可以使用退格键或向左的箭头进行修改。;(3)输入缓冲区的最前面一个字节的值由用户程序填写,用以指出允许输入的最大字符数,最后按的回车键也计算在内。当已输入lenl-1个字符后就只能按回车键了,按其它键都会被认为是不正确的输入而被机器拒绝,并且扬声器还会发出“嘀”的一声响以示警告。 ;(4)输入缓冲区的次字节(如图7.1中len2处)是由DOS的10号子功能填写的,在调用前用户程序可把它设为任意值。 (5)子功能调用完成后,输入的字符串以ASCII的形式从输入缓冲区的第3个字节起连续存放,最后一个字符是回车键(0DH)。第2个字节中放的是输入

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档