第4章80X86汇编语言程序设计-2课件.ppt

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

§4.2.1 数值型参数 1、在汇编语言中,指令参数有数值型,它的主要形式是常数和数值表达式。 2、指令参数还有地址型的,主要形式是标号和名字(变量名、段名、过程名等) 。 3、硬指令的操作数有立即数、寄存器和存储单元;其中立即数要用数值型参数表达,存储单元应该用地址型参数(存储器操作数)表达。;1.十进制常量:0~9数字序列,可以用字母D和d结尾,也可没有结尾字母; 2.二进制常量:以字母B结尾的0和1组成的数字序列; 3.八进制常量:以字母O或Q结尾的0~7数字序列; 4.十六进制常量:以字母H结尾的0~9和A~F(或a~f)的数字字母序列。 MASM提供了基数控制,.RADIX伪指令可以改变默认禁止 格式:.RADIX n 要求:n为2~16范围内任何数值 例:.RADIX 16;将默认基数改为16,没有后缀的都为16进制;5.字符串常量:用单引号或双引号括起来的一个或多个字符,这些字符用它的ASCII码值存储在内存中。 例如:’d’=64h,’AB’,’Hello ,Everybaody’ 6.符号常量:利用一个标识符表示一个数值,MASM中常用常量来定义符号名。符号定义伪指令有: (1)等价EQU伪指令(举例说明) 格式 :符号名 EQU 数值表达式 符号名 EQU 字符串 (2)等号=伪指令 格式:符号名=数值表达式;1、一般是由运算符连接的各种常数所构成的表达式 1)算术运算符(+、-、*、/、MOD),除加、减外其他运算符的参数必须是整数。 2)逻辑运算符(AND、OR、XOR、NOT),例: OR AL ,03H AND 45H 3)移位运算符(SHL、SHR),Mov al,0101b shl(2*2) 4)关系运算符(EQ、NE、GT、LT、GE、LE)用于比较和测试符号数值,MASM用FFFFH(补码-1)表示条件为真,用0000H表示条件为假。例:mov bx,((port LT 5) AND 20)OR((PORT GE 5)AND 30);5)高低分离符:取数值的高半部分和低半部分,HIGH、LOW,从一个字数值或符号常量中得到高、低字节,例:mov ah,HIGH 8765H MASM 6.0引入的HIGHWORD,LOWWORD取一个符号常量(不能是一般的常数)的高字或低字部分。 例:DD_VALUE EQU 0FFFF1234H MOV AX ,LOWWORD DD_VALUE;运算符的优先级表 表4.2;4.2.2 变量定义伪指令;格式:[变量名] 伪指令 操作数[,操作数,……](初值表) 1)变量名是用户自定义标识符,表示初值表首元素的逻辑地址,即用这个符号表示地址。 2)初值表是用逗号分割的参数,主要由数值常数,表达式,?(初值不确定),DUP(重复参数)组成 重复次数 DUP(重复参数);DQ伪指令用来定义四个字,其后的每个操作数都占有四个字; DF定义三字变量伪指令 DT定义十字节变量伪指令;思考:执行下列汇编指令后数据段中数据的变化 MOV AL,X DEC X+1 MOV Y,AL;常用的数据定义伪指令:;数据定义伪指令的综合应用:;数据定义伪指令的综合应用:;ORG 参数 功能:将当前偏移地址指针指向参数表达式的偏移地址。 例:ORG 100h;从100H处安排数据或程序 ORG $+10;使偏移地址加10,即跳过10个字节的空间 $ 表示当前偏移地址;EVEN 伪指令 功能:EVEN伪指令使当前偏移地址指针指向偶地址,若原地址指针已指向偶地址,则不作调整;否则将地址指针加1,使地址指针偶数化。;举例:;(1)标号指示硬指令的地址 (2)变量名指示所定义变量的开始地址 (3)段名指示相应段的起始地址 (4)子程序名指示相应子程序的起始地址;(1)[],:,$ (2)偏移量属性OFFSET OFFSET 名字/标号 功能:返回名字或标号的偏移地址 (3)段属性SEG SEG 名字/标号 功能:返回名字或标号的段地址;(1)PTR操作符 格式:类型名 PTR 名字/标号 类型名可以是WORD/BYTE/DWORD/FWORD/QWORD/TBYTE MOV AL,BYTE PTR W_VAR JMP FAR PTR n_LABLE (2)THIS操作符 格式:THIS 类型名 功能:创建当前地址,具有指定的类型。类型名同PTR操作符中的类

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档