问题标签 [addressing]

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 回答
2338 浏览

linux - 基地址寄存器如何获取地址?

我已经完成了在 linux 发行版下为 FPGA 开发的 pcie 驱动程序。一切正常。但我想知道 FPGA 的 PCI 端点中的基地址寄存器在哪里获得基地址。当我生成 PCIe 端点时,我能够设置 BAR 的长度,但不能设置更多。

在 PCIe 驱动程序中,我执行 pci_enable_device 之类的标准功能,但我没有专门设置基地址。

那么操作系统在启动时会设置基地址吗?或者它是如何工作的?顺便说一句,我想知道如果连接了 pcie pcie 设备,操作系统通常会做什么初始化。因为即使驱动程序已卸载,我也确实在 lspci 中看到了我的 pci 设备。

亲切的问候托马斯

0 投票
0 回答
191 浏览

windows - 内核模式下的内存寻址(从 64 位驱动程序读取 32 位子系统数据)

我正在尝试获取有关 x86 子系统如何在 64 位操作系统中工作以及如何解决它的一些信息。

例如:如果 Windows 内核中的(64 位)驱动程序尝试读取 32 位子系统进程的内存部分,您如何获取/计算存储 32 位数据的 64 位地址?在 32 位用户模式下,您只需获取进程模块的基础 + 偏移量,您就可以通过ReadProcessMemory调用读取数据。

但是如何从 64 位内核中查找/访问 32 位子系统数据?

0 投票
1 回答
1107 浏览

ip - IP地址和MAC地址的区别?

我知道它们是用于不同层的地址方案,IPV4 是 32 位,而 MAC 是 48 位。

我的问题是:

  • 为什么我们需要两种不同的地址方案?

  • 如果我们决定为这两个目的使用相同的地址,会出现什么问题?

  • MAC地址需要更多内存是否有原因?

  • ipv6的引入改变了什么?

0 投票
2 回答
94 浏览

assembly - Nasm如何访问特定标签下的dds和dws?

考虑以下标签:

现在如何从另一个标签访问标签dd下的双字或(字?) ?foo

我知道在文档等中可能有对此的答案,但我缺乏正确的术语来使用谷歌找到任何好的结果。

0 投票
3 回答
3058 浏览

cpu-architecture - 如果 2³² 位 = 40 亿位而不是字节,32 位如何寻址 4GB?

本质上,4Gb 是如何变成 4GB 的?如果内存正在寻址Bytes,那么可能性不应该是 2 (32/8)吗?

0 投票
1 回答
517 浏览

string - 在 MASM 中使用具有间接寻址模式的 SIZEOF 运算符

我正在尝试获取 esi 保存第一个字节地址的字符串的大小。

这个怎么跑不了?对于错误,它给我错误 A2081: mi,对于该行号。

0 投票
2 回答
3251 浏览

assembly - GDT 的粒度位在寻址内存方面到底有什么变化?

如果该位为零,那么内存是逐字节寻址的吗?如果它是 1,那么内存是 4Kb x 4Kb 寻址的吗?

例如,如果该位设置为 0,并且我寻址内存位置 a000h,那么我将寻址该位置的字节,对吗?如果我寻址下一个位置 a001h,那么那将是内存中的下一个字节,对吗?

但是如果这个位是 1,我会寻址 4Kb 块吗?

那么寻址a000h会给我一个4Kb的块,而a001是内存中的下一个4Kb吗?

0 投票
0 回答
63 浏览

paging - 虚拟地址空间方程中的页

我已经解决了以下问题..但不确定我是否在正确的轨道上..

如果将 2GB 的虚拟地址划分为 4k 页,则虚拟地址空间中将存在多少页。

我已经计算出,如果 2 31 = 2GB 和 2 12将等于 4k 页面大小..

因此,如果我从 31 中取出 12 位,我将剩下 2 19页..

这是对的还是我离题了?

任何确认/方向(公式)将不胜感激!

0 投票
1 回答
778 浏览

unix - 16 位逻辑地址到 16 位物理地址

我正在为期末考试而学习。我正在研究这个问题:

给定 6 位页号和 10 位偏移量,将以下 16 位逻辑地址转换为 16 位物理地址。使用提供的进程页表。

逻辑地址 0000010111011110。

如何计算物理地址。

我的教授给了我们答案 = 0001100111011110,但我不知道她是如何计算的。

谢谢。

0 投票
1 回答
177 浏览

assembly - 6502 地址的组装和表示

我试图理解程序集 6502 中的这种寻址模式。

例如我们在程序中有这样的指令:

我们知道''text''标签低于$ 2000-高字节是20,低字节是00在累加器中我们有数字30。现在第一个问题是:当我输入时发生了什么STA $80. 是否意味着我们存储的整个地址累加器是0080?现在假设我们将低于 80 00 美元的数字和低于 81 美元的数字 20。Y 为零。现在为什么当我使用它时:

我得到地址2000?这是怎么回事?在 0080 下,我们只有 00(字节)而不是整个地址(2 字节)2000。我知道(80 美元)意味着我们转到 80 美元指向的地址。但是我们只存储了 00 而不是整个地址 2000。我将不胜感激。