240 likes | 356 Views
Mikroprotsessorid. PIC16F876A MÄLUJAOTUS. RAM + Registrid 512 baiti Vaja vähemalt 9 bitti Mälu on jagatud bankadeks Kuskil on veel 2 bitti Need on mälus endas!. 386 Baiti. See, missugune Bank on aktiivne, on määratud registris STATUS. PROGRAMMI MÄLU. PROGRAMMI MÄLU.
E N D
Mikroprotsessorid PIC16F876A MÄLUJAOTUS Alvo Aabloo
RAM + Registrid512 baiti Vaja vähemalt 9 bitti Mälu on jagatud bankadeks Kuskil on veel 2 bitti Need on mälus endas! Alvo Aabloo
386 Baiti Alvo Aabloo
See, missugune Bank on aktiivne, on määratud registris STATUS Alvo Aabloo
PROGRAMMI MÄLU Alvo Aabloo
PROGRAMMI MÄLU Aadress – 13 bitti CALL, RETURN Stack – 13 bitti Programm – 14 bitti CP – Code Protection Configuration word 2007h Alvo Aabloo
PROGRAMMI MÄLU Programmi mälus on programm Järjestik programm läheb algusest kuni lõpuni Meie PICil on 8192x14bitti Selleks et seda addresseerida on vaja 13bitti ... 13bitine loendur (PC) Programmis (goto, call) ülimalt 11bitti On 2k käsused blokid. (0-7FF,800-FFF,1000-17FF,1800-1FFF) Osa aadressist on registris PCLATH (Program Counter Latch High)See mõjub ainult käskude “GOTO” ja “CALL” ajal. Alvo Aabloo
STACK Alvo Aabloo
RETURN CALL 1 PC RETFIE InterruptKatkestus STACK 2 3 4 5 6 7 8 Alvo Aabloo
CALL1 1 PC1 STACK 2 8 3 7 4 6 5 Alvo Aabloo
CALL1 CALL2 2 PC2 STACK 3 PC1 1 4 8 5 7 6 Alvo Aabloo
RETURN2 CALL1 CALL2 2 PC2 STACK 3 PC1 1 4 8 5 7 6 Alvo Aabloo
RETURN2 RETURN1 CALL1 CALL2 1 PC1 STACK 2 8 3 7 4 6 5 Alvo Aabloo
CALL8 8 PC8 STACK 1 PC1 7 PC7 2 PC2 6 PC6 3 PC3 5 PC5 4 PC4 Alvo Aabloo
CALL8 CALL9 1 PC1 PC9 STACK 2 PC2 8 PC8 3 PC3 7 PC7 4 PC4 6 PC6 5 PC5 Alvo Aabloo
1FFFh + 1 = 0000h Alvo Aabloo
Kaudne adresseerimine – Indirect addressing Käsk, mis kasutab registrit Indirect addr, pöördub tegelikult selle registri poole, mille aadress on registris FSR. Registri aadress on 9 bitti, aga FSR-i mahub ainult 8 9. bitt on registris STATUS Alvo Aabloo
Kaudne adresseerimine – Indirect addressing IRP 0 Kirjutada aadressile 0x20h 0xFFh Sea IRP nulliks Kirjuta aadressile 0x20h 0xFFh Kirjuta FSR-i 0x20h Kirjuta aadressile 0 0xFFh 0xFF Alvo Aabloo
indirect adresseerimine • Aadress peab olema kirjutatud spetsiaalsesse registrisse (FSR 0x04) • Tulemuse lugemine toimub teisest spetsiaalsest registrist (INDF 0x00) • IRP (1-2/2-3 bank) Alvo Aabloo
Kaudne adresseerimine – Indirect addressing Alvo Aabloo
STATUS Z=1 – eelmise operatsiooni tulemus oli 0Z=0 – eelmise operatsiooni tulemus ei olnud 0C=0 – eelmisel operatsioonil toimus MSB-st carry outC=0 – eelmisel operatsioonil ei toimunud MSB-st carry outDC=0 – eelmisel operatsioonil toimus carry 3.bitist 4-ndasseDC=0 – eelmisel operatsioonil ei toimunud carry 3.bitist 4-ndasse Alvo Aabloo
STATUS _TO 0 – WatchDogi Time-Out_PD 0 - Sleep Alvo Aabloo