第3章 程序的机器级表示一、X86 寻址方式1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全2 8086的分段模式3 IA32的带保护模式的平坦模式二、程序编码编译如下代码:unix> gcc -01 -o p p1.c p2.c01 表示告诉编译器使用第一级优化。通常,提高优化级别会使...
分类:
其他好文 时间:
2015-10-11 19:34:17
阅读次数:
176
第三章 程序的机器级表示3.1 历史观点intel处理器系列俗称x86,经历了一个长期的发展过程。每个后继处理器的设计都是后向兼容的,即较早版本上编辑的代码可以在较新的处理器上运行。3.2 程序编码假设一个c程序,有两个文件p1.c和p2.c,在IA32机器上用unix命令行编译代码如下:unix>...
分类:
其他好文 时间:
2015-10-11 19:26:34
阅读次数:
185
第三章 程序的机器级表示3.1 历史的观点X86 寻址方式经历三代:1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全2 8086的分段模式3 IA32的带保护模式的平坦模式3.2 程序编码指令集体系结构(ISA):计算机硬件与底层软件的接口,它是程序员为使一个二进制机器语言程序正常运行所...
分类:
其他好文 时间:
2015-10-11 19:23:08
阅读次数:
125
X86寻址方式经历三代:1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全2 8086的分段模式3 IA32的带保护模式的平坦模式ISA的定义ISA即为指令集体系结构,它定义了处理器状态、指令的格式,以及每条指令对状态的影响。PC寄存器:即程序计数器。指示将要执行的下一条指令在存储器中的地...
分类:
其他好文 时间:
2015-10-11 18:07:04
阅读次数:
155
第三章 程序的机器级表示3.1历史观点 Intel处理器俗称x86。 IA32就是“Intel32位体系结构”。本章主要了解IA32指令集。 Linux采用了平坦寻址方式,使程序员将整个存储空间看...
分类:
其他好文 时间:
2015-10-11 18:02:02
阅读次数:
221
X86 寻址方式经历三代: 1 DOS时代的平坦模式,不区分用户空间和内核空间,很不安全2 8086的分段模式3 IA32的带保护模式的平坦模式ISA指令集体系结构,机器级程序的指令和格式。它定义了处理状态,指令的格式,以及每条指令对状态的影响。获得汇编代码的两种方式:gcc -S xxx.c -o...
分类:
其他好文 时间:
2015-10-11 12:53:41
阅读次数:
199
1.本机kali2.0 64位,kali基于Debian。2.android adb是32位,64位linux要安装32位依赖库,注意ia32-lib被lib32z1替代。3.执行命令 sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 li...
分类:
移动开发 时间:
2015-09-20 00:12:05
阅读次数:
221
sudo -icd /etc/apt/sources.list.decho "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" >ia32-libs-raring.listap...
分类:
系统相关 时间:
2015-08-30 06:30:09
阅读次数:
207
机器级代码计算机系统使用了多种不同形式的抽象,利用更简单的抽象模型来隐藏实现的细节。对于机器级编程来说,其中两种抽象尤为重要:1、指令集体系结构(Instruction set architecture ISA)它定义了处理器状态、指令的格式,以及每条指令对状态的影响。IA32将程序的行为描述成好像...
分类:
其他好文 时间:
2015-08-14 18:45:42
阅读次数:
155
整理一下IA32处理器和x86-64处理器中通用寄存器的差异。
IA32既支持32位处理器,也向后兼容16位寄存器。IA32把16位的通用寄存器,标志寄存器和指令指针寄存器扩充为32位。段寄存器仍为16位。IA32 CPU中包含一组8个32位通用寄存器,用来存储整数数据和指针。它们的名字以%e开头,可以理解为对16位的extend。
这8个寄存器分别为eax, ebx,...
分类:
其他好文 时间:
2015-07-29 06:28:59
阅读次数:
211