offset与lea

offset与lea

offset是操作符(或说伪指令);lea是硬指令,其操作数必须为内存操作数;offset在编译阶段得出偏移地址;lea在程序执行的时候才去的偏移地址;
offset经过编译后,得到的是操作数是一个数值。从速度上来说,要比lea来得快! 但是,从复杂度和灵活性来说,lea则远远超过offset。
下面的指令是非法的:
MOV AX,OFFSET [BX+200]
因为人BX+200的值在编译的时候无法确定。但可以用lea语句来代替:
LEA AX,[BX+200]
也等价于:
ADD BX, 200
MOV AX, BX

参考:http://topic.csdn.net/u/20101220/22/6af951db-a38b-4f48-8f0a-d122a1a6ea0e.html

你可能感兴趣的:(set)