汇编伪指令 assume 具体作用是什么

学习 时间:2026-04-02 09:36:52 阅读:596
汇编伪指令 assume 具体作用是什么书上说是把段与一个段寄存器对应起来 能不能具体说说还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗

最佳回答

土豪的画板

冷傲的小白菜

2026-04-02 09:36:52

要用assume把段跟段寄存器对应起来的原因是原来的DOS找到的空闲内存的地址不是固定的,无法找到一个地址在任何时候都是空闲的。于是DOS需要可以重定位的程序,而当时的定位方式就是设置段寄存器的值使该程序能在可分配(空闲)的内存中可用。那就需要知道某个段被重定位时候需要修改哪个段寄存器的值才能正确执行。assume提供这种段和重定位代码时需要对应修改的寄存器的关系给编译器,编译器再这个信息写到二进制文件中去。比如DOS下的exe程序记录在文件头中。

最新回答共有2条回答

  • 端庄的玉米
    回复
    2026-04-02 09:36:52

    要用assume把段跟段寄存器对应起来的原因是原来的DOS找到的空闲内存的地址不是固定的,无法找到一个地址在任何时候都是空闲的。于是DOS需要可以重定位的程序,而当时的定位方式就是设置段寄存器的值使该程序能在可分配(空闲)的内存中可用。那就需要知道某个段被重定位时候需要修改哪个段寄存器的值才能正确执行。assume提供这种段和重定位代码时需要对应修改的寄存器的关系给编译器,编译器再这个信息写到二进制文件中去。比如DOS下的exe程序记录在文件头中。

上一篇 如图,已知角1=角2,角3=角4,且所有的角的度数之和为630度,求角AOB的度数

下一篇 打篮球的好处英语