假設 eax=1
LEA eax [eax+eax*4] 結果為什麼是 eax=5呢?
[eax+eax*4] 為直接尋址方式,操作數的位址有DS加上指令中給出的偏移得到。在這裡,偏移為:eax+eax*4;
LEA指令的功能是将源操作數、即存儲單元的有效位址(偏移位址)傳送到目的操作數。
在這裡就相當于将偏移值:eax+eax*4賦給eax了。如果用mv,那就是将ds:(eax+eax*4)=ds+5 處的值給eax。
假設 eax=1
LEA eax [eax+eax*4] 結果為什麼是 eax=5呢?
[eax+eax*4] 為直接尋址方式,操作數的位址有DS加上指令中給出的偏移得到。在這裡,偏移為:eax+eax*4;
LEA指令的功能是将源操作數、即存儲單元的有效位址(偏移位址)傳送到目的操作數。
在這裡就相當于将偏移值:eax+eax*4賦給eax了。如果用mv,那就是将ds:(eax+eax*4)=ds+5 處的值給eax。