8086處理器所有的暫存器
資料暫存器
變址暫存器
sp / bp / si / di
段暫存器
cs / ds / ss / es
控制暫存器
ip / flags
資料暫存器
ax + bx + cx + dx
ax 累加器= accumulate
1:存放乘除等指令的運算元 >> 2:外部io裝置資料與cpu的交換
bx = 基址暫存器 base
cx = 計數器 count
1:儲存計數值 >> 2:可用作通用暫存器
dx = 資料暫存器 data
變址暫存器
sp + bp + si + di
sp stack point
棧指標暫存器
bp = base point
基位址暫存器
si = source index
源索引暫存器
di = destination index
目的索引暫存器
控制暫存器=控制處理器的操作模式
計算機硬體 + 軟體
硬體cpu + 儲存器 + 系統匯流排 + i/o介面接入的子系統
軟體系統軟體 + 支援軟體 + 應用軟體
儲存器位址(16進製制) + 內容
程式設計的基本單位
乙個位元組=8bite
位址編碼
每個位元組都有乙個位址編碼
儲存器資料的查詢
找物理空間位址
實際位址
實際實體地址 = 邏輯位址(段位址) + 偏移位址
段位址=16位的機器位址
每一段的段首位址定義為段位址,一段為16位元組,共有16 * 16 * 16 * 16=64 * 1024=64k=6萬4個段位址,標號範圍為 0000h ~ ffffh ==>本課本的8086機器儲存的能力大小為64k
偏移位址
儲存的是偏移量的多少
實體地址( 00000h ~ fffffh = 16 * 16 * 16 * 16 * 16 = 2^20 = 1mb的位元組空間)
20位 ==>20根位址線
段暫存器
專門存放段位址的空間
段暫存器
cs + ds + ss + es //段暫存器對段位址對應資料的型別,將混亂的段位址分為了4內
cs = code segment
**_段暫存器(該段對應的段空間儲存了程式**)
ds = data segment
資料_段暫存器(該段對應的段空間儲存了一般資料)
ss = stack segment
堆疊_段暫存器(該段對應的段空間儲存了現場資料)
es = extra segment
附加_段暫存器(該段對應的段空間儲存了附加資料)
注意:cs / ds / ss / es 在段暫存器的空間劃分有2種劃分形式==>1:均分 2:用多少給多少
定址公式
實體地址 = 16*段位址 + 偏移位址
例:
cpu運算器 + 控制器 + 暫存器
暫存器儲存器cpu內部
cpu外部
沒有位址
有位址外部裝置
cpu外部裝置與cpu的通訊通過介面inte***ce連線,每個介面包含了3個暫存器
資料暫存器
cpu與cpu外設資料交換
狀態暫存器
儲存外設與cpu的狀態資訊
命令暫存器
儲存cpu發給外設的控制命令
注意介面中的三種暫存器都有自己的埠(port)位址
組合語言 第二章
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個暫存器都可以分為兩個獨立使用...
組合語言之第二章暫存器
一 通用暫存器 乙個典型cpu由運算器 暫存器 控制器構成,而暫存器是cpu中程式設計師可以用指令讀寫的部件。不同的cpu,暫存器的個數 結構是不同的。8086cpu的暫存器都是16位的,由於8086cpu上一代cpu中暫存器都是8位的,為了相容性,8086cpu的通用暫存器 通常用來存放一般性的資...