微机原理及接口2013年度第14次课_第1页
微机原理及接口2013年度第14次课_第2页
微机原理及接口2013年度第14次课_第3页
微机原理及接口2013年度第14次课_第4页
微机原理及接口2013年度第14次课_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及接口微机原理及接口第第3章章 汇编语言程序设计汇编语言程序设计 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试 当接到程序设计的任务后,首先对任务进行详尽的分析,搞清楚已知的数据和想要得到的结果,程序应该完成何种的功能。3.4 汇编语言程序设计汇编语言程序设计 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试 根据实际问题的要求和指令系统的特点,确定解决问题的具体步骤。根据任务要求

2、,对不同的计算方法进行比较,选择最适宜的算法。 3.4 汇编语言程序设计汇编语言程序设计 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试将解决问题的具体步骤用一种约定的几何图形、指向线和必要的文字说明描述出来的图形。3.4 汇编语言程序设计汇编语言程序设计 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试 经过上述各步骤后,解决问题的思路已经非常清楚,所以接下来就可以按流程图的顺序对每一个功

3、能框选用合适的指令编写出汇编语言程序。 3.4 汇编语言程序设计汇编语言程序设计 一、汇编语言程序设计的一般步骤一、汇编语言程序设计的一般步骤 分析课题分析课题 确定算法确定算法 画流程图画流程图 编写程序编写程序 上机调试上机调试在应用程序的设计中,几乎没有一个程序只经过一次编写就完全成功的,所以必须经过上机调试。 3.4 汇编语言程序设计汇编语言程序设计 1 1流程图的概念流程图的概念v流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2 2流程图符号表示流程图符号表示(1 1)开始框:表示程序的开始

4、。)开始框:表示程序的开始。开始二、流程图的画法规定条件NY结束(3 3)判断框)判断框 (2 2)处理框(执行框)处理框(执行框) (4 4)结束框)结束框3.4 汇编语言程序设计汇编语言程序设计 基本结构有基本结构有:顺序结构(线性结构)顺序结构(线性结构) 选择结构(分支结构)选择结构(分支结构) 循环结构循环结构 三种结构可以任意组合和嵌套构成复杂的程序。三、程序的基本结构三、程序的基本结构3.4 汇编语言程序设计汇编语言程序设计 这三种结构可归纳为这三种结构可归纳为五种逻辑结构:五种逻辑结构:(1 1)顺序结构)顺序结构(2 2)双分支结构)双分支结构(3 3)多分支结构)多分支结构

5、YN条件条件三、程序的基本结构三、程序的基本结构3.4 汇编语言程序设计汇编语言程序设计 YN(4)DO_UNTIL循环结构NY(5)DO_WHILE循环结构程序的逻辑结构格式三、程序的基本结构三、程序的基本结构3.4 汇编语言程序设计汇编语言程序设计 顺序程序:一种无分支的程序顺序程序:一种无分支的程序, , CPUCPU从第一条指令开始从第一条指令开始依次依次执行执行每一条指令每一条指令, ,直到最后一条指令。直到最后一条指令。特点特点:指令顺序执行,无分支、无循环、无转移。:指令顺序执行,无分支、无循环、无转移。三、程序的基本结构三、程序的基本结构例例1:编程计算:编程计算W=X+Y+2

6、4-Z.其中变量其中变量X,Y,Z均均为为16位数。位数。 a) X=19, Y=3, Z=1987 b) X=86,Y=25,Z=3253.4 汇编语言程序设计汇编语言程序设计 1、顺序结构、顺序结构例例1:编程计算:编程计算W=X+Y+24-Z.其中变量其中变量X,Y,Z均均为为16位数。位数。 a) X=19, Y=3, Z=1987; b) X=86,Y=25,Z=3253.4 汇编语言程序设计汇编语言程序设计 DATA SEGMENT ADD AX,YX DW 19 ADD AX,24Y DW 3 SUB AX, ZZ DW 1987 MOV W, AX W DW ? CODE EN

7、DSDATA ENDS END STARTCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, DATA MOV DS, AX MOV AX, X例例2:计算:计算7x+8y/2, 结果放到结果放到result单元,单元,x、y表示表示16位带符号数。位带符号数。x= +6 ;y= +7。 3.4 汇编语言程序设计汇编语言程序设计 DATA SEGMENT ADD AX, YX DW 6 MOV CL,3Y DW 7 SAL AX, CL result DW ? SUB AX, X DATA ENDS SAR AX, 1 CODE SEGMENT

8、 MOV result, AX ASSUME CS:CODE, CODE ENDS DS:DATA END STARTSTART: MOV AX, DATA MOV DS, AX MOV AX, X 3.4 汇编语言程序设计汇编语言程序设计 三、程序的基本结构三、程序的基本结构2、选择结构(分支结构)、选择结构(分支结构)例例3:符号函数:符号函数 1, X0 Y= 0, X=0 -1, X0 设设X为为8位有符号数。位有符号数。3.4 汇编语言程序设计汇编语言程序设计 例例3:MOV AL,XCMP AL, 0JGE BIGRMOV AL,-1JMP STOPBIGR: JE STOPMOV

