首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MP浮点结构

MP浮点结构
EN

Stack Overflow用户
提问于 2016-10-31 01:10:01
回答 1查看 311关注 0票数 0

我正在浏览XV-6代码,它通过它来识别MP结构。它首先在EBDA的第一个kb中搜索。代码如下所示

代码语言:javascript
复制
static struct mp*
mpsearch(void)
{
  uchar *bda;
  uint p;
  struct mp *mp;

  bda = (uchar *) P2V(0x400);
  if((p = ((bda[0x0F]<<8)| bda[0x0E]) << 4)){
    if((mp = mpsearch1(p, 1024)))
      return mp;
  } else {
    p = ((bda[0x14]<<8)|bda[0x13])*1024;
    if((mp = mpsearch1(p-1024, 1024)))
      return mp;
  }
  return mpsearch1(0xF0000, 0x10000);
}

我不明白这行if((p = ((bda[0x0F]<<8)| bda[0x0E]) << 4))是做什么的。

EN

回答 1

Stack Overflow用户

发布于 2016-12-09 14:49:21

1.2 BIOS Data Area (BDA)

EBDA0x040E(字)

基址>> 4(通常!)

p = ((bda[0x0F]<<8)| bda[0x0E]) << 4的目的是提取一个20位地址来表示EBDA的第一个千字节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40331531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档