當前位置:編程學習大全網 - 編程語言 - 寄存器編程

寄存器編程

寄存器是CPU的內部組件,因此寄存器之間的數據傳輸非常快。用法:1。可以對寄存器中的數據執行算術和邏輯運算。2.存儲在寄存器中的地址可以用來指向存儲器中的某個位置,即尋址。3.可用於向計算機讀寫數據的外圍設備。8086有8個8位數據寄存器,可以分別構成16位寄存器:ah & amp;Al = ax:累加寄存器,常用於運算;BH & ampBL = BX:基址寄存器,常用於地址索引;CH & ampCl = CX:計數寄存器,常用於計數;DH & ampDl = dx:數據寄存器,常用於數據傳輸。為了用足內存空間,8086設置了四個段寄存器,專門用來存儲段地址:CS(代碼段):代碼段寄存器;DS(數據段):數據段寄存器;SS(棧段):棧段寄存器;ES(額外段):附加段寄存器。當要執行壹個程序時,需要決定程序代碼、數據和堆棧使用內存的哪些位置,並通過設置段寄存器CS、DS和SS指向這些起始位置。通常,DS是固定的,CS根據需要進行修改。所以在可尋址空間小於64K的情況下,程序可以寫成任意大小。因此,程序及其數據的組合大小被限制為DS所指的64K,這也是COM文件不應大於64K的原因。8086以內存為戰場,註冊為軍事基地,加快工作速度。除了上面提到的寄存器,還有壹些具有特殊功能的寄存器:IP(引入指針):指令指針寄存器,可以配合CS使用,跟蹤程序的執行過程;SP(堆棧指針):堆棧指針,和SS壹起使用,可以指向當前的堆棧位置。BP(基址指針):基址指針寄存器,可以作為ss的相對基址位置;SI(源索引):源索引寄存器可用於存儲相對於DS段的源索引指針;DI(目的地索引):目的地索引寄存器,可用於存儲相對於ES段的目的地索引指針。還有壹個標誌寄存器FR(Flag Register ),具有九個有意義的標誌(

OF:的溢出標誌位用來反映有符號數的加減結果是否溢出。如果運算結果超出了當前操作數所能表示的範圍,則稱為溢出,將的值設置為1,否則將的值清零。

DF:方向標誌的DF位用於確定執行字符串操作指令時指針寄存器調整的方向。

IF:中斷許可標誌的IF位用於確定CPU是否響應CPU外部可屏蔽中斷發出的中斷請求。但是,無論標誌的值如何,CPU都必須響應CPU外部的非屏蔽中斷發出的中斷請求和CPU內部產生的中斷請求。具體規定如下:

(1),當IF=1時,CPU可以響應CPU外屏蔽中斷發出的中斷請求;

(2)當IF=0時,CPU不響應來自CPU外屏蔽中斷的中斷請求。

TF:狀態控制標誌用於控制CPU的操作,它們只能通過特殊的指令來改變。

SF:符號符號SF用於反映運算結果,與運算結果的最高位相同。在微機系統中,有符號數用補碼表示,所以SF也反映了運算結果的符號。當運算結果為正時,SF的值為0,否則為1。

ZF:零號ZF用來反映運算結果是否為0。如果運算結果為0,則其值為1,否則其值為0。當判斷運算結果是否為0時,可以使用該標誌位。

AF:在下列情況下,輔助進位標誌AF的值設置為1,否則為0:

(1),字操作時低字節進位或借位高字節時;

(2)當在字節操作期間發生從低4位到高4位的進位或借位時。

PF:奇偶標誌PF用於反映運算結果中“1”數的奇偶性。如果“1”的數是偶數,PF的值就是1,否則就是0。

CF:進位標誌CF主要用來反映運算是產生進位還是借位。如果運算結果的最高有效位產生進位或借位,則其值為1,否則其值為0。)

以上是8086寄存器的總體概述。從80386開始,PC機進入了

在32位時代,它的尋址方式、寄存器大小、功能等。都變了。如果妳想學習這些知識,請參考相應的資料。

這些都是關於寄存器的。學習匯編和學習其他語言是壹樣的。

多思考,多實踐,多看,這樣才能提高。

這裏有壹些編譯好的書籍和網站,會對妳的學習有幫助。

網址:

. code of . com/articles/programming/masm/

裏面有編譯學習資料。

書籍:

1.IBM-PC匯編語言程序設計(二)

2.& lt& lt80x86 IBM PC和兼容計算機(第壹卷和第二卷)-匯編語言、設計和接口技術>:& gt;這本書太棒了,所以我建議從它開始。

中文的編譯書很少。如果妳的英語不錯,可以去看看。

以下(全是經典!!!):

01.& lt& lt掌握Turbo匯編程序& gt& gt

02.& lt& lt使用匯編語言& gt& gt

04.& lt& ltIBM PC/XT匯編語言初級讀本& gt& gt

05.& lt& lt匯編語言從頭開始& gt& gt

06.& lt& ltIBM PC的匯編語言& gt& gt

07.& lt& ltIBM PC及其兼容機的匯編語言和系統編程& gt& gt

08.& lt& lt內部匯編程序& ampOut & gt& gt

09.& lt& lt組裝禪& gt& gt

10.& lt& ltIBM微型計算機:程序員手冊& gt& gt

11.& lt& ltIBM PC、XT和AT & gt的程序員問題解決程序& gt

12.& lt& ltIBM PC匯編語言和程序設計& gt& gt

13.& lt& lt80386:編程和設計手冊& gt& gt,第二版

14.& lt& lt80486編程& gt& gt

15.& lt& lt主控類匯編語言& gt& gt

16.& lt& ltPC & amp;amp;程序員指南。PS/2視頻系統& gt& gt

17.& lt& ltPower圖形編程& gt& gt

18.& lt& ltEGA和VGA卡程序員指南& gt& gt,第3版。

19.& lt& ltEGA/VGA高級程序員指南& gt& gt

20.& lt& lt未記錄的DOS & gt& gt

21.& lt& ltDOS程序員參考& gt& gt

22.& lt& lt386SX微處理器程序員參考手冊& gt& gt

23.& lt& lti486微處理器程序員參考手冊& gt& gt

24.& lt& lt程序員的PC資料手冊& gt& gt

25.& lt& ltIBM個人電腦、兼容機和EISA電腦的系統BIOS & gt;& gt,第二版。

26.& lt& ltPC雜誌程序員技術參考:處理器和協處理器& gt& gt

27.& lt& lt掌握串行通信& gt& gt

28.& lt& ltDOS程序員參考& gt& gt,第二版。

29.& lt& ltMS-DOS程序員參考& gt& gt

最後,祝妳學習愉快。

  • 上一篇:四軸加工中心編程方法是什麽?
  • 下一篇:java如何讓壹個形狀圍繞壹個點旋轉360度
  • copyright 2024編程學習大全網