9、 AL,1STOP: MOV Y, ALCODE ENDSEND START DATA SEGMENTX DB -18Y DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 3.4 汇编语言程序设计汇编语言程序设计 三、程序的基本结构三、程序的基本结构2、选择结构(分支结构)、选择结构(分支结构)例例4:比较变量:比较变量D1和和D2表示的表示的两个有符号数大小,将其中较两个有符号数大小,将其中较大数据放在大数据放在BX寄存器里面。寄存器里面。3.4 汇编语言程序设计汇编语言程序设计

10、MOV BX,D1 CMP BX,D2 JGE NEXT MOV BX,D2NEXT: NOPCODE ENDS END START DATA SEGMENTD1 DW -123;补码为补码为FF85HD2 DW -120;补码为补码为FF88HDATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 例例4:比较变量:比较变量D1和和D2表示的两个有符号数大小,表示的两个有符号数大小,将其中较大数据放在将其中较大数据放在BX寄存器里面。寄存器里面。3.4 汇编语言程序设计汇编语言程序设计 三、程序

11、的基本结构三、程序的基本结构2、选择结构(分支结构)、选择结构(分支结构)例例5:已知:已知X、Y、Z为三个无为三个无符号符号16位二进制数,求三者位二进制数,求三者中最大者,送中最大者,送MAX单元。单元。3.4 汇编语言程序设计汇编语言程序设计 MOV AX, X CMP AX, Y JAE XGY MOV AX, YXGY: CMP AX, Z JAE GMAX MOV AX, ZGMAX: MOV MAX,AXCODE ENDS END START DATA SEGMENTX DW 180Y DW 850Z DW 350MAX DW ? DATA ENDSCODE SEGMENT AS

12、SUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 例例5:已知:已知X、Y、Z为三个无符号为三个无符号16位二进制数,位二进制数,求三者中最大者,送求三者中最大者,送MAX单元。单元。 DO WHILE 结构图循环初始状态循环初始状态循环控制条件循环控制条件循环体循环体NY DO UNTIL 结构图循环初始状态循环初始状态循环体循环体循环控制条件循环控制条件YNDO WHILE结构结构把对循环控制条件的判把对循环控制条件的判断放在循环的入口,先断放在循环的入口,先判断条件,满足条件就判断条件,满足条件就执行循环体,否则就退执行循环体,否则

13、就退出循环出循环DO UNTIL结构结构先执行一次循环体,然先执行一次循环体,然后再判断控制条件,后再判断控制条件,不满足条件则继续执不满足条件则继续执行循环操作,一旦满行循环操作,一旦满足条件则退出循环足条件则退出循环3.4 汇编语言程序设计汇编语言程序设计 三、程序的基本结构三、程序的基本结构3、循环结构、循环结构循环程序都可由如下四部分组成:循环程序都可由如下四部分组成:(1 1)循环初始化部分)循环初始化部分(2 2)循环体)循环体(3 3)循环修改)循环修改(4 4)循环控制)循环控制3.4 汇编语言程序设计汇编语言程序设计 三、程序的基本结构三、程序的基本结构3、循环结构、循环结构

14、3.4 汇编语言程序设计汇编语言程序设计 三、程序的基本结构三、程序的基本结构3、循环结构、循环结构例例6:统计一个数据块中负数的个数:统计一个数据块中负数的个数,个数送,个数送RS中。中。3.4 汇编语言程序设计汇编语言程序设计 例例6:统计一个数据块中负数的个数,个数送:统计一个数据块中负数的个数,个数送RS中中DATA SEGMENTD1 DB -1,-3,5,6,9,-5COUNT EQU $-D1RS DW ? DATA ENDS3.4 汇编语言程序设计汇编语言程序设计 LEA BX, D1 MOV CX, COUNT MOV DX, 0LOP1: MOV AL,BX CMP AL,

15、0 JGE JUS INC DXJUS: INC BX DEC CX JNZ LOP1 MOV RS,DX CODE ENDS END START DATA SEGMENTD1 DB -1,-3,5,6,9,-5COUNT EQU $-D1RS DW ? DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX 例例6:统计一个数据块中负数的个数,个数送:统计一个数据块中负数的个数,个数送RS中中Data segmentMess1 db 45h,0c8h,96h,0,64h,0ffhMax db 1 dup(?)Data endsCode segment Assume cs:code,ds:dataStart: mov ax, data mov ds,ax mov bx, offset mess1 mov cx, 6 l1: mov al , bxl2: inc bx dec cx and

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论