[求助]初学汇编 请教关于OFFSET指令的问题
我学习的是intel的汇编
例:.data
aa byte ?
.code
mov EAX,OFFSET aa
OFFSET 指令返回的是数据标号的偏移地址,那么EAX 得到的到底是物理地址还是一个相对数据段的偏移地址?如果是偏移地址,后面编译的时候怎么知道EAX中的地址是数据段的偏移地址?
请指教
我学习的是intel的汇编
例:.data
aa byte ?
.code
mov EAX,OFFSET aa
OFFSET 指令返回的是数据标号的偏移地址,那么EAX 得到的到底是物理地址还是一个相对数据段的偏移地址?如果是偏移地址,后面编译的时候怎么知道EAX中的地址是数据段的偏移地址?
请指教
2006-10-24 19:48

2006-10-24 21:47
谢谢楼上的回答,但经过计算以后aa所代表的地址应该是物理地址,那么在用aa所处的地址数值替换了 OFFSET aa以后,EAX是如何得到偏移地址的值呢?还是在第一遍扫描的时候就先把偏移地址移交给EAX?
2006-10-24 23:54
2006-10-25 20:06
2006-10-25 20:35
2006-10-26 21:30
好 谢谢
2006-10-29 18:47
2006-11-18 14:31
我想请教各位:mov EAX,OFFSET aa 得到的是偏移地址所指向单元中的内容吧!而不是偏移地址!!!
如果是用下面的指令:LEA EAX,aa 就是得到偏移地址!!!
第二个是对的,第一个是错的

2006-11-18 14:47
2006-11-20 13:21