組合語言第二章總結

2022-06-05 05:24:08 字數 2305 閱讀 8973

cpu的主要部件是暫存器,在8086cpu有14個暫存器,它們分別是:ax、bx、cx、dx、si、di、sp、bp、ip、cs、ss、ds、es、psw。8086cpu的所有暫存器都是16位的,可以存放兩個位元組。ax、bx、cx、dx這4個暫存器通常用來存放一般性的資料,稱為通用暫存器。由於8086cpu的上一代cpu中的暫存器都是8位的,為了保持相容,8086cpu的ax、bx、cx、dx這4個暫存器都可分為兩個獨立使用的8位暫存器:

•ax可分為ah和al•bx可分為bh和bl•cx可分為ch和cl•dx可分為dh和dl

出於相容性的問題,8086cpu可以處理兩種尺寸的資料:

位元組:記為byte,乙個位元組由8個bit組成,可以存放在8位暫存器中

字:記為word,由兩個位元組組成,這兩個位元組分別被稱為高位位元組和低位位元組

通過彙編指令控制cpu進行工作:

在寫一條彙編指令或乙個暫存器的名稱時不區分大小寫。

cpu執行程式段中的每條指令後,對暫存器中的資料的改變:

程式段中的最後一條指令add ax,bx,在執行前ax和bx中的資料為8226h,相加後的資料為:1044ch,但是ax為16位的暫存器,只能存放4位十六進製制的資料,所以最高位的1不能在ax中儲存,ax中的資料為:044ch,最高位的1並不是捨去了,而是存在了其他位置,隨著我們對組合語言的慢慢深入,就會體會到程式設計師的聰明與機智。

注意:ax分出的兩個獨立的暫存器ah與al,它們是毫無關聯的,不要誤認為al的資料相加後超出的位數存放在ah中!

每乙個記憶體單元都有唯一的位址,稱為實體地址。

16位結構的8086cpu:

1.運算器一次最多可以處理16位的資料。

2.暫存器的最大寬度為16位。

3.暫存器和運算器之間的通路為16位。

8086cpu有20位位址匯流排,可以達到1mb的定址能力,那它怎麼用16位位址來達成20位實體地址的呢?

8086cpu採用在內部用兩個16位位址合成的方法來形容乙個20位的實體地址。

邏輯結構如圖所示:

由於16位位址的定址能力是64kb,所以乙個段的最大長度為64kb,並且段的起始位址一定是16的倍數,變化範圍為0~ffffh。

8086cpu有4個段暫存器:cs,ds,ss,es。

cs和ip是8086cpu中兩個最關鍵的暫存器,cs為**段暫存器,ip為指令指標暫存器。

8086cpu讀取、執行的工作原理:

cs和ip的值是可以修改的:ip每次是根據指令的空間大小進行更新。

簡單的修改cs、ip的指令:jmp指令。

②只修改ip的內容:jmp 某一合法暫存器

組合語言第二章總結

在cpu 中主要部件是暫存器,負責資訊的儲存功能,而這正是第二章的重點。下面將知識點總結如下 一 不同cpu暫存器個數,結構都不同。8086cpu有14個暫存器分別為 ax bx cx dx si di sp bp ip cs ss ds es psw 這些暫存器都是16位,即可存放兩個位元組。其中...

組合語言 第二章

2.1 通用暫存器 8086cpu的所有暫存器都是16位的,可以存放兩個位元組。ax bx cx dx這4個暫存器通常用來存放一般性的資料,被稱為通用暫存器。2.2字在暫存器中的儲存 位元組 記為byte,乙個位元組由8個bit組成,可以存在8位暫存器中。字 記為word,乙個字由兩個位元組組成,這...

組合語言 第二章

對於乙個彙編程式設計師來說,cpu中的主要部件是暫存器。暫存器是cpu中程式設計師可以用指令讀寫的部件。程式設計師通過改變暫存器裡的內容來實現對cpu的控制。1 8086cpu的所有暫存器都是16位的,可以存放2個位元組。其中8086cpu中的ax bx cx dx這4個暫存器都可以分為兩個獨立使用...