匯編語言中mov和lea指令的區(qū)別詳解
指令(instruction)是一種語句,它在程序匯編編譯時(shí)變得可執(zhí)行。匯編器將指令翻譯為機(jī)器語言字節(jié),并且在運(yùn)行時(shí)由 CPU 加載和執(zhí)行。
一條指令有四個(gè)組成部分:
標(biāo)號(hào)(可選)
指令助記符(必需)
操作數(shù)(通常是必需的)
注釋(可選)
最近在學(xué)習(xí)匯編語言,過程中遇到很多問題,對(duì)此在以后的隨筆會(huì)逐漸更新,這次談?wù)刴ov,lea指令的區(qū)別
一,關(guān)于有沒有加上[]的問題
1,對(duì)于mov指令來說:
有沒有[]對(duì)于變量是無所謂的,其結(jié)果都是取值
如: num dw 2
mov bx,num
mov cx,[num];bx=cx=2
對(duì)于寄存器而言,有[]表示取地址,沒[]表示取值
如: num dw 2
mov ax,num
mov bx,ax;bx=2
mov bx,[ax];mov bx;DS:[ax],這里可能存在報(bào)錯(cuò)的情況,總之大體意思能理解就行
2,對(duì)于lea指令來說:
有沒有[]對(duì)于變量是無所謂的,其結(jié)果都是取變量的地址,相當(dāng)于指針(與mov相反)
如:num dw 2
lea ebx,num;
lea eax,[num];ebx=eax
對(duì)于寄存器而言,有[]表示取值,沒[]表示取地址
如:mov eax,2
mov ebx,[eax];ebx=2
mov ebx,eax;eax=地址,隨程序的不同而不同
總結(jié)
以上所述是小編給大家介紹的匯編語言中mov和lea指令的區(qū)別詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
匯編語言功能字符串大小寫轉(zhuǎn)換實(shí)現(xiàn)實(shí)例詳解
這篇文章主要為大家介紹了匯編語言功能大小寫轉(zhuǎn)換實(shí)現(xiàn)的實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-11-11
匯編語言AND指令實(shí)現(xiàn)對(duì)兩個(gè)操作數(shù)進(jìn)行邏輯(按位)與操作
這篇文章主要介紹了匯編語言AND指令實(shí)現(xiàn)對(duì)兩個(gè)操作數(shù)進(jìn)行邏輯(按位)與操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
匯編語言進(jìn)制轉(zhuǎn)換之16進(jìn)制轉(zhuǎn)10進(jìn)制
這篇文章主要介紹了匯編語言進(jìn)制轉(zhuǎn)換之16進(jìn)制轉(zhuǎn)10進(jìn)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
匯編語言實(shí)現(xiàn)在指定字符串中搜索字符''A''的方法
這篇文章主要介紹了匯編語言實(shí)現(xiàn)在指定字符串中搜索字符'A'的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02

