![]() |
Atividade obrigatória 6 - Programação do ARM em linguagem de montagem |
![]() |
Os exercícios desta atividade foram sugeridos previamente na página de exercícios para o ARM.
If S is specified, the MUL and MLA instructions: update the N and Z flags according to the result; corrupt the C and V flag in ARMv4 and earlier do not affect the C or V flag in ARMv5T and above (nosso caso). Sugestão: use a instrução de multiplicação umull
@ código para multiplicar por 10 o valor em r1: add r1, r1, r1 @ r1= r1*2 add r1, r1, r1, lsl #2 @ r1= r1*2 + (r1*2)*4 =valor original em r1 * 10 ou assim: add r1, r1, r1, lsl #2 @ r1= r1*5 mov r1, r1, lsl #1 @ r1= (r1*5)*2 dica: se em vez de "mov" usar "add", r1*10 pode ser somado a outro valor!Será avaliada a eficiência e concisão da implementação desse algoritmo!