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