Assembler Directives

.align integer, pad
The .align directive causes the next data generated to be aligned modulo integer bytes.
Integer must be a positive integer expression and must be a power of 2. If specifed, pad is an
integer bye value used for padding. The default value of pad for the text section is 0x90
(nop); for other sections, the default value of pad is zero (0).

.ascii "string"
The .ascii directive places the characters in string into the object module at the current
location but does not terminate the string with a null byte (\0). String must be enclosed in
double quotes (") (ASCII 0x22). The .ascii directive is not valid for the .bss section.

.bcd integer
The .bcd directive generates a packed decimal (80-bit) value into the current section. The
.bcd directive is not valid for the .bss section.

.bss
The .bss directive changes the current section to .bss.

.bss symbol, integer
Defne symbol in the .bss section and add integer bytes to the value of the location counter
for .bss. When issued with arguments, the .bss directive does not change the current
section to .bss. Integer must be positive.

.byte byte1,byte2,...,byteN
The .byte directive generates initialized bytes into the current section. The .byte directive
is not valid for the .bss section. Each byte must be an 8-bit value.

.2byte expression1, expression2, ..., expressionN
Refer to the description of the .value directive.

.4byte expression1, expression2, ..., expressionN
Refer to the description of the .long directive.

.8byte expression1, expression2, ..., expressionN
Refer to the description of the .quad directive.

.comm name, size,alignment
The .comm directive allocates storage in the data section. The storage is referenced by the
identifer name. Size is measured in bytes and must be a positive integer. Name cannot be
predefned. Alignment is optional. If alignment is specifed, the address of name is aligned to
a multiple of alignment.

.data
The .data directive changes the current section to .data.

.double float
The .double directive generates a double-precision floating-point constant into the current
section. The .double directive is not valid for the .bss section.

.even
The .even directive aligns the current program counter (.) to an even boundary.

ext expression1, expression2, ..., expressionN
The .ext directive generates an 80387 80–bit floating point constant for each expression into
the current section. The .ext directive is not valid for the .bss section.

.file "string"
The .file directive creates a symbol table entry where string is the symbol name and
STT_FILE is the symbol table type. String specifes the name of the source fle associated with
the object fle

.float float
The .float directive generates a single-precision floating-point constant into the current
section. The .float directive is not valid in the .bss section.

.globl symbol1, symbol2, ..., symbolN
The .globl directive declares each symbol in the list to be global. Each symbol is either
defned externally or defned in the input fle and accessible in other fles. Default bindings
for the symbol are overridden. A global symbol defnition in one fle satisfes an undefned
reference to the same global symbol in another fle. Multiple defnitions of a defned global
symbol are not allowed. If a defned global symbol has more than one defnition, an error
occurs. The .globl directive only declares the symbol to be global in scope, it does not defne
the symbol.

.group group, section, #comdat
The .group directive adds section to a COMDAT group. Refer to “COMDAT Section” in
Linker and Libraries Guide for additional information about COMDAT.

.hidden symbol1, symbol2, ..., symbolN
The .hidden directive declares each symbol in the list to have hidden linker scoping. All
references to symbol within a dynamic module bind to the definition within that module.
Symbol is not visible outside of the module.

.ident "string"
The .ident directive creates an entry in the .comment section containing string. String is any
sequence of characters, not including the double quote ("). To include the double quote
character within a string, precede the double quote character with a backslash (\) (ASCII
0x5C)

.lcomm name, size, alignment
The .lcomm directive allocates storage in the .bss section. The storage is referenced by the
symbol name, and has a size of size bytes. Name cannot be predefned, and size must be a
positive integer. If alignment is specifed, the address of name is aligned to a multiple of
alignment bytes. If alignment is not specifed, the default alignment is 4 bytes.

.local symbol1, symbol2, ..., symbolN
The .local directive declares each symbol in the list to be local. Each symbol is defned in the
input fle and not accessible to other fles. Default bindings for the symbols are overridden.
Symbols declared with the .local directive take precedence over weak and global symbols.

oralce 汇编02的更多相关文章

  1. X86现代汇编·02

    下面4这个寄存器只能用16位或3N位名称访问3N位寄存器 :ESI EDI EBP ESP 16位寄存器: SI DI BP SP 特殊用法:乘除指令默认用EAX默认使用ECX为循环计数器ESP用于寻 ...

  2. CS萌新的汇编学习之路02 Learning of Assembly Language

    第二节课  寄存器 1. 寄存器的定义: 进行信息储存的器件,是CPU中程序员可以读写的部件,通过改变各种寄存器中的内容来实现对CPU的控制 2. 寄存器的种类: 本节课学习通用寄存器和段寄存器 2. ...

  3. Linux汇编教程02:编写第一个汇编程序

    学习一门语言,最好的方式就是在运用中学习,那么在这一章节中,我们开始编写我们的第一个汇编程序.当然作为第一个程序,其实十分的简单,但可以给大家一个基本的轮廓,了解汇编大概是这样的. 我们这个程序实际上 ...

  4. 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 百篇博客分析OpenHarmony源码 | v23.02

    百篇博客系列篇.本篇为: v23.xx 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪 ...

  5. 汇编基础知识之二debug的使用

    DEBUG的使用 (要在win32位习题下进行,win7 64位需要安装DosBox和debug这2个软件): 1:win64位下debug的使用教程: 下载debug.exe,这里我把debug放在 ...

  6. c 函数调用产生的汇编指令和数据在内存情况(1)

    一直对函数调用的具体汇编指令和各种变量在内存的具体分配,一知半解.各种资料都很详细,但是不实践,不亲自查看下内存总不能笃定.那就自己做下. 两个目的: 一,函数和函数调用编译后的汇编指令基本样貌 二, ...

  7. Win32汇编环境配置

    放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...

  8. 经常使用ARM汇编指令

    一面学习,一面总结,一面记录. 以下是整理在网上找到的一些资料,简单整理记录一下,方便以后查阅. ARM处理器的指令集能够分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.载入/存储指令. ...

  9. C语言的本质(31)——C语言与汇编之函数调用的本质

    我们一段代码来研究函数调用的过程.首先我们写一段简单的小程序: int sum(int c, int d) { inte = c + d; returne; } int func(int a, int ...

随机推荐

  1. RedisTemplate访问Redis数据结构(前言)

    Redis五种基本数据结构 redis提供键值对的形式对数据进行存储.支持五种数据类型:String(字符串),List(链表),Hash(散列),Set(无序集合),ZSet(有序集合).下面是网上 ...

  2. mktime夏令时处理

    https://www.cnblogs.com/dongzhiquan/archive/2011/11/05/2237075.html 我们的最终目的是把字符串格式的时间转换为内部使用的“日历时间”, ...

  3. textarea组件

    textarea组件:多行输入框:(文本域) textarea组件属性: value:类型 字符串 输入框的内容 placeholder:类型 字符串 输入框为空时的占位符 placeholder-s ...

  4. benchmarks

    系统性能测试 stream SPARK 测试 streaming benchmark https://github.com/yahoo/streaming-benchmarks

  5. P1080国王游戏

    传送 最大值最小什么的一看就是二分了qwq 然鹅并不知道怎么检查,所以我们换个思路 我们要求出最小的最大值,这肯定和大臣的排列有关,会不会有什么规律? 先看看只有两个大臣的情况 排列:1 2,ans1 ...

  6. 二十六、python中json学习

    1.json序列介绍:提供4个关键字:dumps,dump,loads,load(与pickle用法完全相同) 语法:f.write(bytes(json.dumps(dict),encoding=& ...

  7. 【tensorflow使用笔记一】:安装linux下tensorflow环境的问题

    首先安装Python Python2.7 使用pip安装Python-numpy发现有老版本影响import直接手动删除: 安装default-jdk顺利: 安装matplotlib发现没有tkint ...

  8. 设计模式-Runoob:设计模式简介

    ylbtech-设计模式-Runoob:设计模式简介 1.返回顶部 1. 设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用.设计模式是 ...

  9. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_4_Vector集合

    是jdk1.0开始的一个集合,了解一下就可以了. 同步的意味着单线程.同步意味着慢 遍历在jdk1.0还没有Interator遍历器..它是通过elements Enumeration向量枚举.类似于 ...

  10. Delphi 遍历类中的属性

    http://blog.csdn.net/easyboot/article/details/8004954 Delphi 遍历类中的属性 标签: delphistringbuttonclassform ...