- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
汇编語言程序设计;4.4程序设计措施;二、基本程序构造
次序构造
分支构造
循环构造
子程序构造;次序构造
分支构造
循环构造
子程序构造;;次序构造
分支构造
循环构造
子程序构造;次序构造
分支构造
循环构造
子程序构造;1、次序构造
例1:已知目前数据段中有壹种拾進制数字0~9的七段代码表,其数值依次為40H、79H、24H、30H、19H、12H、02H、78H、00H、18H。规定用XLAT指令将拾進制数57转换成對应的七段代码值,存到BX寄存器中,编写完整的汇编源程序。
分析:先求5的七段代码值,再求数字7的;
需定义数据段、七段代码表:TAB,字节变量;
关键指令XLAT,表偏移地址放BX,原数字放入AL;;源程序清單:;2、分支构造
程序根据不壹样条件选择不壹样处理措施;程序框图及清單:;3、循环构造
两种形式:
1)“先执行,後判断”:進入循环後至少要执行壹次循环体,再判断循环与否結束。
---用于循环次数固定的程序(简朴)(掌握)
2)“先判断,後执行”:進入循环後,先判断循环結束条件,再决定与否执行循环体,也許循环体壹次也不执行。
---用于循环次数不确定的程序;(a)“先执行,後判断”构造;;例3:将附加段起始地址為DA1的100個字节的存储区内容清0。;例4:编程在壹串給定個数的数据区BUFF中寻找最小数,成果寄存至MIN單元中!(循环+分支构造);MOVAH,4CH
INT21H
CODEENDS
ENDSTART;作业;例5:数据段從BUFF開始有壹字数组,寄存N個有符号数据,编程将数据按從小到大排序!(双重循环);MOVAH,4CH
INT21H
CODEENDS
ENDSTART;4、子程序构造
子程序:能完毕特定功能而又常常用到的程序段,编写成独立的模块,供其他程序调用,称為子程序或過程。
子程序构造的定义:
使用過程定义語句PROC…ENDP。
子程序属性:
调用程序和過程在同壹代码段中,则用NEAR属性;
调用程序和過程不在同壹代码段,使用FAR属性。;;子程序构造
段内调用格式;子程序构造
段间调用格式
(自學);子程序设计注意如下三點:
⑴保护调用程序的断點:由CALL指令自身完毕。
⑵保护某些寄存器内容(非入口/出口参数):
在子程序開頭??用壹组PUSH指令,保护寄存器本来的内容;在子程序結尾,用壹组POP指令,将寄存器本来的内容恢复。
⑶主程序和子程序间的参数传递。
入口参数:子程序所需的初始数据。(调用時)
出口参数:子程序运行所得成果。(返回時);参数传递常用的措施:
①用寄存器传递参数:参数较少,速度较快。
②用存储器传递参数:参数较多;
调用前,将参数存入内存,将参数首地址送入某壹寄存器(BX、SI、DI、BP)。進入過程後可采用寄存器间接寻址方式從内存中取出。
③用堆栈传递参数:参数较多,多用在子程序嵌套与递归调用中。;例6:数据段定义两個字型数组,编程序实現数组分别求和(不计溢出),规定用子程序实現求和。
解:通過存储器来传递参数。子程序阐明如下:
子程序名:SUB_SUM
功能:求壹数组之和
所用REG:AX
入口参数:数组地址指针SI、数组長度存于CX
出口参数:成果在AX中;DATA SEGMENT
ARY1 DW100DUP(?) ;定义数组1
SUM1DW?
ARY2 DW100DUP(?) ;定义数组2
SUM2 DW?
DATAENDS
CODE SEGMENT
ASSUMECS:CODE,DS:DATA
START:MOV AX,DATA
MOVDS,AX;LEASI,ARY1;数组1首地址,入口参数
MOVCX,LENGTHARY1;数组1長度,入口参数
CALLSUB_SUM;调用求和子程序
MOVSUM1,AX;数组1之和送SUM1
LEA SI,ARY2;数组2首地址,入口参数
MOVCX,LENGTHARY2;数组2長度,入口参数
CALLSUB_SUM ;调用求和子程序
MOVSUM2,AX;数组2之和送SUM2
MOVAH,4CH
INT21H;SUB_SUMPROC NEAR;子程序
XORAX,AX
您可能关注的文档
- 水电站综合自动化系统设计.doc
- 计算机控制系统第四答案.pptx
- 阿里巴巴电子商务.认证(期中考试)题目.doc
- 宏微观经济学网络考试课程教学实施方案.doc
- 网站项目管理规范手册.doc
- 数控机床的程序编程基础.pptx
- 第8章--数据库技术与Access教案.pptx
- 软件工程之需求分析.doc
- ID3算法的实现与改进.doc
- 电镀流水线的PLC控制.doc
- 2025天津工业大学师资博士后招聘2人笔试题库带答案解析.docx
- 2025四川中冶天工集团西南公司招聘14人备考题库带答案解析.docx
- 2025四川南充市农业科学院第二批引进高层次人才考核招聘2人备考题库带答案解析.docx
- 2025四川德阳绵竹市人力资源和社会保障局绵竹市卫生健康局卫生事业单位考核招聘专业技术人员41人历年.docx
- 2025云南昭通昭阳区政务服务管理局公益性岗位招聘1人备考题库及答案解析(夺冠).docx
- 2025年西安一附院沣东医院招聘笔试题库附答案解析.docx
- 2025山东临沂市纪委监委机关所属事业单位选聘工作人员10人笔试备考试卷带答案解析.docx
- 2025四川成都市新都区妇幼保健院编外专业技术人员招聘8人历年真题题库附答案解析.docx
- 2025年宝鸡三和职业学院招聘笔试题库(82人)最新.docx
- 2025云南昆明市第二人民医院紧急招聘神经(创伤)外科医师1人历年试题汇编含答案解析(必刷).docx
原创力文档


文档评论(0)