计算机原理:第三章 汇编语言程序设计2of3.ppt

计算机原理:第三章 汇编语言程序设计2of3.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、本文档付费后,不意味着付费购买了版权,只能用于单位或个人使用,不得用于商业用途(如:【转卖】进行直接盈利和【编辑后售卖】进行间接盈利)。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:18428362892(电话支持时间:9:00-19:00)。
№ * 字符串输入 ( 0AH功能) 入口参数 DS : DX = 缓冲区的首地址 [ DS :DX] = 限制最多输入的字符数 功能号 AH = 0AH 类型号 21H 出口参数 [ DS : DX+1] = 实际键入的字符数(不含回车符) 从[DS : DX+2] 开始顺序存放键入的字符串, 回车符0DH为串尾最后一字符。 实现功能 等待从键盘输入字符串,并存入设定的缓冲区, 同时回显字符串,光标随着移动, 回车符使光标回到行首。 注意事项:应按要求先定义缓冲区,再调用。 № * 例: 应用0AH功能输入字符串。 data SEGMENT ;定义缓冲区 max DB 11 ;定义限制最多输入个数 DB ? ;用于存放实际输入个数 DB 11 DUP(?) ;用于存放输入的字符串 data ENDS code SEGMENT ASSUME CS:code, DS:data start: MOV AX , data ;置缓冲区地址于DS:DX MOV DS , AX LEA DX , max MOV AH , 0AH INT 21H ;调0A输入功能 MOV CH , 0 MOV CL , max+1 ;取字符串长度放CX中 LEA BX , max+2 ;取字符串首址于BX中 MOV AL , [BX] ;应用所输入的字符 …… code ENDS № * 0AH功能执行过程: ① 若[DS:DX]字节单元的值为0,则不等待从键盘输入,结束调用。 ② 若[DS:DX] 字节单元的内容大于0,则等待从键盘输入,并把输入键的ASCII码顺序存放在DS:DX+2开始的单元,按回车键表示结束输入。当按下键的个数超过[ DS:DX ]中的值,发出警告声‘嘟嘟’, 不再接收输入的数据, 直到输入回车键。 ③将实际输入的字符个数(不包括回车键)填入[DS:DX+1],结束调用。 0AH功能注意事项: ◢ 输入的字符均带回显,且光标随字符移动。当输入回车符结束时,光标回到了行首。 ◢ 回车符0DH作为一个输入的字符存放在字符串尾,但不计数。 实际最多能输入的字符数 = 限制的最多数-1 (回车符占1个) ◢ 执行完0AH功能后,DS和DX的值不变,仍指向缓冲区首地址。 ◢ 整个缓冲区的大小应为:限制的最多数 +2 № * 2. 显示输出类 (1)显示一个字符 MOV AH, 2 ;功能号 MOV DL, ’字符’? INT 21H ①调用会破坏AL (AL=DL) 非显示字符: DL=7 响铃 DL=0DH 光标回车 DL=0AH 光标换行 № * 应用举例 CRLF MACRO PUSH AX PUSH DX MOV AH , 2 MOV DL , 0DH INT 21H ; 回车 MOV DL , 0AH INT 21H ; 换行 POP DX POP AX ENDM 以后在源程序中用CRLF当回车换行指令。 № * (2) 显示字符串 MOV AH , 9 LEA DX , MESS;显示字符串的首地址 INT 21H 显示信息用DB定义字符串: MESS DB ‘HELLO!’,0DH,0AH,’$’ 回车换行 字符串结束一定要用 ’$’! № * 例: 编程显示字符串’ Tsinghua University’ data SEGMENT ;定义

您可能关注的文档

文档评论(0)

学习让人进步

相关文档

相关课程推荐