- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.3.4 汇编语言及其程序设计 汇编语言上机过程: 1. 汇编语言程序设计的步骤: 1-定义问题,分析问题 2-建立数学模型,确定算法 3-画出程序框图(流程图) 4-分配内存工作单元和寄存器 5-根据框图,编写源程序 6-上机运行、调试程序。将源程序存成.ASM文件; 对源程序汇编,生成.OBJ目标文件; 把.OBJ文件连接成.EXE执行文件。 2.源程序的基本结构:顺序(查表)、分支、循环、过程 (1)用方框表示工作框,框中用简明语言标明要完成的功能 (4)各框之间用直线连起来表示程序走向。 1 顺序程序 2 分支程序 3 循环程序 1.DO…UNTIL条件 结构 先执行,再判断条件。工作部分至少执行一次。 2. WHILE条件 结构 先判断条件,再执行。工作部分有可能一次都不执行。 1.顺序结构程序设计 顺序结构的程序一般是简单程序。这种程序按顺序执行,无分支、无循环、无转移,故而顺序结构的程序又称作直线程序。 【例3.29】内存中自TABLE开始的16个单元连续存放着自然数0到15的平方值(称作平方表)。任给一数X(0≤X≤15)在XX单元,查表求X的平方值,并把结果存入YY单元。 DATA SEGMENT TABLE DB 0,1,4,9,16,25,36,49 DB 64,81,100,121,144,169,196,225 XX DB 3 YY DB ? DATA ENDS STACK SEGMENT PARA STACK ′STACK′ DB 50DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV BX,OFFSET TABLE MOV AH,0 MOV AL,XX ADD BX,AX MOV AL,[BX] MOV YY,AL RET START ENDP CODE ENDS END START 分支结构 例 编程实现下列函数的功能,其中X、Y为无符号字节数 流程图 程 序 ;-- 数据段定义 ---------------------------------- DAT SEGMENT X DB 242 Y DB 67 Z DB ? DAT ENDS ;-- 代码段定义 ---------------------------------- COD SEGMENT ASSUME DS: DAT, CS: COD MAIN PROC FAR PUSH DS ; 保存返回地址 SUB AX, AX PUSH AX MOV AX, DAT MOV DS, AX ; 初始化DS ;--------------------------------------------------------------------------------------- MOV AL, X MOV BL, Y CMP AL, BL JE C1 ; (AL)=(BL) 则跳转至C1,否则继续执行 JA C2 ; (AL) (BL) 则跳转至C2,否则继续执行 MOV AL, -1 EXT: MOV Z, AL RET ; 返回DOS C1: MOV AL, 0 JMP EXT C2: MOV AL, 1 JMP EXT ;---------------------------------------------------------------------------------------- MAIN ENDP COD ENDS END MAIN 循环结构 【例3.33】统计一个数据块中负数的个数。 DATA SEGMENT PARA PUBLIC ′DATA′ DTM DB -1,-3,5,6,-2,… ;数据表 DTM1 EQU $-DTM NUM DW ? ;存负数个数 DATA ENDS STACK SEGMENT PARA STACK ′STACK′ ST DB 100DUP(?) TP EQU LENGTH ST STACK ENDS CODE SEGMENT PARA PUBLIC ′CODE′
您可能关注的文档
- 第2章2.4 常用输入设备.ppt
- 第2章 信息技术.ppt
- 第2章 VB 6.0语言基础.ppt
- 二级VFP试卷.doc
- 第2章 NetBeans IDE基础.ppt
- 二级VF考点.ppt
- 二级VF上机真题无答案.doc
- 第2章 汇编语言程序设计.ppt
- 二级visual foxpro 知识点.doc
- 二级笔试2005年9月真题参考答案及评析.doc
- 2025年在线医疗平台医生资源共享模式下的医患互动研究报告.docx
- 2025年工业互联网平台与AI融合:智能决策在智能监测中的应用现状与挑战.docx
- 2025年新能源汽车充电市场供需关系与价格趋势报告.docx
- 孔隙网络抽提技术的原理、方法与多元应用探索.docx
- 2025年新能源汽车充电设施安全风险评估与技术创新路径报告.docx
- 作物种子加工与贮藏课件:种子形状和大小的表示方法.pptx
- 2025年新能源汽车充电运营市场潜力分析及盈利模式构建前瞻.docx
- 行为公司金融理论视角下中国上市公司并购投融资行为:特征、影响与优化路径.docx
- 2025年家居收纳行业目标用户需求洞察研究报告.docx
- 2025年建筑工程进度延误与建筑企业战略发展研究报告.docx
文档评论(0)