當前位置:首頁 » 編程軟體 » 編程寄存器

編程寄存器

發布時間: 2022-04-12 10:59:44

❶ 寄存器是什麼 有什麼作用

寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數據和地址。

寄存器是CPU的組成部分,因為在CPU內,所以CPU對其讀寫速度是最快的,不需要IO傳輸。但同時也決定了此類寄存器數量非常有限,有限到幾乎每個存儲都有自己的名字,而且有些還有多個名字。

寄存器的作用主要是:

可將寄存器內的數據執行算術及邏輯運算;

存於寄存器內的地址可用來指向內存的某個位置,即定址;

可以用來讀寫數據到電腦的周邊設備。

(1)編程寄存器擴展閱讀:

寄存器的功能十分重要,CPU對存儲器中的數據進行處理時,往往先把數據取到內部寄存器中,而後再作處理。

外部寄存器是計算機中其它一些部件上用於暫存數據的寄存器,它與CPU之間通過「埠」交換數據,外部寄存器具有寄存器和內存儲器雙重特點。有些時候我們常把外部寄存器就稱為「埠」,這種說法不太嚴格,但經常這樣說。

❷ 寄存器:我想了解多一些有關寄存器的知識,匯編編程時用的

寄存器(Register)是CPU內部的元件,所以在寄存器之間的數據傳送非常快。用途:1.可將寄存器內的數據執行算術及邏輯運算。2.存於寄存器內的地址可用來指向內存的某個位置,即定址。3.可以用來讀寫數據到電腦的周邊設備。8086 有8個8位數據寄存器,這些8位寄存器可分別組成16位寄存器:AH&AL=AX:累加寄存器,常用於運算;BH&BL=BX:基址寄存器,常用於地址索引;CH&CL=CX:計數寄存器,常用於計數;DH&DL=DX:數據寄存器,常用於數據傳遞。為了運用所有的內存空間,8086設定了四個段寄存器,專門用來保存段地址:CS(Code Segment):代碼段寄存器;DS(Data Segment):數據段寄存器;SS(Stack Segment):堆棧段寄存器;ES(Extra Segment):附加段寄存器。當一個程序要執行時,就要決定程序代碼、數據和堆棧各要用到內存的哪些位置,通過設定段寄存器 CS,DS,SS 來指向這些起始位置。通常是將DS固定,而根據需要修改CS。所以,程序可以在可定址空間小於64K的情況下被寫成任意大小。 所以,程序和其數據組合起來的大小,限制在DS 所指的64K內,這就是COM文件不得大於64K的原因。8086以內存做為戰場,用寄存器做為軍事基地,以加速工作。除了前面所提的寄存器外,還有一些特殊功能的寄存器:IP(Intruction Pointer):指令指針寄存器,與CS配合使用,可跟蹤程序的執行過程;SP(Stack Pointer):堆棧指針,與SS配合使用,可指向目前的堆棧位置。BP(Base Pointer):基址指針寄存器,可用作SS的一個相對基址位置;SI(Source Index):源變址寄存器可用來存放相對於DS段之源變址指針;DI(Destination Index):目的變址寄存器,可用來存放相對於 ES 段之目的變址指針。還有一個標志寄存器FR(Flag Register),有九個有意義的標志(

OF: 溢出標志位OF用於反映有符號數加減運算所得結果是否溢出。如果運算結果超過當前運算位數所能表示的范圍,則稱為溢出,OF的值被置為1,否則,OF的值被清為0.

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進入
32bit時代,其定址方式,寄存器大小, 功能等都發生了變化, 要想學習這方面知識請參考相應資料.

關於寄存器就寫這么多了,學習匯編和學習別的語言一樣
要多想,多練,多看, 這樣才會有提高.

下面是一些匯編書籍和網站, 對你學習會有幫助的.

網站:
http://www.x86asm.com/ x86匯編小站
http://www.aogosoft.com/ Aogo匯編小站
http://211.90.225.98:22366/ 羅雲彬的編程樂園
http://cn.codeof.com/articles/programming/masm/
裡面有匯編學習資料.

書籍:

1. IBM-PC 匯編語言程序設計(2th)
2. <<80x86 IBM PC及兼容計算機(卷I和II) — 匯編語言、設計與介面技術>>; 這本書很牛, 建議入手;

中文的匯編好書比較少,如果你英語不錯的話,可以看看
下面這些(都很經典!!!):

01. <<Mastering Turbo Assembler>>

02. <<Using Assembly Language>>

04. <<Assembly Language Primer for the IBM PC/XT>>

05. <<Assembly Language from Square One>>

06. <<Assembly Language for the IBM PC>>

07. <<Assembly Language and Systems Programming for the IBM PC and Compatables>>

08. <<Assembler Inside & Out>>

09. <<The Zen of Assembly>>

10. <<IBM Microcomputers: A Programmer's Handbook>>

11. <<Programmer's Problem Solver for the IBM PC, XT, and AT>>

12. <<IBM PC ASSEMBLER LANGUAGE AND PROGRAMMING>>

13. <<80386: A Programming and Design Handbook>>, 2nd Ed

14. <<80486 Programming>>

15. <<Master Class Assembly Language>>

16. <<Programmer's Guide to PC & PS/2 Video Systems>>

17. <<Power Graphics Programming>>

18. <<Programmers Guide to the EGA and VGA cards>>, 3rd Ed.

19. <<AdvancEd Programmers Guide to the EGA/VGA>>

20. <<UndocumentEd DOS>>

21. <<DOS Programmer's Reference>>

22. <<386SX Microprocessor Programmer's Reference Manual>>

23. <<i486 Microprocessor Programmer's Reference Manual>>

24. <<The Programmer's PC Sourcebook>>

25. <<System BIOS for IBM PCs, Compatables, and EISA Computers>>, 2nd Ed.

26. <<PC Magazine Programmers Technical Reference: The Processor and Coprocessor>>

27. <<Mastering Serial Communications>>

28. <<DOS Programmer's Reference>>, 2nd Ed.

29. <<MS-DOS Programmer's Reference>>

最後祝你學習愉快

❸ 為什麼說430單片機編程主要是對寄存器的編程。

實際上所有的單片機都有多種編程方式,針對寄存器的編程方式是較為直接的方法之一。當然MSP430系列也不例外。
第一種採用匯編語言——這種方法比較老相對原始一些,會的人群不會太多。編程精煉短小,如果程序較大後,一旦出錯需要有較高的手段,否則麻煩。
第二種就是寄存器編程——這種方法比較直接,當手冊看明白,較了解了單片機寄存器的對應控制關系後,用寄存器辯證還是比較順手的,程序也較為短小精煉。
第三種就是廠家為了客戶入手快捷直接寫好了功能性的C宏函數——這種方法上手最快,只要理解了宏函數的功能,只需要將參數寫入,執行就能出結果,易學易用,生成機器代碼較為長點。
除此之外,可能還有其他的編程方法,像諸如模擬後生成的代碼等。
這三種方法還是看個人的所學和經驗,習慣了哪種方法都會如魚得水輕松編程的。並且這幾種編程的最終目的也是修改設置寄存器和各種存儲器,數據搬來搬去,偶爾才會計算一下的。因此MSP430 是不會例外的。

❹ PLC編程 寄存器使用

有好處的,一般這種方式是程序循環開始時候把輸入信號寫到內存(M),程序掃描結尾把內存(M)寫到輸出信號。現場實際接線時候如果和編程時候不一樣的情況下,只要把輸入到內存,或者內存到輸出改動一下就可以了,程序可以保持不變,對於同一類型的項目移植很好用

❺ 硬體單片機編程的寄存器

先學一種單片機的匯編語言,了解其內部寄存器,其它單片機也類似
象簡單對寄存器賦值的語句,51里只有CLR A,清0 賦值語句是 MOV A,#NN NN代表立即數 畢竟用一個單詞賦值操作太簡單了,一般操作都有兩個數,51單片也有許多對單片寄存器操作的語句,如 DEC A INC A SWAP A等 .
寄存器的名字是在頭文件中說明的,而操作語句是有專門的指令系統的
單片機種類很多,內部結構大致相同,學單片機,一學內部寄存器的操作,二學外部器件的操作時序。這些東西慢慢就其知道了,若今天看那個單片機,明天又看另一個單片機,結果一個也學不會。

❻ 用戶可編程的寄存器類型都有哪些

可編程寄存器?你說的是哪種晶元
像8086有AX,BX,CX,DX,SI,DI,SP,BP等等,IP在可使用跳轉改變,PSW可受一些指令影響改變
如果是51單片機,我想想呀,有A,B,還有一些地址可定址的可以使用
不過正常來說,那些都是RAM(隨機存儲器)或是FlASH(快閃記憶體),可隨意改變,其實寄存器利用起來和隨便找個隨時可讀可寫的地址是沒區別的

❼ 庫函數編程相比寄存器編程的好處有哪些

用庫函數編程相對於寄存器編程的好處就是能夠自由的調用函數無須考慮內存空間等等。

❽ 西門子PLC編程中的寄存器使用問題

你的問題我也發現了,我先用前兩條指令做了一下,沒有出現你說的這種現象,當我寫你的第三條指令時,發生了這種情況。。。然後我又把第三條指令給去除了,這種現象也隨之消失了,所以,我的初步結論是,與你的第三條指令的地址分配有關。。。我建議你了解一下西門子200PLC的定址方式,我也給你查了一下,但是,只是針對今天的這個問題。其實這個問題是這樣的,在西門子200PLC中VW100就是VB100+VB101,其中,VB100為高位,VB101為低位,你可以參看下圖:
按照這種編程原則,我們所謂的1或2,實際是存在VB101中的
你指令中的VW101實際的地址應該為VB101+VB102,而1或2是存在VB102中,雖然在一個字的單元中,高位位元組並沒有數值,可是因為是一個字的單元,高位部分會自然補零的,所以數值會因為賦值VB101中,而將VW100中的VB101賦值為0,所以你會看到的都是零。。
以我的經驗,這種以字的形式的賦值方法,盡量應注意錯開存儲空間,這個還是程序比較少的,如果是一個大型的程序,可能整個工程進度都會遭到破壞,一般我使用時,都是用跳躍式的方法如VW101、VW103、VW105寧可跳一下,也別總是因為這個栽跟頭,以前我用GE
PLC就遇到過這種情況,有時候,很難發現。。。像這種情況你也可以該為以MOV_B作為傳送指令,如果數據不大於255。如果大於255再用MOV_W指令。還是多看看手冊吧。。。

❾ PLC編程特殊寄存器D8140用法

首先PLSY
K3000
D8140
Y0中D8140在這個指令中是作為一個脈沖個數,根據PLSY指令的特性PLSY的脈沖個數被更改時,從指令下一次被驅動開始變更內容生效。因此這次運行的脈沖個數就是K30000,不會隨著D8140的改變而改變。因此輸出的結果是沒什麼區別的。其次D8140是計Y0的脈沖個數,如果你不是一直執行MOV
K30000
D8140,那麼執行完了PLSY後,通過在線監視你會看到D8140不再是30000。
望採納。。。。。

熱點內容
智慧易店伺服器地址是啥 發布:2025-03-14 20:57:49 瀏覽:885
小米ID密碼忘記了有什麼危害 發布:2025-03-14 20:45:28 瀏覽:609
大麥路由器怎麼改密碼 發布:2025-03-14 20:35:42 瀏覽:87
資料庫片語 發布:2025-03-14 20:27:21 瀏覽:248
角色卡演算法 發布:2025-03-14 20:08:48 瀏覽:650
linux伺服器安全加固 發布:2025-03-14 19:59:21 瀏覽:779
android系統資料庫 發布:2025-03-14 19:44:27 瀏覽:237
beats安卓手機怎麼彈窗 發布:2025-03-14 19:33:38 瀏覽:222
安卓手機新充電頭叫什麼 發布:2025-03-14 19:32:53 瀏覽:30
暗處增亮演算法 發布:2025-03-14 19:28:02 瀏覽:641