腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何
指定
应
使用
哪个
段
寄存器
(
x86
)
、
、
、
、
movb $42, (%rax) popq %rbp retfunc(&local_var); 问题是处理器
如何
确定应该
使用
哪个
段
寄存器
来将此指令中的有效地址转换为虚拟地址(可以是
浏览 13
提问于2020-03-23
得票数 0
回答已采纳
2
回答
NX位仿真
、
、
有人能向我解释一下
如何
在32位
x86
等硬件不提供NX位的平台上模拟NX位吗?我非常希望能解释一下它是
如何
被模拟的,因为我根本无法想象它是
如何
实现的。提前谢谢。
浏览 0
提问于2011-01-16
得票数 4
1
回答
NASM是否在32位
x86
中生成的机器指令中包含
段
寄存器
?
、
、
、
我读到32位NASM在访问内存时
使用
段
寄存器
,但是当我用
x86
编写汇编代码时,我不必
指定
任何
段
寄存器
。 那么,这是否意味着NASM在生成的机器指令中包含
段
寄存器
,或者我遗漏了什么?
浏览 0
提问于2019-07-26
得票数 1
2
回答
什么时候创建逻辑地址?
、
、
、
我总是指
x86
(Linux) 谢谢
浏览 0
提问于2018-04-22
得票数 0
1
回答
计算汇编中的有效地址
、
我知道您将DS移到左边一次并添加偏移量,但当您更改默认数据
段
时,我感到困惑吗?对于第一行,我只是添加ES+DI而不是
使用
DS吗?
使用
这些:,我知道其中一个例子是正确的 OUT 21H , AL
浏览 2
提问于2014-02-22
得票数 0
回答已采纳
1
回答
为什么Linux中的数据和代码
段
完全重叠?
、
、
上下文:我正在阅读“理解Linux内核,3d ed",它
使用
2.6.11内核。表除其他部分外,还包括用户代码和数据
段
。但是这两个
段
的基址是0x0,它们的大小也是一样的。所以它们完全重叠。因此,据我所知,逻辑地址cs + offset与逻辑地址ds + offset相同,其中cs和ds是分别保存代码
段
选择器和数据
段
选择器的C
浏览 0
提问于2014-01-16
得票数 5
回答已采纳
1
回答
如何
使用
两个
寄存器
进行寻址?
、
、
、
、
mov [esi][ebx], [esi][edx] loop nextquit:我在这里
使用
间接寻址
浏览 1
提问于2020-10-30
得票数 0
回答已采纳
1
回答
如何
将内存地址转换为代码
段
地址?
、
、
、
如何
将地址转换为16位代码
段
(CS
寄存器
)?例如,如果.text
段
从00E51000开始,那么
如何
计算该段的CS
寄存器
?此问题特定于32位
x86
体系结构。
浏览 2
提问于2019-02-10
得票数 0
2
回答
内存
段
是否由操作系统或体系结构定义?
、
、
x86
体系结构具有用于地址空间(ss、ds等)的各个
段
的
段
寄存器
。如果我想在一个进程地址空间中添加一个新的内存
段
,我可以通过修改内核来完成吗?或者我需要硬件支持吗?我不想做任何具体的事情,只是好奇并试图理解Linux是
如何
使用
段
寄存器
的。
浏览 8
提问于2018-07-04
得票数 0
1
回答
代码
段
寄存器
在系统调用中的作用
进行系统调用时,是否
使用
代码
段
寄存器
或控制
寄存器
检查权限级别? 英特尔
x86
中的代码
段
寄存器
用于分段目的,我不清楚在linux中
如何
处理分页和英特尔cpu机制。
浏览 1
提问于2012-07-08
得票数 0
回答已采纳
4
回答
(准确地说)调用堆栈在哪里?
、
、
、
、
如何
在运行时(通过某种符号或
寄存器
)找到调用堆栈的地址界限?我用nm和readelf来挑选我的符号,但我找不到。在
寄存器
的情况下,我似乎仅限于当前帧的基本指针和堆栈指针,而不是起始地址。我在Linux
x86
/x86_64上
使用
Linux
x86
/x86_64。 编辑:我可以
使用
x86
段
寄存器
SS来计算它吗?
浏览 7
提问于2012-02-13
得票数 2
回答已采纳
3
回答
如何
解释
x86
操作码图?
、
、
在查看
x86
操作码地图时,如下所示: 00: ADD Eb,Gb...该链接对字母的含义有基本的描述,例如: 但有点太模糊了。您
如何
将其实际转换为“完整操作码”(整个指令+操作码中的args )?还
浏览 4
提问于2015-02-22
得票数 5
回答已采纳
1
回答
在IA-32体系结构软件开发人员手册2C中abbr和abbr M的差异
、
、
、
我正在解码
X86
十六进制代码表示以返回到程序集。的A.2.1节提供了寻址方法的缩写代码(A2-Vol.2C页)。有人能解释一下and和abbr M之间的区别吗?一个ModR/M字节跟随操作码并
指定
操作数.操作数是通用
寄存器
或内存地址.如果是存储器地址,则从
段
寄存器
和下列任何值计算地址:基
寄存器
、索引
寄存器
、缩放因子、位移。
浏览 5
提问于2012-02-24
得票数 0
回答已采纳
2
回答
需要将一个XMM
寄存器
乘以另一个
寄存器
,但要
使用
位屏蔽值
、
、
、
在
x86
/SIMD汇编中,我用需要转换的图形图像的四个32位像素填充了一个XMM
寄存器
。RGB格式,因此它们以32位的形式存在:RRRRRRRRRRGGGGGGGGGGBBBBBBBBBB00 最后两个比特是填充比特,未
使用
如何
使用
适当的掩码将其放入另一个XMM
寄存器
中,以便它只影响每个32位
段
的红色部分?当然,这个32位的
段
会在整个XMM
寄存器
中重复,我在
浏览 0
提问于2013-02-19
得票数 5
1
回答
以十六进制字节计算大小
、
、
计算代码
段
的十六进制字节大小的正确方法是什么?我被给予了:我正在做的练习询问代码
段
的大小(十六进制字节),并提供以下选择:A. 3800 B. 1488 C. 0830 D. 0380 E. none of the above 正确的答案是A.3800,但我不知道
如何
计算这个值。
浏览 2
提问于2011-09-22
得票数 0
回答已采纳
4
回答
使用
汇编以
段
的形式存储数据
、
、
我正在学习
x86
汇编语言,并且我理解
段
的用途和用法。数据
段
保存重要的数据,也可以用来存储额外的数据(即内存分段模型)。不过,这是我的问题。如果
段
可以用来存储额外的数据,我
如何
确保我在其中存储的数据不会覆盖任何现有的数据?请让我知道。我
使用<
浏览 0
提问于2009-10-23
得票数 1
1
回答
libc
如何
修改Linux中的CS
寄存器
、
我试图在Linux中
使用
LDT ()。我为新的代码
段
设置了LDT条目,LDT。然后我尝试用ljmp更新%CS。所以我想知道libc修改了%CS
寄存器
,但是我不知道这是
如何
发生的,以及
如何
使用
我自己
指定
的LDT?print the %cs value // load the LDT into %cs, sinc
浏览 6
提问于2015-10-17
得票数 1
回答已采纳
1
回答
系统调用是否存储在
寄存器
中?
、
我在youtube上看到一
段
视频,每个
寄存器
都有系统呼叫。那么,这是否意味着系统调用存储在
寄存器
中?如果是这样的话,这怎么可能,我的意思是,它们是由控制操作系统的内核访问的。那么,内核
如何
访问
寄存器
,内核
如何
知道
哪个
系统调用存在于
哪个
寄存器
中?
浏览 0
提问于2018-08-07
得票数 0
5
回答
寄存器
变量(数据类型: register )在C语言中的概念?
、
我只是想了解一下
如何
在C程序可执行文件中处理
寄存器
变量。例如,在嵌入式系统和
X86
机器(桌面PC上可执行的C程序)的情况下,它到底存储在
哪个
位置(或
寄存器
)? 这个视图怎么样?通常,当调用方调用包含局部变量的被调用方时,它将转到堆栈
段
,并且只有在运行时才会出现在该段中。但是如果我们将上面的局部变量声明为'register int‘,那么它也会进入堆栈
段
。但在运行时,处理器将该局部变量从堆栈放到它的通用
寄存器
位置(因为' regist
浏览 0
提问于2010-09-29
得票数 4
回答已采纳
2
回答
MDR,MAR登记册,与汇编语言有关
、
、
阅读有关CPU构建等内容时,您将了解MAR和MDR
寄存器
,以及它们
如何
控制内存和CPU之间的数据流。另外,在汇编语言中(这里参考IA-32 ),我们了解到
x86
体系结构有8个通用
寄存器
(EAX、ESP、EDI等)、6个
段
寄存器
和2个控制
寄存器
(1个标志
寄存器
和一个指令指针)。总共有16个登记册。汇编语言指南中提到的
寄存器
中没有提到MDR和MAR。
如何
将MAR / MDR放入
寄存器</e
浏览 1
提问于2013-12-12
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券