程序设计的其他方法和技术.ppt

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

1.字符串操作 2.宏功能程序设计 3.模块化程序设计 5.1.2 串操作指令 5.1.2 串操作指令 5.1.2 串操作指令 5.1.2 串操作指令 5.1.1 串操作指令简介(总结) 5.2.6 宏库的使用 二、宏库的使用 当程序中需要调用时,首先将宏库加入自己的源文件,然后按宏库中各宏定义的规定调用。 语句格式:INCLUDE 文本文件名 功能:将指定的文本文件从本行起加入汇编,直到该文本的最后一行汇编完后,再继续汇编INCLUDE后面的语句。 膊腻证凶誓胚宣妖茧眨惠俯凛谎袭跨冰兽低蛀探怕番痛巢炳痪瓷浊豢尉醒程序设计的其他方法和技术程序设计的其他方法和技术 5.2.6 宏库的使用 二、宏库的使用 示例:从键盘输入一串字符到BUF缓冲区,将其中的小写字母转换成大写字母(其余字符不变)后仍在显示器上输出。 实现方案:利用MACRO.LIB中的宏定义READ、OUT1、CRLF实现字符串的输入、显示一个字符、输出回车换行。 诅审汲扬腰肌绸泳鸳镭磁裸讯输粉钙茫酒灭增境到撰浆琵棱哟蕾槛波墨实程序设计的其他方法和技术程序设计的其他方法和技术 READ MACRO A LEA DX,A MOV AH,10 INT 21H ENDM CRLF MACRO MOV AH,2 MOV DL,0AH INT 21H MOV DL,0DH INT 21H ENDM OUTCH MACRO A MOV DL,A MOV AH,2 INT 21H ENDM STACKM MACRO A STACK SEGMENT STACK DB A STACK ENDS ENDM 文件MACRO.LIB中的宏定义: 西魔孟笑缎滚拱啼栽烦秆没如持项糠砒脓雀嗓读呐中警咐伏仗案恋骆拦毫程序设计的其他方法和技术程序设计的其他方法和技术 INCLUDE MACRO.LIB DATA SEGMENT BUF DB 79 DB 0 DB 80 DUP(0) DATA ENDS STACKM 200 DUP(0) CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX READ BUF LEA SI,BUF+2 MOV CL,BUF+1 MOV CH,0 CLD CRLF Y1: LODSB CMP AL,a JB Y2 CMP AL,z JA Y2 SUB AL,20H Y2: OUTCH AL LOOP Y1 CRLF MOV AH,4CH INT 21H CODE ENDS END START 利用宏定义实现题目要求的功能: 础窘赊摧辕瘪转极盔舅汕绩占膳畜撒潮狐郸耪挂遍廉嚎粤疚禹算嘶坷颁绚程序设计的其他方法和技术程序设计的其他方法和技术 5.2.7 宏指令与子程序的比较 处理时间不同: 宏指令在汇编期间由宏汇编程序处理,子程序调用是在目标程序执行期间由CPU直接执行。 处理方式不同: 宏指令必须先定义、后调用,宏调用是用宏体置换宏指令名,实参置换形参,汇编结束,宏定义也随之消失。子程序调用不发生代码和参数的置换。 目标程序的长度不同: 宏指令导致目标程序长,占用空间大;而子程序无论调用多少次,子程序的目标代码仅出现一次,因此目标程序短,占用存储空间小。 努享牙掷漓脯居申熬盟怒昂弥获瞬叛恕咕舅弥劲畅亲桨韶尖古那葱焦搏实程序设计的其他方法和技术程序设计的其他方法和技术 5.2.7 宏指令与子程序的比较 执行速度不同: 调用子程序需要使用堆栈保护和恢复现场,需要专门的指令传递参数,因此执行速度慢;宏指令不存在这些问题,因此执行速度快。 参数传递方式不同: 宏调用可实现参数的置换,参数的形式不受限制,简单、方便、灵活,不容易出错;而子程序的参数一般为地址或操作数,传递方式由用户编程时具体安排,参数较多时容易出错。 恒谅豢乐绪逞摈缩脯俯玉患蔑格炊墓掘阳谍铱舵泳件静咽兵灾角拉姨凑仑程序设计的其他方法和技术程序设计的其他方法和技术 5.3 模块化程序设计 对大型的复杂问题,如果将整个程序放在一个模块中实现会存在以下问题: 无法进行多人合作共同完成任务; 影响编程的效率和质量,难以保证程序的可靠性; 程序调试困难; 调试过程中需要多次汇编,源程序越长,汇编的速度越慢,浪费时间。 奥成硬设绊券蒲哦痉省鸵择往盅蜒狂公呈纶僧屡逛宋擦蘸琵佣蚕练塌腑障程序设计的其他方法和技术程序设计的其他方法和技术 5.3 模块化程序设计 正确地解决大型、复杂问题的方法: 采用自顶向下、逐步求精的模块化和结构化的设计方法,将一个任务按其需要实现的主要功能分解为若干相对独立的模块,并确定好各模块之间的调用关系和参数传递方式,对其

文档评论(0)

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

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

1亿VIP精品文档

相关文档