Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ex0: ldr b 128; carrega no registrado B O CONTEUDO DA POSIÇAO 128 DA MEMORIA ldr x #3 ; CARREGA IMEdiatamente o valor 3 no registrador X ldr a 128,i ; carrega no registrador A o conteudo da memoria indicada na posicao 128 ldr b 90,x ; carrega o registrador com o conteudo do endereço dado pela soma da posicao 90 ; somado ao conteudo do registrador X. org 90 db 9 db 6 db 7 db 11 org 128 db 200 db 100 db 10 org 200 db 5 ------------------------------------------------------------------------------------------------------- ; programa que calcula a soma de 10 numeros consecutivos na memoria ; ldr b #0; ldr x #0 ldr a #10 loop: add b 130,x ; carrega o registrador com o conteudo do endereço dado pela soma da posicao ; 128 somado ao conteudo do resgistrador X. add x #1 ; incrementa o indexador de um sub a #1 jz fim jmp loop fim: hlt org 130 db 11 db 2 db 3 db 4 db 5 db 6 db 7 db 8 db 9 db 10 org 200 dab 10 db 5 ------------------------------------------------------------------------------------------------------------- ; programa que copia 10 numeros consecutivos de uma posicao na memoria para outra posicao na memoria ldr x #0 ldr a #10 loop: ldr b 130,x ; carrega o registrador com o conteudo do endereço dado pela soma da posicao 128 somado ;ao conteudo do resgistrador X. str b 150,x add x #1 ; incrementa o indexador de um sub a #1 jz fim jmp loop fim: hlt org 130 db 11 db 2 db 3 db 4 db 5 db 6 db 7 db 8 db 9 db 10 org 150 dab 10 -------------------------------------------------------------------------------------------------------------------- ldr x #4 ldr a op1 ldr b op2 ; loop: shr b jc soma desloca: ldr a, op1 add a, op1 ; desloca op1 para esquerda str a, op1 sub x #1 jz fim jmp loop soma: add a, vr str a, vr ; guarda resltado parcial na memoria jmp desloca fim: hlt org 128 op1:db 11 op2:db 9 vr:db 0
Compartilhar