-
內存 各類存儲區的邏輯鏈接
來自“請叫我hank”簡書.png
RAM(RamdomAccessMemory) 讀寫存儲器
ROM-Read Only Memory 只讀存儲器
BIOS(Basic Input Output System)基本輸入輸出系統
-
各類存儲器的邏輯連接-物理地址對應圖
來自“請叫我hank”簡書.png -
8086內存
來自“請叫我hank”簡書.png
0x00000~0x9FFFF 主存儲器,可讀可寫
0xA0000~0xBFFFF 向顯存中寫入數據,這些數據會被顯卡輸出到顯示器。可讀可寫
0xC0000~0xFFFFF 存儲各種硬件\系統信息。只讀
0x9FFFF + 1 = 0xA0000
0xBFFFF + 1 = 0xC0000
三種劃分是由系統決定,不同位數的系統劃分不同
內存地址空間的大小受CPU地址總線寬度的限制。8086的地址總線寬度為20,可以定位2^20個不同的內存單元(內存地址范圍0x00000~0xFFFFF),所以8086的內存空間大小為1MB
-
寄存器
來自“請叫我hank”簡書.png
1 內部部件之間由總線連接
2 對程序員來說,CPU中最主要部件是寄存器,可以通過改變寄存器的內容來實現對CPU的控制
3 不同的CPU,寄存器的個數、結構是不相同的(8086是16位結構的CPU)
-
8086的寄存器
來自“請叫我hank”簡書
AX――累加器(Accumulator),使用頻度最高,效率最高
BX――基址寄存器(Base Register),常存放存儲器地址
CX――計數器(Count Register),常作為計數器
DX――數據寄存器(Data Register),存放數據
SI――源變址寄存器(Source Index),常保存存儲單元地址
DI――目的變址寄存器(Destination Index),常保存存儲單元地址
BP――基址指針寄存器(Base Pointer),表示堆棧區域中的基地址
SP――堆棧指針寄存器(Stack Pointer),指示堆棧區域的棧頂地址
-
AX,BX,CX,DX,SI, DI,BP,SP都是通用的寄存器
IP――指令指針寄存器(Instruction Pointer),指示要執行指令所在存儲 單元的地址。IP寄存器是一個專用寄存器 FLAG――狀態標志,只要控制內存是否溢出
IP,FLAG 屬于控制器
CS ―― 代碼寄存器
DS ―― 數據寄存器
SS ―― 堆棧寄存器
ES ―― 附加段器
CS為代碼段寄存器,IP為指令指針寄存器,它們指示了CPU當前要讀取指令的地址 也就是執行機器指令 (段地址 + 偏移地址 == 物理地址)
-
通用寄存器器
來自“請叫我hank”簡書
AX 分為 AH ,AL(AH 01001110 表示高8位 78(4EH),AL 00100000 表示低8位32(20h))
BX 分為 BH,BL
CX 分為 CH ,CL
DX 分為 DH,DL