一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 (3)虚拟8086模式:这种方式可以使用户在保护模式下运行8086程序(比如cmd打开的console窗口,就是工作在虚拟8086模式) 有几点需要特别说明: (1)保护模式可分为16位和32位的,由段描述符中的D标志指明.对于32位代码段和数据段,这个标志总是设为1:对于16位代码和数据段,这个标…
★PART1:32位的x86处理器执行方式和架构 1. 寄存器的拓展(IA-32) 从80386开始,处理器内的寄存器从16位拓展到32位,命名其实就是在前面加上e(Extend)就好了,8个通用寄存器被命名为EAX,EBX,ECX,EDX,ESI,EDI,ESP和EBP,同样的,操作的时候必须要和寄存器的长匹配,比如下面的操作就是错的. 32位通用寄存器的高16位不可以单独使用,但是他们的低16位依然可以按照8086的使用方法一样使用.处理器在32位保护模式下可以使用全部的32条地址线,访问4…
总结于<X86汇编语言 从实模式到保护模式> 仅适用于X86系列处理器 1. 两者的区别: 例:mov ds, ax A.在指定16位编译模式下,产生的二进制码是 8E D8 B.在指定32位编译模式下(在某些老式的编译器中才会出现的),产生的二进制码是 66 8E D8 2. 影响: A.加上0x66的前缀是为了反转默认的操作数大小.因为32位模式下,默认的操作数大小是4字节的,而指令中的源操作数是16位的AX. B.有前缀和没前缀相比,CPU在执行时会多花一个额外的时钟周期. 3. 解决…
https://zh.wikipedia.org/wiki/X86 x86泛指一系列英特尔公司用于开发处理器的指令集架构,这类处理器最早为1978年面市的"Intel 8086"CPU. 该系列较早期的处理器名称是以数字来表示80x86.由于以"86"作为结尾,包括Intel 8086.80186.80286.80386以及80486,因此其架构被称为"x86".由于数字并不能作为注册商标,因此Intel及其竞争者均在新一代处理器使用可注册的名称…
在64位系统上,有两种版本的TestComplete:32位和64位.本主题描述了TestComplete x64及其32位版本之间的区别.关于TestComplete x64启动TestComplete迁移到TestComplete x64关于TestComplete x64当32位应用程序在64位Windows上运行时,操作系统使用WOW64(Windows 64位为Windows 32位)子系统来处理该应用程序.它是提供32位应用程序和64位处理器之间的通信的层.TestComplete…
一.前言 转置操作在很多算法上都有着广泛的应用,在数学上矩阵转置更有着特殊的意义.而在图像处理上,如果说图像数据本身的转置,除了显示外,本身并无特殊含义,但是在某些情况下,确能有效的提高算法效率,比如很多行列可分离的算法,在很多情况下,行和列方向的算法逻辑随相同,但是由于多方面原因(比如Cache miss, 优化水平等)行列处理时间还是由很大的差异的,这个时候如果转置的耗时和处理时间相比所占比例甚小,则可以考虑在进行耗时处理前先转置数据,然后调用不耗时的方向的算法,处理完后再次进行转置.因此,…
一.前言 转置操作在很多算法上都有着广泛的应用,在数学上矩阵转置更有着特殊的意义.而在图像处理上,如果说图像数据本身的转置,除了显示外,本身并无特殊含义,但是在某些情况下,确能有效的提高算法效率,比如很多行列可分离的算法,在很多情况下,行和列方向的算法逻辑随相同,但是由于多方面原因(比如Cache miss, 优化水平等)行列处理时间还是由很大的差异的,这个时候如果转置的耗时和处理时间相比所占比例甚小,则可以考虑在进行耗时处理前先转置数据,然后调用不耗时的方向的算法,处理完后再次进行转置.因此,…
  工具/原料 已经装好的64位Oracle数据库 window7_64位的操作系统 PLSQL_Developer 9.0以上版本(目前只有32位的):下面有下载连接! 官方的 instantclient-basic-win32-10.2.0.5 文件:下面有下载连接! 方法/步骤 1 下载PLSQL_Developer地址: http://pan.baidu.com/share/link?shareid=3768883331&uk=3557941237 下载instantclient-bas…
