匯編語言lea指令什么意思 匯編語言中LEA指令和MOV指令的區(qū)別是什么?
匯編語言中LEA指令和MOV指令的區(qū)別是什么?1. lea指令的功能是獲取偏移地址,例如lea ax,[1000h],用于將源操作數(shù)[1000h]的偏移地址1000h發(fā)送到ax。2. MOV指令的功能
匯編語言中LEA指令和MOV指令的區(qū)別是什么?
1. lea指令的功能是獲取偏移地址,例如lea ax,[1000h],用于將源操作數(shù)[1000h]的偏移地址1000h發(fā)送到ax。
2. MOV指令的功能是傳輸數(shù)據(jù),例如MOV ax,[1000h]。MOV指令的功能是以1000h作為偏移地址,尋址并找到存儲單元,將存儲單元中的數(shù)據(jù)發(fā)送給ax。
匯編語言lea是什么意思?
MOV指令的功能是傳輸數(shù)據(jù),如movax,[1000h],用于尋址和查找存儲單元,并將存儲單元中的數(shù)據(jù)發(fā)送到ax;lea指令的功能是取偏移地址,如leaax,[1000h],用于將源操作數(shù)[1000h]的偏移地址1000h發(fā)送到ax。理解時可以直接刪除[],相當于movax,1000h,再如:leabx,[ax]相當于movbx,ax;leabx,table相當于movbx,offset table。但有時mov不能直接用來代替:例如leaax,[si6]不能直接用movax,si6代替;但可以用movax,siaddax,6代替。
匯編lea指令有啥用?
實際上,所有者知道這兩個指令之間的區(qū)別,但認為使用lea指令是沒有必要的。事實并非如此。當源操作數(shù)非常簡單時,MOV指令可以用來代替lea指令,如lea ESI、buffer、MOV ESI和offset buffer。但當源操作數(shù)稍微復雜一點時,單用MOV指令不能代替lea指令,至少需要算術指令。指令集中提供了Lea指令,減少了計算量。為減輕人們的勞動強度,提高工作效率而制造的設備和工具。就像,你可以用原來的鐵鍋和柴火做飯做飯,也可以用煤氣爐和電飯鍋做飯做飯。你想用哪一種?