亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

匯編語言

匯編語言(assembly language)是一種用于電子計算機(jī)、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機(jī)器指令的操作碼,用地址符號或標(biāo)號代替指令或操作數(shù)的地址。在不同的設(shè)備中,匯編語言對應(yīng)著不同的機(jī)器語言指令集,通過匯編過程轉(zhuǎn)換成機(jī)器指令。特定的匯編語言和特定的機(jī)器語言指令集是一一對應(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位,比如一個十六進(jìn)制3E10,將這個十六進(jìn)制存放到AX寄存器總,3E就存放在高位AH中,10存放在低位AL中。

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

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

基礎(chǔ)地址=段地址x16
基礎(chǔ)地址+偏移地址=物理地址
所以物理地址=段地址x16+偏移地址,這里的16是十進(jìn)制的16,也就是十六進(jìn)制的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)存單元讀取指令,讀取的指令進(jìn)入指令緩沖器

(2)IP指向下一條指令

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

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

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

相關(guān)文章

  • 匯編語言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦)

    匯編語言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦)

    這篇文章主要介紹了匯編語言有關(guān)在屏幕區(qū)顯示字符的四種方法(推薦),每種方法給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 匯編語言loop命令的具體使用

    匯編語言loop命令的具體使用

    LOOP指令是根據(jù)ECX計數(shù)器循環(huán),將語句塊重復(fù)執(zhí)行特定次數(shù),本文主要介紹了匯編語言loop命令的具體使用,感興趣的可以了解一下
    2024-03-03
  • DEBUG命令詳解教程

    DEBUG命令詳解教程

    DEBUG命令詳解教程...
    2007-03-03
  • 匯編程序add指令的使用

    匯編程序add指令的使用

    add指令是CPU用來加法計算的匯編指令,本文主要介紹了匯編程序add指令的使用,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • ARM匯編判斷之如何用匯編判斷數(shù)組中正負(fù)數(shù)個數(shù)

    ARM匯編判斷之如何用匯編判斷數(shù)組中正負(fù)數(shù)個數(shù)

    這篇文章主要介紹了ARM匯編判斷之如何用匯編判斷數(shù)組中正負(fù)數(shù)個數(shù),在匯編語言中程序的基本框架是不變的,這里我們可以直接把正向遍歷的程序給貼過來,然后我們思考怎么運用判斷后綴把數(shù)組中正數(shù)和負(fù)數(shù)分開,進(jìn)行判斷個數(shù)和分別求和,需要的朋友可以參考下
    2022-04-04
  • 匯編實現(xiàn)冒泡排序的方法示例

    匯編實現(xiàn)冒泡排序的方法示例

    這篇文章主要介紹了匯編實現(xiàn)冒泡排序的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 匯編語言 and和or邏輯運算指令的實現(xiàn)

    匯編語言 and和or邏輯運算指令的實現(xiàn)

    這篇文章主要介紹了匯編語言 and,or邏輯運算指令的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制實例詳解

    匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制實例詳解

    這篇文章主要為大家介紹了匯編語言功能實現(xiàn)數(shù)據(jù)復(fù)制的實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • 匯編語言學(xué)習(xí)心得

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

    匯編語言(assembly language)是一種用于電子計算機(jī)、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。這篇文章主要介紹了匯編語言學(xué)習(xí)心得,需要的朋友可以參考下
    2020-01-01
  • 最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

    最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼

    這篇文章主要介紹了最好懂的匯編語言教程,解釋CPU如何執(zhí)行代碼。計算機(jī)真正能夠理解的是低級語言,它專門用來控制硬件。匯編語言就是低級語言,直接描述/控制?CPU?的運行。如果你想了解?CPU?到底干了些什么,以及代碼的運行步驟,就一定要學(xué)習(xí)匯編語言。
    2022-12-12

最新評論