assembly相关内容

其中内联汇编code是rdtscp正确的?

免责声明:无法用言语形容我是多么讨厌AT& T公司风格的语法 我有,我希望是由寄存器重挫造成的一个问题。如果不是这样,我有一个更大的问题。 我用的第一个版本是 静态无符号长长rdtscp(无效) { 无符号整型HI,LO; __asm​​__ __volatile __(“rdtscp”:“= A”(LO),“= D”(HI)); 返回(无符号很长很长),罗| ..
发布时间:2016-07-18 19:59:57 .NET Framework

P"采用改性剂QUOT GCC内联汇编;与约束" P"在" M"在Linux内核

我在读Linux内核源代码code(3.12.5 x86_64的)了解进程描述符是如何处理的。 我发现来获得当前进程的描述符,我可以使用current_thread_info()函数,该函数执行如下: 静态内嵌结构的thread_info * current_thread_info(无效) { 结构的thread_info * TI; TI =(无效*)(this_cpu_re ..
发布时间:2016-07-18 19:59:54 .NET Framework

如何执行用C循环移位

我所描述的一个问题:如何执行没有嵌入汇编用C循环移位。为了更具体,如何旋转移位32位 INT 。 我现在正在解决这个问题,键入得到long long int 的帮助,但我认为它有点丑陋,想知道是否有一个更优雅的方法 亲切的问候。 解决方案 维基百科的code产生次优ASM(海合会包括分支或CMOV)。看到这个问题在C ++中循环移位(旋转)操作(或我的答案)的最佳实践。 ..
发布时间:2016-07-18 19:59:50 .NET Framework

变速箱总成;是什么地址前一个星号*在x86-64的AT&放大器是什么意思?

什么是以下行的意思是: ... 401147:FF 24 C5 80 26 40 0​​0 jmpq * 0x402680(,RAX%,8) ... 什么是内存中的地址前面的星号是什么意思? 此外,这是什么意思时,存储器访问方法缺少它的第一个寄存器值? 一般其类似的信息(“%寄存器”,%RAX,8),但在这种情况下,它不具备第一寄存器。 任何提示? 解决方案 其实这计算表JMP ,其 ..
发布时间:2016-07-18 19:59:42 .NET Framework

如何获得VS2013停止生成调用__dtol3,__dtoui3等功能为整数类型之间的铸造?

我在升级Visual Studio 2010中的项目,针对银泰RTOS的过程。 code,执行铸造过程中无法链接。当调查“内联汇编”输出文件,事实证明,对于某个整数浇注操作,VS2013是生成汇编指令调用__dtol3,__dtoui3,__dtoul3,__ltod3和__ultod3。问题是,在的INtime库不包含这些函数的定义。我已经验证了VS2013确实为Win32的目标Debug和相同 ..
发布时间:2016-07-18 19:59:29 C/C++开发

在汇编语言寻址模式(IA-32 NASM)

由于在这个网上资源是稀少的,我会为未来搜索的好处,首先列出了IA-32汇编语言的寻址模式(NASM),然后跟进一个简单的问题。 寄存器寻址 MOV EAX,EBX:复制什么是EBX到EAX MOV ESI,VAR:复制VAR的地址(比如0x0040120e)进入ESI 立即寻址(第二个操作数是一个立即数) MOV BX,20:16位寄存器BX得到实际值20 直接内存 ..
发布时间:2016-07-18 19:59:26 .NET Framework

任何人都可以了解gettimeofday的作品?

gettimeofday的是本页面(仅搜索的x86-86系统调用 gettimeofday的在框中): INT的gettimeofday(timeval结构*电视,结构时区* TZ); 我认为disas应该很容易anough,只要prepare两个指针,并调用相关的系统调用。 但其disas是做多:(GDB)disas的gettimeofday 汇编code的功能函数gettimeofda ..
发布时间:2016-07-18 19:59:23 .NET Framework

推64位英特尔OSX

我想如下堆栈推64位地址, __ ASM(“pushq $ 0x1122334455667788”); 但我得到的编译错误,我只能在下列方式推, __ ASM(“pushq $ 0x11223344”); 有人可以帮助我了解我的错误? 我是新来组装,所以请原谅我,如果我的问题听起来很愚蠢。 解决方案 X86-64有一些有趣的怪癖,这是不是就算你熟悉的32位x86 ... 明显 ..
发布时间:2016-07-18 19:59:20 .NET Framework

如何实现在64位code高效的32位DivMod

我想用其操作完全在32位操作数 DivMod 功能。在RTL的实施在16位变量返回的值。它的声明是: 程序DivMod(分红:红衣主教;除数:字; VAR结果,余数:字); 所以,我不能使用,因为我的投入可能会溢出的返回值。 天真帕斯卡尔实施看起来是这样的:程序DivMod(被除数,除数:红衣主教;出商,余数:红衣主教); 开始 商:=股利DIV除数; 余数:= MOD股息除数; 结 ..
发布时间:2016-07-18 19:59:18 .NET Framework

如何创建在16位MASM大会86休眠功能?

我想创建16位MASM大会的x86睡眠/延迟过程,将,比如说,在屏幕上打印字符每500毫秒。 从我已经做了研究,似乎有三种方法来实现这一点 - 我想用使用CPU时钟周期一个 请注意我在Mac OS X雪豹运行Windows XP通过VMware Fusion的 - 我不知道这会影响什么。。 可能有人请点我在正确的方向,或提供code我可以调整的工作一块?谢谢! 在code,我发现应该是打印 ..
发布时间:2016-07-18 19:59:10 .NET Framework

x86汇编:让Linux的系统调用你应该保存所有寄存器之前?

我已经打开了一个文件,下面的code,读入缓冲区,然后关闭该文件。 关闭文件系统调用需要的文件描述符在EBX寄存器。 EBX寄存器得到读取系统调用之前的文件描述符号。我的问题是我要救EBX寄存器堆栈上或其他地方之前,我做read系统调用,(可以诠释80H垃圾EBX寄存器?)。然后恢复EBX寄存器为close系统调用?或者是code我有以下罚款和安全? 我已运行低于code和它的作品,我只是不知 ..
发布时间:2016-07-18 19:59:07 服务器开发

如何使用ARM汇编code在Android项目?

我不是特别大会和ARM的经验,但我可以在这上面写几个程序,我想看看他们的ARM-搭载了Android设备(的Nexus S)上的运行方式。什么是包括大会code文件到Android项目的程序?我只能从本地code调用它,或者从Java也? 解决方案 您可以在Android使用Java本地接口和Android NDK调用组件。 塞德里克提到使用 ASM 关键字,而我preFER包括汇编源$ ..
发布时间:2016-07-18 19:59:04 移动开发

什么是默认的寄存器状态时,程序启动(ASM,LINUX)?

在程序启动(Linux中,小精灵) - 有在 EAX , EBX 零等,或有可以是任何东西(我没有做任何电话或使用的extern libraryies)?在我的机器真是这样,我可以这样写行为ASM programms的时候继电器? 解决方案 这在ABI完全取决于每个平台。既然你提到 EAX 和 EBX 让我们来看看有什么针对x86的情况。在 FS / binfmt_elf.c 线#972, ..
发布时间:2016-07-18 19:58:57 服务器开发

如何关掉LLVM的综合汇编?

我有涉及手写装配AT&放一个项目; T语法,做工精细与海湾合作委员会,而不是由我做再加上我不是很了解装配其试图与Clang的建立它的时候表现出奇怪的问题 LLVM文档提到,“大多数X86指标”使用LLVM的集成组装,而不是制度汇编;作为一个可能的解决方法,我想明确地使用了后者。我(当然,谷歌)都没有成功找到关于如何做到这一点的信息。 问:有没有办法询问或者说强制锵/ LLVM使用该系统,而不是 ..
发布时间:2016-07-18 19:58:56 .NET Framework

为什么它使用MOVL而不是推?

注意这个code: 的#include<&stdio.h中GT; 一个无效(INT A,INT B,INT C) { 炭缓冲器1 [5]; 炭缓冲器2 [10]; }诠释的main() { 一个(1,2,3); } 之后: GCC -S交流转换器 这是命令显示组装我们的源$ C ​​$ C。 现在我们可以在主函数中看到的,我们从来不使用“推”命令来推动的论点 ..
发布时间:2016-07-18 19:58:53 .NET Framework

如何找到C ++编译器如何实现除检查等发射机code的东西吗?

假设我制作了一组类抽象的东西,现在我担心我的C ++编译器是否能够剥离的包装材料和放出真干净,简洁,快速code 。我如何找出编译器决定做? 我知道的唯一方法是检查拆卸。这非常适用于简单的code,但这里有两种弊端 - 编译器可能做到这一点不同的,当它编译同一code试也是该机code分析是不平凡的,所以它需要努力。 我还能如何找到编译器决定如何执行我codeD在C ++? 解决方案 ..
发布时间:2016-07-18 19:58:50 C/C++开发

在X $ C $的C 4浏览拆装(或X code 5或X code 6)

我无法在有关新的X code布局信息的方式找到了。如何查看我的源文件的拆卸,而不仅仅是C ++ code? 解决方案 这是我在一个非常彻底的X $ C $的C 4审核阅读(的 http://fireballed.org/linked/2011/03/09/x$c$c-pilkington/ )时,显示一个文件汇编code能力现在已经以x code 4.我猜你总是可以设置一个方法断点,看看它 ..
发布时间:2016-07-18 19:58:46 移动开发