對於乙個彙編程式設計師來說,cpu中的主要部件是暫存器。暫存器是cpu中程式設計師可以用指令讀寫的部件。程式設計師通過改變暫存器裡的內容來實現對cpu的控制。
1: 8086cpu的所有暫存器都是16位的,可以存放2個位元組。其中8086cpu中的ax bx cx dx這4個暫存器都可以分為兩個獨立使用的8位暫存器來使用。
2: ax的低8位構成了al暫存器,高8位構成了ah暫存器。ah和al暫存器是可以獨立使用的8位暫存器。而具體的分解則由下圖可見:
3:乙個字可以存在乙個16位的暫存器之中,這個字的高位節和低位節自然就存在了這個暫存器的高8位暫存器和低8位暫存器之中。
為了區分不同的進製,在十六進製制表示的資料的後面加h,在二進位制的資料後面加上b,十進位制的後面則什麼都不加。
4:為了使具有高階語言基礎的讀者可以更好的理解指令,會用文字描述和高階語言描述這兩種方式來描述一條彙編指令的含義。在寫一條彙編指令或者乙個暫存器的名稱時不會區分大小寫。
注意 當al是作為乙個獨立的8位暫存器使用時,和ah是沒有關係的,cpu在執行命令時會認為這兩個是不相干的暫存器。所以不要錯誤的認為這兩個是有關聯的。
二:位址問題的總結
段位址和偏移位址通過內部匯流排送入位址加法器。
2:位址加法器採用實體地址=段位址*16+偏移位址的方法用段位址金和偏移位址合成實體地址
三:cs和ip
2:在cpu中,程式設計師能夠用指令讀寫的部件只有暫存器,程式設計師可以通過改變暫存器中的內容實現對cpu的控制。cpu從何處執行指令是由cs和ip中的內容決定的,程式設計師可以通過改變cs,ip中的內容來控制cpu執行目標指令。
3:如何改變cs和ip的值呢?能夠改變cs和ip的值內容的指令被統稱為轉移指令。現在我們來介紹乙個最簡單的改變值的指令:jmp指令。
如果只是想改變ip中的內容,可以用形如:「jmp 某一合法暫存器」的指令來完成。
組合語言 第二章
2.1 通用暫存器 8086cpu的所有暫存器都是16位的,可以存放兩個位元組。ax bx cx dx這4個暫存器通常用來存放一般性的資料,被稱為通用暫存器。2.2字在暫存器中的儲存 位元組 記為byte,乙個位元組由8個bit組成,可以存在8位暫存器中。字 記為word,乙個字由兩個位元組組成,這...
組合語言 第二章 實驗
實驗一 檢視cpu和記憶體,用機器指令和彙編指令程式設計。debug r命令檢視 改變cpu暫存器的內容 d命令檢視記憶體中的內容 e命令改寫記憶體中的內容 u命令將記憶體中的機器指令翻譯成彙編指令 t命令執行一條機器指令 a命令以彙編指令的格式在記憶體中寫入一條機器指令。實驗任務 1 使用debu...
組合語言第二章總結
在cpu 中主要部件是暫存器,負責資訊的儲存功能,而這正是第二章的重點。下面將知識點總結如下 一 不同cpu暫存器個數,結構都不同。8086cpu有14個暫存器分別為 ax bx cx dx si di sp bp ip cs ss ds es psw 這些暫存器都是16位,即可存放兩個位元組。其中...