asm 32/64区别

1、系统调用及C函数调用,参数传递方式不同

  • User-level applications use as integer registers for passing the sequence %rdi, %rsi, %rdx, %rcx, %r8 and %r9. The kernel interface uses %rdi, %rsi, %rdx, %r10, %r8 and %r9.
  • A system-call is done via the syscall instruction. The kernel destroys registers %rcx and %r11.
  • The number of the syscall has to be passed in register %rax.
  • System-calls are limited to six arguments, no argument is passed directly on the stack.
  • Returning from the syscall, register %rax contains the result of the system-call. A value in the range between -4095 and -1 indicates an error, it is -errno.
  • Only values of class INTEGER or class MEMORY are passed to the kernel.

2、调用指令不同

  • For a 32bit kernel, SYSENTER/SYSEXIT are the only compatible pair [between AMD and Intel CPUs]
  • For a 64bit kernel in Long mode only… SYSCALL/SYSRET are the only compatible pair [between AMD and Intel CPUs]

3、syscall的call number不同

  • 32bit 定义在unistd_32.h
  • 64bit 定义在unistd_64.h
时间: 2024-11-06 16:01:42

asm 32/64区别的相关文章

asm 32 /64

我使用NASM编写的,运行在32位windows和linux主机上,但后来需求增加了,需要在64位windows和linux上运行,windows自身有个wow(windows on windows)机制,32位程序根本不用移植就能在64位机器上跑,而linux虽然没有LOL机制(是Linux on linux,不是laugth out loud哈,呵呵 ~),但linux 可以安装ia-libs库(ia 应该是 Intel x86 Archive的简写)达到LOL效果,不过,编译ELF64和W

bit 32/64

[asm]64位编译32位汇编需要注意的 汇编语言在32位和64位下有区别    32位的汇编在代码前增加.code32    as可以通过--32指定生成32位汇编 在64位系统下ld链接生成32位程序:    ld: i386 architecture of input file `xxx.o' is incompatible with i386:x86-64 output(1)使用--oformat elf32-i386(2)若(1)无效,可以使用-m elf_i386

【2016新年版】年度精品 XP,32/64位Win7,32/64位Win8,32/64位Win10系统

本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎,系统增加了搜狗输入法,安装过程需要用户手动创建个人账户等步骤,为保证系统的稳定性,win10为未激活版本,如需激活可通过微软官方购买,另外用户可以通过激活工具在线激活. 更新情况:+更新-万能驱动助理至V6.5+更新-虚拟内存智能转移至D盘+更新-winRAR V5.21+更新-我的文档转移至D盘

solidworks 2013 多国语言32 64位(带注册机)全功能

Autodesk.SoftImage.v2014.Linux64-ISO 1DVD Global.Energy.Mapper v14.1.4.2 Win32 1CD LMS.Imagine.LAB.Amesim.R12-ISO 1DVD LMS.Test.LAB.Rev12A.SL2-ISO 1DVD Remcom XFDTD 7.3.0.3 Win64 1CD Tekla.Structures.v19.0.WIN64-ISO 1DVD  ACD.Systems.Canvas.GIS.v14.0

XP,32/64位Win7,32/64位Win8,32/64位Win10系统 【春节版】

本系统是10月5日最新完整版本的Windows10 安装版镜像,win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为win10 Edge浏览器中国默认主页和搜索引擎,系统增加了搜狗输入法,安装过程需要用户手动创建个人账户等步骤,为保证系统的稳定性,win10为未激活版本,如需激活可通过微软官方购买,另外用户可以通过激活工具在线激活. 更新情况:+更新-万能驱动助理至V6.5+更新-虚拟内存智能转移至D盘+更新-winRAR V5.21+更新-我的文档转移至D盘

最新精品 强势来袭 XP,32/64位Win7,32/64位Win8,32/64位Win10系统【国庆版版】

本系统是10月最新完整版本的Windows10 安装版镜像,Win10正式版,更新了重要补丁,提升应用加载速度,微软和百度今天宣布达成合作,百度成为Win10 Edge浏览器中国默认主页和搜索引擎,系统增加了搜狗输入法,安装过程需要用户手动创建个人账户等步骤,为保证系统的稳定性,Win10为未激活版本,如需激活可通过微软官方购买,另外用户可以通过激活工具在线激活. Windows 10对电脑有一些硬件/软件要求,并且功能的可用性可能因设备和市场而异.电脑设备连接到 Internet 并自动启用

Double prefix overrides to provide 16-bit operand size in a 32/64 operating mode

A processor supports an operating mode in which the default address size is greater than 32 bits and the default operand size is 32 bits. The default address size may be nominally indicated as 64 bits, although various embodiments of the processor ma

API Monitor v2.0 Alpha-r13 (32+64) 汉化版

API Monitor v2.0 Alpha-r13 (32+64) 汉化版: 链接: https://pan.baidu.com/s/1jIx5znC 密码: 4538 本软件已最大化汉化,已经趋于完美,其余某些地方汉化了会导致软件异常,比如不能加载API定义等等. 使用教程(官方):http://www.rohitab.com/category/api-monitor-tutorials 如有汉化错误的地方或分享链接过期还请回帖.

windows 7(32/64位)GHO安装指南(序篇)~

大家好,本人是高三刚毕业,即将踏入校园的程序猿~我写这篇文章呢,主要是想巩固一下之前对于电脑的基础知识理论,也希望能帮助没有电脑基础的同学能维护一下自己的电脑,要是能帮助女生修电脑那就是更好啦~~哈哈哈,话不多说,直接进入主题~!!(本教程出现的链接大家可以复制到网页地址栏进入) 本教程总共分为: 1.序篇:概述一下GHO计算机系统安装过程及准备(本章为序篇) 2.U盘制作篇:帮助小白更好的完成U盘启动盘的制作 3.U盘引导篇:来讲述U盘引导的过程 4.系统安装篇:详细的讲述系统安装的过程 5.