什么是64位和32位internet explorer 如果您使用 64 位版本的 Internet Explorer 时,您会遇到问题,请尝试使用 32 位版本的 Internet Explorer 查看同一 Web 站点.如果问题发生在这两个版本的 Internet Explorer 中,您必须确定问题是否由一个 Web 对象,对象所致,或如果问题由 Internet Explorer 引起.有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 154036 …
如何在WIN2008或WIN2012 64位系统安装32位SQL2000 在日常服务器,云服务器或VPS中,因尔特网络工程师遇到部分使用了WIN2008 或WN2012 64位系统的用户需要安装SQL2000数据库软件,但是在安装过程提示该数据库软件与系统不兼容的字样,在这里,我们建议你可以改为安装MSSQL2005或MSSQL2008即可. 如果你仍然需要安装SQL2000的话,方法如下: 第一个方法:另外下载MSSQL2000 64位数据库软件安装即可.不过这个方法比较费时.笔者建议你采用第…
如何查看Linux系统是64位还是32位 $getconf LONG_BIT or $file /bin/ls or #查看linux版本 $lsb_release -a or $uname -a 参考 1. 如何查看Linux系统是64位还是32位; 2. 如何判断linux系统是32位还是64位;…
sudo apt-get install ia32-libs 32-64sudo apt-get install libc6:i386sudo apt-get install librt:i386sudo apt-get install libcurl3:i386sudo apt-get install libsqlite3-0:i386sudo apt-get install libstdc++6:i386sudo apt-get install libxml2:i386sudo apt-ge…
C#判断系统是64位还是32位的时候引用了一串代码,这个代码是从园子里面其他博文中转载过来的,引入自己的项目中发现无法使用,在引用了相应的命名空间之后还是提示: "未能找到类型或命名空间名称"ConnectionOptions"(是否缺少 using 指令或程序集引用?)": 除了使用 using System.Management; 还需要在解决方案的"引用"中引用才能够起作用,   private string Distinguish64or…
检查DLL,EXE文件是64位或者32位:输入corflags <assembly path>:…
import java.util.UUID; /** * 通过UUID随机生成36位.32位唯一识别码(唯一字符串) * @author [J.H] * */ public class Test { public static void main(String[] args) { int i = 0; while (i<10) { String a = UUID.randomUUID().toString(); System.out.println(a); System.out.println(…
其实很久之前就学完了实模式了,但是一直没有总结,感觉现在直接在书上做笔记的弊端就是有些知识点不能很很深刻地记下来(毕竟手写最明显的优点就是能深刻地记住知识,但是就是用太多的时间罢了).一下内容都是一些这本书里面的知识和笔记. ★PART1:进制计数: 1.  二进制到十进制的相互转换(带权乘法) a. 二进制转十进制,只要把每一个位都乘以2的相应阶数就可以了,(无论是整数部分还是小数部分) b. 比如:10110001B=1*27+0*26+1*25+1*24+0*23+0*22+0*21+1*…
进入微PE工具箱官方下载页面:http://www.wepe.com.cn/download.html,选择Win8PE 32位 V1.2版下载. 或者直接百度盘下载:https://pan.baidu.com/s/1gfyQlW3 下载完成后执行WePE_32_V1.2.exe,弹出下图界面,选择"安装PE到U盘" 按下图所示设置后,点击"立即安装进U盘" 执着完成后通过MicroUSB接口的OTG HUB将U盘.键盘.鼠标链接到Venue 8 Pro,按下电源键…
需要注意的是汇编不是一种语言,不同平台有不同的汇编语言对应,因为汇编和操作系统平台相关,所以汇编语言没有移植性.对于IA-32架构平台而言,选用的32位80386汇编语言,也就只说讨论的操作系统平台是32位的,可以执行文件的格式也是32位而不是64位或16位的. 实际分析中要知道研究的程序是运行在什么平台上,以选择相应的汇编语言,对应IA-32架构而言,IA-16架构的汇编语言原理其实和IA-32的汇编语言一样,学习过16位的80X86汇编语言的人只需要花一点时间就可以转到32位80386汇编语…
不同的编译器根据不同的 64 位模型有所不同. 比如 Visual C++,从第一个支持 64 位的版本起,一直就是使用 LLP64 内存模型,也就是说,编译出的代码除了 long 和指针是 64 位,int 保持 32 位不变. 可以运行下代码得到结果. #include <stdio.h>int main(){ printf("char: %d\n",sizeof(char)); printf("char *: %d\n",sizeof(char *…
32位单片机的32位是指单片机的“字长”,也就是一次运算中参与运算的数据长度,这个位是指二进制位. 如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数. 如果总线宽度与CPU一次处理的数据宽度不同,总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数,但称为准多少位.比如某CPU是16位但总线是8位,所以它是准16位. 单片机位数与单片机的性能密切相关,通常32位机的性能要高于16位机,而16位机的性能又要高于8位机.为什么会这样呢? 第一,位数不同…
经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可能三方包能pip却找不到,而且找到也可能不兼容!!最恐怖的是有个包同样的版本通过3.7打包成whl只能3.7用,3.6打包whl只能3.6用. 第一步,安装一个与内网环境完全相同的python版本,以我为例,外网额外安装python3.6 32位(64位系统可以安装32位程序).那怎么解决兼容问题呢…
eclipse.ini 文件使用说明 The -vm option and its value (the path) must be on separate lines. The value must be the full absolute or relative path to the Java executable, not just to the Java home directory. The -vm option must occur before the -vmargs optio…
第一步:确认自己系统的架构 dpkg --print-architecture输出:amd64 结果为  amd64 表示系统是64位的 第二步:确认打开了多架构支持功能 dpkg --print-foreign-architectures 输出: i386 如果这里没有输出i386,则需要打开多架构支持 sudo dpkg --add-architecture i386 sudo apt-get update 第三步:安装对应的32位的库 sudo apt-get dist-upgrade (…
★PART1:中断和异常概述 1. 中断(Interrupt) 中断包括硬件中断和软中断.硬件中断是由外围设备发出的中断信号引发的,以请求处理器提供服务.当I/O接口发出中断请求的时候,会被像8259A和I/O APIC这样的中断寄存器手机,并发送给处理器.硬件中断完全是随机产生的,与处理器的执行并不同步.当中断发生的时候,处理器要先执行完当前的指令(指的是正在执行的指令),然后才能对中断进行处理. 软中断是由int n指令引发的中断处理器,n是中断号(类型码). 2. 异常(Exception…
中断是处理器一个非常重要的工作机制.第9章是讲中断在实模式下如何工作,第17章是讲中断在保护模式下如何工作. ★PART1:外部硬件中断 外部硬件中断是通过两个信号线引入处理器内部的,这两条线分别叫NMI和INTR.处理器正在运行的时候会收到各种各样的中断,有些中断必须被处理,这就叫非屏蔽中断:有一些中断的处理优先级没有那么高,并且可以屏蔽,这就叫可屏蔽中断 1. 非屏蔽中断(Non Maskable Interrupt,NMI) 一旦处理器接受到NMI,说明处理器遇到了严重事件,这个时候必须无…
第16章讲的是分页机制和动态页面分配的问题,说实话这个一开始接触是会把人绕晕的,但是这个的确太重要了,有了分页机制内存管理就变得很简单,而且能直接实现平坦模式. ★PART1:Intel X86基础分页机制 1. 页目录.页表和页 首先先要明白分页是怎么来的,简单来讲,分页其实就是内存块的映射管理.在我们之前的章节中,我们都是使用的分段管理模式,处理器中负责分段的部件是段部件,段管理机制是Intel处理器最基本的处理机制,在任何时候都是无法关闭的.而当开启了分页管理之后,处理器会把4GB的内存分…
★PART1:32位保护模式下任务的隔离和特权级保护  这一章是全书的重点之一,这一张必须要理解特权级(包括CPL,RPL和DPL的含义)是什么,调用门的使用,还有LDT和TSS的工作原理(15章着重讲TSS如何进行任务切换). 1. 任务,任务的LDT和TSS 程序是记录在载体上的指令和数据,其正在执行的一个副本,叫做任务(Task).如果一个程序有多个副本正在内存中运行,那么他对应多个任务,每一个副本都是一个任务.为了有效地在任务之间进行隔离,处理器建议每个任务都应该具有他自己的描述符表,称…
★PART1:32位保护模式下内核简易模型 1. 内核的结构,功能和加载 每个内核的主引导程序都会有所不同,因为内核都会有不同的结构.有时候主引导程序的一些段和内核段是可以共用的(事实上加载完内核以后就不需要主引导程序了),和加载一般的用户程序一样,主引导程序也是需要从硬盘中读取程序到指定的内存空间中. 同时,作为一个内核,也是一个程序,而且是一个具有管理全局的能力的程序,应该有固定的段,一般来说,内核应该包括以下几个部分: 1. 公用例程段(实现API功能) 2. 内核数据区(用于预读一些数据…
    第八章是一个非常重要的章节,讲述的是实模式下对硬件的访问(这一节主要讲的是硬盘),还有用户程序重定位的问题.现在整理出来刚好能和保护模式下的用户程序定位作一个对比. ★PART1:用户程序的重定位,硬盘的访问 1. 分段.段的汇编地址和段内汇编地址 NASM编译器使用汇编指令“SECTION”或者“SEGMENT”来定义段.他的一般格式是SECTION 段名称或者SEGMENT段名称(段名称不能重复),另外NASM对段没有数量的限制,一个程序可以有很多的代码段和数据段.Intel处理器要…
64位的系统可以让IIS在32位的环境下运行asp.net程序,设置方法如下: ASP.NET程序在编译的时候默认是Any CPU,即编译的程序可以在X86.X64系统平台上运行.若希望我们的ASP.NET程序运行在X64系统上,我们所要做的仅仅是部署IIS,修改配置.若想程序运行于IIS32位模式下,即运行在.net framwork32位下进行如下配置:1.cscript %systemdrive%\inetpub\adminscripts\adsutil.vbs set w3svc/app…