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
Intel汇编
李望 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-10000290
一次汇编分析的经历关键词(为了搜索引擎优化,为了点击量)寄存器、ia32、AT&T汇编、
intel汇编
、x86架构、x64架构背景为了想知道为什么i++++i不是原子操作测试方法编写两个程序,调用objdump-d
qq_34081822
·
2016-02-25 21:07
汇编
a
一次汇编分析的经历关键词(为了搜索引擎优化,为了点击量)寄存器、ia32、AT&T汇编、
intel汇编
、x86架构、x64架构背景为了想知道为什么i++++i不是原子操作测试方法编写两个程序,调用
LiWang112358
·
2016-02-25 21:35
a
a
一次汇编分析的经历关键词(为了搜索引擎优化,为了点击量)寄存器、ia32、AT&T汇编、
intel汇编
、x86架构、x64架构背景为了想知道为什么i++++i不是原子操作测试方法编写两个程序,调用
LiWang112358
·
2016-02-25 21:35
a
汇编语言-AT&T汇编格式与
Intel汇编
格式的比较
本文转载自点击打开链接GCC采用的是AT&T的汇编格式,也叫GAS格式(GnuASemblerGNU汇编器),而微软采用Intel的汇编格式. 语法上主要有以下几个不同. 1、寄存器命名原则AT&TIntel说明%eaxeaxIntel的不带百分号2、源/目的操作数顺序AT&TIntel说明movl%eax,%ebxmovebx,eaxIntel的目的操作数在前,源操作数在后3、常数/立即数的格式
qq_32400847
·
2016-02-18 21:00
Intel汇编
语言程序设计学习笔记1
第一章汇编器链接器:汇编器将汇编语言翻译成机器语言,链接器将单个文件合并为可执行文件intel 80X86系列处理器的汇编语言与VAX或者motorala 68x00等系统的汇编是否相同?不相同,汇编语言和CPU指令集是密切关联的,每种CPU体系对应不同的汇编。什么是设备驱动程序:将操作系统的通用命令转化为对硬件具体细节实现的程序常规机器语言指的是第二层一条机器语言会被翻译成几条微指令,微指令是商
dreamfor
·
2016-01-22 14:00
系统调用的封装例程
#hello.s---->
intel汇编
的注释用的;而AT
u011520133
·
2015-12-23 21:00
linux
内核
服务例程
逆向工程书目列表
第一部分:汇编语言《汇编语言》《IBM-PC汇编语言程序设计》《保护方式下的80x86及其编程》《
Intel汇编
语言程序设计》《琢石成器-Windows环境下32位汇编语言程序设计》《IntelArchitectureSoftwareDeveloper'sManual
米奇超人君
·
2015-12-23 12:58
编程语言
调试--汇编调试
第2步是显示
intel汇编
格式, 第3步是源码和汇编分屏显示 1. #gdbtui test 2. (gdb)set disassembly-flavor intel 3.
·
2015-11-13 19:26
调试
收集的资料
blog.csdn.net/littlehedgehog 这些是我看《自己动手写操作系统》平时积攒下来的资料,共享出来吧,一时也想不完整,先贴到这儿吧:
Intel
·
2015-11-12 23:42
深入理解双指针(下)
pointers-to-pointers.html 本章中使用的程序是使用Linux的GCC编译出来的,所以汇编代码使用的是AT&T汇编指令,跟windows下使用Intel指令有所不同,详见AT&T与
Intel
·
2015-11-12 22:15
指针
Linux学习之路一计算机是如何工作的
以下知识都是AT&T汇编的知识,可能与
Intel汇编
有些不同。 知识一: Example inst
·
2015-11-12 16:46
linux
3.2 GUN as汇编(本文内容大部分引用原文,非原创)
3.2.2 GUN汇编语法与
INTEL汇编
语法的主要区别: *AT&T语法(即GUN汇编语法)中立即操作数前面要加一个字符'$';寄存器操作数前面要加
·
2015-11-11 18:32
汇编
30>>linux汇编
编辑器就是普通的编辑器,vim,emacs,gedit,kate源文件类型为ascii码的plain text编译用gcc或者nasm,前者编译AT&T汇编,后者编译
intel汇编
8086的教材上一般都是用
·
2015-11-11 17:00
linux
汇编语言学习总结
读的书中有王爽的《汇编语言》和《
Intel汇编
语言程序设计》,这两本书都特别棒,现在将学习的一些新的记录整理下来。 第一部分:汇编语言工具、平台介绍 第二部分:汇编语言基本语法 1.
·
2015-11-10 22:31
汇编语言
Intel汇编
语言程序设计课后习题,6.5.5
把C语言翻译成汇编语言 if (dx <= cx) x = 1 else x = 2 main PROC mov edx, 4 mov ecx, 5 cmp edx,e
·
2015-10-31 13:15
程序设计
汇编学习笔记,过程编程习题
Intel汇编
语言程序设计第五章编程联系 绘制色彩文本 1 INCLUDE irvine32.
·
2015-10-31 13:14
学习笔记
利用汇编实现表驱动
看
Intel汇编
语言程序设计的,感觉蛮有意思的 1 INCLUDE irvine32.
·
2015-10-31 13:14
汇编
AT&T汇编和
Intel汇编
语法主要区别
AT&T使用$表示立即操作数,而Intel的立即操作数是不需要界定的。因此,使用AT&T语法引用十进制值4时,使用$4,使用Intel语法时只需使用4。 AT&T在寄存器名称前加上前缀%,而Intel不这样做。因此,使用AT&T语法引用EAX寄存器写为%eax。 AT&T语法处理源和目标操作数时使用相反的顺序。把十进制值4
·
2015-10-31 11:51
int
MASM内部数据类型 from:
Intel汇编
语言程序(第四版).djvu
MASM定义了多种内部数据类型,第一种可以用来描述多种取值,这些取值可以是给定类型的变量和表达式的值。例如,DWORD变量可以存储任何32位整数值。有些类型则稍微严格一点,比如REAL4类型,只能用实数常量初始化。在表3.2中,除了最后三种之外,其余所有的数据类型都是整数数据类型。表中IEEE符号是佛IEEE委员会发布的标准实数格式。 类型 用途 BYT
·
2015-10-31 10:46
数据类型
汇编资料收集
Windows.环境下32位汇编语言程序设计(第2版) http://www.happycampus.cn/docs/957100583237@hc10/275980/ 汇编语言编程艺术
Intel
·
2015-10-31 10:10
汇编
逆向工程(一)书目列表
第一部分:汇编语言《汇编语言》《IBM-PC汇编语言程序设计》《保护方式下的80x86及其编程》《
Intel汇编
语言程序设计》《琢石成器-Windows环境下32位汇编语言
月亮的天空
·
2015-10-23 15:23
逆向工程
Intel汇编
指令集SSE4
1、引言IntelSSE4指令集是当前使用广泛的汇编指令集,最初在45nm的Intel64位处理器和AMD的K10处理器中提供。SSE4的含义是StreamingSIMDExtension4,SIMD即单指令多数据技术(SingleInstructionMultipleData)。SSE4指令集共包含了54条指令,其中子集SSE4.1包含了47条指令,另一个子集SSE4.2包含剩余7条指令。2、S
shaqoneal
·
2015-05-31 17:00
汇编
SIMD
SSE4
学习逆向工程参考书
第一部分:汇编语言《汇编语言》《IBM-PC汇编语言程序设计》《保护方式下的80x86及其编程》《
Intel汇编
语言程序设计》《琢石成器-Windows环境下32位汇编语言程序设计》《IntelArchitectureSoftwareDeveloper'sManual
a731062834
·
2015-05-19 22:00
入门
逆向
参考书
GCC内联汇编
(一):AT&T汇编和
intel汇编
的不同1:前缀在intel语法中,寄存器和立即数都没有前缀,而在AT&T中,寄存器使用前缀“%”,而立即数前面使用前缀“$”;在intel语法中,十六进制和二进制立即数后面缀以
陈洪波
·
2015-05-19 19:00
不同
GCC汇编
intel汇编
Linux下用汇编输出Hello, world
下列是
Intel汇编
语法实现的Hello,world!程序。
jollywing
·
2015-04-20 00:00
asm
linux
GCC内联汇编
(一):AT&T汇编和
intel汇编
的不同1:前缀在intel语法中,寄存器和立即数都没有前缀,而在AT&T中,寄存器使用前缀“%”,而立即数前面使用前缀“$”;在intel语法中,十六进制和二进制立即数后面缀以
hongbochen1223
·
2015-04-17 21:00
不同
GCC汇编
intel汇编
AT&T汇编格式与
Intel汇编
格式的比较
GCC采用的是AT&T的汇编格式,也叫GAS格式(GnuASemblerGNU汇编器),而微软采用Intel的汇编格式.一基本语法语法上主要有以下几个不同.1、寄存器命名原则AT&TIntel说明%eaxeaxIntel的不带百分号2、源/目的操作数顺序AT&TIntel说明movl%eax,%ebxmovebx,eaxIntel的目的操作数在前,源操作数在后3、常数/立即数的格式AT&TInte
nancygreen
·
2015-01-29 16:00
[
Intel汇编
-NASM]进入保护模式全过程
enter_pm.mbrorg0x7C00;该命令表示程序将被装在到偏移地址为0x7C00的地方 ;该命令效果是全局的,但只能使用一次,之后不得再用 ;从该位置开始到整个源代码结束之间的所有标号在被访问时都会隐式地自动加上0x7C00 ;但是和vstart=0x7C00不同,vstart会将整个段内所有指令的汇编地址都加上0x7C00 ;而org不影响汇编地址,仅仅就是在访问标号的时候临时加一个0
Lirx_Tech
·
2015-01-26 16:00
PM
nasm
intel汇编
[
Intel汇编
-NASM]IA-32编程构架
1.扩展寄存器: 1)IA-32即IntelArchitecture,32-bit,即Intel32位处理器构架的简称; 2)该构架下最明显的变化就是地址线采用32根,可访问4GB的线性主存空间; 3)通用寄存器的扩展:16位构架下的8个通用寄存器ax,bx,cx,dx,si,di,bp,sp都扩展成32位的eax,ebx,ecx,edx,esi,edi,ebp,esp,其中高16位不可单独
Lirx_Tech
·
2015-01-24 15:00
nasm
intel汇编
IA-32
指令系统
32位模式
[
Intel汇编
-NASM]进入保护模式之前的准备
1.保护模式下的描述符表的概念: 1)保护模式相对于实模式最大的不同之处就是对软件的行为做出了很多约束,从而使系统的运行更加安全; 2)在保护模式下段的使用非常严格,需要用各种信息维护段(比如段界限、可读写性、特权级、最下单位等),而这些信息就用一张描述符表来存放; 3)描述表的概念: i.表中的每一项都保存一个描述符(也称为段描述符),用于存放当前某个段的相关信息,每个表项都固定占8
Lirx_Tech
·
2015-01-23 11:00
保护模式
nasm
intel汇编
GDT
[
Intel汇编
-NASM]程序的加载以及硬盘访问
1.用户程序的结构: 1)一般源程序都以段的形式进行组织,这样可以使逻辑更加清晰,在NASM中使用section关键字定义一个段,形式是:section段名 2)程序可以用段名来引用段,但是NASM编译器并不关心段的具体用途,或者说是根本不知道段的用途(代码段还是数据段等),同时NASM对段的数量也没有任何限制,如果代码中没有定一段则整个程序自成一段; 3)定义段的同时可以定义段的一些属性,
Lirx_Tech
·
2015-01-13 19:00
nasm
intel汇编
加载器
应用程序头部
[
Intel汇编
-NASM]主引导扇区程序介绍
1.主引导扇区的作用以及开机之后的大致流程: 1)为了学习实模式下的编程而不受操作系统的影响,因为在正常的开机后,经过主引导扇区的对操作系统的加载就会把计算机的控制权交给操作系统从而进入保护模式,因此就只有运行主引导扇区程序时系统处于实模式状态; 2)内存逻辑地址空间: i.实模式下CPU有20根地址线,能访问的地址空间有1MB,但是这1MB并不全部都指向DRAM; ii.在体系结
Lirx_Tech
·
2015-01-03 15:00
MBR
nasm
intel汇编
[
Intel汇编
-NASM]基本指令
1.过程调用: 1)即call和ret指令的组合使用,这里我们先介绍call指令的使用方式; 2)16位段内直接相对近调用: i.格式:callnear(可省)标号/立即数; ii.near就表示近的意思,但是near可以省了,汇编器会默认为是16位段内直接相对近调用; iii.直接是指:调用的过程的地址直接由立即数(即一个显示的汇编地址)或者标号(符号化的汇编地址)给出;
Lirx_Tech
·
2015-01-02 16:00
nasm
intel汇编
基本指令
[
Intel汇编
-NASM]基本语法
1.NASM编译器介绍: 1)NetwideAssembler,是目前唯一开源且免费的汇编器; 2)该汇编器只提供编译的功能,但不提供连接的功能,在Linux下编译器产生.o文件后还需要使用ld链接器和操作系统的库链接才能形成可执行文件,而在Windows下需要使用MASM的ml链接器连接形成.exe文件; 3)这里我们先介绍实模式编程,由于Linux以及Windows都是运行在保护模式下的
Lirx_Tech
·
2015-01-02 12:00
基本语法
nasm
intel汇编
[
Intel汇编
-MASM]数据标号和直接定址表
1.数据标号: 1)往往有这种需求,想在db/dw/dd等数据定义之前加个标号以便于对定义的数据区的访问,但是汇编语法不支持这样做(会直接报错的!),但MASM提供了一种更加便捷的方式来实现这种内存的访问方式,并且比想象中的功能还要强大; 2)以上的这种标号在MASM中叫做数据标号,和普通地址标号不同的地方在于定义它不需要使用冒号:,而是直接在db/dw/dd之前写标号:tagdb/dw/dd
Lirx_Tech
·
2014-12-21 22:00
masm
intel汇编
直接定址表
数据标号
[
Intel汇编
-MASM]外中断
1.外中断的概念: 1)之前叙述过,外中断基本上都是外设引发的,而外设和CPU通信的桥梁就是端口; 2)外中断分为可屏蔽中断和不可屏蔽中断两种: i.可屏蔽中断:几乎所有由外设引发的外中断都是可屏蔽的,即在程序可以通过设置IF标志位决定是否允许在当前程序中被外中断打断; *1.sti:setinterruptflag,将IF置1,表示可以允许外中断; *2.cld:c
Lirx_Tech
·
2014-12-21 14:00
[
Intel汇编
-MASM]端口通信
1.那些不能被CPU统一编址的芯片: 1)可以被CPU统一编制的芯片都有一个共同的特点,那就是基本都是存储器(ROM、RAM、显存等)、其上的数据有且仅有CPU有权限读写、速度跟得上CPU,比如硬盘虽然也是存储器、也只能被CPU读写,但是速度太慢容量太大而无法被CPU统一编址到一个逻辑内存空间中; 2)很多外设(一些I/O设备)的芯片,其上的数据不仅可以被CPU修改,同时速度跟不上CPU,比如
Lirx_Tech
·
2014-12-21 01:00
端口
masm
intel汇编
[
Intel汇编
-MASM]标志寄存器
1.标志寄存器的功能: 1)即SF寄存器(16位),SignFlagRegister,用于存放程序运行时的一些状态信息以及一些运算的临时结果等,该寄存器中的信息称为程序状态字PSW(ProgramStatusWord,因为是16位字型的); 2)该寄存器和其它通用寄存器和专用寄存器有明显的区别,首先它不是用来存放数据和地址的,它是按位起作用的,每一位保存着不同意义的信息(比如保存加法进位信息、
Lirx_Tech
·
2014-12-19 21:00
masm
intel汇编
标志寄存器
[
Intel汇编
-MASM]转移指令
1.通过seg和offset操作符获取标号的段地址和偏移地址: 1)这两个都是伪指令,都是属于编译器的操作符,不能直接翻译成机器代码,前者是segment的缩写,而后者的意思就是“偏移量”; 2)这两者可以作用于任何标号,前者用于获取标号所在段的段基,后者用于获取标号所在段的偏移地址,这里的段都是由"XXXsegment"定义的段,而这个XXX(也是标号)就是段基了; 3)offset还可以
Lirx_Tech
·
2014-12-19 02:00
masm
intel汇编
转移指令
[
Intel汇编
-MASM]嵌套循环问题
1.嵌套循环中循环计数器不够的问题: 1)即多重循环就需要有多个循环计数器,并且每个计数器都是相互独立的,分别为各自的循环技术; 2)但是对于loop指令只提供了cx这一个计数器,这就产生了多个循环争用一个cx计数器的竞争问题了; 3)这个问题的解决方思路就是在进入一层循环的开始先将外面一层循环的计数器先保存起来,等到内存循环退出的时候在将外层循环的计数器重新恢复,因此这里如何保存计数器就有
Lirx_Tech
·
2014-12-18 15:00
masm
嵌套循环
intel汇编
[
Intel汇编
-MASM]内存单元访问扩展
1.偏移地址的表示方式汇总: 1)偏移地址表示规则:在中括号[]中最多有一个基址寄存器、最多有一个索引寄存器、最多有一个立即数,这三者的顺序可以任意,之间必须用+相连,不得用其它符号; 2)基址寄存器:是指bx(baseregister基址寄存器)和bp(basepointer基址指针),两者都属于基址寄存器,只不过bx作为偏移地址时默认ds为段基,而bp作为偏移地址时默认ss作为段基; 3
Lirx_Tech
·
2014-12-18 00:00
masm
intel汇编
内存访问
[
Intel汇编
-MASM]与或以及乘除
1.按位与/或指令: 1)and指令表示按位与,or指令表示按位或; 2)两条指令的参数完全相同,都是将第一个参数和第二个参数进行按位运算,并将结果保存在第一个参数中; 3)两个操作数的类型和前面讲过的mov指令差不多,并且这里先不提两个操作数都是内存单元的情况; 4)操作数中不能有段寄存器,其余寄存器可以随便用,只要出现段寄存器就会报错! 5)一般用途就是利用and将某些位置0,利用o
Lirx_Tech
·
2014-12-17 23:00
masm
intel汇编
与或
[
Intel汇编
-MASM]数据定义与分段程序
1.使用db、dw、dd以及dup伪指令定义一段连续的数据空间: 1)对于前三个伪指令,前缀d表示define,而后面的三个字母分别表示byte、word、doubleword的意思,分别用于定义字节空间、字空间、双字空间; 2)示例:assumecs:codesg codesgsegment db0,1,2,3 dw0,1,2,3 dd0,1,2,3 movax,4C00H int21H
Lirx_Tech
·
2014-12-17 20:00
masm
intel汇编
数据定义
分段程序
[
Intel汇编
-MASM]内存访问方式以及循环程序的调试
1.内存单元的访问方式(这里的不全,之后会进一步补充): 1)总共有四种方式: i.[立即数],但是在这种情况下只能作为源操作数(即第二个操作数,比如movax,[15]等),此时访问的内存是(ds:立即数),但是不能作为目的操作数(即第一个操作数),如果作为第一个操作数则编译器会将看做是一个普通的立即数而报错,比如mov[15],ax就会看成mov15,ax而报错!一定要注意这点!以下所
Lirx_Tech
·
2014-12-17 17:00
debug
masm
intel汇编
[
Intel汇编
-MASM]源程序的组成以及编译调试
1.以第一个汇编源程序为例说明:assumecs:codesg codesgsegment movax,0123H movbx,0456H addax,bx addax,ax movax,4C00H int21H codesgends end 1)汇编指令和伪指令的区别:首先这里要讲两个概念,即汇编语言包含什么,其总共包含两个部分,一部分就是汇编指令,就是指那些和01机器码具有一一对应关系
Lirx_Tech
·
2014-12-17 15:00
debug
masm
intel汇编
[
Intel汇编
-MASM]栈
1.CPU的栈操作的支持: 1)现代CPU都提供栈的功能,即提供栈的访问功能,指令有push和pop等; 2)8086CPU对栈的操作(push、pop等)都是以字为单位的,即16位,因此不得在栈操作中使用非16位的寄存器,如AL等,否则将会报错;2.用SS:SP定义一个内存栈: 1)和前面利用DS寄存器定义一个数据段一样,栈同样也是存在于用户的内存区的(即当前程序的内存区); 2)栈
Lirx_Tech
·
2014-12-16 22:00
栈
masm
intel汇编
[
Intel汇编
-MASM]用DS寄存器定义一段数据
1.数据段的段基——DS: 1)可以使用寄存器DS指向内存中一段数据的段基; 2)由于8086的硬件设计,不支持直接将立即数送入段寄存器,而只能通过一个普通寄存器中转的方式给段寄存器赋值(其它段寄存器都是这样,包括CS等),比如:movax,1000h movds,ax 3)使用DS寄存器存放一段数据的段基的好处是在语法上支持直接使用"[偏移地址]"来表示"DS:偏移地址"的内存单元:
Lirx_Tech
·
2014-12-16 20:00
intel汇编
DS寄存器
Intel汇编
语言程序设计读书笔记(IA-32处理器体系结构)
这一节的内容比较少,有一些是原来《计算机组成原理》讲过的内容,很多太熟悉的东西,就不在上面写了。这里只写写我觉得有用的,或者应该记下来的东西。所有的汇编语句都是一条指令,但是执行时间是不一样的。最快的只需要一个CPU的时钟周期,而有些指令的执行要超过50个时钟周期。明显乘法指令就是很耗时的指令。还有一点就是,访问内存是非常慢的,相对于寄存器来讲,一般都需要CPU等待。我只关注的保护模式,其它的模式
Code_My_Life
·
2014-12-02 18:00
Intel汇编
语言程序设计读书笔记(基本概念)
我决定将最近读的
Intel汇编
的东西写下来,慢慢更新。汇编这个东西嘞,你让我拿来写个大程序,真是组织不了,没那个架构能力。但是看看工作过程,对理解其它东西可能有点帮助吧。知道比不知道好。找空就开始写。
Code_My_Life
·
2014-11-28 09:07
LINUX
学习
黎宏伟
Intel汇编
语言程序设计读书笔记(基本概念)
我决定将最近读的
Intel汇编
的东西写下来,慢慢更新。汇编这个东西嘞,你让我拿来写个大程序,真是组织不了,没那个架构能力。但是看看工作过程,对理解其它东西可能有点帮助吧。知道比不知道好。找空就开始写。
Code_My_Life
·
2014-11-28 09:00
上一页
1
2
3
4
5
6
下一页
按字母分类:
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
其他