80 likes | 164 Views
Referência de memória deve ser uma palavra alinhada com 32 bits, ou uma exceção do tipo “Data Abort ” irá ocorrer. Us e a diretiva ALIGN para forçar o alinhamento. ARM – Movimentação de Dados. Load / Store Byte. Load / Store Meia-Palavra (16 bits).
E N D
Referência de memória deve ser uma palavra alinhada com 32 bits, ou uma exceção do tipo “Data Abort” irá ocorrer. Use a diretiva ALIGN para forçar o alinhamento. ARM – Movimentação de Dados
Load / Store Meia-Palavra (16 bits) • Referência de mem. deveestaralinhada com umameia-palavra
Programa para mover 1 Byte LDR R1, =Value @ R1 <- MEM (Value) LDRB R1,[R1] LDR R2, =Result @ MEM (Result) <- R2 STRB R1, [R2] ... .data .align Value: .byte 11 Result: .byte 0
Complemento 2 @ Tira o compl. 2 do valor armazenado em Value LDR R2, =Value @ R2 <- =Value LDR R1,[R2] @ R1 <- MEM (R2) MVN R1, R1 @ R1 <- C2 (R1) ADD R1, R1, #1 STR R1,[R2] @ MEM (R2)<- R1 ... .data .align Value: .word 33