Слайд 1
Организация на паметта
Слайд 2
Организация на програмната памет:
Stack level 1
.
.
Stack level 8
PC <12:0>
RESET Vector
.
.
.
Interrupt Vector
Onchip Program
Memory (Page 0)
Onchip Program
Memory (Page 1)
Използвано
пространство
памет
CALL, RETURN,
RETFIE, RETLW
13
0000h
0004h
0005h
07FFh
0800h
0FFFh
1000h
1FFFh
Слайд 3
Организация на паметта за данни:
Слайд 4
Организация на паметта за данни:
Слайд 5
Изпълнение на инструкциите.
Зареждане на програмния брояч:
Зареждане от PCL
При инструкции GOTO и CALL
PC (Program Counter) – програмен брояч.
PCL (Program Counter Low) – младши байт на програмния брояч.
PCH (Program Counter High) – старша част на програмния брояч.
PCLATH (Program Counter LATH) – регистър за зареждане старшата част
на програмния брояч.
Слайд 6
Пряка и непряка адресация:
Пряката адресация е найпростият метод за определяне адреса на операнд от паметта чрез даване на име на съответната клетка от паметта. При него инструкцията съдържа пряко адреса на операнда.
INCF REG, 1
Слайд 7
Пряка и непряка адресация:
Непряката адресация е метод за определяне на действителния адрес на операнда чрез използване съдържанието на друг регистър.
чрез използване на регистъра INDF[1]
на практика се използва регистъра, указван от съдържанието на регистъра FSR[2]
Ефективен 9битов адрес се получава чрез обединяване на 8битовия FSR и бита IRР[3] (STATUS<7>)
[1] INDF (Indirect File register) – файлов регистър за непряка адресация.
[2] FSR (File Select Register) – регистър за избор на файлов регистър.
[3] IRP (Indirect Register Pointer) – бит за определяне на банка при непряка адресация.
Слайд 8
Пряка и непряка адресация:
Слайд 9
Пример. Непряка адресация
movlw 0x20 ; инициализация на указателя
movwf FSR ; в RAM
NEXT clrf INDF ; нулиране на INDF регистъра
incf FSR, F ; увеличаване на указателя
btfss FSR, 4 ; всички клетки ли са нулирани?
goto NEXT ; не, нулира следващата клетка
CONTINUE
… ; да, продължава
0 коментара
За да коментирате, трябва да сте влезли в профила си.
Влезте