組合語言第一章學習筆記

2021-04-21 22:52:52 字數 1996 閱讀 4663

第一章學習筆記

重新看了一遍第一章,發現以前看書太失敗了,看了不如不看,純粹是在浪費時間。以前看時沒概念,看到不懂的似懂非懂過去了。到現在再看時才真的看懂他說的是什麼。這章裡沒有太多內容,只是把儲存器,匯流排結構還有儲存器晶元介紹了一遍。

儲存器可以按功能,用途,讀寫方式等分類,都是概念了。本書牽扯到的,最多的是暫存器,記憶體儲器。計算機有兩個定址空間,乙個是儲存器,另乙個是埠。記憶體呢,是ram,作為主要的儲存器,大部分需要由cpu處理的資料都要先從磁碟弄到這裡,再由cpu通過匯流排來讀寫。至於鍵盤、主機板cmos等其他埠的讀寫是由埠直接讀到暫存器,但是估計原理還是一樣,鍵盤裡有緩衝區,先把資料送到緩衝區,再送到暫存器。 主機板上有個rom裡面固化了基本輸入輸出程式,即bios。顯示卡也有自己的bios。但是bios資料也是可寫的,看到一句話說:586以後的rom bios多採用eeprom,不然rom的bios還要刷什麼?

而cpu通過控制匯流排控制由位址匯流排傳送位址確定位址,對記憶體進行讀寫訪問。控制匯流排通過傳送中斷資訊,時序訊號,命令資訊來控制,雙向傳輸;位址匯流排用來確定儲存器單元,只由cpu發出,故單向;資料匯流排傳輸資料,也是雙向傳輸。三類匯流排應該沒有不是三態的吧?

有個重要的一點,8086可定址空間為1m,這1m的空間分配是這樣的:

0x 0 0 0 0 0

| |    10x64k=640k;  基本記憶體

| 0x 9 f f f f

0x a 0 0 0 0

| |    2x64k=128k;  作為視訊記憶體使用

| 0x b f f f f

0x c 0 0 0 0

| |    4x64k=264k;  由bios使用,位址如何利用由其自己決定 

| 0x f f f f f

而通常情況下,bios對屬於自己的位址空間的劃分方式如下:

0x c 0 0 0 0

| |       0.5x64k=32k;  顯示卡bios使用    

| 0x c 7 f f f

0x c 8 0 0 0

| |       0.25x64k=16k  ide控制器bios使用    

| 0x c b f f f

. .

. .

0x f 0 0 0 0

| |      1x64k=64k;  系統bios使用

| 0x f f f f f

也就是說:c0000h~fffffh則被保留給bios使用,其中系統bios一般占用了最後的64kb或更多一點的空間,顯示卡bios一般在c0000h~c7fffh處,ide控制器的bios在c8000h~cbfffh處。

基本記憶體的分配方式如下(由bios分配):

0x 0 0 0 0 0

| |       1k  中斷向量表 每一項占領4位元組  共256項

| 0x 0 0 3 f f

0x 0 0 4 0 0

| |       256位元組  bios資料區    

| 0x 0 0 4 f f

0x 0 0 5 0 0

| |       自由記憶體區 但0x07c00-0x07dff (512位元組)為引導程式載入區    

| 0x 9 f f f f

這是網上找的,寫得很全面。

上面寫的顯示卡bios一般在c0000h~c7fffh處,ide控制器的bios在c8000h~cbfffh處,問題出現了,之前說的bios不是固化在rom裡了麼,怎麼變成在ram裡了呢?  網上找到的資料說的是這是bios對映功能,開啟以後就把rom裡的**先複製到相關區域的ram裡,這樣讀bios的速度就加快了。  覺得這種說法很有問題,按照這種邏輯,難道不複製到ram也可以被讀到的?那對它的定址是怎樣的?這樣算來就不能定址了。應該是這段rom**一直都是被對映到ram裡面,或者說是兩者用同一段位址,然後通過ram的位址,直接讀寫rom吧!網上說的混合編址看了很久沒看懂,不知道是不是就是這樣做的。

這裡又可以牽扯出乙個非20位位址匯流排cpu的引導定址,但是不是這章的重點,以後寫到引導的時候再研究。

《組合語言》第一章學習筆記

也就是記憶體,存放指令和資料,磁碟上的資料或程式讀到記憶體中 1kb 1024b 1mb 1024kb 1gb 1024mb 1tb 1024gb 從0開始順序編號,乙個儲存單元儲存乙個位元組 每個cpu晶元都有許多管腳,這些管腳和匯流排相連。cpu通過位址匯流排來指定儲存單元 乙個cpu有n根位址...

《組合語言》筆記第一章

看了王爽的 組合語言 感覺寫的很好,真的是通俗易懂,為了大家也可以快速瀏覽一下組合語言,我特意將筆記一章一章寫出來。獨樂了不如眾樂樂,不會組合語言的程式設計師不是好程式設計師!一 基礎知識 1.1.組合語言由三類指令組成 1 彙編指令 機器語言的助記符,有對應的機器語言 2 偽指令 沒有對應的機器碼...

組合語言筆記第一章

本著對計算機的熱愛,當然,希望自己能更了解計算機底層實現,所以就來學學這本組合語言了,當然,肯定要對知識點做乙個小結,代表學過,此外,似乎破解什麼需要這個基礎的。本書一共17個章節。第一章是基礎部分 機器指令 一台機器可以正確執行的命令。他是一串二進位制,到機器上對應一系列高低電平,以此驅動電子器件...