cpu
cpu由運算器、控制器、暫存器等器件構成,運算器進行資訊處理,暫存器進行資訊儲存,控制器控制各種器件進行工作,內部匯流排連線各種器件,在它們之間進行資料的傳送。程式設計師通過改變各種暫存器中的內容來實現對cpu的控制。
位寬:cpu通過外部資料匯流排與記憶體之間一次能夠傳送的資料位。
8086 16位cpu(字長16位,位寬16位)
通用暫存器
8086cpu的所有暫存器都是16位的,通用暫存器包括ax,bx,cx,dx,這四個暫存器都可分為兩個可獨立使用的8位暫存器來用:
•ax可分為ah和al
•bx可分為bh和bl
•cx可分為ch和cl
•dx可分為dh和dl
ax的低8位(0位~7位)構成了al暫存器,高8位(8位~15位)構成了ah暫存器。ah和al暫存器是可以獨立使用的8位暫存器。
字在暫存器中的儲存
位元組:記為byte,乙個位元組由8個bit組成,可以存在8位暫存器中。
字:記為word,乙個字由兩個位元組組成,這兩個位元組分別稱為這個字的高位位元組和低位位元組,乙個字可以存在乙個16位暫存器中。
幾條彙編指令
在進行資料傳送或運算時,要注意指令的兩個操作物件的位數應當時一致的
如:mov ax,bl (在8位暫存器和16位暫存器之間傳送資料)
mov bh,cx (在16位暫存器和8位暫存器之間傳送資料)
mov al,20000 (8位暫存器最大可存放值為255的資料)
mov al,100h (將乙個高於8位的資料加到乙個8位暫存器中)
如 add al,93h時,al作為乙個獨立的8位暫存器使用,和ah沒有關係,產生的進製不會儲存在ah中。
8086cpu給出實體地址的方法
所有的記憶體單元構成的儲存空間是乙個一維的線性空間
當8086cpu要讀寫記憶體時:
(1) cpu中的相關部件提供兩個16位的位址,乙個稱為段位址,另乙個稱為偏移位址;
(2) 段位址和偏移位址通過內部匯流排送入乙個稱為位址加法器的部件;
(3) 位址加法器將兩個16位位址合成為乙個20位的實體地址;
(4) 位址加法器通過內部匯流排將20位實體地址送入輸入輸出控制電路;
(5) 輸入輸出控制電路將20位實體地址送上位址匯流排;
(6) 20位實體地址被位址匯流排傳送到儲存器;
位址加法器如何完成段位址*16的運算?就是將以二進位制形式存放的段位址左移4位
位址加法器採用實體地址=段位址*16+偏移位址的方法用段位址和偏移位址合成實體地址。
「段位址*16+偏移位址=實體地址」的本質含義
cpu在訪問記憶體時,用乙個基礎位址(段位址*16)和乙個相對於基礎位址的偏移位址相加,給出記憶體單元的實體地址
段的概念
記憶體並沒有分段,段的劃分來自於cpu
偏移位址為16位,16位位址的定址能力為64kb,所以乙個段的長度最大為64kb
如果給定乙個段位址,僅通過變化偏移位址來進行定址,最多可以定位多少個記憶體單元?偏移位址為16位,變化範圍為0~ffffh,僅用偏移位址來定址最多可尋64kb個記憶體單元。
可以根據需要,將位址連續、起始位址為16的倍數的一組記憶體單元定義為乙個段。
在程式設計時可以根據需要,將若干位址連續的記憶體單元看作乙個段,用段位址*16定位段的起始位址(基礎位址),用偏移位址定位段中的記憶體單元。
段暫存器
包括:cs、ds、ss、es
cs和ip
8086機中,任意時刻,cpu將cs:ip指向的內容當作指令執行。
cs為**段暫存器,ip為指令指標暫存器,jmp指令可修改cs和ip
「jmp 某一合法暫存器」指令的功能為:用暫存器中的值修改ip。
8086cpu的工作過程:
(1)從cs:ip指向的記憶體單元讀取指令,讀取的指令進入指令緩衝器;
(2)ip=ip+所讀取指令的長度,從而指向下一條指令;
(3)執行指令,轉到(1)
r命令檢視、改變暫存器中的內容:1.-r 2.-r 暫存器 enter
t命令執行一條機器指令:先修改cs、ip
第2章 暫存器
cpu由運算器 控制器 暫存器等器件構成,器件靠內部匯流排連,與之前匯流排 外 不同 暫存器程式設計師可以用指令讀寫 8086cpu的14個暫存器 ax bx cx dx si di sp bp ip cs ss ds es psw 通用暫存器 用來存放一般性資料 ax bx cx dx 16位暫存...
第2章 分支出12章 第2章彙編暫存器
彙編 1.8086cpu有14 個暫存器 通用暫存器 ax bx cx dxsi di sp bp ipcs ss ds es psw 通用暫存器明細 16位暫存器中 ax可以拆分為ah al 累加器 16位暫存器中 bx可以拆分為bh bl 基址暫存器 16 位暫存器中 cx可以拆分為ch cl ...
第2章 暫存器(CPU工作原理)
cpu概述 乙個典型的cpu由運算器 控制器 暫存器等器件組成,這些器件靠內部匯流排相連 內部匯流排實現cpu內部各個器件之間的聯絡。外部匯流排實現cpu和主機板上其他器件的聯絡。暫存器概述 8086cpu有14個暫存器 他們的名稱為 ax,bx,cx,dx,si,di,sp,bp,ip,cs,ss...