第2章 汇编语言程序中指令和伪指令.ppt

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

第2章 汇编语言程序中的指令与伪指令;2.1 汇编语言的语句格式、 运算符及表达式;(2)命名 使用的字符有:字母A~Z,字母a~z ;不区别大小写。 数字0~9;数字不能作为名字的第一个字符。 专用字符 ? @ _ $ * . 等。其中“.”只能作为名字的第一个字符,“?”不能单独使用。 不能用汇编语言的指令助记符、伪指令名、寄存器名、及其他符号名, 如SEGMENT、START、SUM等等来命名。名字要好记易用。名字使用的字符长度不得超过31个。 合法的名字项,如:DATA1 STR $A1 A? .S2@ _CODE OA_2 fah …… 非法的名字项,如:3DATA,因数字打头; S.TR ,因“.”不在名字的第一个字符; $-A1 ,因含非法字符“-”; ? ,因“?”不能单独使用; .S%2 ,因含非法字符“%”; -CODE ,因含非法字符“-”; 0A_2,因0不能打头; MOV ,因MOV是指令助记符;;(3)名字属性 名字有3种属性:段属性、偏移属性及类型属性。这些属性可以 通过一些运算符重新指定或重新定义. 1)段(SEG)属性。表示名字所在段的段起始地址。 2)偏移(OFFSET)属性。表示名字在段内偏移地址,标号的偏 移地址存在IP(指令地址指针)中;变量的偏移地址是16位或 32位无符号数,位数取决于段的长度。 3)类型(TYPE)属性。 标号的类型:反映标号转移距离的属性称为标号的类型属性,有 三种类型:该标号在本段内引用,距离在–128~+127之间时称 短标号属性,记为SHORT,指令指针IP长度为1字节。若指明该 指令是段内使用,指令指针IP长度为2字节,距离在–32768~ +32767之间时称近标号属性,记为NEAR。而FAR指明该指令 是段外使用,指令指针IP长度为4字节,两个高字节指明段地 址,两个低字节指明偏移地址。 变量的类型主要定义该变量保留的字节数:DB,DW,DF(6个字 节长度),DD (双字,4个字节长度),DQ(8个字节长度),DT(10 个字节长度)等。对应的类型号1、2、4、6、8、10。;2.操作符 操作符就是指令、伪指令或宏指令的助记符。 对于指令,汇编程序把操作符翻译成机器语言指令,说明要机器“作什么?”; 对于伪指令,汇编程序根据操作符的提示,完成数据定??、分配存储区域、表达式赋值、指令系统的选择、地址计数器的设置与定位、指示源程序结束以及“宏定义”等等工作。 不产生机器语言指令,仅指示汇编程序怎样将源汇编程序翻译成目标程序。 对于宏指令,汇编程序根据操作符的提示,完成宏调用和宏展开。;3.操作数 操作数是操作符的操作对象,由一个或多个表达式(详见2.1.2操作数的表达式)组成,当有两个或两个以上的操作数时,各操作数之间用逗号隔开。 对于指令,操作数通常是操作数的地址表达式(请读者回忆“寻址方式”),如常数、寄存器,存储单元; 对于伪指令或宏指令,操作数通常是它们所要求的参数,要给出定义。 4.注释字段 注释字段是以“;”开头的说明部分,可以用英文或者中文书写。注释字段是语句的非执行部分,用来说明本条指令(或本段程序)在程序中的功能和作用。; 2.1.2 操作数及其表达式;2.表达式;2.1.3 操作数表达式中的运算符;3.关系运算符 有EQ(相等)、NE(不相等)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大于或等于)6种。其结果为逻辑值:结果为真,用–1的补码0FFFFH表示;结果为假,用0表示; 例如:10 LE 0AH是正确的,运算的结果是0FFFFH 4.分析运算符 分析运算符是对存储器地址进行运算的,又称数值回送运算符。5个:SEG(求段首址)、OFFSET(求偏移量)、TYPE(求变量类型)、LENGTH(求变量长度)和SIZE(求变量字节数)。 LENGTH(求变量长度)求变量复制次数的分析运算符,取DUP前面的数值, 例如:DATA1 DD 30 DUP(0,3 DUP(1), 2),这里(LENGTH DATA1)= 30 , 而对于 ARRAY2 DB 20,30 DUP(0),这里(LENGTH ARRAY2 )= 1。 但 ARRAY3 DB 20 DUP(0),20,这里(LENGTH ARRAY3 )=20。 ;SIZE (求变量字节数) ,有公式如下: SIZE 某变量 = (LENGTH 某变量) × (TYPE 某变量) 例如(SIZE DATA1)= 30×4

文档评论(0)

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

教师资格证持证人

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

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档