原文:8086匯編語言學習(一) 8086匯編介紹

.學習匯編的心路歷程 進行 匯編的介紹之前,想先分享一下我學習匯編的心路歷程 。 rocketmq的學習 其實我並沒有想到這么快的就需要進一步學習匯編語言,因為匯編對於我的當前的工作內容來說太過底層。 但在幾個月前,當時我正嘗試着閱讀rocketmq的源碼。和許多流行的java中間件 框架一樣,rocketmq底層的網絡通信也是通過netty實現的。但由於我對netty並不熟悉,在工作中使用sp ...

2020-01-09 22:28 2 2429 推薦指數:

查看詳情

8086匯編語言學習(二) 8086匯編開發環境搭建和Debug模式介紹

1. 8086匯編開發環境搭建   在上篇博客中簡單的介紹8086匯編語言。工欲善其事,必先利其器,在8086匯編語言正式開始學習之前,先介紹一下如何搭建8086匯編的開發環境。   匯編語言設計之初是用於在沒有操作系統的裸機上直接操作硬件的,但對於大部分人來說,在8086裸機上直接進行編程 ...

Fri Jan 17 05:35:00 CST 2020 2 3050
8086匯編語言學習(三) 8086中的段和棧

1. 8086匯編中的段 段地址     8086對內存尋址的方式是通過段地址*16+偏移地址的方式實現的,而在16位的8086CPU下,段地址和偏移地址也都是16位的。這意味着,對於任意一個段,段的起始地址必定為16的倍數(段地址*16)。 對於同一個內存地址,存在多種不同的內存尋址方式 ...

Tue Feb 18 04:02:00 CST 2020 0 1202
8086匯編語言學習(八) 8086子程序

1.8086過程跳轉指令   作為一門通用的編程語言,需要具有對代碼邏輯進行抽象封裝的能力。這一抽象元素,在有的語言中被稱為函數、方法或者過程,而在8086匯編中被稱為子程序。子程序和子程序組合能夠構造出更復雜的子程序,如此往復以至無窮。子程序的存在,使得開發人員可以使用不同層次的抽象,構建 ...

Tue Mar 24 03:24:00 CST 2020 0 1213
8086匯編語言學習(五) 8086尋址方式

8086匯編內存尋址方式   前面的博客都多少提到了8086匯編的內存尋址,例如mov ax [2345H]。而8086匯編還提供了更多、更靈活的尋址方式,以滿足多種需求。   需要強調的是,無論何種尋址方式,內存尋址的地址總是由基礎地址+偏移地址(段基址+偏移量)組合而成,不同之處在於基礎 ...

Tue Mar 03 05:56:00 CST 2020 0 831
8086匯編語言學習(七) 8086跳轉指令

8086跳轉指令   目前為止,我們的程序的指令執行都是線性的,從上到下,由CPU自動的增加IP的值,順序的執行指令。但對於復雜的需求,只有線性的指令執行方式是遠遠不夠的。   對於高級語言,有着如if/else的邏輯跳轉分支,如for/while的循環結構,還有函數子程序的調用與返回 ...

Tue Mar 17 07:37:00 CST 2020 0 1830
8086匯編語言學習(四) 8086匯編程序的編譯與鏈接

1、8086匯編源程序從編寫到執行的過程   前面介紹過通過debug模式來進行匯編程序的編寫和調試。但是隨着深入學習,所編寫的匯編程序會越來越復雜,而通過debug的A命令去逐條編寫匯編指令是非常低效的。   因此,這里將要介紹8086匯編源程序這一概念,使得我們可以通過文本的方式編寫 ...

Mon Feb 24 06:46:00 CST 2020 0 1101
8086匯編語言學習(十) 8086中斷

8086中斷介紹   任何一種CPU,都具備一種能力,可以在執行完當前正在執行的指令之后,檢測到來自CPU內部或外部產生的特殊通知信息,並立即對所接收到的信息做出相應的處理。這類特殊的信息,被稱作中斷信息。   顧名思義,中斷指的是CPU不去正常執行接下來的指令,而是被中斷,轉而處理中斷信息 ...

Tue Apr 07 05:56:00 CST 2020 0 1412
8086匯編語言學習(九) 8086標志寄存器

8086標志寄存器介紹   前面已經介紹8086大多數的寄存器,現在介紹一種8086內部一個特殊的寄存器,標志寄存器(flag register)。 8086標志寄存器大致有以下作用:   1.存儲一些相關指令的執行結果   2.為CPU執行相關指令提供依據   3.控制CPU的部分 ...

Wed Apr 01 06:03:00 CST 2020 0 1130
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM