- 1、本文档共87页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 电源输出功率和外电阻关系.doc
- 电源开关适配器检验标准和规范.doc
- 电缆型号和规格包括外径查询.doc
- 电磁阀和配管.doc
- 电缆截面选择方法和计算示例.doc
- 电磁场和电磁波(第四版)课后答案_第三章习题.ppt
- 电池主要性能检验标准和检测fangfa.ppt
- 电工学试题和答案.doc
- 疲劳载荷和分析理论.doc
- 病句判断和修改.ppt
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)