E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
IA-32汇编学习
《翻译》Intel 64 与
IA-32
架构软件开发者手册卷1翻译
processors/architectures-software-developer-manuals.html本博文将采用分段中英对照,不定期持续更新的方式进行翻译,第一卷主要介绍了Intel64与
IA
shayi1983end
·
2015-02-05 15:29
x86-64
AMD64
指令集体系结构
linux内核探索之内存管理(三):页表
IA-32
系统默认使用两级分页系统,但是内核中总是使用四级页表,第三和第四级页表由特定于体系结构的代码模拟。 页表管理分为两个部分,第一部分依赖于体系结构,第二部分体系结构无关。
xiangpingli
·
2015-02-04 00:00
linux内核探索之内存管理(一):概述
在
IA-32
平台,地址空间在用户和内核之间划分的比例为3:1,4GB的内存空间,3GB给用户空间,1GB给内核。 可用的物理内存将映射到内核的地址空间中。访问内存时,如果所用的虚拟地址与
xiangpingli
·
2015-01-30 23:00
[Intel汇编-NASM]
IA-32
编程构架
1.扩展寄存器: 1)
IA-32
即IntelArchitecture,32-bit,即Intel32位处理器构架的简称; 2)该构架下最明显的变化就是地址线采用32根,可访问4GB的线性主存空间;
Lirx_Tech
·
2015-01-24 15:00
nasm
intel汇编
IA-32
指令系统
32位模式
linux版本信息以及x86与x86_64的区别
x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,intel官方文档里面称为“
IA
gaylord
·
2015-01-18 11:00
linux
Intel 64 and
IA-32
cache control
1.Cachecontrolregistersandbits1.1CDflag,bit30ofCR01.2NWflag,bit29ofCR01.3PCDandPWTinpaging-structureentries1.4PCDandPWTflagsincontrolregisterCR32.Cachecontrolandmemoryorderinginstructions
kickxxx
·
2015-01-16 18:00
Intel 64 and
IA-32
Control Registers
IntroduceIntel64和
IA-32
处理器包含有5个控制寄存器,他们分别是CR0,CR1,CR2,CR3,CR4。这几个寄存器决定了处理器的操作模式,已经当前执行程序的特征。
kickxxx
·
2015-01-16 17:00
Intel 64 and
IA-32
cache 术语
cachelinefill当处理器发现从内存读取的操作数是cache-able,处理器会读取整个cacheline到相应的cache中(L1,L2,L3或者到全部Cache)。我们把这个操作叫做cachelinefillcachehit如果包含操作数的内存仍然在cache中,那么下一次处理器访问这个操作数时,处理器就可以直接从cache中读取,而不需要从相对慢速的系统内存中读取。这个操作我们称之为
kickxxx
·
2015-01-15 18:00
cache
Intel
Terminology
IA 64 and
IA-32
MTRRs
TermMTRRs-MemoryTypeRangeRegistersPAT-PageAttributeTableMSG-ModeSpecifiedRegisterPCD-Page-levelCacheDisablePWT-Page-levelwrite-throughTLB-translationlookasidebuffersIntroductionMemoryTypeRangeRegister
kickxxx
·
2015-01-15 14:09
Intel
IA 64 and
IA-32
MTRRs
TermMTRRs-MemoryTypeRangeRegistersPAT-PageAttributeTableMSG-ModeSpecifiedRegisterPCD-Page-levelCacheDisablePWT-Page-levelwrite-throughTLB-translationlookasidebuffersIntroductionMemoryTypeRangeRegister
kickxxx
·
2015-01-15 14:00
Intel
pat
MTRRs
汇编学习
记录01
声明...博客自留地...记录零碎的知识点而已...条理什么的...别指望了.通用寄存器AXBXCXDX8086CPU地址寄存器只有16位.但是地址总线是20位..多出了4位F(1111)F(1111)F(1111)F(1111)<-4个十六进制数4x4所以是16位F(1111)F(1111)F(1111)F(1111)F(1111)<-5个十六进制数5x4所以是20位就是4个16进制数变成了5个
IM_Wulv
·
2015-01-15 09:03
汇编点滴
Intel 64 and IA32 Store Buffer
Intel64和
IA-32
处理器在把对系统内存的写操作,临时保存在storebuffer中。
kickxxx
·
2015-01-14 16:21
Intel
Intel 64 and IA32 Store Buffer
Intel64和
IA-32
处理器在把对系统内存的写操作,临时保存在storebuffer中。
kickxxx
·
2015-01-14 16:00
第2章 汇编及逆向工程基础
本书着眼于32位Intel架构(
IA-32
)的汇编语言,涉及Windows及Linux两种操作系统。
Code_My_Life
·
2014-12-04 16:00
Intel汇编语言程序设计读书笔记(
IA-32
处理器体系结构)
这一节的内容比较少,有一些是原来《计算机组成原理》讲过的内容,很多太熟悉的东西,就不在上面写了。这里只写写我觉得有用的,或者应该记下来的东西。所有的汇编语句都是一条指令,但是执行时间是不一样的。最快的只需要一个CPU的时钟周期,而有些指令的执行要超过50个时钟周期。明显乘法指令就是很耗时的指令。还有一点就是,访问内存是非常慢的,相对于寄存器来讲,一般都需要CPU等待。我只关注的保护模式,其它的模式
Code_My_Life
·
2014-12-02 18:00
《大话操作系统——做坚实的工程实践派》(5)
我现在铁板钉钉的申明:我其实兼通:ARM、
IA-32
、IA-32e、AMD64,了解MIPS,但没做过MIPS因为确实没有相应的MIPS硬件平台。
LMOS_KERNEL
·
2014-11-17 21:00
书籍
操作系统内核
LMOS
LMOSEM
汇编学习
-堆栈与子程序
任何程序在运行过程中都需要使用堆栈,操作系统为每一个程序(进程及线程)设置一个堆栈。在使用高级语言编程时,源程序中使用的函数调用、局部变量都要用到堆栈,由编译器来负责生成有关的机器指令。我的理解,堆栈就是维护当前线程中运行状态的一个数据结构,这种状态包括:需要传递的变量,函数的返回地址,局部变量等等。与堆栈相关的3个寄存器是:SS,ESP,EBP。ESP寄存器中的内容作为堆栈的当前指针。PUSH,
lyyyuna
·
2014-11-17 16:00
汇编
masm
堆栈结构
汇编学习
-分支与循环
在高级语言程序设计中,我们不仅要求程序能够顺序执行,还要求其能够执行不同分支,或者重复执行某些操作。在汇编语言中,同样具有相同的能力,可以由相应的指令来控制程序的执行流程。因为毕竟高级语言都是汇编实现的,只是不直观而已。 转移无条件转移为JMP,类似c语言中的goto。在c语言中,goto是不推荐使用的,会使程序难以控制和理解,但在汇编中,没有相应的if和while语句,只能使用JMP来完成逻辑复
lyyyuna
·
2014-11-11 16:00
二分查找
汇编
masm
汇编语言
NESASM教程总述
该教程由浅入深,简化了NES
汇编学习
过程。在进一步尝试前你几乎必须了解另一种汇编语言,因为本文假设你(哪怕一丁点)基本汇编常识是具备的。例如了解GBA或者Intelx86汇编将对理解基础有很大帮助。
kkk584520
·
2014-11-09 14:00
游戏
编译原理
汇编语言
任天堂
nes
C++开源代码项目汇总
V8根据ECMA-262第三版中的说明使用ECMAScript,并在使用
IA-32
或ARM处理器的WindowsXP和Vista、MacOSX10.5(Leopard)以及Linux系统中运行。
wenrenhua08
·
2014-10-13 10:33
C/C++
C++开源代码项目汇总
V8根据ECMA-262第三版中的说明使用ECMAScript,并在使用
IA-32
或ARM处理器的WindowsXP和Vista、MacOSX10.5(Leopard)以及Linux系统中运行。V8
wenrenhua08
·
2014-10-13 10:00
汇编
在看这本PDF的时候看了第一章程序点滴和第四章高级语言的原理,发现有必要把
汇编学习
一下,起码能做到能看懂汇编代码那种就可以了,后来就开启了汇编的学习旅程,刚好碰上国庆,外面人多,景点人挤人,所以直接宅在家里了
wojoin
·
2014-10-06 01:46
汇编
c/c++
Android ARM
汇编学习
(一)
给自己挖了个坑,一切都得从“HelloWorld”开始。 hello.S.data msg: .ascii "Hello, World!\n" len = . - msg .text .globl _start _start: /* syscall write(int fd, const void *buf, size_t count) */
fjyihan
·
2014-08-14 21:55
android
汇编
反
汇编学习
笔记
disassembly由于项目的需要,笔者最近开始学习C++反汇编技术,使用的教材是IDAPro代码破解揭秘,工具是IDAPro。今天主要看了一下反汇编的简介,主要讲了线性扫描算法和递归下降算法这两种反汇编工具主要使用的方法。其中,线性扫描算法的主要算法步骤有五步:1.位置指针指向代码段开始处;2.从指针所指位置开始尝试匹配指令,并得到指令长度n;3.若2成功,则反汇编从指针所指位置向后n个长度的
宇七少
·
2014-08-12 22:00
反
汇编学习
(转:http://www.kuqin.com/assemble/20071122/2492.html)汇编语言和CPU以及内存,端口等硬件知识是连在一起的.这也是为什么汇编语言没有通用性的原因.下面简单讲讲基本知识(针对INTELx86及其兼容机)============================x86汇编语言的指令,其操作对象是CPU上的寄存器,系统内存,或者立即数.有些指令表面上没有操
lovewubo
·
2014-07-18 21:00
AT&T
汇编学习
笔记
AT&T汇编和intel汇编的区别(1)在Intel格式中大多使用大写字母,而在AT&T格式中都是用小写字母。(2)在AT&T格式中,寄存器名要加上“%”作为前缀,而在intel格式中则不带前缀。(3)在AT&T的386汇编语言中,指令的源操作数与目标操作数的顺序与在intel的386汇编语言中正好相反。在intel格式中是目标在前,源在后;而在AT&T格式中则是源在前,目标在后。例如,将寄存器e
hu3167343
·
2014-07-10 18:00
汇编
笔记
att
X86和X86_64和X64区别
没有评论x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“
IA
cyz412
·
2014-06-26 08:39
linux
X86和X86_64和X64区别
没有评论x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“
IA
cyz412
·
2014-06-26 08:39
linux
【
汇编学习
(二)】寄存器相关
这只是新手学习汇编的一个小笔记,帮助自己理解的,不建议观看!一、段寄存器:前面的学习,已经知道了8086cpu在访问内存时,要由相关部件提供内存单元的段地址和偏移地址,接着送入地址加法器合成物理地址,产生的段地址在cpu的段寄存器中存放着,8086cpu有4个段寄存器:CS、DS、SS、ES;二、CS、IP寄存器:这两个寄存器是8086cpu中比较关键的寄存器,它指示了CPU当前要读取指令的地址,
CMbug
·
2014-06-12 15:06
菜鸟的汇编学习之路
【
汇编学习
(一)】8086CPU-段地址-偏移地址简要理解
这只是新手学习汇编的一个小笔记,帮助自己理解的,不建议观看!最近刚开始学习汇编,看到了8086CPU的寻址方式:物理地址=段地址*16+偏移地址,于是有了如下的一些问题:一、为何8086CPU会采用这种寻址方式?因为8086CPU是一个16位CPU,那么决定了它有如下几个特点:1、运算器一次最多可以处理16位的数据;2、寄存器的最大宽度为16位;3、寄存器和运算器之间的同路为16位;即是说,在80
CMbug
·
2014-06-12 15:49
菜鸟的汇编学习之路
GNU ARM汇编--(六)s3c2440的时钟控制
blog.csdn.net/dndxhej/article/details/7685125前面几篇利用GNUARM汇编控制LED以及ARM的中断处理的设计,对ARM汇编以及体系结构有了一定的认识.后面的
汇编学习
会结合具体的芯片进行
yongbudl2012
·
2014-06-02 18:00
ia-32
汇编笔记
1 汇编语言中test的用法为举例方便说一下jnz和jz 测试条件JZ ZF=1JNZ ZF=0即Jz=jumpifzero(结果为0则设置ZF零标志为1,跳转)Jnz=jumpifnotzerotest属于逻辑运算指令功能:执行BIT与BIT之间的逻辑运算 测试(两操作数作与运算,仅修改标志位,不回送结果).Test对两个参数(目标,源)执行AND逻辑操作搜索,并根据结果设置标志寄存
simanstar
·
2014-05-22 19:00
汇编
32位
汇编语言
Linux虚拟地址空间概述
1虚拟地址空间概述 Linux进程虚拟地址空间是linux内存管理一个重要的部分,我们知道,在
IA-32
系统上地址空间的范围可达2的32次幂=4G,总的地址空间通常按3:1的比例划分,用户态占用了3G
班克
·
2014-05-11 19:00
linux
内存地址空间
基于8086CPU微处理器的
汇编学习
之PUSH、POP指令
---------------------------------------------栈,是一种数据结构,我觉得栈是抽象的,但是它同样也是实际的,因为它在内存中是连续的内存,只不过人们限制了它的使用:后进先出,学数据结构两年了,现在才理解,实在惭愧。push ax ;I、sp=sp-2 II、取出ax中的数据,放入当前栈顶pop ax ;I、栈顶地址取出数据,放入ax中 II、
liam2199
·
2014-05-07 17:24
push指令
栈空间
基于8086CPU微处理器的
汇编学习
之PUSH、POP指令
---------------------------------------------栈,是一种数据结构,我觉得栈是抽象的,但是它同样也是实际的,因为它在内存中是连续的内存,只不过人们限制了它的使用:后进先出,学数据结构两年了,现在才理解,实在惭愧。pushax;I、sp=sp-2II、取出ax中的数据,放入当前栈顶popax;I、栈顶地址取出数据,放入ax中II、sp=sp+2-------
liam2199
·
2014-05-07 17:24
栈空间
push指令
Assembly
基于8086CPU微处理器的
汇编学习
之JMP指令
JMP指令:更改CS:IP寄存器的内容,以让CPU从新指定的内存地址开始继续执行指令。 格式: JMP 段地址:偏移地址---------------------------------------------------------CS、IP寄存器: CS:指向CPU将要执行指令的段地址 IP:指向CPU将要执行指令的偏移地址
liam2199
·
2014-05-04 16:58
初学者
汇编语言
计算机底层原理
JMP指令
基于8086CPU微处理器的
汇编学习
之ADD指令
ADD指令:把两个数值相加,将结果放到第一个寄存器里面。格式: ADD 寄存器名,数值 ADD 寄存器名,寄存器名 addax,11 addbx,22 PS:清空数据:movax,0000 两者数值的存储容量位数要匹配----------------------------------------------------------------------
liam2199
·
2014-05-04 13:42
初学者
汇编语言
8086
ADD指令
计算机底层原理
基于8086CPU微处理器的
汇编学习
之MOV指令
汇编指令:MOV的作用是往某个寄存器中存入数值。格式:mov 寄存器名,数值 数值-->寄存器 mov 寄存器A,存器寄B B-->APS:必须前后位数匹配,如: mov ah,bx ;error ahis8bit,bxis16bit mov ah,bh ;right ahandbhallis8 bit mov cx,dx ;right
liam2199
·
2014-05-03 23:24
内存
初学者
汇编语言
计算机底层原理
MOV指令
算法重要,但并非全部,并非所有人的选择
大一的时候我自学了C++.NET编程,然后看着别人写的炸弹人的代码自己也写了一个(感觉像是抄了一次),大二上学期的时候感觉对嵌入式开发有些兴趣,所以自学了Intel的
IA-32
汇编和LinuxC编程,但是我学的这些都不是很深
sxhelijian
·
2014-04-30 06:00
Linux的NPTL
测试表明,NPTL能够让
IA-32
在两秒内启动100,000个线程,如果内核不支持NPTL则需要15分钟。使用下面的命
bytxl
·
2014-04-28 08:00
基于8086CPU微处理器的
汇编学习
之ASCII码表
这节讲关于ASCII码表。1、E开始地址数据 A字符对应的十六进制数为:41 -e6000:000041 -d6000:0000实验结果:--------------------------------------------------------- =号对应十六进制数为:3D -e6000:00013D -d6000:0000实验结果:-----------------------------
liam2199
·
2014-04-22 11:58
汇编语言
ASCII码表
8086CPU微处理器
改写连续内存空间
基于8086CPU微处理器的
汇编学习
之内存空间的编辑
对于段地址和偏移地址,大家可以仔细思考,其背后的原理。--------------------------------------------------------------------------------------------我们这节谈内存空间的编辑内存空间的编辑1、Debug E改写内存中的内容 格式: E开始地址数据数据数据数据... E开始地址 然后进入修
liam2199
·
2014-04-22 09:14
debug
汇编语言
计算机内存
8086CPU微处理器
内存空间编辑
基于8086CPU微处理器的
汇编学习
之段地址与偏移地址的分析
人的记忆总是不靠谱的,早在几年前就看过汇编语言,由于没有总结下来资料,所以忘记了很多,所以重新梳理下汇编方面的知识,与君共勉。----------------------------------------------------------------------------------------------段地址与偏移地址:范围:00000H-FFFFFHDebug:可以自由查看内存空间的状
liam2199
·
2014-04-22 09:53
汇编语言
8086微处理器
段地址与偏移地址的分析
IA-32
, IA-64, x86-64, PPC, and More
IA-32
TheseCPUspowerthevastmajorityofcomputerssoldfromthelate1980stothepresent.Intel,AMD,VIA,andTransmetaaresellingIA
invictus_lee
·
2014-04-12 21:00
IA-32
汇编
拿了一本《汇编语言程序设计》看,讲的就是
IA-32
(IntelArchitecture,32-bit)系列的汇编(32位)。为的是搞懂书上大概写了什么。
iaiti
·
2014-04-10 11:00
汇编
指针
32位
汇编语言
0.ring0-PAE-(虚拟地址转换成物理地址详细示例)
简单来说,就是把
IA-32
处理器的寻址能力从原来的4GB扩展到64GB。寻址4GB空间,要求物理地址的宽度为32位。类似的,要寻址64GB空间,那么物理地址的宽度就是36位。
hgy413
·
2014-03-08 16:00
x86-64
汇编学习
小节
这两天搞了本x86-64汇编的白皮书,还没看完总结一下。最主要的区别,除了大家都知道的位数扩展寻址空间增大外,就是通用寄存器从8个增加到16个。多了r8~r15,不再用字母做名称,改用数字了。说真的,能想出ax,bx,cx,dx,而且每个都是有意义的英文字母的首缩写还真是挺有想象力的。x64虽然性能提升了,但是缺少了原来的浪漫气质。寄存器的数量增加导致了很多编程方法的变化。一个是统一了调用方式,统
thursdayhawk
·
2014-03-04 22:16
x64汇编
QEMU, KVM, QEMU-KVM 和 Goldfish
qemuQEMU是模拟器QEMU在在System模式下,能进行指令级的模拟(就是说他虚拟了一个/多个CPU(包含内存管理器等),比如虚拟一个ARMCPU)可以模拟
IA-32
(x86)个人电脑,AMD64
span76
·
2014-02-13 16:00
android
C指针原理(85)-helloworld的C程序汇编剖析(1)
IA-32
指令码(INTEL、AMD公司的CPU使用)由一堆二进制码构成,其格式为:指令前缀、操作码、可选修饰符、可选数据元素指令前缀可包含1到4个修改
u010255642
·
2014-02-11 12:00
C语言
指针
编译器
汇编语言
SSE2介绍及其简单用法举例
SSE2,全名为StreamingSIMDExtensions2,是一种
IA-32
架构的SIMD指令集。SSE2是在2001年随着Intel发表第一代Pentium4处理器也一并推出的指令集。
fengbingchun
·
2014-01-19 21:00
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他