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汇编学习
嵌入式Linux学习笔记(基于S5PV210 TQ210)
包括如下内容:1、前言2、开发环境搭建3、制作交叉编译器4、裸机编程4.1、
汇编学习
4.2、S5PV210启动流程4.3、点亮一个LED4.4、串口4.5、实现printf4.6、时钟配置4.7、重定位
奋斗-永无止境
·
2020-06-30 18:56
嵌入式开发
windows下的
汇编学习
80x86系列的处理器首先是16位的微处理器8086,它是16位的,但采用20根地址线,因此寻址范围为1MB(2^20,2^10为1KB),但16位是如何做到的,这就需要理解段地址和偏移地址了,处理器中的寄存器只保留内存地址的前四位,如0000h到FFFFFh是内存地址,前四位被保存在段寄存器中,如A000h,这就是段地址,段地址x10h,变为5位,再加上段内偏移地址,就形成了物理地址。1985年
yxq_fxd
·
2020-06-30 11:19
GCC中SIMD指令的应用方法
目前,
IA-32
的SIMD指令包括MMX,SSE,SSE2等几级。在GCC的开发环境中,有几种使用SIMD指令的方式,本文逐一介
yxin1322
·
2020-06-30 11:16
收藏
C
*
C++
*
ASM
x264中的cpu-a.asm
在
IA-32
中,CPUID指令使用EAX寄存器作为输入,EAX寄存器用来指定需要查看的信息的类型,根据EAX的数值的不同,CPUID指令会产生不同的信息,存入EBX,ECX,EDX寄存器中。
xiaoyi247
·
2020-06-30 01:34
汇编语言
编解码
C++反
汇编学习
笔记6——变量在内存中的位置和访问方式
两年前写的,欢迎大家吐槽!转载请注明出处。1.全局变量和局部变量的区别具有初始值的全局变量在源代码链接时就被写入所创建的PE文件,当该文件被执行时操作系统分析各个节中的数据填入对应的内存地址中,这时全局变量就已经存在了,等PE文件的分析和加载工作完成之后才执行入口点的代码。所以全局变量不受作用域的影响,程序的任何位置都可以访问。下面就来具体讲述不同点。全局变量和常量类似都是被写入文件中,因此生命周
Traxer
·
2020-06-29 21:14
C++逆向
汇编学习
记录之十二
资料来源:汇编语言第二版-王爽1.loop指令loop指令为循环指令,所有的循环指令都是短转移,在对应的机器码中包含转移的位移,而不是目的地址。对ip的修改范围都为:-128~127。指令格式:loop标号((cx)=(cx)-1,如果(cx)≠0,转移到标号处执行。)操作:(1)(cx)=(cx)-1;(2)如果(cx)≠0,(ip)=(ip)+8位位移。如果(cx)=0,什么也不做(程序继续向
wjintao
·
2020-06-29 19:35
汇编
汇编学习
记录之十一
资料来源:汇编语言第二版-王爽1.转移的目的地址在指令中的jmp指令前面讲的jmp指令,其对应的机器指令中并没有转移的目的地址,而是相对于当前ip的转移位移。指令'jmpfarptr标号'实现的是段间转移,又称为远转移。功能如下:(cs)=标号所在段的段地址;(ip)=标号在段中的偏移地址。farptr指明了指令用标号的段地址和偏移地址修改cs和ip。2.转移地址在寄存器中的jmp指令指令格式:j
wjintao
·
2020-06-29 19:35
汇编
学习记录
HTT超线程技术,CPU,core,package,die的概念
超线程技术Intel超线程技术(IntelHT技术)是为了在多任务环境下执行多线程操作系统和应用程序代码或单线程应用程序时提高
IA-32
处理器的性能而开发的。
ds H
·
2020-06-29 13:55
计算机硬件
Intel
处理器
linux内存管理
1.分析图1(注:图1是2级页表,对应于
IA-32
位系统),解释图中每一类方框和箭头的含义,在代码树中寻找相关数据结构片段,做简单解释。
K_chan
·
2020-06-29 00:19
操作系统
CPU指令集的虚拟化(x86)
IA-32
(x86)[edit]Mainarticle:X86virtualizationTheIA-32instructionsetofthePentiumprocessorcontains17sensitive
weixin_33951761
·
2020-06-28 08:49
汇编学习
笔记
工具:DTDebug(VT-O)专业版V1.0.025主要有四个窗口:反汇编窗口、寄存器窗口、堆栈窗口、内存窗口。汇编语言的基础符号例1.ADDEAX,1往EAX寄存器里面的数字加1MovEax,0x2将2加入到寄存器EAX当中(1)在程序下断点,找到位置【win32messagebox】堆栈的栈顶存的是当程序调用该函数的时候的返回的地址。(2)Jcc(eflags)标志寄存器决定程序的去向。图1
QQ技术
·
2020-06-28 04:15
操作系统---学习笔记0
主要平台和工具简介x86模拟器BochsBochs是一个免费且开放源代码的
IA-32
(x86)架构PC机模拟器。在它模拟出的环境中可以运行Linux、DOS和各种版本的Windows等多种操作系统。
weixin_33704234
·
2020-06-28 03:05
img格式镜像转ISO格式
在做
汇编学习
时,需要用比较老的WindowsXP来进行调试学习,因此找了最老的WindowsXP(CN_WINXP_PRO_ISO,无SP版本),下载后发现镜像文件格式是img的,而virtualbox
weixin_30244681
·
2020-06-27 15:02
反
汇编学习
(1) -- HelloWorld 篇
HelloWorld.cppSourceCode:#includeintmain(intargc,char*argv[]){printf("Helloworld!");return0;}对应反汇编代码为:pushrbp//保存栈低,上一帧函数信息movrbp,rsp//保存栈顶subrsp,0x20//栈顶下移动32个字节,开辟栈空间movDWORDPTR[rbp+0x10],ecx//传入第一个
promiseloveme
·
2020-06-27 05:46
反汇编
汇编学习
笔记之实模式/保护模式内存寻址
实模式下的内存地址2的10次方是1K,20次方就是1M,30次方就是1G。Intel8086是16位CPU,它只有16位寄存器、16位数据总线和20位地址总线,它只能运行在实模式。在实模式,物理地址=段值*16+偏移,段值和偏移都是16位的具有1MB(2^16*2^4+offset)的寻址能力。从80386开始CPU有32位地址线,所以寻址空间可以达到4GB。单从寻址这方面说,使用16位寄存器的方
feiyu_qq
·
2020-06-27 03:43
汇编
ARM之
汇编学习
---如何编写ARM汇编程序
如何编写ARM汇编程序---------------------------------------------------------Author:tiger-johnWebSite:blog.csdn.net/tigerjbEmail:
[email protected]
编译环境:ADS1.2Tiger声明:本人鄙视直接复制本人文章而不加出处的个人或团体,但不排斥别人转载tiger-joh
冀博
·
2020-06-26 19:37
嵌入式开发
Intel X86 CPU寄存器学习笔记
一、IntelCPU发展历程1、16位处理器(1978)
IA-32
架构从16位处理器的发展而来,即8086和8088。
李迟
·
2020-06-26 15:31
微机/硬件底层/BIOS
Linux操作系统基础(四)保护模式内存管理(2)
物理地址空间保护模式下,
IA-32
架构提供了一个4GBytes(2^32bytes)正常大小的物理寻址空间。处理器可以使用地址总线录址这些地址空间。这些地址空间是平坦的,范围从0到
sweird
·
2020-06-26 06:11
操作系统基础知识
Linux操作系统基础
汇编学习
:从最简单的函数说起:对比x86,arm和MIPS
前言最简单的函数x86下汇编指令ARM下汇编指令MIPS下汇编指令HelloWorldx86中汇编指令ARM汇编知识点1:知识点2:知识点3:ADR指令:ADRL:LDR指令:知识点4:BL指令知识点5:LDM/STM指令LDMFD指令MIPS汇编知识点1:知识点2:知识点3:知识点4:知识点5:前言之前也写过一篇,但是当时没有考虑MIPS,现在将其补上最简单的函数直接上c/c++代码:intf(
richard1230
·
2020-06-26 05:07
汇编
汇编学习
笔记(一)AT&T汇编语言以及其与x86的比较
前言几个常识AT&T与Intel汇编语言的比较1.前缀2.操作数的方向3.内存单元操作数4.间接寻址方式5.操作码的后缀movl寄存器寻址立即数寻址直接寻址间接寻址变址寻址前言最近工作了,变得忙起来了,但是博客还是要坚持写的,哈哈之前写过一篇有关arm汇编的学习笔记,貌似当时没有考虑到MIPS,现在就补充一下吧几个常识内存:存储指令CPU:解释和执行指令EIP:一般其修改是通过call,ret,j
richard1230
·
2020-06-26 05:07
汇编
逆向工程(四)——栈帧分析
IA-32
寄存器中,ESP寄存器为栈顶指针,EBP寄存器为栈帧指针。
烟雨花寒
·
2020-06-25 14:07
逆向工程核心原理
int指令---
汇编学习
笔记
int指令int指令可以引发中断13.1int指令int指令格式:intn,n为中断类型码,它的功能是引发中断过程。CPU执行intn指令,相当于引发一个n号中断的中断过程,执行过程如下。取中断类型码n标志寄存器入栈,IF=0、TF=0CS、IP入栈(IP)=(n∗4),(CS)=(n∗4+2)(IP)=(n∗4),(CS)=(n∗4+2)13.2编写供应用程序调用的中断例程很简单的例子自己看。1
jak0018
·
2020-06-25 12:25
汇编语言
寄存器(内存访问)---
汇编学习
笔记
寄存器(内存访问)序言第二章,我们主要从CPU如何执行指令的角度讲解了8086CPU的逻辑结构、形成物理地址的方法、相关的寄存器以及一些指令。这一章,我们从访问内存的角度继续学习几个寄存器。3.1内存中字的存储CPU中,用16位寄存器来存储一个字。字是有2个内存单元组成。高8位存放高位字节,低8位存放低位字节。例如:问题3.1所描述的。(1)0地址单元中存放的字节型数据是多少?(2)0地址字单元中
jak0018
·
2020-06-25 12:24
汇编语言
寄存器---
汇编学习
笔记
第二章寄存器2.0寄存器的绪论一个典型的CPU由运算器、控制器、寄存器(CPU工作原理)等器件构成。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板其他器件的联系。在CPU中(下列重要内容)运算器进行信息处理;寄存器进行信息存储;控制器控制各个器件进行工作;内部总线连接各种器件,在它们之间进行数据的传送。对于汇编程序员来说,CPU中的主要部件是寄存器。寄存器是CPU中与程序员可以
jak0018
·
2020-06-25 12:24
汇编语言
CALL和RET指令---
汇编学习
笔记
CALL和RET指令call和ret指令都是转移指令,它们都修改IP,或同时修改CS和IP。它们经常被共同用来实现子程序的设计。10.1ret和retfret指令用栈中的数据,修改IP的内容,从而实现近转移;retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移。CPU执行ret指令时,进行下面2步操作(相当于popIP):(IP)=((ss)∗16+(sp))(IP)=((ss)∗16+
jak0018
·
2020-06-25 12:24
汇编语言
逆向工程核心原理 第四章
0x00前言
IA-32
寄存器基本讲解。0x01正文1.什么是CPU寄存器寄存器是CPU内部用来存放数据的一些小型存储区域。
Bubble_zhu
·
2020-06-25 12:51
从头开始学习代码——
汇编学习
总结
-汇编语言的定义及衍生计算机从发明开始的定义其实是用作计算领域的,我们现代的计算机功能已经越来越复杂,实现的作用也越来越大,但是究其根本,计算机所做的工作仍然还是对于数据的操作和计算。最初的时候,并没有语言的概念,所有的计算机操作都是通过高低电压(大家就不要纠结如何通过高低电位差进行计算机操作了)的变化来进行的,即是我们所说的01010001010这种形式,用二进制数字形象的表示高低电位差,这样的
先睹为快
·
2020-06-25 09:52
思维篇
C语言篇
Java篇
程序篇
问题记录篇
汇编大作业(清屏和显示特定字符和拷贝自己)
汇编学习
记录
收集到一下的必须资料-显示缓冲区80*25-一个字符占用两个字节,分别放ASCII码和属性assumecs:codecodesegmentstart:movax,0b800hmovds,axmovcx,7d0h;外循环设置为25*80,输出3次movsi,0hs0:movbyteptr[si],20haddsi,1movbyteptr[si],0f8haddsi,1loops0movax,4c00
dreaming_waiting
·
2020-06-24 10:03
CTF--逆向
汇编
AT&T汇编语法
在
IA-32
系统上,汇编代码本身必须是AT&T表示法给出。AT&T汇编语法总结为以下5条规则,就足够了。寄存器通过在名称前加百分号(%)前缀引用。
TTC
·
2020-06-24 06:54
Unix/Linux
kernel
linux的
汇编学习
(3)---进入保护模式
【完整代码已经归档到https://github.com/linzhanglong/mini_bootloader】现在我们完成我们第一个主要的功能:引导Linux内核。首先我们要准备一个Linux内核文件bzImag。如何引导Linux内核呢?需要做几件事情:1.设置GDT,设置访问内存权限;2.开启A20地址线(原因:http://blog.csdn.net/ruyanhai/article/
TigerAndBear
·
2020-06-24 05:08
[内联汇编]扩展asm:格式、占位符、跳转、内联汇编宏函数
使用教材《汇编语言程序设计》https://www.jianshu.com/p/8473cd0e92b6第13章使用内联
汇编学习
资料GCC-Inline-Assembly-HOWTOhttps://ibiblio.org
AkuRinbu
·
2020-06-24 04:54
x86—EFLAGS寄存器详解
众所周知,
IA-32
体系结构为通用系统(generalsystem)提供了16个基本的程序执行寄存器:包含一些通用目的寄存器(General-purposereg
随心随意随缘
·
2020-06-23 23:12
处理器
idapro反
汇编学习
(一)
实例代码#include"stdafx.h"#include#include#include#include//x64//8字节对齐classCTestC{charch;//1+3virtualvoidfun(){}//8voidtest(){}intn;//4};//sizeof(CTestC);//16;classCTestD{virtualvoidfun(){}};classCTest{vi
小青峰_jd
·
2020-06-23 20:20
IDA
Pro
反汇编
ARM
汇编学习
前言:以前用ARM的IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNUARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNUARM的汇编程序,用不了多少时间你就就可以无师自通了。个人比较健忘,还是把文档翻译了一下,算是给自己一个避免遗忘的理由吧。ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令作成.A
daojin505
·
2020-06-23 02:08
AT&T Assembly
IA-32
平台寄存器核心组有下面几种.通用寄存器8个32位寄存器用于存储正在访问的数据段寄存器6个16位寄存器用于处理内存访问指令指针单一的32位寄存器指向要执行的下一条指令码浮点数据8个80位寄存器用于浮点数学数据控制
dodomix
·
2020-06-22 08:09
操作系统原理与实践8-地址映射与共享
实验内容本次实验的基本内容是:用Bochs调试工具跟踪Linux0.11的地址翻译(地址映射)过程,了解
IA-32
和Linux0.11的内存管理机制;在Ubun
Watson2016
·
2020-06-22 08:17
linux内核(操作系统)
汇编学习
笔记:对抗反汇编实验2019092801
汇编学习
笔记:对抗反汇编实验2019092801实验描述实验环境实验过程实验结论实验描述使用相连的jz和jnz指令跳转到紧接着jnz指令的call指令的第二个字节。call指令实际上无效。
Niatruc
·
2020-06-22 02:44
汇编
ARM
汇编学习
笔记
ARM
汇编学习
笔记2008-06-807:01:05大中小标签:IT/科技这两天参加了一个编写操作系统的项目,因为要做很多底层的东西,而且这个操作系统是嵌入式的,所以开始学习ARM汇编,发现ARM汇编和一般
IT_yulei_3g
·
2020-06-21 22:41
14.5 保护模式I/O
翻译自《Intel®64和
IA-32
架构软件开发者指南》卷一。
平菓菓
·
2020-06-21 20:47
操作系统
IDA反
汇编学习
-转
IDAPro是一款强大的反汇编软件,特有的IDA视图和交叉引用,可以方便理解程序逻辑和快速定位代码片断,以方便修改。IDA视图示例程序下面会通过修改示例程序的输出字符串,来讲解如何使用IDAPro。#includemain(){intn;scanf("%d",&n);if(n>0)printf("a>0");//后面会用IDAPro把'a'改成'n'elseprintf("n0”修正为“n>0”。
wh_
·
2020-06-21 14:28
ida
Linux操作系统基础(三)保护模式内存管理(1)
Linux操作系统基础(三)保护模式内存管理(1)转载请注明出处:http://blog.csdn.net/rosetta保护模式内存管理本节描述
IA-32
架构保护模式下内存管理机制,包括段机制和页机制
sweird
·
2020-06-21 07:27
操作系统基础知识
Linux操作系统基础
汇编学习
,错误汇总
一、errorA2010:Syntaxerror语法错误,写错程序了二、errorA2105:Expected:instructionordirective这个就是告诉你命令写错了,看看你是不是把某个mov写成moc了(我就是这样找了半天,却不知道masm已经提示了哪行出问题),要不然就是你漏掉了什么…三、errorA2042:Constantexpectedmovbx,dl*160+dh*2这东
眺望蓝天
·
2020-06-21 04:00
计算机系统基础学习笔记(1)-基本GCC,objdump,GDB命令的使用
若计算机是x86-64位系统,为了编译成
IA-32
指令集,则请先运行下列命令:sudoapt-getinstallbuild-essentialmodule-assist
北徯
·
2020-05-27 23:23
bash
基本GCC,objdump,GBD命令的使用
若计算机是x86-64位系统,为了编译成
IA-32
指令集,则请先运行下列命令:sudoapt-getinstallbuild-essentialmodule-assist
北徯
·
2020-05-27 22:24
bash
E8/E9/FF 15/FF25指令--
汇编学习
笔记
E8/FF15:这两个指令都是call指令,两个指令后面跟的数据有不同的含义。011472A1E89FA3FFFFcallSub_1(01141645h)011472B6FF15D0001A01calldwordptr[__imp__MessageBoxW@16(011A00D0h)]如上面代码所示:Sub_1的地址是011472A1+5+FFFFA39F=目标地址也就是说E8后面跟的是偏移地址,
KookNut39
·
2020-05-07 16:52
Ring3注入和Hook
地址映射与共享
深入理解段表、页表、逻辑地址、线性地址、物理地址等概念;实践段、页式内存管理的地址映射过程;3.2实验内容本次实验的基本内容是:用Bochs调试工具跟踪Linux0.11的地址翻译(地址映射)过程,了解
IA
海里冷-岸上更冷
·
2020-04-22 15:18
笔记
操作系统
反
汇编学习
笔记5 - 循环&选择
循环&选择cmp(Compare)比较指令 CMP把一个寄存器的内容和另一个寄存器的内容或立即数进行比较。但不存储结果,只是正确的更改标志。 一般CMP做完判断后会进行跳转,后面通常会跟上B指令!BL标号:跳转到标号处执行B.GT标号:比较结果是大于(greaterthan),执行标号,否则不跳转B.GE标号:比较结果是大于等于(greaterthanorequalto),执行标号,否则不
sqatm
·
2020-04-10 01:14
Mach-o 分析
组成Mach-O通常有三部分组成头部(Header):Mach-O文件的架构比如Mac的PPC,PPC64,
IA-32
,x86-64,ios的arm系列.加载命令(Loadcommands):.原始段数据
充满活力的早晨
·
2020-04-09 16:46
01.
汇编学习
体会与心得
为了深入学习逆向工程,硬着头皮看起了汇编语言的相关书籍。先是在网上零星的查找相关资料与各种汇编命令的含义。效果就是基本看了就忘,忘了再查。然后从网上下载了一本叫《汇编语言》的书籍,还是比较适合入门的。竟然还有习题与作业,这本书大致都是在早晨起床的半个小时到一个小时之内的时间里阅读,感觉有点回到学生时代了。书翻了一半才感觉到一丝不对劲,书中所讲解到的寄存器全是ax、bx、cx、dx,与我能接触到的汇
秦砖
·
2020-04-02 06:51
ARM64
汇编学习
笔记四(IF、循环和 Switch)
cmp(Compare)比较指令cmp:把一个寄存器的内容和另一个寄存器的内容或立即数进行比较。但不存储结果,只是正确的更改标志。一般cmp做完判断后会进行跳转,后面通常会跟上B指令。BL标号:跳转到标号处执行B.LT标号:比较结果是小于(lessthan),执行标号,否则不跳转;B.LE标号:比较结果是小于等于(lessthanorequalto),执行标号,否则不跳转;B.GT标号:比较结果是
原_子_弹
·
2020-03-18 07:42
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
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
其他