标签: instructions

条件指令(cmov)和跳转指令之间的区别

我很困惑在何处使用cmov说明以及jump在汇编中使用说明的位置?

性能的角度来看:

  • 两者有什么不同?
  • 哪一个更好?

如果可能,请通过示例解释他们的不同之处.

performance assembly instructions mov

16
推荐指数
1
解决办法
7875
查看次数

可执行文件究竟是如何工作的?

我知道可执行文件包含指令,但这些指令究竟是什么?如果我想调用MessageBoxAPI函数,例如,指令是什么样的?

谢谢.

binary executable instructions

14
推荐指数
2
解决办法
8523
查看次数

[ebp*2]是否引用DS或SS段?

IDM表示,如果EBP用作基址寄存器,则内存操作使用SS段.其结果是,[ebp + esi][esi + ebp]引用SS和DS的段,分别.参见NASM的文档:3.3有效地址.

另外,在上述相同的部分,NASM提到如何通过替换以产生更短的机器代码[eax*2][eax+eax].

然而,NASM还生成[ebp + ebp]用于[ebp*2](即没有碱寄存器).

我怀疑[ebp+ebp]引用SS段,并[ebp*2]引用DS段.

我问NASM这个问题.他们思考[ebp*2]并且[ebp+ebp]是一样的,但对我来说没有意义.显然,[ebp+ebp](ebp作为基址寄存器)引用SS段.如果它们相同,也[ebp*2必须参考SS.这意味着SS只要ebp是基数或索引寄存器就被引用,这又意味着SS [ebp + esi][esi + ebp]引用SS段,因此它们必须相同.

有谁知道哪个部分[ebp*2]使用?

x86 assembly nasm opcode instructions

14
推荐指数
1
解决办法
383
查看次数

跟踪/分析说明

我想在指令级别对我的C代码进行统计分析.我需要知道我正在执行多少次加法,乘法,除法等.

这不是您通常的磨码分析要求.我是算法开发人员,我想估算将代码转换为硬件实现的成本.为此,我被问到运行时的指令调用故障(解析编译的程序集是不够的,因为它不考虑代码中的循环).

环顾四周后,似乎VMware可能提供了一个可能的解决方案,但我仍然找不到能够跟踪我的进程的指令调用流的特定功能.

你知道任何能够实现这一目标的分析工具吗?

c assembly profiling instructions

13
推荐指数
3
解决办法
4054
查看次数

以统一格式使用指令有什么好处?

许多处理器具有统一格式和宽度的指令,例如ARM,其中所有指令都是32位长.其他处理器具有多个宽度的指令,例如长度为2,3或4个字节,例如8086.

  1. 使所有指令具有相同宽度和统一格式的优点是什么?
  2. 使用多个宽度的指令有什么好处?

encoding cpu-architecture variable-length instructions fixed-width

13
推荐指数
1
解决办法
1万
查看次数

是否有不推荐使用的x86指令列表?

我正在使用x86汇编语言编程类,并且知道不应该再使用某些指令 - 因为它们在现代处理器上很慢; 例如,循环指令.

我无法找到任何被认为已弃用的指令列表,应该避免使用; 任何指导将不胜感激.

x86 assembly intel deprecated instructions

12
推荐指数
2
解决办法
2701
查看次数

小弹出指示,如foursquare

在看到新的foursquare应用程序的最后截图和他们的气球之类的卡通说明后,我想在我的应用程序中创建其中的一些.

我发现iPhone 小弹出类似问题 的说明......怎么样?

这是foursquare app的另一个截图: 在此输入图像描述

我想知道如何通过Android实现这一目标.

在此先感谢您的帮助.

更新:这是我到目前为止所能得到的,但添加了一些带有自定义绘制背景的按钮,并使用FrameLayout对它们进行分层:

在此输入图像描述

但我仍然无法获得三角效应.也许我的自定义背景形状可以做些什么?

UPDATE2

在检查了你的建议之后,我决定采用Aaron C的想法并添加一个带箭头的图像.这是我目前的结果:

在此输入图像描述

谢谢Snailer,QuickAction API项目似乎非常有希望.在我的应用程序中实现更多功能时,我会检查出来.

现在,我只需要获得正确的颜色,或者我可以这样做.看起来也不错.

因此,总结一下我的所作所为:

  1. 在FrameView中获得了我的初始xml布局.
  2. 当我使用frameview时,我放在这里的所有东西都将堆叠在一起.这就是我可以在布局中添加内容的方法.

  3. 在那个framelayout中,我放了2个相对布局,带有三角形的图像和一个按钮来创建两个上部弹出窗口.在底部我只放了一个按钮.

  4. 而已.我希望它对某人有所帮助.

再次感谢您的帮助!

layout android popup instructions foursquare

12
推荐指数
1
解决办法
6012
查看次数

每个C指令有多少个asm指令?

我意识到这个问题绝对不可能回答,但我只是在大概数字之后:

给定一个合理大小的C程序(数千行代码),平均来说,将生成多少ASM指令.换句话说,什么是真实的C-to-ASM指令比率?随意做出假设,例如"使用当前的x86架构".

我试图谷歌这个,但我找不到任何东西.

附录:注意到这个问题引起了多大的混淆,我觉得需要一个解释:我想通过这个答案知道,实际上是要知道"3GHz"的含义.我完全清楚每个Herz的吞吐量差别很大,具体取决于架构,硬件,缓存,总线速度和月球位置.

我不是在一个精确而科学的答案之后,而是一个可以用到最终尺度的经验答案.

这不是一个简单的答案(正如我注意到的那样),这是我最大的努力.我知道每行C的ASM行数量取决于你在做什么.i++sqrt(23.1)我不在同一个社区- 我知道这一点.此外,无论我从C中获得什么ASM,ASM都被解释为处理器内的各种微码集,这再次取决于您是运行AMD,英特尔还是其他东西,以及它们各自的代.我也知道这一点.

到目前为止,我所得到的球场答案是我所追求的:一个足够大的项目平均每1行ANSI-C大约2行x86 ASM.今天的处理器可能会在每个时钟周期平均大约一个ASM命令,一旦管道被填满,并给出足够大的样本.

c assembly instructions

11
推荐指数
2
解决办法
7358
查看次数

第一次打开应用程序时的Android说明?

你知道吗 在此输入图像描述

好吧,我想创建像这个屏幕的东西.当我第一次打开应用程序时,我想打开这个屏幕并显示一个上下文..怎么可能?我不知道是什么搜索这种类型的东西..

android instructions android-layout

11
推荐指数
1
解决办法
1万
查看次数

为什么可执行文件可以在Intel和AMD处理器上运行?

如何在AMD和Intel系统上运行可执行文件.AMD和英特尔的指令集不同吗?可执行文件如何在两者上工作?他们究竟是如何编译文件的呢?操作系统在这一切中的作用究竟是什么?

executable instruction-set platform-independent instructions

11
推荐指数
2
解决办法
2100
查看次数