第04章 80868088汇编语言程序设计_1.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1 程序设计语言概述 4.2 8086/8088汇编语言的基本语法 引例:求从1开始连续50个奇数之和,并将结果存放在名字为SUM的字存储单元中。 汇编源程序一般由若干段组成,每个段都有一个名字(叫段名),以SEGMENT作为段的开始,以ENDS作为段的结束,这两者(伪指令)前面都要冠以相同的名字。 段可以从性质上分为代码段、堆栈段、数据段和附加段4种。 每一行只有一条语句,且不能超过128个字符(从MASM 6.0开始可以是512个字符);但一条语句允许有后续行,最后均以回车作结束。 每一条汇编语句最多由4个字段组成,它们均按照一定的规则分别写在一个语句的4个区域内 ,各区域之间用空格或制表符(TAB键)隔开。 整个源程序必须以END语句来结束,它通知汇编程序停止汇编。END后面的标号START表示该程序执行时的起始地址。 汇编语言程序中至少要有一启动标号,作为程序开始时目标代码的入口地址。启动标号常用START、 BEGIN、MAIN等命名。 (一)汇编语言语句的种类和格式 1.语句的种类 在8086/8088汇编语言中,有3种基本语句: 指令语句 伪指令语句 宏指令语句 (1)指令语句:是一种执行性语句,它在汇编时,汇编程序将为之产生一一对应的机器目标代码。 例: 汇编指令 机器码 MOV DS,AX 8E D8 ADD AX,BX 03 C3 (2)伪指令语句:是一种说明性语句,它在汇编时只为汇编程序提供进行汇编所需要的有关信息,如定义符号,分配存储单元,初始化存储器等,而本身并不代表生成目标代码。 例: DATA SEGMENT AA DW 20H,-30H DATA ENDS (3)宏指令:是以某个宏名字定义的一段指令序列,在汇编时,凡有宏指令出现的地方都将用相应的指令序列的目标代码插入。 宏指令语句是一般性指令语句的扩展。 1.指令语句 2.伪指令语句 伪指令语句的格式 [名字]伪指令[参数表][;注释] 1.标号 1)标号的属性 标号表示指令地址,是指令的符号地址,它具有3种属性——段地址、段内偏移量(或相对地址)以及类型。 段值(SEG):标号所在段的起始地址 偏移量(OFFSET):段起点距离标号所指存储单元位置的字节数 类型(TYPE): NEAR , FAR 2)在指令的助记符之前,使用标号并紧跟一个冒号“:”, 表示该标号被定义为一个类型为NEAR的标号。 当然,标号也可单列一行 例如: subrout: mov ax,3000h 3)使用过程定义,为过程取的名字也是一个标号 Right PROC NEAR Right ENDP 4) 通常,“标号”只在循环、转移和调用指令中使用。 2.指令助记符 表达式是操作数的一种,由常量、变量、标号、寄存器与相关运算符组成,包括数值表达式和地址表达式。它的求值是由汇编程序完成的。 (1)常量是指那些在汇编过程中已经有确定数值的量,分“数值常量“与“符号常量”两种 (2)符号常量的定义需用伪操作命令(伪指令)“EQU”或“=” (3)一个能被计算并产生数值的表达式称为数值表达式 一个数值表达式可由常量、字符串常量以及代表常量或串常量的名字等以算术、逻辑和关系运算符连接而成。 例1:ONE  EQU 1 DATA1=2*12H MOV AX,DATA1+ONE 即把25H送AX。 (1)段属性:指该变量定义所在段的段地址,称为变量的段值。 (2)偏移属性:指该变量定义所处位置至段地址的字节距离,称为变量的偏移值。 (3)类型属性:指存取该变量所需字节数,可以是字节、字、双字、四字和十字节之一。 注意: 变量和标号的区别 1)变量是数据区的名字,表示存储器操作数的地址;而标号是指令地址的符号表示 2)变量的类型是数据项存取单位的字节数大小;而标号的类型是NEAR和FAR 变量和常量的区别 常量不占存储单元,而变量具有相应的存储空间。 数值表达式:在汇编时产生一数值,仅具有大小而无其他属性,可作为执行性指令中的立即操作数和数据区中的初值使用。 地址表达式:由变量、常量、标号、寄存器的内容和相关运算符组成的有意义

文档评论(0)

word.ppt文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档