微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章

上传人:E**** 文档编号:89246229 上传时间:2019-05-22 格式:PPT 页数:25 大小:74.51KB
返回 下载 相关 举报
微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章_第1页
第1页 / 共25页
微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章_第2页
第2页 / 共25页
微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章_第3页
第3页 / 共25页
微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章_第4页
第4页 / 共25页
微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章》由会员分享,可在线阅读,更多相关《微型计算机基本原理与接口技术(第二版) 教学课件 ppt 作者 陈红卫 主编 第四章(25页珍藏版)》请在金锄头文库上搜索。

1、主要内容 汇编语言基本概念 伪指令 汇编语言语句格式 典型汇编语言程序设计举例,第四章 汇编语言源程序设计,机器语言是计算机能够直接识别和执行的代码,由0和1组成。 汇编语言是用助记符形式表示的指令组成,它同机器语言的目标代码一一对应。 汇编语言源程序是用汇编语言编制而成的程序。 汇编是指把汇编语言源程序翻译成机器语言(目标代码)的过程。 汇编程序(Assembler)是指完成汇编过程的程序。,4.1 汇编语言基本概念,格式:nameoperation operand;comment名字项:符号,根据需要可有可无; 操作项:操作码的助记符; 操作数项:一或多个表达式,为执行程序提供所需要的操作

2、信息; 注释项:说明程序或语句的功能。“;”为注释项的开始。根据需要可有可无。 各项之间必须用空格符(space)或制表符(TAB)隔开。,4.3 汇编语言语句格式,4.3.1 名字项 源程序中用下列字符表示名字: 字母:AZ 数字:09 专用字符:?、 、-、$ 规定:数字不能用作名字的第一个字符,名字中若用到则必须是第一个字符,有效字符个数小于等于31,不得使用属于系统专用的保留字。 名字项一般可以是标号或变量,均有段属性,偏移属性,类型属性。,4.3.2 操作项 是语句中不可缺少的字段。 指令语句中,用指令助记符表示, 如MOV、ADD等。 伪指令语句中,用各种伪指令助记符表示, 如数据

3、定义伪指令DB、DW、DD。,4.3.3 操作数项 1 算术运算符 算术操作符有+、-、*、/和MOD。 例: 要求把首地址为BLOCK的字数组中的第6个字传送到DX寄存器。 可用指令:MOV DX,BLOCK+(6-1)*2 例: 如数组ARRAY定义如下,试写出把数组长度(字数)存入CX寄存器的指令。 ARRAY DW 1,2,3,4,5,6,7 ENDD DW ? 可用指令:MOV CX,(ENDD-ARRAY)/2,2逻辑运算符 逻辑操作符是按位操作的, 有AND、OR、XOR和NOT,只能用于数字表达式中。 例:AND DX,PORT_VAL AND 0FEH,3关系运算符 关系操作

4、符:EQ(相等)、NE(不等)、 LT(小于)、GT(大于)、 LE(小于或等于)、GE(大于或等于)六种例: MOV BX,(PORT_VAL LT 5)AND 20) OR (PORT_VAL GE 5)AND 30) 当PORT_VAL5时, 汇编结果是:MOV BX,30。,4数值回送运算符 数值回送操作符:有TYPE、LENGTH、SIZE、OFFSET、SEG TYPE 格式:TYPE Variable 或label 若符号是变量,则回送值:DB为1、DW为2、 DD为4、DQ为8、DT为10; 若是标号,则回送值:NEAR为-1;FAR为-2。 例: ARRAY DW 1,2,3

5、 则对于指令ADD SI,TYPE ARRAY 汇编程序将其形成:ADD SI,2, LENGTH 格式:LENGTH Variable 使用DUP,则回送分配给该变量的单元数; 其它情况则回送1。 例:FEES DW 100 DUP(0) 指令MOV CX,LENGTH FEES 汇编程序将使其形成:MOV CX,100 例:TABLE DB ABCD 指令MOV CX,LENGTH TABLE 汇编程序将使其形成:MOV CX,1, SIZE 格式:SIZE Variable 汇编程序回送分配给该变量的字节数。 此值是LENGTH值和TYPE值的乘积。 例:FEES DW 100 DUP(

6、0) MOV CX,SIZE FFES 汇编程序将使其形成: MOV CX,200, OFFSET 格式:OFFSET Variable 或label 汇编程序将回送变量或标号的偏移地址值。 例:MOV BX,OFFSET OPER_ONE 与指令 LEA BX,OPER_ONE 等价。, SEG 格式:SEG Variable 或label 汇编程序将回送变量或标号的段地址值。 例:如果DATA_SEG是从存储器的05000H地址开始的一个数据段的段名,OPER1是该段中的一个变量名 则指令MOV BX,SEG OPER1 BX=0500H,5属性运算符 PTR 格式为:type PTR e

7、xpression 段超越前缀 用来表示一个标量、变量或地址表达式的段属性。 MOV AX,ES:BX+SI, SHORT 用来修饰JMP指令中转向地址的属性。 THIS 格式:THIS attribute 或type 象PTR一样建立一个指定类型,该操作数的段地址和偏移地址与下一个存储单元地址相同。 如:FIRST_TYPE EQU THIS BYTE WORD_TABLE DW 100 DUP(?), HIGH和LOW HIGH和LOW称为字节分离操作符,HIGH取其高位字节,LOW取其低位字节 如: CONST EQU 0ABCDH 则 MOV AL,HIGH CONST 将汇编成 MO

8、V AL,0ABH,4.4.1 汇编语言程序设计步骤 步骤: 分析题意,确定算法 根据算法画出程序框图 根据程序框图编写程序 上机调试程序,4.4 典型汇编语言程序设计举例,4.4.2 顺序程序设计 顺序结构的程序是一种使计算机按照指令存贮的顺序逐条执行指令。 例:计算两个两位压缩BCD数相加,假设相加结果仍然是2位压缩BCD。,DATA SEGMENT NUM1 DB 47H NUM2 DB 34H DATA1 DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:PUSH DS XOR AX,AX PUSH AX MOV AX,

9、DATA MOV DS, AX MOV AL, NUM1 MOV BL, NUM2 ADD AL,BL DAA MOV DATA1,AL MOV AH,4CH ;返回DOS INT 21H CODE ENDS END BEGIN,DATA SEGMENT NUM1 DB 47H NUM2 DB 34H DATA1 DB ? DATA ENDS,CODE SEGMENT ASSUME CS:CODE,DS:DATA BEGIN:PUSH DS XOR AX,AX PUSH AX MOV AX, DATA MOV DS, AX MOV AL, NUM1 MOV BL, NUM2 ADD AL,BL

10、 DAA MOV DATA1,AL MOV AH,4CH ;返回DOS INT 21H CODE ENDS END BEGIN,4.4.3 分支程序设计 分支程序是指指令的执行顺序与指令的存储顺序不一致的程序结构。 分支程序结构常用的两种形式:比较/测试分支结构和分支表(跳转表)结构。,1比较/测试分支结构实现分支程序设计 用条件转移指令实现,一条转移指令只能实现两个分支,可用对条件码的连续判断来实现多个分支程序。,2 用跳转表形成多路分支程序设计 利用跳转表可方便地实现多路分支程序设计,跳转表结构的程序流程。,01403011/2/3全体同学:大家好 让我们携手共同完成本课程学习! 谢谢大家,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号