第五章 宏汇编语言.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文档。上传文档
查看更多
第5章 汇编语言程序设计 常量、变量和标号 汇编语言的数据可以简单分为常量和变量 常量可以作为硬指令的立即数或伪指令的参数,变量主要作为存储器操作数 汇编语言语句中的名字和标号具有逻辑地址和类型属性,主要用做地址操作数,也可以作为立即数和存储器操作数 本节将详细讨论语句中的参数和操作数、名字和标号,并引出相关的伪指令和操作符 常量 常量表示一个固定的数值,它又分成多种形式 常数 字符串 符合常量 数值表达式 常数 指由10、16、2和8进制形式表达的数值,各种进制的数据以后缀字母区分,默认不加后缀字母的是十进制数 字符串 字符串常量是用单引号或双引号括起来的单个字符或多个字符 其数值是每个字符对应的ASCII码值 例如: ‘d’(等于64H) ‘AB’(等于4142H) ‘Hello, Assembly !’ 符号常量 符号常量使用标识符表达一个数值 MASM提供等价机制,用来为常量定义符号名 符号定义伪指令有“等价EQU”和“等号=”: 符号名 EQU 数值表达式 符号名 EQU 字符串 ;MASM 5.x不支持 符号名 = 数值表达式 EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。例如: X = 7 ;等效于:X qeu 7 X = X+5 ;“X EQU X+5”是错误的 数值表达式 数值表达式一般是指由运算符连接的各种常量所构成的表达式 汇编程序在汇编过程中计算表达式,最终得到一个确定的数值,所以也是常量 表达式的数值在程序运行前的汇编阶段计算,所以组成表达式的各部分必须在汇编时就能确定 汇编语言支持多种运算符(表) 我们经常使用的是加减乘除(+ - * / ) 例如: mov ax,3*4+5 ;等价于:mov ax,17 变量 变量代表内存操作数的存储地址 变量需要事先定义才能使用 变量定义(Define)伪指令为变量申请固定长度为单位的存储空间,并可以同时将相应的存储单元初始化 定义后的变量可以利用变量名等方法引用其中的数据,即变量的数值 变量的定义 变量定义的汇编语言格式为: 变量名 伪指令 初值表 变量名为用户自定义标识符,表示初值表首元素的逻辑地址,常称为符号地址。变量名也可以没有 初值表是用逗号分隔的参数,主要由常量、数值表达式或“?”组成。其中“?”表示未赋初值 多个存储单元如果初值相同,可以用复制操作符DUP进行定义: 重复次数 DUP(重复参数) 变量定义伪指令有DB、DW、DD等(表) 字节变量的定义DB(DefineByte) DB伪指令用于分配一个或多个字节单元,并可以将它们初始化为指定值 初值表中每个数据一定是字节量,存放一个8位数据: 可以是0~255的无符号数 或是-128~+127带符号数 也可以是字符串常数 字节变量 定义实例 ;数据段 X db a,-5 db 2 dup(100),? Y db ABC 字节变量的应用 mov al,X ;此处X表示它的第1个数据,故AL←a dec X+1 ;对X为始的第2个数据减1,故成为-6 mov Y,al ;现在Y这个字符串成为 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(DefineDoubleword) DD伪指令用于分配一个或多个双字单元,并可以将它们初始化为指定值 初值表中每个数据是一个32位的双字量: 可以是有符号或无符号的32位整数 也可以用来表达16位段地址(高位字)和16位的偏移地址(低位字)的远指针 vardd DD 0,? farpoint DD 变量的应用 变量具有存储单元的逻辑地址 程序代码中 通过变量名引用其指向的首个数据 通过变量名加减位移量存取以首个数据为基地址的前后数据 例题: 变量的定义 ;数据段 bvar1 db 100,64h,d ;字节变量:不同进制表达同一个数值,内存中有4个64H minint = 5 ;符号常量:minint数值为5,不占内存空间 bvar2 db -1,minint,minint+5 ;内存中数值依次为FFH,5,0AH db ?,2 dup(20h) ;预留一个字节空间,重复定义了

文档评论(0)

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

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

1亿VIP精品文档

相关文档