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汇编学习
ARM64
汇编学习
笔记四(IF、循环和 Switch)
cmp(Compare)比较指令cmp:把一个寄存器的内容和另一个寄存器的内容或立即数进行比较。但不存储结果,只是正确的更改标志。一般cmp做完判断后会进行跳转,后面通常会跟上B指令。BL标号:跳转到标号处执行B.LT标号:比较结果是小于(lessthan),执行标号,否则不跳转;B.LE标号:比较结果是小于等于(lessthanorequalto),执行标号,否则不跳转;B.GT标号:比较结果是
原_子_弹
·
2020-03-18 07:42
汇编学习
(一)
001--初识汇编我们在学习逆向开发之前,我们要了解一个基本的逆向原理.首先我们是逆向iOS系统上面的APP.那么我们知道,一个APP安装在手机上面的可执行文件本质上是二进制文件.因为iPhone手机本质上执行的指令是二进制.是由手机上的CPU执行的.所以逆向开发是建立在分析二进制上面.所以今天我们接下来的课程从非常基础的东西开始讲解.汇编语言的发展机器语言由0和1组成的机器指令.加:010000
默默_David
·
2020-03-14 14:40
51
汇编学习
51
汇编学习
参考汇编教程http://www.51hei.com/mcuteach/252.html汇编指令集查询http://www.51hei.com/mcu/2972.htmlhttp://wenku.baidu.com
indEmpire
·
2020-03-12 11:16
专访调试专家张银奎:读古籍、作古诗的“别致”技术人(图灵访谈)
作者:张银奎来源:图灵社区张银奎是Intel英特尔软件架构师,系统调试专家,毕业于上海交通大学信息与控制工程系,长期从事软件开发和研究工作,对
IA-32
架构、操作系统内核、驱动程序、尤其是软件调试有较深入研究
Sting
·
2020-03-08 23:21
Nodejs学习记录: Chrome V8 基础
V8使用C++开发,在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(
IA-32
,x86-64,ARM,orMIPSCPUs),
AlexZ33
·
2020-03-04 19:54
前端
webkit
v8
汇编学习
笔记
地址段地址偏移地址注释dssiesdissbpcsip两者组成的地址是指令spbx指令执行过程cpu从cs:ip所组成的地址中读取指令,将指令放到指令缓存器中IP=IP+所读指令的字节长度执行指令缓存器中的指令,并回到步骤1(ip指令顺序)指令转移指令jmpcs:ip如jmp2000:1000jmpip如jmp1000移动指令movaxbx运算指令addaxbxsubaxax调试命令命令注释r展示
oo追xx
·
2020-03-02 09:23
卷1-基础架构-目录
Intel®64和
IA-32
架构软件开发者手册卷1:基础架构章1关于本手册1.1本手册支持的INTEL®64和
IA-32
处理器1.2卷1:基础架构概览1.3符号约定1.3.1bit和byte顺序1.3.2
元指南役
·
2020-02-24 16:09
ARM64
汇编学习
笔记三(状态寄存器、内存分布)
状态寄存器--CPSR寄存器CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)。这种寄存器在ARM中,被称为状态寄存器就是CPSR(currentprogramstatusregister)寄存器。CPSR和其他寄存器不一样,其他寄存器是用来存放数据的,都是整个寄存器具有一个含义。而CPSR寄存器是按位起作用的,也就是说,它的每一位都有专门的含义,记录特定的信息。也
原_子_弹
·
2020-02-23 20:00
张银奎谈软件调试和软件测试
毕业于上海交通大学信息与控制工程系,长期从事软件开发和研究工作,对
IA-32
架构、操作系统内核、驱动程序、尤其是软件调试有较深入研究。
Sting
·
2020-02-23 14:38
iOS逆向-arm64
汇编学习
捣鼓了一段时间的iOS逆向相关的东西,在动态分析过程中会阅读汇编代码,分析代码的执行流程,在此记录下阅读汇编代码过程中经常遇到的一些指令。当然如果不玩逆向也有必要学习汇编,在定位某些crash问题的时候会很有帮助,比如有时候程序挂在系统库里面,如果能读懂汇编代码,再利用一些调试技巧,可会达到意想不到的效果。除此之外,学习汇编有利于帮助自己更深层次的理解程序,理解计算机。说明:下面所描述的都是在ar
傻傻木
·
2020-02-21 19:42
汇编学习
记录13 INT指令
1.INT指令int指令格式为:intn,n为中断码的类型,功能是引发对应中断码的中断int指令执行的时候分为四步:(1)从中断向量表中取得n号中断所对应的程序入口地址(2)将标志寄存器入栈,然后设置TF和IF位的值为0(3)CS和IP依次序入栈(4)跳转到程序入口地址(将IP设置为n*4,将CS设置为n*4+2)所以int指令其实从效果上来看,跟call指令有些相似,都是保存现场,调用一段程序2
官总哦
·
2020-02-21 18:21
总纲
Intel®64和
IA-32
架构软件开发者手册合并卷:1,2A,2B,2C,3A,3B,3C和3D注:本文档包涵了Intel64和
IA-32
架构软件开发者手册的所有三卷。
元指南役
·
2020-02-16 02:50
gnu arm
汇编学习
笔记
目前倡议哦那个的arm汇编有两种1、armasm2、gnuarmasm基本语法以冒号结尾的是标签@后面为注释标签代表标签处的地址,可悲b、bl、ldr使用局部标签:0~9使用时要在数字后面加上b或fb表示向前搜索,f表示向后搜索#注释整行立即数用#或$一行中多条语句可用分号分隔gnuarm伪指令:.equ.globl.req.ltorg.byte
power1952
·
2020-02-15 10:31
asm基础——汇编指令之in/out指令
IN从端口输入OFDFIFSFZFAFPFCF说明:从端口输入一个字节或字到AL或AX中(
IA-32
处理器上可以输入一个双字到EAX)。源操作数是端口地址,可以是8位的常量或者DX中的一个16位地址。
jiangwei0512
·
2020-01-20 09:02
汇编学习
(1) - 代码格式
.MODELSMALL;定义程序的存储模式,小型程序一般采用小模式small.DATA;此处输入数据段代码STRINGDB"HelloWorld!",'$'.STACK;此处输入堆栈段代码.CODE.STARTUP;程序入口点,自动初始化DS、SS;此处输入汇编源代码movdx,offsetSTRINGmovah,09hint21hmovah,4chint21h.EXIT0END
李天火
·
2020-01-07 21:42
汇编学习
(一)
最近在学习逆向这一块儿,学习后按照自己的理解整理一下,以便加深理解。有不对的地方后面慢慢改正。1汇编语言介绍直接对硬件进行操作,最大限度发挥其功能目标代码简短,占用内存小,执行速度快不同CPU机器的汇编指令不同汇编和机器语言一一对应,每一条机器指令都有与之对应的汇编指令;汇编语音可以通过编译得到机器语言,机器语言可以通过反编译得到汇编语言。高级语言可以通过编译得到汇编语言,但是汇编、机器语言几乎不
HHLM
·
2020-01-05 09:54
深入理解栈内存与函数调用栈——以C语言为例
目录前言作为数据结构的栈
IA-32
寄存器简介栈内存布局与栈帧函数调用栈分析TheEnd前言直接借用之前写的《为什么-128的补码是10000000?》的开头,毕竟动机相同。
LittleMagic
·
2020-01-02 08:12
Mach-O可执行文件
Mach-O通常有三部分组成*头部(Header):Mach-O文件的架构比如Mac的PPC,PPC64,
IA-32
,x86-64,ios的arm系列.*加载命令(Loadcommands):.
青花瓷的平方
·
2019-12-30 19:13
汇编学习
(二)
1、内存内存是分区域的:代码区:可读可写可执行栈区:存放参数和局部变量可读可写动态申请堆区:可读可写动态申请全局变量区:可读可写常量区:只读栈和堆栈是一种具有特殊访问方式的存储空间,先进后出;(和堆相反,堆是先进先出)对栈的操作要保持栈平衡栈是从高地址向低地址方向拉伸;(堆空间是从低地址向高地址拉伸)读写是从低地址向高地址方向SP和FP寄存器SP寄存器在时候执行栈顶的位置。FP寄存器也是x29寄存
HHLM
·
2019-12-28 06:16
哈工大操作系统实验(六)内存管理
本次实验内容:用Bochs调试工具跟踪Linux0.11的地址翻译(地址映射)过程,了解
IA-32
和Linux0.11的内存管理机制;在Ubuntu上编写多进程的生产者—消费者程序,用共享内存做缓冲区;
寒夏凉秋
·
2019-12-28 04:49
汇编基础(通用寄存器)
IA-32
构架提供了16个基本寄存器,这16个基本寄存器可以归纳为如下几类:通用寄存器段寄存器状态和控制寄存器指令寄存器在这里我们主要介绍一下通用寄存器。通用寄存器(x64)在64-b
Geor9e
·
2019-12-23 12:45
[OS] 虚拟化
例如,Intel和AMD的设计工程师开发实现
IA-32
指令集(x86)的微处理器,同时微软的软件工程师开发把高级语言映射到该
何幻
·
2019-12-19 02:38
汇编学习
笔记五
assumecs:codecodesegmentdw0123h,0456h,0789h,0abch,0fedh,0cbah,0987hmovax,0movbx,0movcx,8s:addax,cs:[bx]addbx,2loopsmovax,4c00hint21hcodeendsend在debug执行时,会发现报错,因为下一条执行指令并不是你要执行的指令,你的执行指令在别的地方。当你用-u查询时,
PYozo_free
·
2019-12-13 21:00
汇编学习
笔记四
incbx的含义是bx中的内容加1cx一般存放的是循环次数loop指令中的标号所表示地址要在前面要循环执行的程序段,要写在标号和loop指令的中间———————————————————————————————————————————————————————在编译器和debug中编译器识别movax,[0]或movax,[1]等这之类的语言等价于movax,0或movax,1.因为编译器将[idat
PYozo_free
·
2019-12-11 21:00
汇编学习
笔记三
assumecs:codesgcodesgsegmentmovax,0123Hmovbx,0456Haddax,bxaddax,axmovax,4c00Hint21Hcondesgendsend终于学到了编程部分了,期待许久了。这个程序里有3个伪指令segment和ends是一对伪指令,用来说明段的开始和结束还有一个是end说明汇编结束assume代表程序中某一段和寄存器,对应的这里cs是指令寄存
PYozo_free
·
2019-12-10 20:00
汇编学习
笔记二
在内存中,数据是以小端的形式存放的———————————————————————————————————————————————————————DS寄存器:用来存放要访问数据的段地址。指令:movax,[...]其中[...]代表内存的偏移地址,而段地址则是ds寄存器里面的。mov三种形式:寄存器,数据,元地址(偏移地址)。8086CPU不支持将数据直接送入段寄存器,所以必须先把数据放入某个寄存器
PYozo_free
·
2019-12-07 21:00
关于编程路上的一些杂谈 多线程中锁的秘密(二)
底层实现原理有volatile变量修饰的共享变量进行写操作的时候会多出第二行汇编代码,通过查
IA-32
架构软件开发者手册可知,Lock前缀的指令在多核处理器下会引发了两件事情。
极乐君
·
2019-11-08 10:03
汇编学习
12 内中断
1.内中断产生CPU产生内中断的原因:(1)除法发生溢出(2)单步执行指令(3)执行into指令(?)(4)执行int指令每一种中断都对应中断类型码,来标识中断信息的来源。除法溢出:0;单步执行:1;into指令:4;int+N指令:立即数N标识中断源中断向量表和中断处理程序中断处理程序是指的当CPU收到中断号以后,会转而执行该中断信息的处理程序。一般来说不同的中断信息有不同的中断处理程序。中断向
官总哦
·
2019-11-03 03:19
Pin
它支持Linux*、macOS*、和Windows操作系统以及
IA-32
、Intel(R)64和Intel(R)等许多集成核心架构上的可执行程序。
宇宙由我代码生成
·
2019-10-31 15:00
操作系统--调试环境的搭建
它也是一种十分轻便的使用c++编写的开源
IA-32
(x86)电脑模拟器,可以运行在最受欢迎的平台上。它仿真英特尔x86CPU、常见的I/O设备、和定制的BIOS。总结如下:1.专
淡淡_小孩
·
2019-10-20 09:41
bochs
虚拟机
调试
Linux操作系统
win32
汇编学习
笔记之选择结构
汇编学习
笔记整理之选择结构鉴于之前学习代码的时候总是因为没有在课后整理笔记并且重新复习而导致知识点掌握不熟练的后果,现在将每次学习的笔记整理至csdn博客中。
小马的木吉他
·
2019-10-11 11:47
深入Linux内核架构—简介和概述(四)
例如,
IA-32
体系结构使用4KB页,在虚拟地址空间为4GB的前提下,则需要包含100万项的数组。在64位体系结构上,情况会更糟糕。每个进程都需要自身的页表,因
静能生悟
·
2019-10-07 19:13
深入Linux内核架构
堆栈图学习汇编结束篇最后一个堆栈图的练习
作者By-----溺心与沉浮----博客园比较偷懒,还是不适应博客园写博客的风格,画图是件很麻烦的事情,然后还需要一步步的去描述明白,这个EXCEL就很适合
汇编学习
告一段落了,分心容易,收心难,哎!
溺心与沉浮
·
2019-09-21 00:00
win32
汇编学习
笔记之输出格式控制
汇编学习
笔记整理之4种数据类型的输入输出鉴于之前学习代码的时候总是因为没有在课后整理笔记并且重新复习而导致知识点掌握不熟练的后果,现在将每次学习的笔记整理至csdn博客中。
小马的木吉他
·
2019-09-13 12:14
x86—EFLAGS寄存器详解
众所周知,
IA-32
体系结构为通用系统(generalsystem)提供了16个基本的程序执行寄存器:包含一些通用目的寄存器(General-purposereg
__阿阿阿怪
·
2019-07-17 23:00
汇编学习
之基本指令1
汇编学习
之基本指令1汇编C语言mova,b用于将一个数据从源地址传送到目标地址a=bcmpah,al;ah-al>0,则减数不大于被减数。
JT灬新一
·
2019-07-03 22:58
汇编
微机原理与接口与接口技术第二章
IA-32
结构微处理器与8086
2.1IA-32结构微处理器是8086的延伸2.1.18086功能扩展1.从16位扩展为32位8086是16为微处理器16位能表示的数的范围是十分有限的,用16位作为地址,只能表示64KB1985年,Intel公司推出了第一个32位微处理器—8038632位,无论从能表示的数的范围,还是能寻址的物理地址,都得到了极大的扩展32位地址能寻址4GB物理地址2.从实模式至保护模式从80286开始,在80
Jorunk
·
2019-06-25 10:41
IA-32
架构下异常和中断的处理
前言:上一次我们说了说,异常和中断是什么,现在我们说说
IA-32
架构下异常和中断的处理还记得这个图吗?异常和中断的处理方式很像,都是进入内核态。所以两者的处理方式很相同。
madao756
·
2019-06-02 16:29
汇编难懂的指令
(
IA-32
架构)testtestl%eax,%eaxjle.L1testl就是按位与操作,最后的值还是R[eax]。但它会用R[eax]的值更新flags。
madao756
·
2019-05-30 12:04
选择和循环语句的机器级表示
来吧,让我们开始吧if-else直接从题目开始吧intget_cont(int*p1,int*p2){if(p1>p2){return*p2;}else{return*p1;}}把上述代码转换成
IA-32
madao756
·
2019-05-22 23:09
C指针原理(43)-helloworld的C程序汇编剖析
IA-32
指令码(INTEL、AMD公司的CPU使用)由一堆二进制码构成,其格式为:指令前缀、操作码、可选修饰符、可选数据元素指令前缀可包含1到4个修改
AI_LX
·
2019-04-22 16:50
c
设计与架构
汇编学习
记录(王爽)6章包含多个段的程序、7章
1.如何在代码段中加入一个数据段?运用DW命令(defineword),开辟n个字型数据。DW一般放在代码段的前面部分,可以CS:0,CS:2,....等方法来获得数据的值。在书写的汇编程序中,我们可以在代码段开始时加上标识符Start,代表汇编指令的开始,不然编译器会以为我们开辟的数据空间也是指令,造成编译错误。(最后endstart)2.如何在代码段中加入栈仍然采用dw命令,开辟空间0,0,0
官总哦
·
2019-04-21 21:43
前端开发 V8引擎是什么?
它实现ECMAScript和WebAssembly,并在Windows7或更高版本,macOS10.12+以及使用x64,
IA-32
,ARM或MIPS处理器的Linux系统上运行。
ejinxian
·
2019-03-31 18:48
html5
Web前端
Java 原子操作的实现原理
32位
IA-32
处理器使用基于对缓存加锁或
衣舞晨风
·
2019-03-27 20:57
Java
Java
进阶
汇编学习
(持续更新中...)
20190226寄存器AX,BX,CX,DX寄存器与其他寄存器的区别在于:它们是两个字节可以分为高位和低位AH,AL.etc.数据与寄存器之间要保持一致性8位给8位,16位给16位;8位寄存器保存8位数据,运算结果大于8位的保存到其他地方去了(后面会讲到),并不会保存到高位;寄存器做运算时是相互独立的,AL和AH之间不会相互影响。地址寄存器代码段寄存器CS:存放当前执行的程序的段地址;数据段寄存器
Dorthyn
·
2019-02-28 11:28
Study
汇编学习
(持续更新中...)
20190226寄存器AX,BX,CX,DX寄存器与其他寄存器的区别在于:它们是两个字节可以分为高位和低位AH,AL.etc.数据与寄存器之间要保持一致性8位给8位,16位给16位;8位寄存器保存8位数据,运算结果大于8位的保存到其他地方去了(后面会讲到),并不会保存到高位;寄存器做运算时是相互独立的,AL和AH之间不会相互影响。地址寄存器代码段寄存器CS:存放当前执行的程序的段地址;数据段寄存器
Dorthyn
·
2019-02-28 11:28
Study
汇编学习
之一个最简单的c程序对应的汇编
一、基础了解对于系统工程师来说,汇编属于一种基本功,应长期关注。在一些性能分析、问题定位时,有时需要读汇编代码,在学习linux内核过程中,也需要读汇编代码。所以先以x86为例,学习一个最简单的c语言程序对应的汇编。基础知识介绍:首先了解一下x86处理器拥有的寄存器x86_64寄存器如下所示:0-630-310-158-150-7使用惯例%rax%eax%ax%ah%al保存返回值%rbx%ebx
疯狂的蘑菇
·
2019-01-19 23:14
汇编学习
入门
一、CPU的寄存器–AX--累加器,使用频度最高,用于算术、逻辑运算以及与外设传送信息等;–BX--基址寄存器,常用做存放存储器地址;–CX--计数器,作为循环和串操作等指令中的隐含计数器;–DX--数据寄存器,常用来存放双字长数据的高16位,或存放外设端口地址。(SI,DI,SP,BP,只能按16位进行存取操作)–变址寄存器常用于存储器寻址时提供地址–SI(SourceIndex)是源变址寄存器
M-枫叶
·
2018-12-30 22:00
汇编语言乘法和除法指令
文章目录1.乘法指令MUL/IMUL2.除法指令DIV/IDIV3.其他运算指令乘法和除法指令
IA-32
处理器的乘法和除法指令需要区别无符号数和有符号数,并隐含便用丁EAX(和EDX)寄存器。
为祖国健康工作60年
·
2018-12-26 15:00
汇编语言
汇编语言————实验1:搭建开发环境
实验要求基于VISUALSTUDIO平台,结合MASM32的汇编器,构建
IA-32
汇编语言的开发环境。
FLy_鹏程万里
·
2018-12-03 13:01
【基础编程】
———Assembly
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他