gpt4 book ai didi

assembly - 什么管理 RAM?

转载 作者:行者123 更新时间:2023-12-04 17:11:56 25 4
gpt4 key购买 nike

当汇编程序在没有操作系统的机器上编译和运行时,如何选择 RAM 中的起始地址,以便正确分配用数据指令声明的变量?

最佳答案

如前所述,CPU 期望启动程序所在的地址通常是硬连线的。在某些非常特定的 CPU 等情况下,它可能是可编程的,但在 x86 的情况下,它是 FFFF0,或者 - 更准确地说 - FFFFFFF0,因此比 CPU 的最高物理地址低 16 个字节。主板通常将这些地址映射到 ROM,其中包含(很可能)跳转到 BIOS 代码,然后启动计算机。

当涉及到操作系统本身时,他们选择在哪里加载程序,然后他们进行实际加载,并将执行转移给它。例如,在 DOS 的情况下,简单的小应用程序(那些作为 COM 文件分发的应用程序)在地址 100 加载,然后命令提示符执行跳转到该地址,有效地开始执行在该地址加载的代码。对于使用虚拟内存的更先进的系统,问题当然更复杂。

关于assembly - 什么管理 RAM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9132371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com