汇编语言
文章平均质量分 76
joans123
这个作者很懒,什么都没留下…
展开
-
IA-32汇编知识
1. 通用寄存器 EAX 用于操作数和结果数的累加器 EBX 指向数据内存段中的数据指针 ECX 计数器 EDX IO指针 EDI 用于字符串操作的目标数据指针 ESI 用于字符串操作的源数据指针 ESP 堆栈指针 EBP 堆栈数据指针其中EAX, EBX原创 2012-11-06 22:23:07 · 770 阅读 · 0 评论 -
linux下汇编语言编译执行
1. 如果使用gcc编译汇编文件的话, 使用main符号作为入口( gcc -o a.out a.S)2. 如果使用as和ld命令编译汇编的话, 使用_start符号作为入口( as test.S -o test.o; ld test.o -o a.out) 以上生成两个文件都是ELF格式的可执行文件, 只不过第一个会自动添加一些环境的初始化代码. 对于ELF文件可以通过原创 2012-11-07 18:57:51 · 7463 阅读 · 0 评论 -
objcopy/objdump/readelf等工具使用
1. objcopy 复制及修改目标文件 -I : 输入文件的格式(binary, elf32-i386等) -O : 输出文件的格式 -B : 二进制文件体系结构(i386, arm等) -R : 删除不用的section(.comment .note 等) -j : 仅留下有用的section(.text原创 2012-11-07 19:46:10 · 1437 阅读 · 0 评论 -
gnu汇编
1. GNU汇编的伪指令. = _start + 4 表示当前地址等于标号_start的地址加4.file 定义一个FILE类型的符号.text 指明后面段为指令.data 指明后面段为数据.comm symbol,length 申明一个符号名为symbol的通用符号(common symbol).当链接时,目标文件中的通用符号可原创 2012-11-06 22:56:21 · 1316 阅读 · 0 评论 -
实模式和保护模式
一. 实模式介绍 X86体系的CPU启动时进入实模式, 20根地址线, 16位寄存器, 最多访问1M的内存空间,使用段地址(CS) + 偏移地址的方式来访问. 二.保护模式介绍 提供了硬件对多任务的支持并能够快速地进行任务切换和保护任务环境, 物理内存也不能直接被程序访问. 4个特权和完善的特权检查机制. 为了在32位保护模式下执行纯16位程序,支持虚拟8086方式原创 2012-11-10 22:14:39 · 735 阅读 · 0 评论