assume重新认识
以下都是我自己分析的,请大神来指点迷津,只是从实验的现象来总结的,并未从真正的本质入手的,只是学习到第16章的时候犯嘀咕,所以也别用太深奥的知识来说明。
assume是一定要写的吗?
答案是不一定的
code segment
mov ax, 4c00h
int 21h
code ends
end
调试后寄存器的状态,在没有代码开始的标号时,CS = 076A,IP = 0000, DS = 075A的,符合书本上说的,前256个字节是空出来的(这个我还不懂),程序真正的入口是第256个字节开始的。当然你前面写的不是代码段,你不指名入口,程序的入口依然是第256个字节开始。
如果出现标号加冒号,那么情况就有所改变了。
首先,标号加冒号里面存的是一条代码的偏移地址,就存在个问题。那么段地址在哪。
我们必须加上assume cs:code时,才能正常编译,这时就知道了