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汇编学习
9. x86-64指令系统
安腾和安腾2分别在2000年和2002年问世,它们是IA-64体系结构的最早的具体实现,因为是一种全新的、与
IA-32
不兼容的架构,所以,没有获得预期的市场份额。A
WuDL.
·
2018-12-01 21:09
计算机体系结构笔记
汇编语言第一章 基本知识
笔记希望能做到结构分明,细致全面,简洁易懂,辅助
汇编学习
,也可做考试复习资料。下面总结第一章的内容:计算机编程语言的演进机器语言二进制的机
Shaoeeee
·
2018-09-28 10:00
包含多个段的程序---
汇编学习
笔记
包含多个段的程序要使用一段安全的空间,第五章中我们说0:200~0:2ff是相对安全的。可这段代码容量只有256个字节。合法地通过操作系统取得的空间都是安全的。程序取得所需空间的方法有两种,一是加载程序的时候程序分配,再就是程序在执行的过程中向系统申请。对于使用多个段的问题,我们将讨论:(1)在一个段中存放数据、代码、栈,我们先来体会一下不使用多个段时的情况;(2)将数据、代码、栈放入不同的段中。
jak0018
·
2018-08-01 14:49
汇编语言
ARM aarch64
汇编学习
笔记(三):寄存器概述
ArmV8寄存器简单概念:ARMv8拥有两种执行模式:AArch64执行A64指令,使用64bit的通用寄存器;AArch32执行A32/T32指令,使用32bit的通用寄存器;本篇主要描述aarch64执行模式的一些概念OverView寄存器类型位宽描述X0-X3064bit通用寄存器,也可以用作32bit(w0-w30)PLR(X30)64bitproducelinkregister,连接寄存
Hober_yao
·
2018-07-31 22:29
arm
assembler
ARM aarch64
汇编学习
笔记(二):ARM DS-5模拟器安装和使用
工欲善其事,必先利其器。使用Qemu虽然可以进行模拟开发,但在Qemu调试汇编有一些困难。DS-5(即ARMDevelopmentStudio5),是一款针对ARM支持的Linux和Android平台的全面的端到端软件开发工具套件。DS-5安装从官网选择一个ARMDS-5版本进行下载我选择的版本是5.26.2,已经支持Armv8了。下载完成后,解压,点击setup.exe进行安装,安装完成后需要添
Hober_yao
·
2018-07-14 19:45
arm
assembler
【汇编】
汇编学习
入门-系列更新20180705
版权写在前面小学期“硬件综合训练”需要用到“汇编”,博主是在大二上学期学习的这门课,算下来半年没接触了,乘着这几天空闲梳理一下,一来找找当时学汇编的感觉以更好的迎接下个礼拜的“硬件课”,二来把自己当时学习的一些坑和心得记录下来,给后来者学习这门课一些参考。一门语言的学习最快最有效的方法就是实践,汇编语言虽然已经很‘古老’了,但仍是每个学校计算机专业必开的一门课,汇编语言是最接近于机器语言的编程语言
T.P
·
2018-07-05 01:00
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
·
2018-07-04 17:30
IDA
Pro
反汇编
Google V8 引擎&Nodejs
在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(
IA-32
,x86-64,ARM,orMIPSCPUs),并且使用了如内联缓存(inlinecaching
IT诸葛亮
·
2018-05-24 19:58
Google V8 引擎&Nodejs
在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(
IA-32
,x86-64,ARM,orMIPSCPUs),并且使用了如内联缓存(inlinecaching
IT诸葛亮
·
2018-05-24 19:58
CAS操作详解
1.在说CAS操作的开始,我们先了解一些术语2.处理器是如何实现原子操作32位
IA-32
处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。
明月三千里68
·
2018-05-23 11:23
CAS
java多线程
ARM aarch64
汇编学习
笔记(一):搭建编译环境
最近,对arm的汇编产生了兴趣,之前对汇编的知识掌握的不深,算是从零学习吧,用blog记录下学习的点滴,希望能够坚持下去。环境搭建市面上其实是有一些arm64位的服务器可以供选择的,比如cavin的thunderx2,华为的泰山服务器等。不过没有arm的服务器并不代表学不了arm64汇编,我主要是在x86的虚拟机上使用QEMU和cross-toolchain学习aarch64汇编。环境准备:1.操
Hober_yao
·
2018-05-20 23:26
arm
assembler
X86
汇编学习
笔记P2--32位乘法
原有的乘法指令是8位乘法或16位乘法,对于32位的大数乘法还是要自己去实现的。其实思路也不难,类比考虑两位数十进制乘法:(10A+B)X(10C+D)=100AC+10BC+10AD+BD那么我们要实现的就是四次16进制的乘法和将其结果相加:目标为NUM_A:NUM_BXNUM_C:NUM_D->RESULT_H:RESULT_MH:RESULT_ML:RESULT_L可以分解为NUM_BXNUM
mercer-zhang
·
2018-05-20 22:51
汇编学习
小记(四)-分支程序设计
1.一个字节表示一个十进制数(非压缩BCD码)15存储的形式为0000000100000101加上3030h3135h高低字节输出就是1500001111除--商--1➕30h输出除--取余--5➕30h输出2.转移指令和位操作指令无条件转移指令。Jmp理解掌握段内寻址和段间寻址方式条件转移指令,无符号数比较转移,带符号数比较转移,cx为0转移指令(jcxz)【注意⚠️】这些都为短转移指令,当代码
葭葭葭葭葭
·
2018-05-07 00:48
汇编学习
笔记-函数总结(8086)
汇编函数结构函数外传递函数参数(pushss或者直接传寄存器)保护bp:pushbp用bp记录原先sp的位置在生成局部变量之间,应该先提升sp,用来开辟一段函数空间,然后把所有的局部变量入栈保护寄存器:push通用寄存器---------业务逻辑代码开始---------定义局部变量:通过“bp-位数”入栈局部变量获得局部变量:通过“bp-位数”来获得获得参数:通过“bp+位数”来获得将返回值赋给
sqatm
·
2018-05-01 02:25
汇编学习
笔记(8086)
这个只是一个复习笔记,只是单纯的脑子笨,把之前的学过的知识捋一遍而已,并不是教什么。如果之前没学过汇编的童鞋还是别看了,学过的看一大体回顾一下。特别感谢hank老师的帮助,么么哒~一.总线地址总线1.它的宽度决定了CPU的寻址能力2.8086的地址总线宽度是20,所以寻址能力是1M(2^20)3.一个宽度单位能提供2种电压,所以20个单位就能提供2^20中电压组合数据总线1.它的宽度决定了CPU的
sqatm
·
2018-05-01 02:16
ARM64
汇编学习
笔记一(初始汇编)
汇编语言的种类目前讨论比较多的汇编语言有:8086汇编(8086处理器是16bit的CPU)Win32汇编Win64汇编ARM汇编架构设备armv6iPhone,iPhone2,iPhone3G,第一代、第二代iPodToucharmv7iPhone3GS,iPhone4,iPhone4S,iPad,iPad2,iPad3(TheNewiPad),iPadmini,iPodTouch3G,iPod
7c205247047d
·
2018-04-24 16:39
IA-32
保护模式下的内存寻址方式(二):分页
有关
IA-32
分段可参考:
IA-32
保护模式下的内存寻址方式(一):分段1、分页、页、页框、缺页异常、页表的概念简述:MMU的分页单元(Pagingunit)会把通过MMU分段单元(segmentationunit
Apollon_krj
·
2018-03-21 13:50
Intel
80x86架构【P6微架构】
CPU指令系统
工作的主要依据指令集:处理器能执行全体指令的集合作用:决定了计算机的硬件功能指令集越复杂硬件功能越强1.CISC复杂指令集特点:1.指令数量多2.指令长度不固定,指令格式和寻址方式多样x86系列(也就是
IA
Rumbles
·
2018-03-08 14:38
Java开发平台的选择,如何区分JDK,Tomcat,eclipse的32位与64版本
这事儿要先从CPU说起:-------------------------------
IA-32
架构与IA-64架构IA是In
挽风微凉
·
2018-02-26 09:50
Java
汇编学习
体会(一)
近期利用空闲时间学习了一下汇编,一是为了对计算机底层有多一些了解,希望对自己编码有更好的帮助,二就是出于好奇和兴趣。目前打算分两篇将自己所学习的笔记和心得整理出来,此篇是第一篇,整理出来自己初学汇编的一些基本知识点和体会,第二篇整理出简单的汇编的例子,好比学习高级语言的时候,会先写HelloWorld和一些简单的实现,可以更好的理解所学语言,都是汇编中很基本内容,但初步达到了自己初学汇编的目的,有
DKE_LS
·
2018-01-27 14:14
Android逆向从入门到入土(smali修改,so修改)
闲来无事,学习了下安卓的逆向工程,有助于观摩学习他人的优秀代码,查询了解后发现大体包括两部分:1.dex反编译,即smali语法学习;2.Native层,arm
汇编学习
。
Maxiye
·
2018-01-02 00:00
java
android
sublime-text
汇编学习
(一)
看的是王爽老师的《汇编语言》第三版基础知识一.汇编语言的诞生上古时期在汇编语言还未出现的时候,那时的程序员还只能用二进制也就是所谓的机器语言写代码,将0和1编成的程序代码打在纸带或卡片上,再将纸带卡片输入计算机,进行运算;代码相当抽象,查错就更难了;难以辨别和记忆成为了机器语言的瓶颈;但是怎么可能会有问题能难住程序员呢,于是汇编语言诞生了!二.汇编语言VS机器语言汇编语言的主体是汇编指令,它相比机
CJSFF
·
2017-12-16 00:00
asm
CAS操作
1.在说CAS操作的开始,我们先了解一些术语2.处理器是如何实现原子操作32位
IA-32
处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作。
面向对象的老王
·
2017-11-28 17:58
java多线程
重新在CSDN写博客
那时主要是看他编写的skynet文章,其他的文章也只是匆匆一瞥,无暇多看),小有感触,本想注册新的博客来记录些事情,但现在CSDN好像一个手机号只能注册一个账号,简单看了以前写的博文,无非以下几种:记录
汇编学习
的总结
core__code
·
2017-10-29 11:56
个人文章
Mach-O文件介绍之mach_header
Mach-O文件具有以下数据区域(完整格式在OSXABIMach-O文件格式参考中描述):•标题(Header):指定文件的目标体系结构,如PPC,PPC64,
IA-32
或x86-6
Tomychen
·
2017-08-27 19:23
V8引擎
在运行JavaScript之前,相比其它的JavaScript的引擎转换成字节码或解释执行,V8将其编译成原生机器码(
IA-32
,x86-64,ARM,orMIPSCPUs),并且使用了如内联缓存(inlinecaching
xiangzhihong
·
2017-08-25 21:00
ARM
汇编学习
前言:以前用ARM的IDE工具,使用的是ARM标准的汇编语言。现在要使用GNU的工具,当然要了解一点GNUARM汇编的不同之处。其实非常的简单,浏览一下文档然后再看看程序就完全可以搞定了,或者你硬着头皮看GNUARM的汇编程序,用不了多少时间你就就可以无师自通了。个人比较健忘,还是把文档翻译了一下,算是给自己一个避免遗忘的理由吧。ARM汇编语言源程序语句,一般由指令,伪操作,宏指令和伪指令作成.A
daojin505
·
2017-08-07 10:40
汇编学习
总结
汇编总结汇编的发展史机械语言由0和1组成的机器指令(如:0101000111010110)汇编语言(AssemblyLanguage)使用符号代替机器语言,也称符号语言(如:mov,ax,bx)高级语言C\C++\Java\OC\Swift,更加接近人类的自然语言(如:inta=b;)我们的代码在终端设备上是这样的过程:汇编语言和机器语言一一对应,每一条机器指令都有与之对应的汇编指令汇编语言可以通
Chuck丶陈
·
2017-07-24 00:49
Atomic
表2-7CPU术语定义处理器如何实现原子操作32位
IA-32
处
q294881866
·
2017-07-10 10:33
Java并发
汇编学习
笔记 第七章
7.1宏汇编实参无论多于还是少于形参数,都有对应的默认解决办法宏展开MASM2.0为’+’,MASM5.0为’1’若在MASM5.0情况下产生多层,则用2,3…代替宏定义与子程序的区别调用次数影响展开后的存储空间(因为要展开啊)宏的花式使用方法关键部分:&操作符实现功能:通过宏产生JZ或JNZ指令代码VAMACROCHAR1,LABJ&CHAR1LABENDM调用VAZ,LOP1VANZ,LOP2
Cao970824
·
2017-06-16 15:24
汇编笔记
汇编学习
笔记 第七章
7.1宏汇编实参无论多于还是少于形参数,都有对应的默认解决办法宏展开MASM2.0为’+’,MASM5.0为’1’若在MASM5.0情况下产生多层,则用2,3…代替宏定义与子程序的区别调用次数影响展开后的存储空间(因为要展开啊)宏的花式使用方法关键部分:&操作符实现功能:通过宏产生JZ或JNZ指令代码VAMACROCHAR1,LAB J&CHAR1LAB ENDM调用VAZ,LOP1 VANZ,L
Cao970824
·
2017-06-16 15:00
汇编
汇编学习
笔记 第六章
6.1子程序的结构ENDP表示子程序的定义结束,并不等价于执行结束RET与C中的switch-break相似NEAR与FAR的定义一般还是有必要的调用时的栈变化段内调用SP:自减2,相当于上浮一个字,用于保存当前IPIP:转移到DST或有效地址段间调用SP:自减4,相当于上浮两个字,用于保存当前IP与CSIP/CS:转移到DST对应的偏移地址/段地址,或有效地址的低位/高位(即先压入CS再压入IP
Cao970824
·
2017-06-15 19:00
汇编
汇编学习
笔记 第五章
5.1顺序程序设计从键盘获取一个字节说明:存入AL代码MOVAH,01HINT21H输出一个字节说明:输出DL的对应ASCII值代码MOVDL,*MOVAH,02HINT21H输出字符串说明:输出偏移地址存入DX代码MOVDX,OFFSETLABLEMOVAH,09HINT21H5.2分支程序设计CMP的详细解释ZF标志位ZF=1:DST=SRCZF=0:DST!=SRCCF标志位(无符号数)CF
Cao970824
·
2017-06-14 13:46
汇编笔记
汇编学习
笔记 第五章
5.1顺序程序设计从键盘获取一个字节说明:存入AL代码MOVAH,01H INT21H输出一个字节说明:输出DL的对应ASCII值代码MOVDL,* MOVAH,02H INT21H输出字符串说明:输出偏移地址存入DX代码MOVDX,OFFSETLABLE MOVAH,09H INT21H5.2分支程序设计CMP的详细解释ZF标志位ZF=1:DST=SRCZF=0:DST!=SRCCF标志位(无符
Cao970824
·
2017-06-14 13:00
汇编
汇编学习
笔记 第四章
4.1数据常量通过EQU伪指令定义的符号名一般称为符号常量标识符(变量名)要求不能以数字开头不能仅使用特殊字符不能是保留字操作符和表达式$?DUP注:一定要注意$和EQU一起出现的情况4.3运算符和表达式算术运算符注意点参加运算的数和结果都是整数除法只保留商逻辑运算符注意点按位操作与逻辑运算指令不同,在编译时进行计算数值回送操作符SEG:段基址OFFSET:偏移地址TYPE:类型值LENGTH:取
Cao970824
·
2017-06-13 16:00
汇编
汇编学习
笔记 第三章
3.1指令格式汇编指令由操作码与操作数两部分构成标号中的冒号表示属性为NEAR对于段寄存器,CS不允许用户干预,其他必须通过通用寄存器间接传送。对于单操作数指令,操作数不能是立即数对于双操作数指令,目的操作数不能是立即数,且操作数不能均为内存操作数。3.2寻址方式立即数寻址与寄存器寻址直接寻址符号常量通常为立即数寻址,符号变量为直接寻址对于符号变量(X)来说,MOVAX,X等价于MOVAX,[X]
Cao970824
·
2017-06-11 20:52
汇编
汇编笔记
汇编学习
笔记 第三章
3.1指令格式汇编指令由操作码与操作数两部分构成标号中的冒号表示属性为NEAR对于段寄存器,CS不允许用户干预,其他必须通过通用寄存器间接传送。对于单操作数指令,操作数不能是立即数对于双操作数指令,目的操作数不能是立即数,且操作数不能均为内存操作数。3.2寻址方式立即数寻址与寄存器寻址直接寻址符号常量通常为立即数寻址,符号变量为直接寻址对于符号变量(X)来说,MOVAX,X等价于MOVAX,[X]
Cao970824
·
2017-06-11 20:00
汇编
汇编学习
笔记 第二章
2.180x86的基本结构硬件系统由中央处理器(CPU),存储器(Memory),输入输出设备(Input/Output)组成,由系统总线连接。中央处理器内部组成运算器、控制器、寄存器主要功能执行存放在内存中的指令;运算器用来执行算术运算,逻辑运算和数据传送等;控制器用来从内存中取出指令,分析指令操作码,完成操作数的存取和发出相应的控制命令等。总线结构共有三条总线:数据总线(DB),地址总线(AB
Cao970824
·
2017-06-10 17:16
汇编笔记
汇编学习
笔记 第二章
2.180x86的基本结构硬件系统由中央处理器(CPU),存储器(Memory),输入输出设备(Input/Output)组成,由系统总线连接。中央处理器内部组成运算器、控制器、寄存器主要功能执行存放在内存中的指令;运算器用来执行算术运算,逻辑运算和数据传送等;控制器用来从内存中取出指令,分析指令操作码,完成操作数的存取和发出相应的控制命令等。总线结构共有三条总线:数据总线(DB),地址总线(AB
Cao970824
·
2017-06-10 17:00
汇编学习
笔记 第一章
1.1汇编语言程序生成过程:CreatedwithRaphaël2.1.0汇编源程序(.asm)编译连接可执行程序(.exe)1.2数制十进制手算转其他进制,一般都先转化为2进制再转换(比较方便);B表示2进制,D表示十进制,O表示八进制,H表示十六进制(字母开头时加0);1.3数据组织组织方式位(Bit)表示信息的最小单位。字节(Byte)一个字节为8位。字(Word)一个字一般为两个字节,有时
Cao970824
·
2017-06-10 14:00
汇编
Bufbomb缓冲区溢出攻击实验详解-CSAPP
数据包下载:buflab-handout.tarGithub源码:zhwhong/Bufbomb_CSAPP同步发布于博客:Bufbomb缓冲区溢出攻击实验详解-CSAPP实验概述本实验的目的在于加深对
IA
zhwhong
·
2017-05-29 17:12
Bufbomb缓冲区溢出攻击实验详解-CSAPP
数据包下载:buflab-handout.tarGithub源码:zhwhong/Bufbomb_CSAPP同步发布于博客:Bufbomb缓冲区溢出攻击实验详解-CSAPP实验概述本实验的目的在于加深对
IA
zhwhong
·
2017-05-29 17:12
8086
汇编学习
之标志位寄存器的应用
标志位寄存器其作用就是以其不同的标志位来支持更高级的指令,使得程序员的操作更为方便。关于标志位寄存器的知识点:区分CF标志位(进位标志)与OF标志位(溢出标志)1、adc与sbb指令:CF标志位用在加减法的进位与借位操作上:adc指令(addcarry):带进位加法adcax,bx==>(ax)=(ax)+(bx)+CFeg:1EF0001000H+2010001EF0H要求ax、bx、cx分别存
Apollon_krj
·
2017-05-06 23:23
汇编
8086
汇编学习
之寻址方式、数据类型以及几个数据操作指令
(一)、8086
汇编学习
之基础知识、通用寄存器、CS/IP寄存器与Debug的使用(二)、8086
汇编学习
之DS寄存器、SS/SP寄存器(三)、8086
汇编学习
之[BX],CX寄存器与loop指令,ES
Apollon_krj
·
2017-04-30 00:59
8086
汇编学习
之代码段、数据段、栈段与段地址寄存器
同类学习笔记总结:(一)、8086
汇编学习
之基础知识、通用寄存器、CS/IP寄存器与Debug的使用(二)、8086
汇编学习
之DS寄存器、SS/SP寄存器(三)、8086
汇编学习
之[BX],CX寄存器与
Apollon_krj
·
2017-04-26 23:18
8086
汇编学习
之DS寄存器、SS/SP寄存器
相关博客:8086汇编基础知识、通用寄存器、CS/IP寄存器与Debug的使用一、DS寄存器一个8086CPU寄存器均是16位的,而数据类型有以下两种:1Byte=8bit(字节型数据)1word=2Byte=16bit(字型数据)16位寄存器存储一个字,而在内存中需要两个空间连续的字节存储一个字。(高位地址存放高位数据,低地址存放低位数据)。任何两个地址连续的内存单元,N号单元与N+1号单元可以
Apollon_krj
·
2017-04-23 23:40
8086
汇编学习
之基础知识、通用寄存器、CS/IP寄存器与Debug的使用
一、基本概念:1、汇编语言的组成:汇编指令+伪指令+符号体系汇编指令:机器码的助记符(因为机器码难以记忆)通过编译器翻译成机器指令,每一个汇编指令对应一个机器指令(机器码);伪指令:指导编译器如何将汇编指令翻译成机器指令,由编译器执行,计算机不执行,没有对应的机器码;符号体系:+、-、*、/等一系列运算符号,由编译器识别,没有对应的机器码。2、指令的概念:机器指令:一连串二进制数字,不同的二进制组
Apollon_krj
·
2017-04-23 00:25
x86
汇编学习
记录-3月28日
/1.使用xorax,ax完成设置寄存器为0一个数和自己进行异或结果为0,因此可以使用xorax,ax完成对寄存器ax清零的操作,这比movax,0来的更高效而且指令占用的内存空间更少。2.使用andax,ax判断设置SF位从而快捷地判断ax的正负性andax,ax不会改变ax的值,但是会影响到标志寄存器SF,在这条语句之后,常常跟上js/jns/jz/jnz从而完成为正跳转、负跳转、0跳转、非0
huizhang0110
·
2017-03-28 23:11
x86,amd64,x86-64,x64区别
“x86-64”1999由AMD设计,AMD首次公开64位集以扩充给
IA-32
,称为x86-64(后来改名为AMD64)。其后也为Intel所采用,现时英特尔称之为“Intel64”.AMD6
testcs_dn
·
2017-02-16 09:00
cpu
架构
64位
32位
处理器
如何查看jdk的版本是32位还是64位
(箭头指示jdk版本)还有一种比较粗旷的方式这个从CPU说起:
IA-32
架构与IA-64架构IA是IntelArchitecture(英特尔体系结构)的英语缩写
IA-32
架构有32位CPU也有64位CPU
冰蒂
·
2017-02-07 19:25
jdk
32位
64位
版本
环境知识整理
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
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
其他