NOR
Пересилання між двома універсальними регістрами, необов'язкова умова, необов'язкова операція обчислення
Синтаксис:
IF умова обчислення, uregl = ureg2;
Функція:
Передача даних з одного універсального регістра в інший. Якщо операція обчислення визначена, вона виконується паралельно з доступом до даних. Якщо умова визначено, то воно впливає на виконання всієї команди. p> Приклади :
IF TF MRF = R2 * R6 (SSFR), M4 = R0; LCNTR = L7;
Код операції:
В
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23
Oil
1
Source UREG
COND
Dest UREG
22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
COMPUTE
COND визначає умову для перевірки. Якщо ніякого умови в команді не визначено, то COND є умовою TRUE, і команда виконується завжди.
Source UREG вказує універсальний регістр - джерело даних. Dest UREG вказує універсальний регістр - адресат. Поле COMPUTE визначає операцію обчислення, виконувану паралельно з доступом до даних. Якщо в команді не визначено ніякої операції обчислення, то це поле NOP.
Операція безпосереднього зсуву, необов'язкова умова, необов'язкова пересилання даних між пам'яттю даних або пам'яттю програми і регістровим файлом
Синтаксис:
a. IF умова Безпосередній зсув
DM (Ia, Mb) PM (Ic, Md) = dreg ;
b. IF умова Безпосередній зсув
dreg = DM ( Ia, Mb) PM ( Ic, Md)
Функція:
Операція безпосереднього зсуву - це операція пристрої зсуву. Y-операнд - це безпосередні дані (одне 8-розрядне число або два 6-розрядних числа, залежно від операції). Х-операнд і результат є регістрами реєстрового файлу.
Якщо визначений доступ з реєстрового файлу до пам'яті даних або пам'яті програми, то він виконується паралельно з операцією пристрої зсуву. Регістр I використовується для адресації пам'яті даних і пам'яті програми. Значення I співає-модифікується значенням певного регістра М і оновлюється модифікованим значенням. Якщо умова визначено, то воно впливає на виконання всієї команди.
Зауваження: див. розділ 4.4.1 "Обмеження на передачу даних з використанням регістрів DAG "в розділі 4 Передача даних.
Приклади :
IF GT R2 = R6 LSHIFT BY 30, DM (14, M4) = R0; IF NOT SZ R3 = FEXT Rl BY 8: 4;
Код операції: ( з доступом до даних)
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23
100
0
I
м
COND
G
D
DATAEX
DREG
22 21 20 19 18 17 16 15 14 13 1211 10 9 8 7 6 5 4 3 2 1 0
0
SHIFTOP
DATA
RN
RX
В
Код операції: ( без доступу до даних)
47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23
000
00010
COND
DATAEX
22 21 20 19 18 17 16 15 14 13 1211 10 вересень 8 7 6 5 4 3 2 1 0
0
SHIFTOP
DATA
RN
RX
COND визначає умову для перевірки. Якщо в команді не визначено ніякого умови, то COND є умовою TRUE, і команда виконується завжди.
SHIFTOP визначає операцію пристрою зсуву. Поле DATA визначає 8-розрядне безпосереднє значення зсуву. Для операції пристрої зсуву, що вимагає двох 6-розрядних чисел (значення зсуву і значення довжини), поле DATAEX додає 4 старших розряду до поля DATA, утворюючи 12-розрядне безпосереднє значення. Шість молодших розрядів є значенням зсуву, шість старших - значенням довжини. Якщо визначений доступ до пам'яті, то D вибирає тип доступу (читання або запис). G вибирає пам'ять даних або пам'ять програми. DREG визначає регістр реєстрового файлу. I визначає індексний регістр I, який співає-модифікується і оновлюється значенням регістру М, визначеним полем М. Поле COMPUTE визначає обчислювальну операцію, виконувану паралельно з доступом до даних. Якщо в команді не визначено ніякої операції обчислення, то це поле NOR. Модифікація індексного регі...