2015-08-09 3 views
0

Каковы значения r16 и r17 после выполнения этого кода?Значения регистра после выполнения кода

ldi r16, 0x06 ;load immediate 
ldi r17, 0x0c ;load immediate 
lsl r16   ;logical shift left 
eor r16, r17  ;exclusive or 

Так что я знаю, что после того, как r16 = 12 логический сдвиг влево, делая его равным r17. Является ли эксклюзивный или установленный r16 0 и r17 остается в 12? Или оба устанавливаются в ноль? Установлен ли флаг нуля?

+0

Это не вопрос ALU, не так ли? Может быть, это сделано ALU, но все, что вы просите, - это спецификация обучения. –

ответ

1

Из очевидного источника, http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_instructions.Arithmetic_and_Logic_Instructions.html:

ПНП Логическое исключающее ИЛИ

Rd = Rd ПНП Rr

Так что да, r16 переопределены, но r17 остается неизменным.

http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_EOR.html даже spezifies, что происходит с нулевой флаг в регистре состояния: Он установлен (¯ обозначающие обратное, • обозначая логическое и)

r7 • r6 • r5 • r4 • R3 ¯ R2 ¯ R1 ¯ R0

Смежные вопросы