《組合語言》第一章知識梳理

2022-06-04 16:45:11 字數 2098 閱讀 9021

本人當前為一名大二學生,網路工程專業。本學期選修了《組合語言》這門課程,作為一項作業任務,同時也是為了梳理所學知識,更好地理解和掌握組合語言撰寫了這篇部落格。我所用的教材是由清華大學出版社出版的《組合語言》第3版(如下),以下的內容來自於但不限於教材以及老師的課件。

計算機程式語言的演進

組合語言源程式的組成

計算機硬體系統的基本結構

cpu對儲存器的讀寫和匯流排

記憶體位址空間

過程:機器語言——>組合語言——>高階語言

例項對比三種語言

程式設計完成運算c=a+b

10100000 0000000000000000

00000010 00000110 0000000000000001

10100010 0000000000000010

mov al,a

add al,b

mov c,al

c=a+b

機器語言

組合語言 

c語言三種語言對比

機器語言

組合語言

高階語言

計算機能否直接識別

能 不能 

不能易用性差中

好 佔據空間小小

大 執行速度快快 

慢用途特殊加密/解密

系統核心要求速度快,**短的程式

直接操縱i/o資訊保安

一般性系統級和應用層軟體開發 

1

;this is a 8086 assemble program

2 assume cs:code, ds:

data

3data segment

4 string db '

hi~ everyone$'5

data ends

6code segment

7start:

movax,data

8mov

ds,ax

9mov

dx, offset string

10mov

ah,09h

11int

21h12

movah,4ch

13int

21h14

code ends

15 end start

組合語言的核心是彙編指令,它決定了組合語言的特性。

cpu對儲存器的讀寫

cpu想從記憶體中讀資料,首先要指定儲存單元的位址。另外,cpu還要指明它要對哪乙個器件進行操作,因為在一台微機中不止儲存器這一種器件,還要指明進行哪種操作,是從中讀出資料,還是向裡面寫入資料。

由此可見,cpu要進行資料的讀寫,必須和外部器件(標準的說法是晶元)進行3類資訊的互動。

3類匯流排

那麼cpu是通過什麼將位址、資料和控制資訊傳到儲存器晶元的呢?電子計算機能處理、傳輸的資訊都是電訊號,電訊號當然由導線來傳送。在計算機中專門有連線計算機和其他晶元的導線,通常稱為匯流排。根據傳送資訊的不同,匯流排從邏輯上又分為3類:位址匯流排、控制匯流排和資料匯流排。

資料匯流排:其寬度決定了cpu與其他器件進行資料傳送時的一次資料傳送量

控制匯流排:其寬度決定了cpu對系統中其他器件的控制能力

各類儲存器晶元

上述那些儲存器,在物理上是獨立的器件,但有2點是相同的,即:①都和cpu匯流排相連;②cpu對它們進行讀或寫的時候都通過控制線發出記憶體讀寫命令;

這也就是說,cpu在操控它們的時候,把它們都當作記憶體來看待,把它們總的看作乙個由若干儲存單元組成的邏輯儲存器,即我們所說的記憶體位址空間。

組合語言第一章 基礎知識

組合語言是各種cpu提供的機器指令的助記符的集合 操作 暫存器bx的內容送到ax中 機器指令 1000100111011000 彙編指令 mov ax,bx 暫存器 簡單的講是cpu可以儲存資料的器件,乙個cpu有多個暫存器,ax是其中乙個暫存器的代號,bx是另乙個暫存器的代號 用匯編寫程式後,可通...

組合語言 第一章 基礎知識

1 機器語言是機器指令的集合。機器指令是一台機器可以正確執行的的命令。電子計算機的機器指令是一列二進位制數字。2 直接面向機器與機器的硬體操作一一對應。計算機可以直接識別執行,使用機器語言可以充分發揮計算機的硬體功能。3 缺點 依賴機器硬體,機器指令很難記憶,直接使用機器語言編制程式極易出錯,並且難...

組合語言 第一章 基礎知識

1.機器語言 機器語言是機器指令的集合。機器指令是機器可以正確執行的命令 彙編 push ax 對應機器語言 0101000 2.彙編原因的產生 組合語言的主體是彙編指令 彙編指令和機器指令的差別在於指令的表示方法。彙編指令是機器指令便與記憶的書寫格式。彙編指令是機器指令的助記符。3.組合語言的組成...