汇编语言的程序,每一行,称为一个语句
每一行,有四个组成部分。
格式如下所示:
标号: *** 作码, *** 作数 ;注释
四部分中,每个部分,都可以不存在。
即,每个部分,都属于“非必须项”。
汇编语言的指令格式,目前有两种不同的标准:Windows下的汇编语言基本上都遵循Intel风格的语法,比如:MASM、NASM而Unix/Linux下的汇编语言基本上都遵循AT&T风格的语法一、汇编语言语句的通用格式
[名称[:]]
指令码
[第一 *** 作数][,第二 *** 作数]
注释
汇编语言的指令码的 *** 作数的个数可以是0、1、2个当 *** 作数的个数为2的时候,语句还有两种不同的格式:
Windows下Intel风格的汇编语言语句格式为:
[名称[:]]
指令码
目的 *** 作数DST,源 *** 作数SRC
注释
Unix/Linux下AT&T风格的汇编语言语句格式为:
[名称[:]]
指令码
源 *** 作数SRC,目的 *** 作数DST
注释
例如:
CYCLE:
ADD
AX,02H
(AX)<-(AX)+02H
解释:
汇编语言语句格式中的"名称"并不是所有语句都必需的,但是,如果语句中带有"名称",那么,大多数情况下,"名称"都表示的是内存中某一存储单元的地址,也就是"名称"后面各项在内存中存放的第一个存储单元的地址(包括该"名称"所在段的段地址和段内偏移地址)比如上面的指令中,CYCLE就是该语句的名称,CYCLE表示的就是其后面的机器指令码在内存中存放的第一个地址"名称"与指令码之间的分隔符可以是冒号":",也可以是空格字符"
"当以冒号分割时,该名称代表的是一个标号当以空格分割时,该名称代表的可能是标号,也可能是变量当指令码有多个 *** 作数的时候,相邻两个 *** 作数之间要用逗号","分割指令码与 *** 作数之间必须以空格分割汇编语言语句的注释必须以分号""开头
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)