zoukankan      html  css  js  c++  java
  • 汇编基础--标识符、标号、伪指令和指令

    注:本文是以MASM的语法格式为基础的,大部分内容参考《Intel汇编语言程序设计 第五版》

    1、标识符

      标识符是程序员自己定义的名字,用来标识变量、常量、过程或代码标号。创建标识符时要注意:

    1)标识符可以包含1~247个字符;

    2)标识符大小写不敏感(MASM默认不敏感);

    3)标识符的第一个字符必须是字母、下划线、@、?或$,后续字符可以是数字;

    4)标识符不能与汇编器的保留字相同。

      在汇编时,可以使用命令行的 -Cp选项来使所有关键字和标识符大小写敏感。

    2、标号

      标号是充当指令或数据位置标记的标识符。放置在一条指令之前的标号表明了该指令的地址,类似的,房子在变量之前的标号表明了该变量的地址。

    1)数据标号:

      数据标号标识了变量的地址,为在代码中引用该变量提供了方便,如:

    count DWORD 100        ;定义了一个名为count的变量

    2)代码标号:

      程序代码区中的标号必须以冒号(:)结尾。代码标号通常用作跳转和循环指令的目标地址,如:

    loop:
        jmp loop            ;跳到loop处执行代码,这是一个死循环

      代码标号可以与指令在同一行也可以独自成一行。

    3、伪指令

      伪指令是内嵌在程序源代码中,由汇编器识别并执行相应动作的命令。与真正的指令不同,伪指令在程序运行时并不执行。伪指令可用于定义变量、宏以及过程,可用于命名段以及执行许多其他与汇编器相关的簿记任务。MASM中伪指令大小写不敏感,.data和.DATA是等价的。每个汇编器都有一套不同的伪指令,例如,TASM以及NASM和MASM的伪指令有一个公共的交集,而GNU汇编器与MASM的伪指令几乎完全不同。

    4、指令

      汇编语句中的指令是一条汇编语句。一条汇编指令包含四个基本部分:标号、指令助记符(操作码)、操作数(0个或多个)、注释。其中,标号和注释是可选的。

    1)标号:见第2条;

    2)指令助记符:用于辅助记忆,如 MOV、SUB等;

    3)操作数:

    4)注释:以分号(;)字符开始,分号后的内容为注释内容,汇编器会忽略同一行上分号后面所有的内容;

         另外:在 as86汇编中,也可以使用感叹号(!)作为注释标志;

            在 AT&T汇编中,使用井号 (#)作为注释标志。

  • 相关阅读:
    Java
    一个web项目web.xml的配置中<context-param>配置作用
    JVM之几种垃圾收集器简单介绍
    JVM日志和参数的理解
    Java GC日志查看
    Java-性能调优-理解GC日志
    理解Java的GC日志
    tomcat打印GC日志
    快速解读GC日志
    Java 堆内存
  • 原文地址:https://www.cnblogs.com/tongye/p/9368807.html
Copyright © 2011-2022 走看看