3
1.
FMUL
+
124
2.
FMULS
+
125
d, r = 16 - 23
FMULSU
+
126
В
JMP k
+
+
127
1.
2.
3. /Td>
CALL k
+
+
128
В
d = 0 - 31
LPM
+
129
1.
2.
d = 0 - 31
LPM
+
130
В
ELPM
+
131
см. табл. 15
SPM
+
За командою реєстрової операції з мнемокод MOVW Rd, Rг (№ 119) виконується пересилання (копіювання) слова з однієї пари регістрів загального призначення в іншу пару регістрів. Машинний код команди має формат "Слово", команда виконується за один такт. p> За трьом командам реєстрових операцій з Мнемокод MUL Rd, Rг MULS Rd, Rr і MULSU Rd, Rr (№ № 120, 121 і 122) виконується операція множення, в якій бере участь цілі числа без знака (MUL), цілі числа із знаком (MULS) і ціле число зі знаком і ціле число без знаку (MULSU). При виконанні операції формуються значення ознак результату С і Z (С = R1.7, Z = 1, якщо після виконання операції (R1) = 0 і (R2) = 0). p> За трьом командам реєстрових операцій з Мнемокод операції FMUL, FMULS і FMULSU (№ № 123, 124, 125) виконується операція множення із збільшенням результату в два рази, в якій беруть участь дробові числа без знака (FMUL), дробові числа зі знаком (FMULS) і дробове число зі знаками і дробове число без знака (FMULSU). Операнди мають формат 1.7, а результат - формат 1.15, де праворуч від точки вказано число дрібних розрядів. При виконанні операції формуються значення ознак результату С і Z (С - результат зсуву вліво коду твори, Z = 1, якщо після виконання операції (R1) = 0 і (R0) = 0.) p> Машинні коди команд № № 120-125 мають формат "Слово". Команди виконуються за два такти з використанням апаратного помножувача.
По командах з Мнемокод JMP k (№ 126) і CALL до (№ 127) вчиняються безумовний перехід і безумовний перехід з поверненням в межах всього адресного простору FlashROM. Машинні коди цих команд мають формат "2 слова". Команди виконуються за 3 JМР) і 4 (CALL) такту. p> По командах пересильних операцій із зверненням до FlashROM з Мнемокод LPM Rd, Z і LPM Rd, Z + (№ № 128, 129) виконується операція пересилання (копіювання) константи з половини осередку FlashROM в будь-який регістр загального призначення. До виконання команди необхідно адресу, відповідний комірці пам'яті, в якій зберігається константа, помножити на 2 і записати в пару регістрів Z. Якщо потрібно прочитати байт із старшої половини осередку, до числа, код якого записаний в парі регістрів Z, необхідно додати 1.
При виконанні команди з мнемокод LPM Rd, Z + після пересилання байта число, код якого зберігається в парі регістрів Z, збільшується на 1 апаратно.
Машинні коди команд № № 128 і 129 мають формат "з ЮВО ". Команди виконуються за 3 такту. p> За командою з мнемокод ELPM (№ 130) виконується пересилання Константи з половини осередку FlashROM в регістр R0 (див. команду № 62). У мікроконтролері типу ml03 FlashROM містить 64 До осередків пам'яті. Для розміщення старшого розряду коду після множення на 2 використовується розряд RAMPZ0 регістра RAMPZ (№ $ ЗВ). Машинний код команди має формат "Слово". Команда виконується за 3 такту. p> Команда з мнемокод SPM (№ 131) призначена для запису байтів в FlashROM в процесі виконання програми. При виконанні команди використовується регістр управління SPMCR (№ $ 37) і пара регістрів Z.
З використанням команди з мнемокод SPM виконуються наступні операції:
1) Послівний заповнення буферного пристрою, що запам'ятовує (BUF) ємністю 64X16 біт;
2) стирання в FlashROM сторінки - групи з 64-х осередків;
3) перепис 64-х слів з буферного ЗУ в "Очищену" сторінку FlashROM. p> Для завдання номера осередку ...