第4章+伪指令及汇编语言程序结构.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作符的优先级 1 () [] · LENGTH SIZE WIDTH MASK 2 PTR OFFSET SEG TPYE THIS : 3 HIGE LOW 4 * / MOD SHL SHR 5 + - 6 EQ NE GT LT GE LE 7 NOT 8 AND 9 OR XOR 10 SHORT 建议采用圆括号“( )”显式表达,它可以极大地提高程序的可阅读性 4.3 伪指令语句 ●何谓伪指令: 并非由CPU执行的指令,而是在汇编程序对源程序进行汇编期间,由汇编程序执行的操作。主要是为汇编程序服务的,为其提供一些必要的格式、信息等。可以处理器选择、存储模式定义、数据定义、存储器分配、指示程序开始结束等功能。 指令和伪指令采用易于记忆的符合表达,这就是助记符 ●伪指令语句格式: 标号名 伪指令 操作数 ;注释 , ◆处理器选择伪操作 ◆段定义伪操作 ◆程序开始和结束伪操作 ◆数据定义及存储器分配伪操作◆表达式赋值伪操作 ◆地址计数器与对准伪操作 ◆基数控制伪操作 标号、名字与标识符 标号是反映硬指令位置(逻辑地址)和属性的标识符,后跟一个冒号分隔。 名字是反映伪指令位置(逻辑地址)和属性的标识符,后跟空格或制表符分隔,没有冒号。 标识符(Identifier)一般最多由31个字母、数字及规定的特殊符号(如 _、$、?、@)组成,不能以数字开头。默认情况下,汇编程序不区别标识符中的字母大小写。 一个源程序中,每个标识符的定义是唯一的,还不能是汇编语言采用的保留字。 保留字 保留字(Reserved Word)是汇编程序已经利用的标识符(也称为关键字),主要有: 硬指令助记符——例如:MOV、ADD 伪指令助记符——例如:DB、DW 操作符——例如:OFFSET、PTR 寄存器名——例如:AX、CS 预定义符号——例如:@data 汇编语言大小写不敏感 操作数和参数 处理器指令的操作数可以是立即数、寄存器和存储单元。 伪指令的参数可以是常数、变量名、表达式等,可以有多个,参数之间用逗号分隔。 注释 语句中由分号“;”开始的部分为注释内容,用以增加源程序的可读性。 必要时,一个语句行也可以由分号开始作为阶段性注释。 汇编程序在翻译源程序时将跳过该部分,不对它们做任何处理。 分隔符 语句的4个组成部分要用分隔符分开。 标号后用冒号,注释前用分号。 操作数之间和参数之间使用逗号分隔。 其他部分通常采用空格或制表符。 多个空格和制表符的作用与一个相同。 MASM支持续行符 “\”。 一、数据定义及存储器分配伪操作指令 1、功能: 定义变量。变量主要用来定义存储器中的数据,在程序运行中,变量是可以被修改的运算对象。 2、格式: [变量名] DB/DW/DD 数据项表 [;注释] 单元地址 数据定义伪指令 数据表达式 变量定义伪指令最常使用 ●定义数据的操作符有: 字节定义——DB 字定义——DW 双字定义——DD 四字定义——DQ 十字节定义——DT 重复定义—— m DUP (n) (重复m次个数据 n ) 3、含义 在定义变量后,就为变量分配若干个存储单元,并由变量名作为单元起始地址,并把后跟数据存入指定单元即可。 字节变量的定义DB(Define Byte) DB伪指令用于分配一个或多个字节单元,并可以将它们初始化为指定值 初值表中每个数据一定是字节量,存放一个8位数据: 可以是0~255的无符号数 或是-128~+127带符号数 也可以是字符串常数 字节变量定义实例 ;数据段 X db a,-5 db 2 dup(100),? Y db ABC 字变量的定义DW(Define Word) DW伪指令用于分配一个或多个字单元,并可以将它们初始化为指定值 初值表中每个数据是字量,一个字单元可用于存放任何16位数据: 一个段地址 一个偏移地址 两个字符 0~65535之间的无符号数 -32768~+32767之间的带符号数 字变量定义实例 ;数据段 count dw 8000h,?,AB maxint equ 64h number dw maxint array dw maxint dup(0) 双字变量的定义DD(Define Double word) DD伪指令用于分配一个或多个双字单元,并可以将它们初始化为指定值 初值表中每个数据是一个32位的双字量: 可以是有符号或无符号的32位整数 也可以用来表达16位段地址(高位字)

文档评论(0)

微微 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档