Birinchi 12 ta adreslar
– bu maxsus funktsiyalar qismi (SFR), ikkinchisi esa
yettita
umumiy
qo’lanuvchi registrlari (GPR). SFR qismi uskunalar ishlashini
boshqaradi. Ikkala qism ham o’z navbatida 0 va 1 banklarga bo’linadi. Bank 0 status
(STATUS) registrini PRO bitni birga o’rnatish orqali bank 1 tanlanadi. Har bir bank
128 bayt hajmga ega. PIC16
F83 va PIC16RC83 lar uchun ma’lumotlar xotirasi faqat
02Fh adresgacha, PIC16F84 va PIC16CR84 lar uchun 04Fh adresgacha. 7.15-
rasmda ma’lumotlar xotirasini tashkil etish ko’rsatilgan.
Maxsus registrlarning ba’zilari ikkala bankka ham tegishli, ba’zilari esa alohida
bank 1 ga joylashtirilgan.
0Ch-
4Fh adresli registrlar o’rnini statik OXQ
shaklida namoyon etadi va
umumiy qo’llanuvchi registrlar shaklida ishlatilishi mumkin. Bank 1 umumiy
qo’llanuvchi registrlarning adreslari bank «0» ga akslanadi. Shuning uchun bank «1»
o’rnatilganda 8Ch-SFh adreslariga murojaat etish bank «0» ni adreslaydi.
Status registrida RPO bitdan tashqari RB1 biti ham bor, u bu krisstallarning
kelajakdagi modifikatsiyalari uchun mo’ljallangan bo’lib, to’rtta sahifaga (bankka)
murojaat qilish imkonini beradi. OXQ yacheykalarining har bir registrning absolyut
adresini qo’llash orqali belvosita yoki registr ko’rsatgichi
FSR orqali bilvosita
adreslash mumkin.
Banklarga murojaatni bilvositali yo’l bilan adreslashda RP1:RP0
razryadlarining soni
qo’llaniladi. Bu EEPROM ma’lumotli xotiraga taa’luqli. Ikki
usulda ham 512 ta registrgacha adreslash mumkin.
Buyruqlar sanagichi.
PCL va PCLATH komandalar sanagichi 13 bit razryadga ega. (PCL)
sanagichning kichik bayti o’qish va yozish uchun mo’ljallangan va 02h adresda
joylashgan. Komandalar sanagichining katta bayti to’g’ridan-to’g’ri o’qilishi va
sanalishi mumkin emas va u 0Ah adresli PCLATH (PC latch high) registridan
olinadi. Mazkur PCLATH yangi qiymat bilan
yuklanganda komandalar
sanagichining katta baytligi uzatiladi. CALL, GOTO komandalari bajarilishi paytida
komandalar sanagichiga yangi qiymatlar yuklanganda yoki komandalar
sanagichining (PCL) kichik baytiga yozilganda komandalar
sanagichining katta
bitlari PCLATH, ya’ni 7.17-rasmda ko’rsatilganidek har xil usullar yordamida
yuklanadi.
CALL va GOTO komandalari 2k so’zgacha hajmga ega bo’lgan programma
xotirasi sahifasiga yetarli bo’lgan 11-razryadli adreslarni boshqaradi.
Arifmetik amallarni komandalar sanagichi ostida
bajarish mumkinligi PIC
kontrollerlarida amalning juda tez va samarali bajarilishiga olib keladi. PIC16F8X
guruhchasidagi mikrokontrollerlarda sakkiz sathli 13 bit kenglikdagi apparat steki
mavjud. Stek bo’limi programma bo’limiga ham, ma’lumotlar bo’limiga ham
kirmaydi. Stek ko’rsatgichiga esa qo’llanuvchi murojaatiga ruxsat berilmagan.
CALL komandasi bajarilganda yoki uzilish bo’lganda komandalar sanagichining
joriy qiymati stekka jo’natiladi. Qism dasturidan qaytganda (RETLW, RETFLE
yoki RETURN komandalari) stekdan komandalar
sanagichi qiymati orqali
qaytariladi. PCLATH registri stek bilan operatsiya bajarilganda o’zgarmaydi.
Stek davriy bufer kabi ishlaydi. Shuning uchun stek sakkiz marta yuklangandan
keyin, to’qqizinchi yuklanishda birinchi qiymatni qayta yozadi va h.k. Agar stek
t
o’qqiz marta yuklansa komandalar sanagichi birinchi (dastlabki) yuklangan holati
bilan bir xil bo’ladi.