[an error occurred while processing this directive]
Элементарный пример
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Bill 18 ноября 2005 г. 13:52
В ответ на: Нискажыте, нискажыте... отправлено
-mse- 18 ноября 2005 г. 13:26
Сложение содержимого памяти в стеке (Y-регистр в качестве указателя) с данными в регистрах (16 разрядов). Реально это можно сделать, например, так:
ld r18, Y add r16, r18 ldd r18, Y+1 adc r17, r18
Т.е. требуется дополнительный регистр и 4 команды. Другой (в данном случае нереальнй вариант:
add r16, Y adc r17, Y+1
Тут не требуется дополнительного регистра и только 2 команды. Налицо экономия в регистрах. Но это, конечно, нереально, поскольку сложение выполняется только в регистрах. Но если бы можно уменьшить число регистров в два раза, то в команде сложения add высвободилось бы два бита, которые можно использовать для задания режима адресации.