小编Von*_*ons的帖子

如何创建每行有四个 1 交错的矩阵

如何使用巧妙的命令轻松创建这个矩阵:

1 0 0
1 0 0
1 0 0
1 0 0
0 1 0 
0 1 0
0 1 0 
0 1 0 
0 0 1
0 0 1
0 0 1
0 0 1

Run Code Online (Sandbox Code Playgroud)

r matrix

4
推荐指数
2
解决办法
99
查看次数

两个数字的idivl,其中第一个小于第二个(在汇编中)

根据我的理解,C程序集中的idivl命令采用由%edx(更重要的一半)和%eax(不太重要)表示的64位数字,将其除以参数,并将结果存储在%edx:%中再次eax.

a/b和a> b的行为与我预期的一样:10/2在%edx中产生全0,在%eax中产生5.

但是,我不知道为什么a/b当b> a产生它的功能时.例如,当我将这两个切换为2/10时(即%edx全为0且%eax为2,并且赋予idivl的'参数'为10),结果如下:

%edx有2; %eax全部为0

这是为什么结果?如果我们将%edx和%eax混合在一起,则意味着二进制的2/10 = 00000000000000000000000000000010000000000000000000000000000000000000,即十进制的2 ^ 33,而不是2/10附近.

谢谢!

x86 assembly division

3
推荐指数
1
解决办法
4090
查看次数

标签 统计

assembly ×1

division ×1

matrix ×1

r ×1

x86 ×1