电气知识|汇编语言的基本知识

   更新日期:2017-03-26     来源:建材之家    作者:安防之家    浏览:58    评论:0    
核心提示:一、汇编语言的语句格式 由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是: [标号]  指令助记符  [操作数]  [;注解] 其中用方括号括起来的部分,可以有也可以没有。每部分之间用空格(至少一个)分开,一行最多可有132个字符。 1.标识符 给指令或某一存储单元地址所起的名字。可由下列字

2019年中国陶瓷卫浴行业市场发展趋势和需求预判

推荐简介:2019年中国陶瓷卫浴行业市场发展趋势和需求预判第一、市场需求总量会略有萎缩,主要是楼市成交后,装修动力不足;但不会有大的萎缩,市场份额会稳定在65-70亿㎡之间,行业整体形势稳定,不会有太大起伏,行业不会出现灾难性后果,更加不会崩盘;第二、大量低端生产企业、没有创新能力、市场营销比较传统的生产型企业、营销公司将批量退出建材市......
安防之家讯:一、汇编语言的语句格式

由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。每个语句由1~4个部分组成,其格式是:

[标号]指令助记符[操作数][;注解]

其中用方括号括起来的部分,可以有也可以没有。每部分之间用空格(至少一个)分开,一行最多可有132个字符。

1.标识符

给指令或某一存储单元地址所起的名字。可由下列字符组成:

字母:A ~ z ; 数字:0 ~ 9 ; 特殊字符:?、· 、@、一、$ 。

数字不能作标识符的第一个字符,而圆点仅能用作第一个字符。标识符最长为31个字符。当标识符后跟冒号时,表示是标号。它代表该行指令的起始地址;当标识符后不带冒号时,表示变量;伪指令前的标识符不加冒号。

2.指令助记符

表示不同操作的指令,可以是8086的指令助记符,也可以是伪指令。

3.操作数

指令执行的对象。依指令的要求,可能有一个、两个或者没有,

例如: RET;无操作数

COUNT: INCCX;一个操作数

如果是伪指令,则可能有多个操作数,例如:

COSTDB3,4,5,6,7;5个操作数

MOVAX,[BP+4];第二个操作数为表达式

4.注解

该项可有可无,是为源程序所加的注解,用于提高程序的可读性。

二、汇编语言的运算符

1.算术运算符、逻辑运算符和关系运算符

算术运算符可以应用于数字操作数,结果也是数字。而应用于存储器操作数时,只有+、-运算符有意义。

2.取值运算符SEG、OFFSET、TYPE、SIZE和LENGTH

· SEG和OFFSET分别给出一个变量或标号的段地址和偏移量。

例如,定义:SLOTDW25

则: MOVAX,SLOT;从SLOT地址中取一个字送入AX

MOVAX,SEGSLOT;将SLOT所在段的段地址送入AX

MOVAX,OFFSETSLOT;将SLOT所在段的段内偏移地址送AX

· TYPE操作符返回一个表示存储器操作数类型的数值。各种存储器地址操作数类型部分的值如表4-1所示。



·LENGTH和SIZE操作符只应用于数据存储器操作数。(用DB/DW/DD等定义的操作数)

LENGTH返回一个与存储器地址操作数相联系的单元数,

SIZE操作数返回一个为存储器操作数分配的字节数。

例如:若MULT-WORD DW 50DUP(0)

则LENGTH(MULT-WORD)=50

SIZE(MULT-WORD)=100

注意:SIZE(X)=(LENGTH X)*(TYPE X)

3.属性运算符

属性运算符用来给指令中的操作数指定一个临时属性,而暂时忽略当前的属性。常用的有:

(1) 合成运算符PTR

它作用于操作数时,则忽略了操作数当前的类型(字节或字)及属性(NEAR或FAR),而给出一个临时的类型或属性,

一般格式:类型PTR 表达式

功能:建立一个存储器地址操作数,它与其后的存储器地址操作数有相同的段地址偏移量,但有不同的类型。

例如:SLOTDW25

此时SLOT已定义成字单元。若我们想取出它的第一个字节内容,则可用PTR对其作用,使它暂时改变为字节单元,即 MOVAL,BYTEPTRSLOT

