腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(838)
视频
沙龙
1
回答
如
何在
x86
程序
集
上
为
` `
ADD
r
/
m16
,
imm16
`
生成
匹配
`
81
/
0
iw
`
的
NASM
输出
?
、
、
、
我正在浏览
x86
英特尔文档
上
的
ADD
指令,一次一行,并试图重现它,这样我就可以了解它们晦涩
的
符号是如何工作
的
,并弄清楚如
何在
没有gcc/clang/llvm/等
的
情况下
生成
机器码。我目前使用
的
是
81
操作码对:
81
/
0
iw
ADD
r
/
m16<
浏览 18
提问于2021-01-29
得票数 0
回答已采纳
1
回答
NASM
XOR签名(32位)
我在寻找
NASM
XOR操作
的
签名,但在手册中找不到。
NASM
的
异或操作
的
签名是什么?在执行XOR X, Y时,哪些寄存器组合/寻址模式是可能
的
?是否只限于某些登记册?
浏览 0
提问于2014-06-21
得票数 0
回答已采纳
2
回答
将1字节即时值添加到2字节内存位置
、
、
来自
add
的
指令文档如下:注意我突出显示
的
两个指令。我在
NASM
中尝试了以下代码(这符合第一个突出显示
的
指令):但我得到了以下错误: 我做错了什么?
浏览 0
提问于2017-07-13
得票数 2
4
回答
8086-为什么我们不能将立即数据移入段寄存器?
、
、
、
、
在8086汇编
程序
设计中,我们只能通过以下方式将数据加载到段寄存器中:首先将数据加载到通用寄存器中,然后必须将其从通用寄存器移到段寄存器中。 为什么我们不能直接加载呢?不被允许有什么特殊
的
原因吗?它们之间
的
区别是什么?mov ax,5000H和mov ax,[5000H]什么?有吗?[5000h]内存位置5000h
的
平均内容?
浏览 160
提问于2013-09-29
得票数 22
回答已采纳
1
回答
为什么cmp指令中
的
参数顺序很重要?
、
、
cmpl %eax, $'A' 我查阅了英特尔
的
IA-32手册,但它无法回答我
的
问题。我想知道为什么第一行代码返回操作数类型不
匹配
,但是第二行没有。
浏览 0
提问于2019-05-19
得票数 2
回答已采纳
1
回答
如果操作数超过127,CMP指令
的
行为会很奇怪吗?
、
、
、
、
我编写了这个汇编
程序
: 1: .asciz "Hello" mov $
0
x07C
0
, %ax.print: int $
0
x10 jmp .loopcond jmp .halt .loopcond部分中
的
第一个指
浏览 4
提问于2020-04-23
得票数 1
回答已采纳
1
回答
8086指令
集
: MODR/M字节
、
、
、
、
MODR/M字节中使用
的
所有位元是什么,可能
的
选项是什么?我找到
的
一些文档:The mod field, which occupies the twomost significant bits of the byte, combines with the
r
/m field to form 32 possible values: eight registersThe
r</em
浏览 39
提问于2022-06-11
得票数 0
3
回答
是否有C函数或宏专为编译1至1与汇编
程序
指令位操作在跨平台方式?
、
、
、
我有一个涉及仿真的项目(如果你看我
的
历史记录,你会看到我已经走了多远!)我希望使用C进行伪二进制转换,并使用优化器和/或编译器来使用C代码将我
的
开关语句内容编译成单个
程序
集
指令,主要用于非常标准
的
指令,
如
movs、
add
、SR和其他简单
的
位操作和算术指令。我希望同时
为
ARM和x86-64完成这一任务,在这两个
程序
集中尽可能少地编写。如果我所描述
的
东西不存在,那么我想知道是否有某种“汇编语言
浏览 0
提问于2014-08-25
得票数 3
回答已采纳
1
回答
可以读取
程序
集中
的
标签值吗?
、
标签表示它后面的第一个字节
的
地址,但我能读取它
的
值吗?例如,我可以这样做吗?
浏览 0
提问于2014-12-30
得票数 1
回答已采纳
3
回答
MOV
r
/m8,
r
8与MOV
r
8,
r
/m8
的
差异
、
、
、
、
通过查看英特尔
的
指令量,我发现:2) 8A /
r
MOV
r
8,
r
/m8mov al,bl88D8 mov al, bl 很明显,
NASM
选择了上述两种指令中
的
第一种,但第二种指令不是第二种吗?如果
浏览 0
提问于2017-06-02
得票数 6
回答已采纳
1
回答
为什么Linux
上
的
NASM
会改变x86_64
程序
集中
的
寄存器
、
、
、
、
我是x86_64
程序
集
编程新手。我在x86_64
程序
集中编写简单
的
"Hello“
程序
。下面是我
的
代码,运行非常好。syscall mov rdi, 4现在,当我在gdb中进行分解时,它提供了以下
输出
0
x1
0
x00000000004000b5 <+5>: mov edi,<em
浏览 2
提问于2018-02-03
得票数 4
1
回答
添加指令形式,Intel手册不描述操作数大小重写,
如
“字节”或“单词”
、
、
、
我正在看一个由
NASM
组装英特尔组件
的
例子。它有以下指示:我如何从文档中知道“字节”是什么?我正在读的书在文本中解释了“字节”是如何告诉汇编
程序
我们只为ebx编写一个字节。我不清楚我是如何从文档中了解到这一点
的
。从书中和其他地方
的
例子来看,
ADD
指令似乎有两种形式:
ADD
<size> <dest> &l
浏览 11
提问于2022-04-13
得票数 0
回答已采纳
5
回答
我该用什么编译器来写机器语言呢?
、
出于兴趣,我想用机器代码写一个小
程序
。需要使用编译器吗? 最好是在OSX
上
运行
的
。
浏览 2
提问于2011-05-26
得票数 6
回答已采纳
1
回答
将armv7m指令转换为LLVM IR
、
、
、
、
我
的
体系结构只为汇编代码中
的
每个函数创建一个llvm函数,
为
函数中
的
每个基本块创建一个llvm基本块,对于基本块中
的
每个
程序
集
指令,我使用一个构建器
为
该指令构建等效
的
llvm指令(同时将该指令
的
基本块
的
程序
集
指令
生成
llvm指令。我希望在
生成
的
等效
的
llvm指令(即%
r
1、%
浏览 4
提问于2021-05-16
得票数 0
1
回答
一些clang
生成
的
程序
集
不能在真实模式下工作(.COM,微型内存模型)
、
、
、
、
首先,这是对
的
跟踪。但要使它自成一体,背景如下: clang (和gcc也一样)有一个-
m16
开关,因此i386指令
集
的
指令以“16位”真实模式作为前缀,以便于执行。下一个逻辑步骤:比较
生成
的
程序
集
。在这里,我必须承认,我对
x86
完全陌生,我唯一
的
组装经验是使用好
的
旧6502。因此,在下面的片段中,我将添加我
的
假设和想法作为评论,请在这里纠正我。循环
的
解决方案将编
浏览 2
提问于2015-08-06
得票数 4
回答已采纳
2
回答
nasm
/ld“重新定位截断以适合:
R
_386_16”
、
、
、
、
-o file.bin file.o --oformat binaryfile.asm:(.text+
0
x6): relocation truncated to fit:
R
_386我猜ld不能
生成
16位二进制文件,所以它用32位地址代替了hw,而不是16位地址。然后它会抱怨,因为我
的
程序
试图将32位值放入16位寄存器中。是否有什么论点,我可以传递给
nasm
/ld,使这一工作? elf不支持16位,
nasm
支持
的
唯
浏览 11
提问于2016-01-25
得票数 7
回答已采纳
1
回答
错误: SPARC
上
未知
的
"%“符号
、
、
、
我
的
程序
在Ubuntu
上
运行得很好。 "movl $.LC
0
,%edi\n\t"这是我在SPA
浏览 1
提问于2016-09-19
得票数 1
回答已采纳
4
回答
C内嵌组件
、
、
、
、
我正在用c编写一个国际象棋引擎,速度是必不可少
的
。国际象棋引擎基于无符号
的
long,我将表示
为
u64,它严重依赖于最小
的
位扫描。不过,我用gcc -S -O2
为
这个孤立
的
函数
生成
了汇编代码。它给了我以下内容:rep bsfq %rdi, %raxretrep bsfq %rdi, %rax在我
的
国际象棋
程序
中做了同样
的
事
浏览 8
提问于2022-04-03
得票数 0
回答已采纳
1
回答
我可以获得帮助来解析.NET 4.7.2项目的包引用吗?
、
在我
的
一个解决方案中,2/3
的
项目运行在.NET 4.7.2
上
,另一个项目是在.NET核心上运行
的
reactJS项目。下面是
输出
文件中
的
一行代码,这一行对我来说似乎很突出: 统一依赖"System.Collections,Version=4.0.11.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a解析
的
文件路径
为
"C:\Program Files (
x86</em
浏览 18
提问于2019-06-12
得票数 1
2
回答
MetadataException [无法加载指定
的
元数据资源]
、
、
关于堆栈溢出中
的
错误,有很多信息。然而,它们都没有帮助。下面是问题
的
描述。 这被设置
为
“嵌入到
输出
程序
集中”,这是正确
的
。我已经尝试过手动定位dll路径,但是只有非常可怕
的
错误。
程序
集
未找到或无效
的
代码基或版本。如果我让它成为一颗星,它将分离可用
的
程序
集
。然而,有报道说,3层应用
程序
必须完
浏览 1
提问于2011-03-14
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Serverless实战:分分钟实现视频压缩与格式转换
机器学习实践-DGA检测
用汇编语言编写TCP Bind Shell的菜鸟教程
详解Libra的Move IR编译器漏洞
在R、Python和Julia中常用的数据可视化技术
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券