这样写是不是不对的?
mov ax, location1
location1: mov ax, 4
如果location1是一个变量的话,那第一行就是把location1的值送ax,但是现在location1是一个标号,它没有值,就不存在把“它的值送ax”的说法了
如果要把这个标号的位移送ax,又应该用offset 这个析值操作符,但是上面又没有用offset。
所以上面第一行就是一个四不像了
但是奇怪的是又可以编译得过,这是为什么呢?
[解决办法]
这问题与汇编器有关,严格来讲这样写是不对的,但某些汇编器会将其解释为变量或取标号的偏移量,自己在程序时应避免这种写法。
[解决办法]
2楼说得很对,这跟编译器有关,如果用masn编译,则不成功,必须用OFFSET
如果用nasm编译,则成功