1. RO (間址寄存器)
R0并非實際存在的寄存器。它的主要功能是作為間接尋址指針。任何以RO為指針的指令實際上是對RAM
選擇寄存器R4所指的數(shù)據(jù)進行操作。
2. R1 (定時器/計數(shù)器)
由TCC引腳的邊沿(由CONT-4: TE 設定)或指令周期時鐘觸發(fā)加1操作。
可讀寫。
●
通過設置PAB (CONT-3) 來定義。
●
如果PAB位(CONT-3) 被清零,可將預除器分配給TCC.
只有當寫入TCC寄存器時,預分頻計數(shù)器的內(nèi)容被清零。
3. R2 (程序計數(shù)器)和堆棧
●
根據(jù)控制器的類型,R2和硬件堆棧為10位寬。參見圖3所示的程序計數(shù)器結構圖。
●
產(chǎn)生1024x13位片內(nèi)OTP ROM地址以獲取對應的程序指令編碼。- 一個程序頁是1024字長。
●
在復位狀態(tài)下R2所有位被清零。
●“JMP"指令直接裝載R2低10位值。因此“JMP"可以讓PC在一個程序頁中任意跳轉。
“CALL”指令裝載PC的低10位值,并交PC+1的值入棧。因此子程序的入口地址可以一個程序頁
任意地方。
●
"RET” ("RETk", “RETI")指令將棧頂?shù)臄?shù)據(jù)裝載到PC中。
●
"ADD R2, A"允許把A的內(nèi)容加到當前PC.上,同時PC的第9位和第10位被清零。
●
“MOVR2,A"允許將A寄存器的內(nèi)容裝載到PC的低8位,同時PC的第9位和第10位被清零。
任何對R2進行直接修改的指令(如:“ADDR2,A"、“MOVR2,A"、“BCR2, 6"、....都將會
引起PC的第9、10位清零,因此產(chǎn)生的跳轉只限于- -程序頁前256個地址。
●除了改變R2的指令需要2個指令周期外,其余的指令只需要一一個指令周期。 |