x86汇编语言-01
来源:互联网 发布:爬虫软件干嘛用 编辑:程序博客网 时间:2024/06/05 23:55
第二部分:汇编语言程序设计基础
第五章:传送数据
1.定义数据元素(GNU汇编器)
<1>.数据段
.data 段声明
需要一个标签与一个命令
标签:代表内存的一个位置
命令:
.ascii 文本字符串
.asciz 以空字符结尾的文本字符串
.byte 字节值
.double 双精度浮点数
.float 单精度浮点数
.int 32位整数
.long 32为整数(和.int相同)
.octa 16字节整数
.quad 8字节整数
.short 16位整数
.single 单精度浮点数(和.float相同)
example:
output:
.ascii "Today is date 03 29 2015!"
pi:
.float 3.1415926
sizes
.long 100,200,300,400
定义静态符号:
.equ
把常量值设置为可以在文本段中使用的符号.
.equ LINUX_SYS_CALL,0x80
movl $LINUX_SYS_CALL ,%eax ====>movl 0x80,%eax
.rodata read_only
<2>.bss段
.comm
.lcomm 未初始化局部变量
格式:
.comm symbol, length
example:
.section .bss
.lcomm buffer,10000
注意两点:
>>.本地通用内存区域的程序之外的函数是不能访问它们的。不能在.global命令中使用它们
>>.在bss段中声明的数据,数据不包含在可执行程序中
2.传送数据元素
mov格式:
movx source,destination
GNU汇编器,为mov加了一个维度x
x:
l用于32位的长字值
w用于16位的字值
b用于8位的字节值
传送源与目的:
<------>内存
<------>通用
<----->控制寄存器
------->通用<----->调试
立即数 | <----->段
------->内存<----->段
<----->通用
example:
立即数传送到寄存器和内存.
movl
0 0
- x86汇编语言-01
- X86 汇编语言
- 简明x86汇编语言教程
- X86汇编语言学习手记
- 简明x86汇编语言教程
- 简明x86汇编语言教程
- 简明x86汇编语言教程
- X86汇编语言学习手记
- 80x86 汇编语言基础教程
- X86汇编语言(前言)
- 汇编语言--x86 CS IP
- X86汇编语言学习手记
- 简明x86汇编语言教程
- X86汇编语言总结
- x86 汇编语言标志寄存器
- X86汇编语言总结
- X86汇编语言总结
- x86汇编语言(一)
- 动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言
- response.setHeader()的用法
- 创新来自于?
- 块级元素以及行内元素居中显示
- ViewPager -----使用Fragment实现ViewPager滑动
- x86汇编语言-01
- 路由原理
- Axis2: 学习笔记
- linux 查看磁盘空间大小
- 活动被以外回收,数据丢失了咋办
- LeetCode - Palindrome Number - Frequent
- 从子线程不能直接新建一个Handler对象来剖析android的Handler机制
- mysql 短信验证存储过程
- 窗口类结构体WNDCLASSEX介绍