汇编伪指令 assume 具体作用是什么书上说是把段与一个段寄存器对应起来 能不能具体说说还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/18 13:59:21
汇编伪指令 assume 具体作用是什么书上说是把段与一个段寄存器对应起来 能不能具体说说还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗
xSn@@"_@%TR& `R` @(6 ?WX(EJ]T,{sϽg&KDzt2t>9x n^ѾAlr\ʌg\*_Y'L5~q> V`j/$vSŷPD2>*}D! W&|[}ᾰo1rDMaƝC散Pb0^çZá?:K%ٲh?9FSTw/hʖn'(8 GC\ޔ:#&%pmC{{48MFAYEU)Ę\@GGpbL?AzX (ūS;bnWs"()g~ FM0}S" OnL6ţ|Mr1o?vV'ܟF404Q-P;۷b%f`Y5@.ކ=onǩCiU3hvO d"KLl

汇编伪指令 assume 具体作用是什么书上说是把段与一个段寄存器对应起来 能不能具体说说还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗
汇编伪指令 assume 具体作用是什么
书上说是把段与一个段寄存器对应起来 能不能具体说说
还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗

汇编伪指令 assume 具体作用是什么书上说是把段与一个段寄存器对应起来 能不能具体说说还有就是 如果汇编程序 没有assume的话 我写的程序 用masm编译不能通过 assume是必须的吗
要用assume把段跟段寄存器对应起来的原因是原来的DOS找到的空闲内存的地址不是固定的,无法找到一个地址在任何时候都是空闲的.于是DOS需要可以重定位的程序,而当时的定位方式就是设置段寄存器的值使该程序能在可分配(空闲)的内存中可用.那就需要知道某个段被重定位时候需要修改哪个段寄存器的值才能正确执行.assume提供这种段和重定位代码时需要对应修改的寄存器的关系给编译器,编译器再这个信息写到二进制文件中去.比如DOS下的exe程序记录在文件头中.