- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 子程序 汇编语言程序设计 教学课件
【例6.11】编写子程序read,从键盘上读入一个整数。 【分析】为了尽可能与高级语言中整数输入的情况一致,子程序不仅要能读入正确输入时的数据,还要能对不正确的输入做出适当的反应,因此设计上要注意几个问题:首先是要用字符串输入方式(DOS的10号子功能),因为这种方式支持退格键修改功能,因而需要准备相应的输入缓冲区;出口参数需要两个,以CF的设置表示输入是否正确,当输入正确时把整数值放在AX中作为输入结果;要能够跳过若干个连续的空格符;要能够处理正负号。 【解】 ; 功能 : 从键盘读入整数值 ; 入口 : CF = 为0表示废弃多余符号,相当于READLN; ; 为1则把多余符号留作下一次输入,相当于READ ; 出口 : CF = 0表示正常读入,1表示输入有错 ; 破坏寄存器 : 无 read PROC NEAR PUSH BX PUSH CX PUSH DX PUSH SI PUSH DS ;以上为寄存器保护 PUSHF PUSH CS POP DS ;令DS取CS的值 rd1: MOV BX,CS:[point] ;取上次输入后已读取到输入串的位置 rd2: INC BX CMP CS:[bufin+BX+1], JE rd2 ;跳过空格 CMP CS:[bufin+BX+1],13 JNZ rd4 ;不是回车键,转读入数值处理 rd3: LEA DX,CS:[bufin] MOV AH,10 INT 21H ;遇回车键要求再次输入 MOV AH,2 MOV DL,10 INT 21H ;换行 MOV CS:[point],0 JMP rd1 ;对新的输入再转去跳过前导空格 rd4: MOV SI,BX DEC SI ;令SI指向输入串的第一个有效字符 MOV AX,0 MOV BX,10 MOV CX,0 rd5: CMP CS:[bufin+SI+2], + JNZ rd6 ;不是正号转 CMP CL,1 JE rd10 ;已读到正确数值后,遇正号转 CMP CL,0 JE rd8 ;正号是第一个有效字符转 STC ;输入有错 JMP rd13 rd6: CMP CS:[bufin+SI+2], - JNZ rd9 CMP CL,1 ;已读到正确数值后,遇负号转 JE rd10 CMP CL,0 JE rd7 ;负号是第一个有效字符转 STC ;输入有错 JMP rd13 rd7: MOV CH,1
您可能关注的文档
- 第6章 交换机的原理与配置 四级网络工程师PPT 课件.ppt
- 第6章 人力资源管理(修订)企业管理大纲及课件.ppt
- 第6单元 不等式 2011年高考理数一轮复习课件(大纲人教版).ppt
- 第6章 水波理论 船流课件 ( Chapter 6. Water Wave Theory).ppt
- 第6章 光的吸收、散射和色散 光学基础 课件 (第四版,姚启钧).ppt
- 第6章 使用图层与蒙版 Illustrator平面设计简明教程 教学课件.ppt
- 第6章 光线的光路计算及像差理论 工程光学课件.ppt
- 第6章 交流变换电路 工学硕士电力电子技术课件.ppt
- 第6章 其他大气污染物的净化 大气污染控制工程课件.ppt
- 第6章 反馈控制电路 高频电子线路(第3版) 电子教案.ppt
文档评论(0)