汇编基础--基本元素

作者在 2009-10-27 14:42:02 发布以下内容
   (1)整数常量:由符号(可选)开头,加上一个或多个数字以及一个表示数制基数的字符后缀(可选)构成:
    [+|-] digits [radix]
    radix(基数后缀)可以是以下之—(大小写均可):
    h十六进制,q/o八进制,d十进制,b二进制,r编码实数,t十进制(可选),y二进制(可选)。
    以字母开头的十六进制常量前面必须加一个0,以防止汇编编译器将其解释为标识符。
   (2)整数表达式
    算数运算符:()圆括号,+、-单目加减,*、/、MOD乘除取模,+、-加减。
   (3)实数常量 
    有两种类型的实数常量:十进制实数和编码(十六进制)实数。十进制实数常量由符号位整数部分、小数点、表示小数的整数和指数部分组成:
        [sign]integer.[integer][exponent]
    符号位和指数的描述如下:
        sign  +、-
        exponent  E[+|-]integer
    编码实数:如果推确地知道数字的二进制表示,那么可以用十六进制值指定编码实数常量。
   4)字符常量:字符常量是以单引号或双引号引起的单个字符。
   (5)字符串常量:字符串常量是以单引号或双引号引起的一串字符。
   (6)保留字
     ●指令助记符,例如MOV,ADD和MAU,这些是与intel处理器的内建操作相对应的。
     ●伪指令.用于告诉MASM如何编译程序。
     ●属性,用于为变量和操作数提供有关尺寸以及使用方式的信息,如BYTE和WORD。
     ●运算符,用在常量表达式中。
     ●预定义符号。
   (7)标识符:标识符是程序员选择的名字,用来识别变量、常量、过程或代码标号:
     ●标识符可包含127个字符。
     ●标识符对大小写不敏感。
     ●标识将的第一个字符必须是字母(A~Z和a~z)、下划线(_)、@或$,后续字符也可以是数字。
     ●标识符不能与汇编编译器的保留字相同。
    请尽量避免使用@符号作为标识符的首字符,因为@符号被编译器扩展用于预定义的符号。
   (8)伪指令:程序源代码被编译时由编译器识别和执行的命令。伪指令用于定义逻辑段、选择内存模式、定义变量和创建过程等。伪指令是汇编编译器语法格式的一部分,但与Intel指令集无关。各种不同的汇编编译器可以为Intel处理器生成相同的代码,但其伪指令集不必相同。
   (9)指令:在程序被加载至内存并且开始运行后,在运行期间由处理器执行的语句。一条指令包含4个基本部分:
     ●标号(可选)
     ●指令助记符(必需)
     ●操作数(通常需要)
     ●注释(可选)
    指令标准格式:
    标号:指令助记符 指令助记符 ;注释
    a.标号是充当指令或数据位置标记的标识符。汇编编译器在扫描源程序的过程中为每条程序语句分配了一个数字地址。放置在一条指令之前的标号表明了该指令的地址,类似地,放置在变量之前的标号表明了变量的地址。
    代码标号:程序代码区(存放指令的地方)中的标号必须以冒号(:)结尾。在此位置,代码标号通常用作跳转和循环指令的目标地址。
    数据标号:如果一个标号用在程序的数据区(定义变量的地方)中,就不必用冒号结尾。标号命名的规则与标识符命名规则相同。数据标号的名字在同一源代码文
件中必须惟一
    b.指令助记符是一个简短的单词。用于标识某个指令要执行的操作,在英文字典中,助记符通常被描述为辅助记忆的工具。
    c.操作数: 一条汇编语言指令可以有0~3个操作数,每个操作数可以是寄存器、内存操作数、常量表达式或I/O端口。
    d.注释:程序作者同源代码的阅读者交流有关程序如何工作的信息的一条重要途径,程序清单顶部通常包含如下典型的信息:
     ●程序总体意图的简短描述。
     ●编写或修改程序的程序员的名字。
     ●程序编写以及修改的日期。
    注释可以用下面两种方法指定:
    ●单行注释:以分号(;)字符开始,编译器忽略同一行上分号后面所有的字符,因此可用来注释程序。
    ●块注释.以COMMENT伪指令以及一个用户定义的符号开始,编译器忽略后面所有的文本行,直到另一个相同的用户定义符号出现。
   
   
   
    
    











汇编 | 阅读 1150 次
文章评论,共0条
游客请输入验证码
浏览21188次