【问题标题】:How to read selector如何阅读选择器
【发布时间】:2018-01-02 08:50:31
【问题描述】:

如何阅读任何人都知道的选择器?

【问题讨论】:

  • 似乎是什么问题?该练习的一个主要问题是给出了 G/LDTR 的值,但没有显示该指针的内存。事实上,教授的意思是 G/LDTR.Base。
  • @MargaretBloom :我还发现有趣的是,他们应该作为 LDTR.base 引用的是 32 位值,但他们说这是针对 80286,其中基数是 24 位值。基址应该有一个介于 0 和 2^24-1 之间的线性地址。

标签: assembly microprocessors


【解决方案1】:

在第一页上,选择器是 SS = 001Ah。 h 表示该数字以十六进制表示法表示。然后将十六进制数转换为二进制表示法,0000-0000-0001-1010。

在第二页上,选择器是 DS = 001Fh。转换成二进制的值为 0000-0000-0001-1000。

查看下面的链接以获取可能有帮助的资源。 选择器和描述符: https://www.byclb.com/TR/Tutorials/microprocessors/ch2_1.htm

将十六进制转换为二进制:http://math.tutorvista.com/number-system/convert-hexadecimal-to-binary.html

80285 数据表: http://www.nj7p.info/Manuals/PDFs/Intel/210760-002.pdf

【讨论】:

  • 1F = 0001_1111 ...我错过了什么?
  • @Ped 他们删除了低三位以获取描述符表中的索引。但称其为选择器是不合适的。
  • @prl 为什么称它为选择器不正确?由于我使用 0000-0000-0001-1000 或其他什么?我不反对你所说的,只是想更好地理解而不是误导别人,因为我不熟悉这些芯片。
  • 低 3 位是选择器的一部分。当您将它们屏蔽掉时,您将获得不同的值,因此它不再是选择器值。 (它是描述符表索引。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-03
  • 1970-01-01
  • 2015-07-10
  • 2012-11-28
相关资源
最近更新 更多