现代32位或64位x86汇编

在学习了基于8086的x86汇编指令后,继续学习了32位、64位的x86汇编指令。其基本原理与8086基本一致,只是增加了X87浮点单元,以及用于浮点运算和多媒体处理的SIMD(Single Instruction Multiple Data,单指令多数据流)指令。

无论是64位、32位、16位、8位处理器,都是可以(不是绝对)向前兼容的。

1.寄存器变化

32位:
(1)通用寄存器扩展到32位,增加到8个
(2)增加了x87浮点单元,及相关指令
(3)地址总线32位

64位处理器:
(1)通用寄存器扩展到64位,增加到16个
(2)兼容32位x87浮点单元,及相关指令,不推荐使用
(3)增加了8个80位浮点寄存器
(4)地址总线48位(不是64位)

2.处理器模式

32位:
(1)保护模式(有个子模式:虚拟8086模式)
(2)实地址模式
(3)系统管理模式
64位:
(1)兼容模式
(2)64位模式

3.浮点运算

32位:
(1)x87的FPU指令
(2)MMX寄存器组和指令集
(3)SSE寄存器组和指令集
(4)AVX寄存器组和指令集
64位:
(1)兼容32位浮点运行指令集
(2)SSE-64寄存器组和指令集
(3)AVX-64寄存器组和指令集

原文地址:https://blog.51cto.com/14207158/2485779

时间: 2024-10-11 10:29:38

现代32位或64位x86汇编的相关文章

Qt 4.5发布(最大的变动是换用LGPL许可证,移植进了苹果的Cocoa框架。之前的Qt只支持Carbon框架,现在的Qt 4.5两者都支持。单一源代码创建出支持32位或64位字节的Intel或PowerPC Mac二进制文件)

Nokia的开源Qt开发工具正式发布了4.5版.如前所述,Qt 4.5最大的变动是换用LGPL许可证,目前采用的三个许可证分别为LGPL/GPL和商业许可证. 新版增强图形系统.数据处理和网络引擎性能,其它主要特性有:提升与WebKit渲染引擎的集成度,包括Netscape浏览器插件API支持,Qt应用程序可以载入Flash:更先进的Web 用户界面效果,包括动画.转换和缩放:新的JavaScript引擎可提供更强的性能. Qt4.5还被移植进了苹果的Cocoa框架.之前的Qt只支持Carbon

批处理判断操作系统32位或64位,并注册服务

1 @echo off 2 if /i "%PROCESSOR_IDENTIFIER:~0,3%" == "x86" goto 1 /////通过参数判定操作系统位数,并跳转 3 if /i "%PROCESSOR_IDENTIFIER:~0,3%" NEQ "x86" goto 2 ///此条语句后面可以改为 EQU "EM6" 4 :1 /////32位注册服务 5 @echo 32bit 6 Regs

确认windows server 2003是32位或64位

点击"开始"-"运行",输入"winmsd.exe"并按回车键,即打开系统信息窗口,在系统摘要栏目中找到项目"系统类型",若对应的数值为"基于x86的PC",则系统为32位,否则为64位. 如需转载,请注明出处http://blog.csdn.net/combating/article/details/40142919,谢谢!

在CentOS中安装32位或64位MySql报错error: Failed dependencies解决办法

在CentOS中安装MySql报错error: Failed dependencies解决办法 安装64位MySql报错内容如下:error: Failed dependencies:        libaio.so.1()(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.6.19-1.el6.x86_64    

32位与64位系统的不同点

设计的初衷不同 64位操作系统的设计初衷是:满足机械设计和分析.三维动画.视频编辑和创作,以及科学计算和高性能计算应用程序等领域中需要大量内存和浮点性能的客户需求,简单说就是64位操作系统是为专业用户专业软件而设计的,而32位系统是为普通用户设计的. 要求配置不同 64位操作系统只能安装在64位电脑上,即CPU必须是64位的,同时需要安装64位常用软件以发挥最佳性能.32位操作系统可以安装在32位或64位电脑上,但是32位操作系统安装在64位电脑上显然不能充分发挥64位硬件的性能. 运算速度不同

qml实现对SSL的支持(使用msys2,同时支持32和64位)超详细 good

首先准备环境.两种方法,使用mingw64 或者VS 直接放上下载地址https://sourceforge.net/projects/msys2/我下载的是msys2-x86_64-20161025 ,同时支持32和64位里面有三个EXE   msys2  mingw64  mingw32  3个程序完全独立各自使用各自的gcc 再也不用麻烦的切换了.进入msys2  这时可以运行  pacman   使用说明地址https://wiki.archlinux.org/index.php/pac

查看系统版本、32位与64位生产场景中的使用及对比

一.查看系统版本 [[email protected] ~]# uname -a #系统版本详细信息 Linux ysolin 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# uname -r   #内核版本 2.6.32-431.el6.x86_64 [[email protected] ~]# uname -m   #

@清晰掉 各种类型32位与64位下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1. 32 位和 64 位C数据类型 32和64位C语言内置数据类型,如下表所示: 上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型P表示:pointer指针类型32表示:32位系统64表示64位系统如:LP64表示,在64位系统下的long类型和pointer类型长度为64位.64位Li

32位与64位

1.我们所说的64位CPU架构指的是64位内存扩展技术,它是32CPU架构的一个扩展,且兼容原来的架构.它通过增加CPU的运算位宽扩展增加CPU和内存之间的位宽,从而让系统支持更大容量的内存,64位最大支持64G. 2.处理器模式:传统32位模式:安装32位操作系统,安装32位硬件驱动程序,安装32位应用程序.目前大多数人的处理器是Intel 64,安装了32位操作系统,程序运行良好,包括16bit和32bit程序. 兼容模式:操作系统和硬件驱动程序都是64bit,计算机允许64bit操作系统下