8086的尋址方式
- CPU訪問內存單元時,要給出內存單元的地址,所有的內存單元都有唯一的地址,叫做物理地址
- 8086有20位地址總線,可以傳送20位的地址,1M的尋址能力
- 但它又是16位結構的CPU,它內部能夠一次性處理、傳輸、暫時存儲的地址為16位。如果將地址從內部簡單地發出,那麼它只能送出16位的地址,表現出來的尋址能力只有64KB
8086採用一種在內部用2個16位地址合成的方法來生成1個20位的物理地址
image.png
image.png
image.png
image.png
內存分段管理
- 8086是用“基礎地址(段地址×16) + 偏移地址 = 物理地址”的方式給出物理地址
- 為了開發方便,我們可以採取分段的方法來管理內存,比如:
image.png
- 地址10000H~100FFH的內存單元組成一個段,該段的起始地址(基礎地址)為10000H,段地址為1000H,大小為100H
- 地址10000H1007FH、10080H100FFH的內存單元組成2個段,它們的起始地址(基礎地址)為:10000H和10080H,段地址為1000H和1008H,大小都為80H
- 在編程時可以根據需要,將若干連續地址的內存單元看做一個段,用段地址×16定為段的起始地址(基礎地址),用偏移地址定位段中的內存單元
- 段地址×16必然是16的倍數,所以一個段的起始地址(基礎地址)也一定是16的倍數
- 偏移地址為16位,16位地址的尋址能力為64KB,所以一個段的長度最大為64KB
image.png
段寄存器
- 8086在訪問內存時要由相關部件提供內存單元的段地址和偏移地址,送入地址加法器合成物理地址
- 是什麼部件提供段地址?段地址在8086的段寄存器中存放
- 8086有4個段寄存器:CS、DS、SS、ES,當CPU需要訪問內存時由這4個段寄存器提供內存單元的段地址
- CS (Code Segment):代碼段寄存器
- DS (Data Segment):數據段寄存器
- SS (Stack Segment):堆棧段寄存器
- ES (Extra Segment):附加段寄存器
CS和IP
- CS為代碼段寄存器,IP為指令指針寄存器,它們指示了CPU當前要讀取指令的地址
- 任意時刻,8086CPU都會將CS:IP指向的指令作為下一條需要取出執行的指令
image.png
image.png
指令的執行過程
12
13
14
15
16
17
18
19
21
22
23
24
25
26
總結
指令和數據
- 在內存或者磁盤上,指令和數據沒有任何區別,都是二進制信息
- CPU在工作的時候把有的信息看做指令,有的信息看做數據,為同樣的信息賦予了不同的意義
image.png
- CPU根據什麼將內存中的信息看做指令?
- CPU將CS:IP指向的內存單元的內容看做指令
- 如果內存中的某段內容曾被CPU執行過,那麼它所在的內存單元必然被CS:IP指向過
jmp指令
- CPU從何處執行指令是由CS、IP中的內容決定的,我們可以通過改變CS、IP的內容來控制CPU執行目標指令
- 8086提供了一個mov指令(傳送指令),可以用來修改大部分寄存器的值,比如
- mov ax,10、mov bx,20、mov cx,30、mov dx,40
- 但是,mov指令不能用於設置CS、IP的值,8086沒有提供這樣的功能
- 8086提供了另外的指令來修改CS、IP的值,這些指令統稱為轉移指令,最簡單的是jmp指令
image.png
image.png
jmp指令 -- 練習
![image.png](http://upload-images.jianshu.io/upload_images/2990730-fde7c6e8497e3ffd.png?imageMogr 2/auto-orient/strip%7CimageView2/2/w/1240)
image.png
image.png
代碼段
image.png
image.png
image.png
最後只要轉發文章+私信小編(資料)就可以獲得小編手裡面珍藏多年的python學習教程!
相關推薦
'關注 | 2019世界計算機大會,看看大咖們都在聊什麼?'
"“計算萬物 湘約未來”9月10日2019世界計算機大會在長沙梅溪湖國際文化藝術中心隆重開幕在開幕式與主論壇上,中國科學院院士、中國人民解放軍軍事科學院院長楊學軍,諾貝爾經濟學獎獲得者芬恩·基德蘭德等17位來自計算、網絡技術等相關領域的著名專家、學者作主題演講。共同探討計算...
'我的世界:三款闖關解謎遊戲,讓你遊戲不枯燥,最後一款不容錯過'
"愛玩mc我的世界的玩家有很多種類型,有的就很喜歡田園的生活,每天種種地,養養小動物什麼的就很開心。而有的人就很喜歡冒險,喜歡打打殺殺,砍殺怪物就是唯一的樂趣。對於前者來說,我的世界生存模式中的樂趣實在是太多了,因為這樣悠閒的生活怎麼也不會過膩呀!但是對於後者來說,就很容易...
推薦中...