Instrucciones de Movimiento Flashcards
Instrucción de Movimiento
MOV
Rd ← Rr
MOV Rd,Rr
Rd ← Rr
0 ≤ d ≤ 31
0 ≤ r ≤ 31
Ejemplo MOV
LDI R0,0X08
LDI R1,0XDA
MOV R0,R1
R0←0XDA
R1←0XDA
Instrucción de Movimiento
MOVW
MOVW Rd,Rr
Rd+1:Rd ← Rr+1:Rr
MOVW Rd,Rr Rd+1:Rd ← Rr+1:Rr Solo pares d ∈ {0,2,...,30} r ∈ {0,2,...,30}
Ejemplo MOVW LDI R2,0X08 LDI R3,0XDA LDI R30,0X16 LDI R31,0X18 MOVW R2, R30
R2←0X16
R3←0X18
Ejemplo MOVW LDI R2,0X08 LDI R3,0XDA LDI R30,0X16 LDI R31,0X18 MOVW R3:R2,R31:R30
R2←0X16
R3←0X18
MOVW R1,R30
NO VÁLIDO
MOV R23:R22,R17:R16
NO VÁLIDO
LDI R0, 0xF5
LDI R1, 0x13
MOVW R4,R0
Si me dan solo uno, el par, se mueve el que le sigue R4 y R5
MOVW R4,R0
R4←0XF5
R5←0X13
LDI R0, 0xF5
LDI R1, 0x13
MOVW R5:R4,R1:R0
Si me dan ambos se mueven ambos
MOVW R5:R4,R1:R0
R4←0XF5
R5←0X13
MOV R16, 0X10
NO VÁLIDO
Instrucción de Movimiento
LDI
Rd ← K
LDI Rd,K
Rd ← K
16 ≤ d ≤ 31
0 ≤ K ≤ 255
Ejemplo LDI
LDI R30, 0X34
LDI R30, 0X34
R30 ← 0x34
Instrucción de Movimiento
LDS
Rd ← K
Carga informacion de registros DESDE Data SPACE LDS Rd,K Rd ← K 0 ≤ d ≤ 31 0 ≤ k ≤ 0X04FF o 1279
0X0101 tiene 0XDE
LDS R29, 0X0101
LDS R29, 0X0101
R29 ← 0XDE
LDS R15, 0X0710
Fuera de Rango
0X0710 o 1808 supera al micro
¿Cuántas líneas y ciclos ocupa LDS?
2 líneas (4 bytes)
2 ciclos