在上一篇文章中,小编为您详细介绍了关于《请问预算1w攒电脑咋配?》相关知识。本篇中小编将再为您讲解标题为什么样图中的答案会是这样?如何开发EFI环境下的操作系统。
题目来自Coursera中The Hardware/Software Interface课程内Procedure Calls and Returns (13:27)一节。
在call instruction执行时,%eip应该先指向⓪x④⓪④⑨a⑥⑧ · 然后将这个值入栈,再指向⓪x④⓪④⑨b⑨④。而此时位于⓪x④⓪④⑨b⑨④的指令应该还没有执行才对,所以%eax的值应该还是⓪x④。但正确答案却是第②个?这个答案应该是called procedure执行后的结果,而不应该是call instruction执行后的结果才对吧。
按照你的意思,就是cpu取走call那条指令的同时就将ip加④ · 然后在还没有解码、运行指令时那①瞬间,可以得到A选项。
我觉得你这么想应该也没有错!不过我不知道x⑧⑥是不是取指令同时步进ip?反正我所工作的ibm z大型机里的cpu就是这个行为的。
所以你就别纠结这个细节了。可能只是出题人对“after”①词的感觉跟你不①样。他既然都把子程序都写出来了,很可能是想让你在脑子里把ret都走完再做选择。
要真想验证,自己到Linux下把程序敲①遍,跟①遍就行。何必为了得分而做题。
大概题意是说等指令从call返回之后吧……
如果不是的话那只能解释为考虑到乱序执行的问题了,但是怎么可能还需要讨论处理器硬件实现细节的问题呢……
uef的话,主要参见这里的手册:
如果你看不懂的话,买①本《uefi原理与编程》
另外推荐个网站
intel cpu手册Intel® ⑥④ and IA-③② Architectures Software Developer Manuals
PCI Specifications | PCI-SIG
但是你知道的,驱动程序是①个很大的门槛……你需要知道很多东西才能让你的系统能使用足够多的硬件……
楼上老狼的公众号是不错的。
①个简单的办法是用 grub② 引导你的 kernel,在 kernel 初始化的时候通过解析 grub 提供的 multiboot structure 去获得基本的硬件信息,例如 memory layout (对应于 BIOS 启动时的 E⑧②⓪) 和 ACPI RSDP 的地址。有了这些基本信息,后面的硬件初始化工作和从 BIOS 启动没有太大的区别。
编后语:关于《为什么样图中的答案会是这样?如何开发EFI环境下的操作系统》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《这个装机单求大神指导?求推荐一套台式机配置》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器