三、表达式

由运算符和操作数组成的序列,在汇编时产生一个确定的值。这个值可以仅表示一个常量,也可以表示一个存储单元的偏移地址,相应的表达式称为常量表达式和地址表达式。

1. 常数

汇编语言语句中出现的常数可以有7种:

① 二进制数后跟字母B,如01000001B。

② 八进制数后跟字母Q或O,如202Q或202O。

③ 十进制数 后跟D或不跟字母,如85D或85。

④ 十六进制数后跟H,如56H,0FFH。注意,当数字的第一个字符是A~F时,在字符前应添加一个数字0,以示和变量的区别。

另有,十进制浮点数、十六进制实数、字符和字符串

2.常量操作数

常量操作数是一个数值操作数,一般是常量或者是表示常量的标识符。可以为数字常量操作数或字符串常量操作数。前者可采用二进制、八进制、十进制或十六进制等计数形式;而后者则为相应字符的ASCII码。

3.存储器操作数

存储器操作数是一个地址操作数,代表一个存储单元的地址,通常以标识符的形式出现。

存储器操作数可以分为变量及标号两种类型,如果存储器操作数所代表的是某个数据在数据段、附加段或堆栈段中的地址,那么这个存储器操作数就称为变量;如果存储器操作数所代表的是某条指令代码在代码段中的地址,那么这个存储器操作数称为标号。(http:///版权所有)变量所对应的存储单元内容在程序的运行过程中是可以改变的,标号通常作为转移指令或调用指令的目标操作数,在程序运行过程中不能改变。

存储器操作数有三个方面的属性。

(1) 段地址:即存储器操作数所对应的存储单元所在段的段地址;

(2) 偏移地址:即存储器操作数所对应的存储单元在所在段内的偏移地址;

(3) 类型:变量的类型是相应存储单元所存放的数据项的字节数;而标号的类型则反映了相应存储单元地址在作为转移或调用指令的目标操作数时的寻址方式,可有两种情况,即NEAR和FAR。具体值可见表4-1

4.常量表达式

由常量操作数及运算符构成,在汇编时产生一个常量。

如PORT、VAL+1、 OFFSET SUM、SEG SUM、TYPE CYCLE等。

5.地址表达式

由存储器操作数与运算符构成,必须有明确的物理意义。

例如SUM+2、CYCLE-5

表达式SUM+2、CYCLE-5的值仍然是一个存储器操作数,该存储器操作数的段地址与类型属性分别与存储器操作数SUM及CYCLE相同,但偏移地址分别比SUM及CYCLE大2或小5。表达式是在汇编时计算的,而变量单元的内容在程序的运行过程中可以改变。

四、汇编语言程序汇编步骤

汇编语言程序要能在机器上运行,还必需将汇编源程序汇编成可执行程序。为此必须完成以下几个步骤。

1.编辑源程序

2.调用宏汇编对源程序进行汇编

3.对目标程序进行连接

4.运行可执行程序并调试

安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/
小程序码
 
打赏
 
更多>文章标签:安防监控
更多>同类安防监控资讯
0相关评论

推荐图文更多...
点击排行更多...
安防监控商机更多...
安防监控圈更多...
最新视频更多...
推荐产品更多...
水泥之家 | 橱柜之家 | 机械之家 | 水电之家 | 五金之家 | 家电之家 | 饰品头条 | 墙布头条 | 家纺头条 | 塑料头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 陶瓷之家 | 照明之家 | 防水之家 | 防盗之家 | 博一建材 | 卫浴之家 | 区快洞察 | 漳州建材 | 泉州建材 | 三明建材 | 莆田建材 | 合肥建材 | 宣城建材 | 池州建材 | 亳州建材 | 六安建材 | 巢湖建材 | 宿州建材 | 阜阳建材 | 滁州建材 | 黄山建材 | 安庆建材 | 铜陵建材 | 淮北建材 | 马鞍山建材 |
建材 | 双碳之家 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号
(c)2015-2017 BO-YI.COM SYSTEM All Rights Reserved
Powered by 安防之家