电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机原理与接口技术 教学课件 ppt 作者 李燕萍 华继钊 凌海云 04

61页
  • 卖家[上传人]:E****
  • 文档编号:89184067
  • 上传时间:2019-05-20
  • 文档格式:PPT
  • 文档大小:930.51KB
  • / 61 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、2019/5/20,1,第4章 汇编语言程序基础,2019/5/20,2,本章主要内容,4.1 机器语言与汇编语言,4.2 汇编语言的基本语法,4.3 伪 指 令,4.4 宏 指 令,4.5 DOS功能调用和BIOS中断简介,4.6 汇编语言程序设计方法,4.7 宏汇编程序设计,4.8 汇编语言上机及调试过程,2019/5/20,3,4.1 机器语言与汇编语言,2019/5/20,4,程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。 1机器语言 机器语言就是计算机指令系统。用机器语言编的程序可以被计算机直接执行。 2汇编语言 汇编语言用助记符来代替机器指令的操作码和操作数,如用ADD表示加法,SUB表示减法,MOV表示传送数据等。,2019/5/20,5,4.2 汇编语言的基本语法,2019/5/20,6,4.2.1 语句格式,汇编语言的源程序是由若干条语句构成的,每条语句可以由四项构成,格式如下。 标识符 操作码 操作数 ;注释 其中,标识符用来对程序中的变量、常量、段、过程等进行命名,它是组成语句的一个常用成分,它的命名应符合下列规定。 (1)标识符是一个字符串,

      2、第一个字符必须是字母、“?”、“”或“_”这四种字符中的一个。 (2)从第二个字符开始,可以是字母、数字、“?”、“”、“_”。 (3)一个标识符可以由131个字符组成。,2019/5/20,7,4.2.2 语句类型与结构,1指令性语句的结构 标号:前缀 指令助记符 操作数;注释 说明: (1)方括号中的成分可以选用或默认。 (2)标号是后面紧跟“:”的一个标识符,标号代表该行指令在存储器中的首地址,标号可作为转移指令和调用指令的一个操作数。 (3)前缀包括重复前缀、总线封锁前缀等。 (4)操作数可以是一个、两个或没有,由指令类型决定,若有两个操作数,前面为目的操作数,后面为源操作数,中间用逗号隔开。 (5)注释是以“;”开始的字符串,不影响程序的汇编与执行,仅用于增加源程序的可读性。,2019/5/20,8,2指示性语句的结构 名字 伪指令助记符 操作数;注释 说明: (1)名字可以是符号常量名、变量名、过程名、段名等,名字后面不能有“:”。 (2)伪指令助记符共有四十多个,按功能不同分成八类,本章介绍常用的五类共二十多个。 (3)操作数可少到一个没有,多到两个以上,操作数之间须用逗

      3、号分隔。,2019/5/20,9,3宏指令语句的结构 宏名 宏操作助记符 操作数;注释 说明: (1)宏名即宏指令名,是一个标识符,宏名后面不能有“:”。 (2)宏操作助记符共有8个,分别是MACRO、ENDM、EXITM、LOCAL、REPT、IRPC、IRP、PURGE。 (3)其余同指示性语句。,2019/5/20,10,4.2.3 汇编语言中的表达式,表达式由操作数和运算符组成,在汇编时一个表达式得到一个值。表达式分为数值表达式和地址表达式。 1表达式中的常量 常量是在汇编时已经确定的常数值,常量可以是数据和字符。常量表示一个固定的数值,它又分成多种形式。 (1)常数:指由10、16、2和8进制形式表达的数值。 (2)字符串:字符串常量是用单引号或双引号括起来的单个字符或多个字符,其数值是每个字符对应的ASCII码值。,2019/5/20,11,2表达式中的变量 常以变量名的形式出现在程序中,可以看作是存放数据的存储单元的符号地址,它用来定义存储器中的数据。变量具有三种属性。 (1)段属性(SEG):变量所在段的段地址。 (2)偏移地址属性(OFFSET):变量所在段的段内偏移

      4、地址。 (3)类型属性(TYPE):变量占用存储单元的字节数。,2019/5/20,12,3表达式中的标号 标号是给指令性语句所在单元地址取的名字,它表明该指令在存储器中的位置,可作为转移类指令的操作数。它有以下三种属性。 (1)段属性:标号所在段的段地址。 (2)偏移地址属性:标号所在段的段内偏移地址。 (3)类型(距离)属性:NEAR,近标号,表示该标号在段内使用;FAR,远标号,表示该标号在段间使用。,2019/5/20,13,4.2.4 汇编语言的运算符,1算术运算符 算术运算符包括(加)、(减)、*(乘)、/(除)、MOD(模除)、SHL(左移)、SHR(右移)。其中,除号只取商,模除只取余,SHL一次相当于乘2,SHR一次相当于除2。 2逻辑运算符 逻辑运算符包括AND(与)、OR(或)、XOR(异或)、NOT(非)四种。逻辑运算符只出现在语句的操作数部分,运算在汇编时完成;逻辑操作指令只出现在指令的操作码部分,运算在执行指令时完成。,2019/5/20,14,3关系运算符 关系运算符包括EQ(等于)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等

      5、于)共六种。它们对两个运算对象进行比较操作,若满足条件,表示运算结果为真“TRUE”,输出结果为全“1”;若比较后不满足条件,则运算结果为假“FALSE”,输出结果为全“0”。,2019/5/20,15,4分析运算符 分析运算符的操作对象必须是存储器操作数,即变量、标号或过程名。返回的结果是一个数值常量。 1)SEG运算符 取段地址运算符,该运算返回变量或标号所在段的段地址(字常量)。 2)OFFSET运算符 取段内偏移地址符,该运算返回变量或标号所在段的段内偏移地址。,2019/5/20,16,3)TYPE运算符 取类型属性运算符,该运算返回变量或标号的类型值。若运算对象是标号,则返回标号的距离属性值,若运算对象是变量,则返回变量类型所占字节数。 4)LENGTH运算符 取数组变量元素个数运算符,如果变量是用重复数据操作符DUP说明的,则返回DUP前面的数值(即重复次数);如果没有DUP说明,则返回值总是1。 5)SIZE运算符 取数组变量总字节数运算符,该运算符返回数组变量所占的总字节数,相当于LENGTH和TYPE两个运算符返回值的乘积。,2019/5/20,17,5分离运算符

      6、1)LOW运算符 取地址表达式或16位绝对值低8位。 2)HIGH运算符 取地址表达式或16位绝对值高8位。 3)SHORT运算符 当转移指令的目标地址与该指令之间的距离在128127字节范围内时,可用SHORT运算符进行说明,以保证汇编程序能为该指令生成最短的机器码,从而提高运行效率。,2019/5/20,18,6组合运算符 1)“:”运算符 用来临时给变量、标号或地址表达式指定一个段属性。 2)PTR运算符 赋予表达式指定的类型,新的类型只在所处的指令内有效。格式为 类型 PTR 表达式 3)THIS运算符 该运算符和“”(或EQU)伪指令连用,把它后面指定的类型属性或距离属性赋给当前的变量或标号。常用的格式为 变量或标号=THIS 属性 4)圆括号“( )”运算符 用来改变被括运算符的优先级别。,2019/5/20,19,4.3 伪 指 令,2019/5/20,20,4.3.1 符号定义伪指令,1EQU伪指令 格式:名字 EQU 表达式 功能:将数值或字符序列与一个指定的名字等价。 2“”伪指令 与EQU具有相同的功 3LABEL伪指令 格式:变量或标号名 LABEL 类型 功能

      7、:为当前存储单元定义一个指定类型的变量名或标号。能,区别仅在于“”定义的符号允许重新定义。,2019/5/20,21,4.3.2 变量定义伪指令,常用的变量定义伪指令有DB、DW、DD、DQ、DT,分别用来定义字节、单字、双字、四字及十字节类型变量。基本应用格式如下。 变量名 DBDWDDDQDT 表达式 其中,变量名是可选的; 中的伪操作指令必须选用一种,表达式有以下几种。,2019/5/20,22,1数值表达式 这种形式定义的变量具有表达式给定的数值初值。 例如: BETA DW 4*10H ;BETA为字类型,初值为64 2ASCII字符串 字符串必须用单引号括起来。DB伪指令为串中每一个字符分配一个字节单元,且自左到右按地址递增的顺序依次存放,字符个数不得超过255个。 例如: MSG DB STUDENT,2019/5/20,23,3地址表达式 地址表达式的运算结果是一个地址,因此只能用DW或DD定义。如果用DW定义,则将原变量或标号的偏移地址定义为新变量;如果用DD定义,则将原变量或标号的偏移地址和段地址分别置入新变量的低位和高位字中。,2019/5/20,24,4?表达式

      8、 表示所定义的变量未指定初值。 例如: BUF DW ? ;定义一个字变量BUF,初值为一随机数 5nDUP表达式 用于定义重复变量,DUP是重复数据操作符,n表示重复次数,括号内的表达式表示要重复的内容。DUP可以嵌套使用,即圆括号中的表达式又是一个带DUP的表达式。,2019/5/20,25,4.3.3 段定义伪指令,1SEGMENT和ENDS 1)语句格式 段名 SEGMENT 定位方式 组合方式 分类名 ;段内语句 段名 ENDS 其中,段名是为该段起的名字;定位方式、组合方式和分类名是可选的,选两个以上时,书写顺序必须与格式中的顺序一致。当某段作为堆栈段使用时,必须至少有组合方式STACK。,2019/5/20,26,2)组合方式 组合方式指出如何链接不同模块中的同名段,把不同模块中的同名段按照指定的方式组合起来。既便于程序运行,又可以达到有效使用存储空间的目的。组合方式有六种。 (1)PUBLIC (2)STACK (3)COMMON (4)MEMORY (5)数值表达式 (6)不指定方式。,2019/5/20,27,3)定位方式 定位方式通过汇编告知LINK程序如何将组合

      9、后的新段定位到存储器中。定位方式有四种。 (1)PARA方式 (2)BYTE方式 (3)WORD方式 (4)PAGE方式 4)分类名 指令对分类名相同的各模块中的所有段是如何处理的呢?LINK程序把各模块中分类名相同的所有段(段名未必相同)放在连续的存储区域内,但仍然是不同的段。分类名相同的各个段在链接时,先出现的在前,后出现的在后。分类名应用单引号括起来。,2019/5/20,28,2ORG伪指令 格式:ORG 表达式 功能:该指令后生成的目标代码,从表达式提供的偏移地址开始存放。 3GROUP伪指令 格式:组名 GROUP 段名1,段名2, GROUP是群或组的意思,用来把模块中若干不同名的段集合成一个组,并赋予一个组名,使它们都装在同一个逻辑段中(64K)。组内各段名间的跳转都可以看作是段内跳转。组名和段名一样,它表示该组的段地址。 4ASSUME 格式:ASSUME段寄存器:段名 ,段寄存器:段名 功能:告诉汇编哪个段寄存器将为哪个段名寻址。,2019/5/20,29,4.3.4 过程定义伪指令,子程序通常是具有某种特定功能的程序段,可供其他主程序多次调用。子程序通常以过程的形式编写。格式如下。 过程名 PROC 类型 RET 过程名 ENDP (1)过程名是为该过程取的名字。 (2)地址属性是指过程中第一个语句的地址。 (3)类型属性由格式中的类型指明,可以有NEAR和FAR两种 (4)RET为过程返回指令,不能省略,否则过程将无法返回。 (5)过程既允许嵌套定义,也允许嵌套调用。,2019/5/20,30,4.3.5 模块定义与通信伪指令,1NAME和END 格式: NAME 模块名 END 标号 2PUBLIC 格式:PUBLIC 符号表 功能:表示该模块中符号表中的符号常量、变量、标号、过程名等可以被其他模块 引用。,2019/5/20,31,3EXTRN 格式:EXTRN 符号:类型, 功能:表示在其他模块中定义过并说明为PUBLIC的那些符号,在本

      《微机原理与接口技术 教学课件 ppt 作者 李燕萍 华继钊 凌海云 04》由会员E****分享,可在线阅读,更多相关《微机原理与接口技术 教学课件 ppt 作者 李燕萍 华继钊 凌海云 04》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.