oralce 汇编02
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的更多相关文章
- X86现代汇编·02
下面4这个寄存器只能用16位或3N位名称访问3N位寄存器 :ESI EDI EBP ESP 16位寄存器: SI DI BP SP 特殊用法:乘除指令默认用EAX默认使用ECX为循环计数器ESP用于寻 ...
- CS萌新的汇编学习之路02 Learning of Assembly Language
第二节课 寄存器 1. 寄存器的定义: 进行信息储存的器件,是CPU中程序员可以读写的部件,通过改变各种寄存器中的内容来实现对CPU的控制 2. 寄存器的种类: 本节课学习通用寄存器和段寄存器 2. ...
- Linux汇编教程02:编写第一个汇编程序
学习一门语言,最好的方式就是在运用中学习,那么在这一章节中,我们开始编写我们的第一个汇编程序.当然作为第一个程序,其实十分的简单,但可以给大家一个基本的轮廓,了解汇编大概是这样的. 我们这个程序实际上 ...
- 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 百篇博客分析OpenHarmony源码 | v23.02
百篇博客系列篇.本篇为: v23.xx 鸿蒙内核源码分析(汇编传参篇) | 如何传递复杂的参数 | 51.c.h .o 硬件架构相关篇为: v22.xx 鸿蒙内核源码分析(汇编基础篇) | CPU在哪 ...
- 汇编基础知识之二debug的使用
DEBUG的使用 (要在win32位习题下进行,win7 64位需要安装DosBox和debug这2个软件): 1:win64位下debug的使用教程: 下载debug.exe,这里我把debug放在 ...
- c 函数调用产生的汇编指令和数据在内存情况(1)
一直对函数调用的具体汇编指令和各种变量在内存的具体分配,一知半解.各种资料都很详细,但是不实践,不亲自查看下内存总不能笃定.那就自己做下. 两个目的: 一,函数和函数调用编译后的汇编指令基本样貌 二, ...
- Win32汇编环境配置
放假了,发现自己知识面窄,趁有时间就打算折腾下Win32汇编.其实在学校也上过汇编课,是基于dos的.那时老师不务正业,老跟我们讲政治经济文化,唯独不怎么讲课;再加上自己的问题,导致了dos汇编学得好 ...
- 经常使用ARM汇编指令
一面学习,一面总结,一面记录. 以下是整理在网上找到的一些资料,简单整理记录一下,方便以后查阅. ARM处理器的指令集能够分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.载入/存储指令. ...
- C语言的本质(31)——C语言与汇编之函数调用的本质
我们一段代码来研究函数调用的过程.首先我们写一段简单的小程序: int sum(int c, int d) { inte = c + d; returne; } int func(int a, int ...
随机推荐
- Actor Roles 图示
Udemy上的教程<Unreal Multiplayer Mastery - Online Game Development in C++>中对Actor Roles的总结非常直观到位,一 ...
- 巧用SimpleDateFormat将Date类型数据按照规定类型转换。
在使用SimpleDateFormat之前,我们来了解一下这个类.SimpleDateFormat is a concrete class for formatting and parsing dat ...
- 小程序中css3实现优惠券
效果如下: css3实现优惠券 知识储备 颜色渐变 linear-gradient() css伪类 :before :after index.wxss .app { /* padding: 20rpx ...
- Java heap size
今天在性能诊断工作中遇到 Java heap size, 下面是它的相关的概念. 什么是Java heap size ? Java heap size 堆栈大小, 指Java 虚拟机的内存大小.我的理 ...
- 【洛谷P1069 细胞分裂】
题目链接 首先,光看题就觉得它很扯淡(你哪里来这么多的钱来买试管) 根据某位已经ak过ioi的名为ych的神仙说(一看就是数学题,一看就需要因式分解,emm,我果然没有发现美的眼睛qwq) 那么我们就 ...
- 洛谷P4317 花(fa)神的数论题(数位dp解法)
日常废话: 完了高一开学第二天作业就写不完了药丸(其实第一天就写不完了) 传传传传传送 显然爆搜肯定过不了这道题但是有60分 我们注意到在[1,n]中,有着相同的1的个数的数有很多.若有x个数有i个1 ...
- .net 4.5 Test Async Task 异步测试
using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...
- 职位-CEO:CEO
ylbtech-职位-CEO:CEO 首席执行官(Chief Executive Officer,缩写CEO),职位名称,是在一个企业中负责日常事务的最高行政官员,主司企业行政事务,又称作司政.行政总 ...
- GMSSL中生成SM2或RSA1024或RSA2048的证书相关命令
1.生成KEY:gmssl sm2 -genkey -out 01.root.pemgmssl genrsa -out 01.root_plain.key 2048gmssl genrsa -out ...
- oracle DBID,SID,DB_NAME,DB_DOMAIN,INSTANCE_NAME,DB_UNIQUE_NAME, SERVICE_NAMES 及监听参数的说明
DBID,SID,DB_NAME,DB_DOMAIN,INSTANCE_NAME,DB_UNIQUE_NAME, SERVICE_NAMES 及监听参数的说明 DB 相关的: DBID, SIDPFI ...