欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別

 更新時間:2020年01月19日 11:43:31   作者:Return Home 朝聞道  
這篇文章主要介紹了匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

匯編中中括號[]作用及l(fā)ea和mov指令的區(qū)別

現(xiàn)在總結一下:其中牽扯到lea指令,mov指令,[]

一.lea指令:

對于寄存器來說:第二個操作數(shù)是寄存器必須要加[],不然報錯,這里lea就是取[寄存器]的值,如:

mov eax,2
lea ebx,[eax];執(zhí)行后ebx=2
mov ebx,eax;等同于上句
lea ebx,eax;編譯器報錯: error A2070: invalid instruction operands

對于變量來說加不加[]都是一樣的效果,都是取變量的地址,相當于指針

如:

num dword 2
lea ebx,num
lea eax,[num]; eax為num的地址,如eax=4206598,隨程序不同不同,這時ebx==eax

二.mov指令:

對于變量來說

num dword 2
mov eax,2
mov ebx,num
mov ecx,[num];執(zhí)行完ebx==ecx==2

對寄存器

mov ebx,eax;ebx==2

mov ecx,[eax];可能會報錯,因為這里翻譯成匯編是mov ecx,DS:[eax]

總的說來加不加中括號[]的區(qū)別就是:

lea對變量沒有影響是取地址,對寄存器來說加[]時取值,第二操作數(shù)不加[]非法

mov對變量來說沒有影響是取值,對寄存器來說是加[]時取地址,第二操作數(shù)不加[]是取值

還有一點這里順便說下,看有的教程說mov指令不支持mov ebx,[eax+2*eax......什么亂七八糟的表達式]歸根結底就是對于mov來說當?shù)诙€操作數(shù)是寄存器的時候如果加上[]就是尋址了....

ps:匯編中中括號的作用[]

在匯編中[]的作用不是單純的c語言中指針類似,可以分為兩種情況,對于變量來說[var]和var作用是一樣的

但是對于寄存器來說就有區(qū)別了,[eax]是eax的地址(這里是c語言中的指針) 而不加中括號的eax就是c語言中的變量值了,理解有謬誤之處望指正

.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
include kernel32.inc
include masm32.inc
includelib user32.lib
includelib kernel32.lib
includelib masm32.lib
.data
buffer byte "%d",0
num dword 12 
.data?
lpszSize db 50 dup(?)
.CODE
START:
lea ebx,[num]
mov eax,[ebx]
mov eax,num
mov eax,[num]
invoke wsprintf,offset lpszSize,offset buffer,eax
invoke MessageBox,NULL, offset lpszSize, offset lpszSize,MB_OK
invoke ExitProcess,0
end START

總結

以上所述是小編給大家介紹的匯編語言中中括號[]作用及l(fā)ea和mov指令的區(qū)別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • 匯編語言入門教程(這一篇足矣)

    匯編語言入門教程(這一篇足矣)

    匯編語言是一種最低級、最古老、不具有移植性的編程語言,它能夠直接訪問計算機硬件,所以執(zhí)行效率極高,占用資源極少,想學習匯編語言的朋友不妨閱讀下本教程
    2020-01-01
  • 匯編語言MIPS指令分類及尋址模式原理概念

    匯編語言MIPS指令分類及尋址模式原理概念

    這篇文章主要為大家介紹了匯編語言MIPS指令分類及尋址模式的原理及概念,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

    匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

    這篇文章主要介紹了匯編用串檢測scasb尋找數(shù)的位置實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 匯編語言中的各種寄存器介紹

    匯編語言中的各種寄存器介紹

    匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言.這篇文章主要介紹了匯編語言中的各種寄存器介紹,需要的朋友可以參考下
    2020-01-01
  • 匯編語言入門匯編指令及寄存器詳解教程

    匯編語言入門匯編指令及寄存器詳解教程

    這篇文章主要為大家介紹了匯編語言入門匯編指令及寄存器的詳解教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • 匯編語言實現(xiàn)打印楊輝三角

    匯編語言實現(xiàn)打印楊輝三角

    這篇文章主要介紹了匯編語言實現(xiàn)打印楊輝三角,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • 用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100)

    用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100)

    這篇文章主要介紹了用匯編語言實現(xiàn)從1加到100的方法(1+2+...+100),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 利用DOSBox運行匯編的詳細步驟

    利用DOSBox運行匯編的詳細步驟

    本文分步驟給大家介紹了利用DOSBox運行匯編,起初是利用VS2017進行配置,但后面運行好像有些問題,就想到用DOSBox,本文分步驟給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • 純匯編實現(xiàn)打飛機小游戲的示例代碼

    純匯編實現(xiàn)打飛機小游戲的示例代碼

    這篇文章主要介紹了純匯編實現(xiàn)打飛機小游戲的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • 詳解匯編語言 dup偽指令

    詳解匯編語言 dup偽指令

    dup它有多種意義,包括Linux c 函數(shù)、C語言函數(shù)DUP、匯編指令、化學物質(zhì)DUP。這篇文章主要介紹了匯編語言 dup偽指令的相關知識,需要的朋友可以參考下
    2020-01-01

最新評論