最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

匯編語言學(xué)習(xí)心得

 更新時間:2020年01月15日 10:43:47   作者:顧北清  
匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。這篇文章主要介紹了匯編語言學(xué)習(xí)心得,需要的朋友可以參考下

匯編語言

匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標(biāo)號代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語言對應(yīng)著不同的機器語言指令集,通過匯編過程轉(zhuǎn)換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應(yīng)的,不同平臺之間不可直接移植。

CPU的組成

CPU是由運算器(信息處理)、控制器(控制器件工作)、寄存器(信息存儲)等器件組成,他們之間通過總線相連。

通用寄存器

通用寄存器時用于存放一般性數(shù)據(jù)的,以8086 CPU為例,8086 CPU所有的寄存器都是16位的,8086 CPU中的通用寄存器有AX、BX、CX、DX。為了兼容上一代CPU中的8位寄存器,這4個寄存器都可以拆成兩個8位的寄存器使用,也就是將16位分成兩個8位,AX可分為AH和AL,BX可分為BH和BL,CX可分為CH和CL,DX可分為DH和DL。這里的H可以記為High,高位,L可以記為Low,低位。

再來說一下數(shù)據(jù)寬度,因為寄存器有16位和8位兩種,所以數(shù)據(jù)寬度可以分為字節(jié)和字,一個字節(jié)由8個bit組成,可以直接使用低位存儲,一個字由兩個字節(jié),也就是16位,比如一個十六進制3E10,將這個十六進制存放到AX寄存器總,3E就存放在高位AH中,10存放在低位AL中。

內(nèi)存單元的物理地址

之前說過數(shù)據(jù)是通過地址線存放在內(nèi)存單元中的,那么就必須要確定這個內(nèi)存單元的地址。

基礎(chǔ)地址=段地址x16
基礎(chǔ)地址+偏移地址=物理地址
所以物理地址=段地址x16+偏移地址,這里的16是十進制的16,也就是十六進制的A。
這里的段地址可以理解為一段一段的內(nèi)存存儲單元,但是段地址并不是固定的,可以認(rèn)為10000H-100FFH是一個段,也可以將這段地址看成是10000H-1007F和10080H-100FFH組成的段,以10000H-100FFH為例,它的段地址是1000H,偏移地址為FF,這樣基礎(chǔ)地址就是1000Hx10H=10000H,這樣就可以確定基礎(chǔ)地址。再加上偏移地址,就可以確定這段內(nèi)存。

段寄存器

既然可以通過段地址和偏移地址確定物理地址,那么就需要寄存器來存放段地址,8086 CPU中有4個段地址:CS、DS、SS、ES,偏移地址存放在IP寄存器中,這里以CS寄存器為例,可以簡單的理解為通過CS(代碼段寄存器)、IP(指令指針寄存器)兩個寄存器可以確定CPU需要讀取的指令的地址,也就是CPU會將CS:IP指向的內(nèi)容當(dāng)作指令執(zhí)行。

操作指令

mov指令

mov指令稱為傳送指令,可以使用這個指令為寄存器賦值,例:mov ax,123 這個語句就類似于C語言中的賦值操作ax=123;

jmp指令

jmp指令叫做轉(zhuǎn)移指令,可以用于設(shè)置CS、IP中的值(mov指令不能修改CS、IP中的值),例:jmp 2AE3:3,執(zhí)行這個指令后,CS的值被修改為2AE3H,IP的值被修改為0003H,CPU將從2AE33H處讀取指令。

8086CPU工作過程

(1)從CS:IP指向的內(nèi)存單元讀取指令,讀取的指令進入指令緩沖器

(2)IP指向下一條指令

(3)執(zhí)行讀取進指令緩沖器的指令

(4)重復(fù)上述三個步驟

好了,以上是小編給大家分享的匯編語言學(xué)習(xí)心得,希望對大家有所幫助!

相關(guān)文章

  • 匯編語言中DIV指令的具體用法

    匯編語言中DIV指令的具體用法

    本文主要介紹了匯編語言中DIV指令的具體用法
    2024-03-03
  • 匯編語言LDR指令和LDR偽指令詳解

    匯編語言LDR指令和LDR偽指令詳解

    這篇文章主要介紹了匯編語言LDR指令和LDR偽指令詳解,偽指令是用來自動拆分代碼值的,會把一條語句拆分成多條語句,本文結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • UEFI開發(fā)基礎(chǔ)匯編代碼的使用

    UEFI開發(fā)基礎(chǔ)匯編代碼的使用

    這篇文章主要為大家介紹了UEFI開發(fā)基礎(chǔ)匯編代碼使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 匯編用串檢測scasb尋找數(shù)的位置實現(xiàn)

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

    這篇文章主要介紹了匯編用串檢測scasb尋找數(shù)的位置實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • iOS匯編入門教程之ARM64匯編基礎(chǔ)教程

    iOS匯編入門教程之ARM64匯編基礎(chǔ)教程

    這篇文章主要介紹了iOS匯編入門教程之ARM64匯編基礎(chǔ)教程,本文通過例子給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 匯編基礎(chǔ)程序編寫教程示例

    匯編基礎(chǔ)程序編寫教程示例

    這篇文章主要為大家介紹了匯編基礎(chǔ),程序編寫教程示例,文中附含詳細的圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • asm基礎(chǔ)——匯編指令之in/out指令

    asm基礎(chǔ)——匯編指令之in/out指令

    這篇文章主要介紹了asm基礎(chǔ)——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境

    Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境

    這篇文章主要介紹了Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • 匯編實現(xiàn)直接插入排序的方法示例

    匯編實現(xiàn)直接插入排序的方法示例

    這篇文章主要介紹了匯編實現(xiàn)直接插入排序的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編語言XOR指令:對兩個操作數(shù)進行邏輯(按位)異或操作(推薦)

    匯編語言XOR指令:對兩個操作數(shù)進行邏輯(按位)異或操作(推薦)

    匯編語言(assembly language)是一種用于電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。這篇文章主要介紹了匯編語言XOR指令:對兩個操作數(shù)進行邏輯(按位)異或操作,需要的朋友可以參考下
    2020-01-01

最新評論

衡水市| 富蕴县| 忻州市| 东海县| 酒泉市| 正蓝旗| 潜江市| 万山特区| 柘荣县| 海门市| 贞丰县| 伊金霍洛旗| 永州市| 安顺市| 铜川市| 健康| 慈溪市| 丹棱县| 扶沟县| 淄博市| 临澧县| 南宁市| 浦城县| 望江县| 彭阳县| 揭阳市| 沂南县| 克山县| 河北省| 曲周县| 衡阳市| 若羌县| 舟曲县| 衡东县| 仁怀市| 新绛县| 巫溪县| 蒲城县| 合作市| 和平区| 荆门市|