微机原理与接口技术_04语言程序基础.ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术_04汇编语言程序基础剖析

本章主要内容 4.1 机器语言与汇编语言 程序设计语言按其级别可以划分为机器语言、汇编语言和高级语言三大类。 1.机器语言 机器语言就是计算机指令系统。用机器语言编的程序可以被计算机直接执行。 2.汇编语言 汇编语言用助记符来代替机器指令的操作码和操作数,如用ADD表示加法,SUB表示减法,MOV表示传送数据等。 4.2 汇编语言的基本语法 4.2.1 语句格式 汇编语言的源程序是由若干条语句构成的,每条语句可以由四项构成,格式如下。 [标识符] 操作码 操作数 [;注释] 其中,标识符用来对程序中的变量、常量、段、过程等进行命名,它是组成语句的一个常用成分,它的命名应符合下列规定。 (1)标识符是一个字符串,第一个字符必须是字母、“?”、“@”或“_”这四种字符中的一个。 (2)从第二个字符开始,可以是字母、数字、“?”、“@”、“_”。 (3)一个标识符可以由1~31个字符组成。 4.2.2 语句类型与结构 1.指令性语句的结构 [标号:][前缀] 指令助记符 [操作数][;注释] 说明: (1)方括号中的成分可以选用或默认。 (2)标号是后面紧跟“:”的一个标识符,标号代表该行指令在存储器中的首地址,标号可作为转移指令和调用指令的一个操作数。 (3)前缀包括重复前缀、总线封锁前缀等。 (4)操作数可以是一个、两个或没有,由指令类型决定,若有两个操作数,前面为目的操作数,后面为源操作数,中间用逗号隔开。 (5)注释是以“;”开始的字符串,不影响程序的汇编与执行,仅用于增加源程序的可读性。 4.2.3 汇编语言中的表达式 表达式由操作数和运算符组成,在汇编时一个表达式得到一个值。表达式分为数值表达式和地址表达式。 1.表达式中的常量 常量是在汇编时已经确定的常数值,常量可以是数据和字符。常量表示一个固定的数值,它又分成多种形式。 (1)常数:指由10、16、2和8进制形式表达的数值。 (2)字符串:字符串常量是用单引号或双引号括起来的单个字符或多个字符,其数值是每个字符对应的ASCII码值。 4.2.4 汇编语言的运算符 1.算术运算符 算术运算符包括+(加)、-(减)、*(乘)、/(除)、MOD(模除)、SHL(左移)、SHR(右移)。其中,除号只取商,模除只取余,SHL一次相当于乘2,SHR一次相当于除2。 2.逻辑运算符 逻辑运算符包括AND(与)、OR(或)、XOR(异或)、NOT(非)四种。逻辑运算符只出现在语句的操作数部分,运算在汇编时完成;逻辑操作指令只出现在指令的操作码部分,运算在执行指令时完成。 3.关系运算符 关系运算符包括EQ(等于)、NE(不等)、LT(小于)、GT(大于)、LE(小于等于)、GE(大于等于)共六种。它们对两个运算对象进行比较操作,若满足条件,表示运算结果为真“TRUE”,输出结果为全“1”;若比较后不满足条件,则运算结果为假“FALSE”,输出结果为全“0”。 4.分析运算符 分析运算符的操作对象必须是存储器操作数,即变量、标号或过程名。返回的结果是一个数值常量。 1)SEG运算符 取段地址运算符,该运算返回变量或标号所在段的段地址(字常量)。 2)OFFSET运算符 取段内偏移地址符,该运算返回变量或标号所在段的段内偏移地址。 3)TYPE运算符 取类型属性运算符,该运算返回变量或标号的类型值。若运算对象是标号,则返回标号的距离属性值,若运算对象是变量,则返回变量类型所占字节数。 4)LENGTH运算符 取数组变量元素个数运算符,如果变量是用重复数据操作符DUP说明的,则返回DUP前面的数值(即重复次数);如果没有DUP说明,则返回值总是1。 5)SIZE运算符 取数组变量总字节数运算符,该运算符返回数组变量所占的总字节数,相当于LENGTH和TYPE两个运算符返回值的乘积。 5.分离运算符 1)LOW运算符 取地址表达式或16位绝对值低8位。 2)HIGH运算符 取地址表达式或16位绝对值高8位。 3)SHORT运算符 当转移指令的目标地址与该指令之间的距离在-128~127字节范围内时,可用SHORT运算符进行说明,以保证汇编程序能为该指令生成最短的机器码,从而提高运行效率。 6.组合运算符 1)“:”运算符 用来临时给变量、标号或地址表达式指定一个段属性。 2)PTR运算符 赋予表达式指定的类型,新的类型只在所处的指令内有效。格式为 类型 PTR 表达式 3)THIS运算符 该运算符和“=”(或EQU)伪指令连用,把它后面指定的类型属性或距离属性赋给当前的变量或标号。常用的格式为 变量或标号=THIS 属性 4)圆括号“( )”运算符 用来改变被括运算符的优先级别。 4.3

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档