第4章 汇编语言-2.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第4章 汇编语言-2.ppt》由会员分享,可在线阅读,更多相关《第4章 汇编语言-2.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、1 本次课主要教学内容本次课主要教学内容l实验操作小结实验操作小结l循环程序循环程序设计及实例分析设计及实例分析l子程序子程序设计及实例分析设计及实例分析l实验安排实验安排第第4章章汇编语言程序设计汇编语言程序设计2l汇编语言运行环境汇编语言运行环境lDOS命令命令l汇汇 编编 软软 件件 工工 具具 EDIT、MASM、LINK、DEBUG的熟悉和使用的熟悉和使用l典型指令及应用典型指令及应用l程序设计及调试运行程序设计及调试运行实验操作小结实验操作小结 3 实验教学目的和要求实验教学目的和要求l熟悉熟悉汇编语言的使用平台和开发工具汇编语言的使用平台和开发工具l掌握掌握源程序的建立、汇编、连
2、接及调源程序的建立、汇编、连接及调试过程试过程l理解理解典型程序结构和应用典型程序结构和应用l掌握掌握程序设计的思路和方法程序设计的思路和方法l培养培养分析、阅读程序的能力分析、阅读程序的能力l积累积累程序设计的技巧程序设计的技巧4汇编语言程序上机步骤汇编语言程序上机步骤(1)用)用EDIT.COM建立扩展名为建立扩展名为.ASM源程序源程序文件。文件。(2)用)用MASM.EXE将源程序汇编成目标程序将源程序汇编成目标程序文件和列表文件,扩展名为文件和列表文件,扩展名为.OBJ。(3)汇编中出现语法错误,根据错误信息提示)汇编中出现语法错误,根据错误信息提示用编辑软件重新调源程序修改。无错时
3、用用编辑软件重新调源程序修改。无错时用LINK.EXE把目标文件转化成可执行文件,扩把目标文件转化成可执行文件,扩展名为展名为.EXE。(4)生成可执行文件后,采用)生成可执行文件后,采用DEBUG调试或调试或在在DOS命令命令状态下键入文件名执行。状态下键入文件名执行。5调试程序调试程序DEBUG的应用的应用l建立汇编语言源程序并对其进行汇编;建立汇编语言源程序并对其进行汇编;l用于程序控制执行;用于程序控制执行;l跟踪程序运行踪迹;跟踪程序运行踪迹;l检查程序中每条指令执行结果;检查程序中每条指令执行结果;l修改各寄存器和存储器的内容;修改各寄存器和存储器的内容;l对接口操作和对磁盘读写操
4、作等。对接口操作和对磁盘读写操作等。6 程序的调试分为两个阶段:程序的调试分为两个阶段:l语法校正阶段语法校正阶段:用户经过编辑、汇编:用户经过编辑、汇编和连接后,检查和修改程序中的语法和连接后,检查和修改程序中的语法错误。错误。l逻辑校正阶段逻辑校正阶段:用:用DEBUG控制程序的控制程序的运行,检查和修改程序执行过程中的运行,检查和修改程序执行过程中的逻辑错误。逻辑错误。7 注意:注意:l汇编程序可在机器底层运行处理;汇编程序可在机器底层运行处理;l可访问可访问CPU内部寄存器、存储单元、内部寄存器、存储单元、I/O接口等;接口等;l可和高级语言进行相互调用;可和高级语言进行相互调用;l需
5、人机交互时,应采用需人机交互时,应采用DOS和和BIOS调调用。用。8第第4章章 4.4.4 循环程序设计循环程序设计1.循环程序基本组成循环程序基本组成(1)初始化初始化:设置循环程序初始状态。:设置循环程序初始状态。(2)循环体循环体:重复执行的操作。:重复执行的操作。(3)参参数数修修改改:计计数数器器值值、操操作作数数地地址址指指针针等相关信息的变化。等相关信息的变化。(4)循循环环控控制制:选选择择恰恰当当的的条条件件控控制制循循环环的的运行和结束。运行和结束。9第第4章章 2.单循环程序设计单循环程序设计【例例1】编编程程完完成成自自然然数数1100的的累累加加和,结果送和,结果送
6、SUM单元。单元。该该题题循循环环次次数数已已知知,采采用用计计数数控控制制方方法。程序中用法。程序中用递增计数法递增计数法实现求累加和。实现求累加和。10DATA SEGMENT SUM DW?;预留结果单元;预留结果单元 CN EQU 100 ;计数终止值;计数终止值DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA ;初始化;初始化DS MOV DS,AX 11 MOV AX,0 ;累加器清零;累加器清零 MOV CX,1 ;置置循循环环计计数数初初始始值值LP:ADD AX,CX ;求累加和;求累加和 INC CX
7、 ;计数器加;计数器加1 CMP CX,CN ;CX和终止值比较和终止值比较 JBE LP ;小于等于转;小于等于转LP MOV SUM,AX ;结果送;结果送SUM MOV AH,4CH ;返回;返回DOS INT 21H CODE ENDS END START ;汇编结束;汇编结束 B1.ASM12【例例2】求求S=122232前前N项和,使项和,使S值大于值大于1000结束计算。结束计算。lN2可写成可写成N个个N相加的形式,采用循环实现相加的形式,采用循环实现计算平方和;判断结果是否大于计算平方和;判断结果是否大于1000。l由于由于N值从值从1到到N逐级递增,可采用计数器递逐级递增,
8、可采用计数器递增实现;增实现;l设寄存器设寄存器BX和和DX分别保存分别保存N值及前值及前N项和。项和。第第4章章13CODE SEGMENT ASSUME CS:CODESTART:MOV BX,0;BX保存保存N值值,初值初值0 MOV DX,0;DX保存前保存前N项和项和LOP1:INC BX;N值递增值递增 MOV CX,BX;设置循环次数;设置循环次数 MOV AX,0;AX清清014LOP2:ADD AX,BX;计算;计算N2 LOOP LOP2;(;(CX)10转转 ADD DX,AX;计算前;计算前N项和项和 CMP DX,1000;判断;判断 JBE LOP1;不大于转;不大
9、于转LOP1 MOV AH,4CH ;大于,返回;大于,返回DOS INT 21HCODE ENDS END START;汇编结束;汇编结束B2.ASM15【例例3】内存内存BUF单元开始存放单元开始存放10个无符号字个无符号字节数组,从中找出最大数和最小数,其值保存节数组,从中找出最大数和最小数,其值保存在内存在内存MAX和和MIN单元中。单元中。从以下从以下3个方面考虑:个方面考虑:(1)确定数组中数据起始地址,采用地址)确定数组中数据起始地址,采用地址指针的变化合理指向。指针的变化合理指向。(2)设定循环结构的初始入口、循环体、)设定循环结构的初始入口、循环体、判断条件等。判断条件等。(
10、3)循环次数已知,使用计数器,采用)循环次数已知,使用计数器,采用LOOP指令实现规定功能指令实现规定功能。16 DATA SEGMENT NUM DB 15,23,12,28,100 DB 10,7,1,45,67 DB 6 DUP(?)MAX DB?MIN DB?DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODESTART:MOV AX,DATA MOV DS,AX 17MOV SI,0 ;设地址指针设地址指针 MOV CX,10;计数初值计数初值 MOV AH,NUMSI;第第1个数分别送个数分别送AH和和AL MOV AL,NUMSI DEC CX
11、 ;计数器减计数器减1 LP:INC SI;地址加;地址加1 CMP AH,NUMSI ;后数与前大数比较;后数与前大数比较 JAE BIG ;高于等于转;高于等于转BIG MOV AH,NUMSI ;保存大数至;保存大数至AH 18BIG:CMP AL,NUMSI;后数与前数比较;后数与前数比较 JBE NEXT;低于等于转;低于等于转NEXT MOV AL,NUMSI;保存小数至;保存小数至AL NEXT:LOOP LP ;(;(CX)1不为不为0转转LP MOV MAX,AH ;保存最大数;保存最大数 MOV MIN,AL ;保存最小数;保存最小数 MOV AH,4CH INT 21H
12、CODE ENDS END START B3.ASM19第第4章章 3.多重循环程序设计多重循环程序设计 一个循环体中又出现另一个循环,也称一个循环体中又出现另一个循环,也称循环嵌套循环嵌套。(1)内内循循环环应应完完整整包包含含在在外外循循环环内内,内内外外循循环环不不能能交叉;交叉;(2)可可从从内内循循环环跳跳到到外外循循环环,但但不不能能从从外外循循环环直直接接跳到内循环;跳到内循环;(3)无无论论是是内内循循环环还还是是外外循循环环,都都不不要要使使循循环环回回到到初始化部分,否则将出现死循环;初始化部分,否则将出现死循环;(4)每每次次完完成成外外循循环环再再次次进进入入内内循循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 汇编语言-2 汇编语言
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内