腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(3193)
视频
沙龙
1
回答
*
在
指令
操作数
、
GNU
汇编
、
AMD64
前面
、
、
我一直
在
努力学习为
AMD64
处理器编写
汇编
代码。我一直
在
研究由gcc生成的代码。最后,我开始看到这样的
指令
*
在
操作数
前面
做什么?
在
我正在阅读的System V ABI文档中出现了类似这样的内容,上面的答案将帮助我继续阅读。
浏览 19
提问于2017-01-19
得票数 0
回答已采纳
1
回答
x86_64不能向rax添加64位值,“‘加法’上的
操作数
不匹配”
、
、
、
我正在尝试组装一些64位代码,但是组装失败了:有错误: x86_64-elf-as test.s -o test.o --64 至于
汇编
程序本身,当使用--version调用时,它返回:
GNU
assembler (
GNU
Binut
浏览 2
提问于2019-10-06
得票数 0
回答已采纳
1
回答
在
GNU
汇编
程序中处理或记住向cmp的反向参数的好方法是什么?
、
、
、
下面是Intel语法中的一些
汇编
代码:cmp rsi, rax这对我的大脑来说是有意义的:如果rsi是“高于或等于”rax,则跳一跳,这与cmp
指令
中的参数顺序相匹配。当我一段时间没有编写组装代码时,我会在英特尔手册中查找cmp和jae的语义,发现它们都是以“第一”和“第二”
操作数
表示的,这与我在
前面
的屏幕上看到的不匹配,这一点并没有帮助。 是否有其他方法将cmp或jae表示为
GN
浏览 2
提问于2016-01-15
得票数 8
1
回答
理解
汇编
中的callq
指令
、
、
、
我是
汇编
语言的新手。
在
分析coredump文件时,我想了解
汇编
级的函数调用。 callq "function Name" 但是,
在
核心文件中,语法是不同的。
浏览 813
提问于2020-05-08
得票数 1
2
回答
为什么Solaris
汇编
程序在这里生成与
GNU
汇编
程序不同的机器代码?
、
、
、
我为
amd64
编写了这个小程序集文件。对于这个问题,代码所做的并不重要。1(%rax),%ebx xchg %rax,%rbx然后,我开始组装,然后
在
Solaris索拉里斯as: Sun Compiler Common 12.1 SunOS_i386assembler version 2.22.90
浏览 8
提问于2013-07-31
得票数 5
回答已采纳
2
回答
什么是callq
指令
?
、
、
、
我有一些由工具生成的用于x86_64体系结构的
gnu
汇编
器代码,其中有以下说明:leaq str(%rip), %rdimovl $0, %eax我看过
gnu
汇编
程序的文档,但找不到详细介绍它所支持的
指令<
浏览 7
提问于2017-10-15
得票数 44
回答已采纳
1
回答
Sciopta RTOS装配错误
、
它产生了以下错误: mrc p15, #0, r0, c9, c14, #2
在
文件
浏览 1
提问于2014-10-31
得票数 0
回答已采纳
1
回答
在
__asm__中,"$variable“是什么意思?
、
、
、
我以为符号'$‘只出现在常量的
前面
。 此外,我从未见过最后两行。我知道and和ret
指令
,但是"xxxxx :“形式太陌生了。我找不到看起来像这样的例子。
浏览 1
提问于2015-04-19
得票数 0
1
回答
在
程序集中,如何在不破坏任一
操作数
的情况下添加整数?
、
、
、
在
x86-64上使用AT&T语法,我希望将c = a + b;组装为不幸的是,
GNU
的
汇编
程序不会这么做。为什么不行?详细信息 VEX编码的通用寄存器
指令
.对三个可编码
操作数
的
指令
语法支持。那是十年前的事了,所以
GNU
的
汇编
程序应该组装我的三个
操作数
指令
,不是吗?顺便提一句,我已经通知<
浏览 3
提问于2021-11-16
得票数 6
回答已采纳
2
回答
x86行"imulq $44,(%rbx),%rax“做什么?
、
、
我知道imul是有符号乘法,文档似乎表明三个
操作数
语法是imulq dest, source1, source2。因此,该行将读为:将存储
在
%rbx中的地址的内容与%rax中的值相乘,然后将其存储在内存位置44中,但这肯定不正确吗?
浏览 1
提问于2017-05-04
得票数 1
回答已采纳
1
回答
clang编译的代码中的jne规则
、
、
、
: printf("heihei");
汇编
既然jne只
在
ZF为0时才跳(jne: jne:ZF选项:~ZF),为什么流会跳回LBB0_1? 顺便问一下,你对学习Clang生成的
汇编
代码和所有其他相关内容的书籍有什么建议吗?
浏览 1
提问于2016-05-24
得票数 0
回答已采纳
1
回答
x64:为什么这段代码会给我“地址边界错误”
、
、
、
、
只有当我
在
call _print_string之后添加代码时,才会发生这种情况。我假设有些寄存器已经被修改了,但是它们不是应该在_print_string函数返回后被恢复吗?
浏览 1
提问于2017-04-10
得票数 1
回答已采纳
2
回答
ARM程序集中的即时值是否需要散列?
、
、
、
我一直
在
阅读gcc生成的一些不同的arm组装代码,我偶然发现了一些
在
规范中找不到的东西。movw r0, #39784显然,第一个是将值39784移到底部的16位或r0中,但“1”的movt
操作数
很奇怪,因为它之前没有散列,而我的印象是即时值需要散列。
在
某些情况下它是可选的吗?还是我错过了什么神奇的东西?
浏览 7
提问于2014-02-08
得票数 6
回答已采纳
1
回答
Go,x64
汇编
和CMOVLMI:这个操作码是在哪里描述的?
、
、
、
、
对它的搜索显示,似乎只有Go知道关于它的任何东西;我可以
在
AMD X86_64参考中找到大量定义的CMOVxx操作码,并且具有很长的条件移动
指令
的历史,但它并没有出现在该列表中的任何地方。Go的内部
汇编
器是独一无二的吗?
浏览 2
提问于2016-12-10
得票数 1
1
回答
如何确定寄存器是从右加载到左还是从左加载
、
、
、
、
当查看gdb输出并查看程序集调用时,通常我可以找到一个使用硬编码值的命令,以确定寄存器是从右加载到左,还是从左加载。 sub rsp, 16 sub 16, rsp (gdb) disassemble 0x0000000100000f54 <main+4>: mov $rdi,%r15 0x0000000100000f59 <main+9>: mov
浏览 3
提问于2017-06-21
得票数 7
回答已采纳
4
回答
汇编
语言“
汇编
语言”也是特定的吗?哪个
汇编
程序是最好的?
、
、
然后
在
中间我切换并开始阅读使用MASM的Introduction to 80×86 Assembly Language and Computer Architecture。
在
NASM中,我用来编写,用于初始化字节。字节1101b 我在看书。因为这些是
汇编
程序
指令
,所以对于每个
汇编
程序来说,它们是不同的。对吗?这些
汇编
程序开发人员不遵循这些
指令
的标准吗?因为,他们知道助记符是CPU特有的。所以,用<e
浏览 3
提问于2010-01-03
得票数 5
回答已采纳
1
回答
如何使用microblaze程序集将32位值加载到寄存器
、
我正在考虑使用
汇编
语言为Microblaze创建一些代码,我不知道如何加载32位数字的通用寄存器。我检查了
指令
集,但只看到可以加载的16位立即值。 有人能提供一个如何做到这一点的例子吗?
浏览 7
提问于2016-11-19
得票数 1
1
回答
at&t组装中的“push”和“push q”有什么不同?
、
、
、
、
在
使用gdb调试文件/lib/udev/iphone-set-info时,我说过要考虑这个问题。
浏览 1
提问于2018-01-15
得票数 16
回答已采纳
3
回答
C中每次使用冒号(":")
我对C程序中冒号( ":“字符)是一个有效的语法元素(除了字符串/字符文字、注释等)的每个上下文都很好奇。下面是我知道的使用冒号的场景:
浏览 3
提问于2016-06-04
得票数 14
2
回答
为什么编译器
在
执行64位操作时将movq更改为movd?
、
"movq %%rcx, %%mm2\n"
在
本例中
浏览 4
提问于2015-08-05
得票数 6
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券