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

匯編語言mov指令及基本用法

 更新時間:2020年01月19日 11:56:15   作者:weixin_42757111  
在匯編語言中,MOV指令是數(shù)據(jù)傳送指令,也是最基本的編程指令,用于將一個數(shù)據(jù)從源地址傳送到目標(biāo)地址(寄存器間的數(shù)據(jù)傳送本質(zhì)上也是一樣的)。這篇文章給大家介紹匯編語言mov指令及基本用法,感興趣的朋友一起看看吧

在匯編語言中,MOV指令是數(shù)據(jù)傳送指令,也是最基本的編程指令,用于將一個數(shù)據(jù)從源地址傳送到目標(biāo)地址(寄存器間的數(shù)據(jù)傳送本質(zhì)上也是一樣的)。其特點是不破壞源地址單元的內(nèi)容。

例如:

MOV AX,2000H;將16位數(shù)據(jù)2000H傳送到AX寄存器
MOV AL,20H;將8位數(shù)據(jù)20H傳送到AL寄存器
MOV AX,BX;將BX寄存器的16位數(shù)據(jù)傳送到AX寄存器
MOV AL,[2000H];將2000H單元的內(nèi)容傳送到AL寄存器

需要注意的是:

(1)兩個存儲單元之間不能直接傳送數(shù)據(jù),即:MOV指令只允許一個操作數(shù)在存儲器中。MOV [SI],[2000H];這是錯誤的
(2)MOV指令中立即數(shù)不能直接傳送給段寄存器(CS、DS、SS、ES)和IP;段寄存器之間不能直接傳送。MOV IP,2000 H ;這是錯誤的
(3)CS和IP不能作為目的操作數(shù)。MOV CS,AX ;這是錯誤的
(4)MOV指令中立即數(shù)不能作目標(biāo)操作數(shù)。MOV 2000H,[SI] ;這是錯誤的

MOV指令可以在CPU內(nèi)或CPU和存儲器之間傳送字或字節(jié),它傳送的信息可以從寄存器到寄存器,立即數(shù)到寄存器,立即數(shù)到存儲單元,從存儲單元到寄存器,從寄存器到存儲單元,從寄存器或存儲單元到除CS外的段寄存器(注意立即數(shù)不能直接送段寄存器),從段寄存器到寄存器或存儲單元。

但是注意

*(1) MOV指令中的源操作數(shù)絕對不能是立即數(shù)和代碼段CS寄存器;
(2) MOV指令中絕對不允許在兩個存儲單元之間直接傳送數(shù)據(jù);
(3) MOV指令中絕對不允許在兩個段寄存器之間直接傳送數(shù)據(jù);
(4) MOV指令不會影響標(biāo)志位*

例:MOV AX,DATA_SEG

MOV DS,AX

注意:段寄存器(段地址)必須通過寄存器如AX寄存器進行立即數(shù)的初始化。

例: MOV AL,‘E'

把立即數(shù)(字符E的ASC碼)送到AL寄存器。
例: MOV BX,OFFSET TABLE
將TABLE的偏移地址(而不是內(nèi)容)送到BX寄存器中。其中OFFSET為屬性操作符,表示的是將其后的符號地址的值(不是內(nèi)容)作為操作數(shù)。
例 MOV AX,Y[BP][SI]
把地址為16d×(SS)十(BP)十(SI)十位移量Y的存儲單元的內(nèi)容送給AX寄存器

PS:下面看下匯編中的mov指令的基本使用

mov S ,D 是將D傳送到S ,還是S傳送到D中去呢?

在王爽的《匯編》中說: mov ax , 18 是將 18傳送到寄存器ax中。

但是我用gcc反匯編如下函數(shù)

 int test()
{
  return 2;
}

得到的匯編代碼卻是

 _add:
LFB7:
  .cfi_startproc
  movl  $2, %eax  ;//將eax內(nèi)容復(fù)制到2中???顯然不對啊
  ret
  .cfi_endproc

總結(jié)

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

相關(guān)文章

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

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

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

    匯編程序成績排序的實現(xiàn)

    這篇文章主要介紹了匯編程序成績排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編語言指令集之條件轉(zhuǎn)移指令實現(xiàn)

    匯編語言指令集之條件轉(zhuǎn)移指令實現(xiàn)

    這篇文章主要介紹了匯編語言指令集之條件轉(zhuǎn)移指令實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編程序設(shè)計之DOSBox模擬環(huán)境配置

    匯編程序設(shè)計之DOSBox模擬環(huán)境配置

    最近在學(xué)習(xí)匯編語言設(shè)計,然后上網(wǎng)找關(guān)于匯編程序的編譯軟件,不負有心人,終于找到了我需要的軟件,值得慶幸
    2023-08-08
  • 通過匯編看golang函數(shù)的多返回值問題

    通過匯編看golang函數(shù)的多返回值問題

    這篇文章主要介紹了通過匯編看golang函數(shù)的多返回值問題,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 匯編程序add指令的使用

    匯編程序add指令的使用

    add指令是CPU用來加法計算的匯編指令,本文主要介紹了匯編程序add指令的使用,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 匯編語言中XLAT查表指令的使用

    匯編語言中XLAT查表指令的使用

    XLAT指令是匯編語言查表指令,本文主要介紹了匯編語言中XLAT查表指令的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • C 表達式中的匯編指令

    C 表達式中的匯編指令

    這篇文章主要介紹了C 表達式中的匯編指令,需要的朋友可以參考下
    2020-01-01
  • 一文秒懂匯編中的循環(huán)問題

    一文秒懂匯編中的循環(huán)問題

    這篇文章主要介紹了一文秒懂匯編中的循環(huán)問題,通過每一行指令詳細分析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • 匯編語言系列之匯編實現(xiàn)各種碼制的轉(zhuǎn)換(思路詳解)

    匯編語言系列之匯編實現(xiàn)各種碼制的轉(zhuǎn)換(思路詳解)

    本文列出了十六進制轉(zhuǎn)二進制、十進制、ASCII碼及大小寫字母轉(zhuǎn)換的代碼,對匯編語言系列之實現(xiàn)各種碼制的轉(zhuǎn)換問題感興趣的朋友跟隨小編一起看看吧
    2021-11-11

最新評論