问题标签 [cmp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
318 浏览

assembly - 汇编 cmp 指令

以下 cmp 指令让我感到困惑:

%eax,0x18(%esp,%ebx,4)

我知道它将 arg1 与 arg2 进行比较,但是 arg2 中到底发生了什么以及括号中的内容?

谢谢

0 投票
3 回答
3842 浏览

bash - Bash,使用 cmp 时如何打印出文件相同

cmp file1 file2当文件相同时什么都不做。那么如何在 shell 脚本中打印出相同的文件呢?

0 投票
1 回答
1190 浏览

string - IA32 字符串上的汇编 cmp

我在逆向工程一些 IA32 汇编代码时遇到了一些麻烦。即,这些行:

在这里,$edx寄存器保存了一个字符串,而$eax寄存器保存了相同的字符串,只是删除了索引 0 处的字符。

混淆是由sub步骤214的指令引起的。看起来,不管字符串开头的两个字符是什么,结果都是1。是在比较字符串的长度吗?

另外,调用cmp两个字符串比较什么?

非常感谢!

编辑:

之前,有两个字符串被 cmp'd:

0 投票
1 回答
83 浏览

c - 从 cmp 中的程序集计算实际地址

我正在使用gdb来调试我的代码,仍然是初学者
我想知道如何获取实际地址
例如,给定以下汇编代码:
cmp %eax, 0x4(%rbp,%rbx,4)

我想知道与 %eax 比较的是什么,换句话说,我想知道里面有什么:0x4(%rbp,%rbx,4)

0 投票
2 回答
1148 浏览

assembly - 为什么要选择 CMP ECX、ECX?

我正在查看一些程序集,我看到了这条线

这对我来说没有意义,因为它不总是正确的 A==A 吗?(自反性质)

不确定这是否会有所帮助,但它在这种情况下使用:

0 投票
2 回答
1639 浏览

assembly - 比较 nasm 中的 ascii 字符无法正常工作

我是汇编语言的新手。我在 Ubuntu-Linux 下使用 nasm。我在一本书中找到了以下示例。但是,它无法正常工作。我一直没能找到问题。请你帮助我好吗?

谢谢你。

我的代码如下:

它应该找到最大的数字。但结果是

最大的数字是:

17

0 投票
1 回答
250 浏览

assembly - Why was the carry flag set here?

I was wondering if anyone can give me some site with lots of practice with these flags, especially the carry and overflow flag.

Anyways my question is this.

I'm looking at lecture notes and I see for a 5-bit comparisons

Cmp $12, $6 becomes

00110 - 01100 which can be changed into

The Carry Flag CF = 1 and Overflow Flag OF = 0

Cmp $-6, $-12 is 10100 - 11010 which becomes

CF =1 , Overflow Flag OF = 0

I believe I understand Overflow flag was set to 0 because these small number subtraction (or addition, depending on how you look at it) results in small numbers that never surpassed 2^5 range of numbers.

What about the carry? I thought it meant the last bit had a 1 carried over from the last column/bit, then that's a carry flag right?

What I mean is if it was something like

That's how a carry flag would be set right? The 1 came from 1+1 at the 2nd from the left column.

In my two examples, these are no 1's on top of the leftmost column.

What's going on?

Thanks.

0 投票
1 回答
484 浏览

python-2.7 - 在python 2.7中删除CSV文件中的重复记录

我的输入文件:

输出文件应该是:

意味着我的输出文件应该没有重复。我应该删除基于第1 列重复的记录。

我试过的代码:

我得到的输出:

我究竟做错了什么?

0 投票
1 回答
1531 浏览

assembly - cmpl 和 jge 无法正常工作,x86

我必须翻译以下简单的 C 代码:

我已经制作了一个编译器,可以将它翻译成下面的 GNU x86 汇编代码。(printi 和 prints 是我在翻译后链接的库函数)。

但是,该程序不输出任何内容。似乎我在 while 的检查表达式的某个地方犯了一个错误。

该指令cmpl %edx, %eax应将标志设置为 0-5,即 -5。因此 jge 不应将其分支到 .CH1。因此-16(%ebp)应设置为 1,然后应进入 .CH2。当 1!=0 时,它应该进入 L1。我不知道我哪里错了。

0 投票
1 回答
4151 浏览

arm - 如何比较两个寄存器并在ARM中大于没有分支时执行操作

我正在尝试比较我知道可以使用的两个寄存器 r5 和 r6

我想做的是

如果 R7 > 1 那么ADD R8, R8, #1没有分支,因为我将在代码的不同部分多次使用它

我知道如果 BGT 大于,或者如果它可以在分支添加到计数后返回到之前的位置,BGT 会分支?