Page 143 - 4503
P. 143
на адресний вхід пам’яті програм адресу наступної команди N
+ 1 і виставляти її у шину даних команд. Наступний крок — це
дозвіл блока керування на запис команди N у RG2, а команди
N + 1 у реґістр RG1. Тепер можна виконувати команду N і у
цей момент давати дозвіл лічильнику команд виставляти на
адресний вхід пам’яті програм адресу команди N + 2. За час
повного виконання команди N здійснюється відбір (тобто
зчитування) команди N + 2 і виставлення у шину даних
команд.
На наступних трьох рисунках 5.5…5.7 відображено
схеми послідовного виконання програми [3], що складається
із трьох команд з використанням конвеєра. Отже, першою по
черзі виконується команда за адресою 000 — movf 31,w
(рисунок 5.5).
Ця команда (MOVe File) копіює вміст заданого регістру
(ми надалі називатимо його — file) даних у заданий регістр —
це, як правило, робочий регістр, але можна і сам у себе (про
що йтиметься у лекції 7). Таким чином, команда movf 31,w
записує байт інформації, записаної за адресою h’31’ (з англ.
hex — шістнадцять) у робочий регістр. Якщо вміст байту
виявиться нульовим, то у результаті цієї команди у ознаці Z
регістра стану запишеться логічна 1.
Другою виконується команда addlw 04 за адресою
001 — теж у шістнадцятковому коді.
5.1.2 Команда addlw
Ця команда (ADD Literal to Working register) додає
однобайтну константу до вмісту робочого регістру. Таким
чином, addlw 04 (рисунок 5.6) додає число 4 до вмісту
робочого регістру і в ньому ж таки залишає результат. Якщо
при виконанні команди відбувається переповнення, то
143