Diferencia entre revisiones de «Desplazamientos.fma»

De Wiki Asqueados
Saltar a: navegación, buscar
Línea 1: Línea 1:
Porgrama de prueba de las instrucciones de desplazamiento:
+
 
 +
Programa de prueba de las instrucciones de desplazamiento:
 +
 
 +
== Código ==
  
 
   <nowiki>
 
   <nowiki>
Línea 49: Línea 52:
 
</nowiki>
 
</nowiki>
  
Carga la dirección de memoria 0101 en el registro A, y le aplica diferentes operaciones de desplazamientos, guardando los resultados en memoria:
+
== Algoritmo ==
300 a 340 -> operación RL
+
*Carga la dirección de memoria 0101 en el registro A, y le aplica diferentes operaciones de desplazamientos, guardando los resultados en memoria:
hasta 380 -> operación RR
+
*300 a 340 -> operación RL
hasta 3C0 -> operación SL
+
*hasta 380 -> operación RR
Volvemos a cargar 0101 en A y  
+
*hasta 3C0 -> operación SL
hasta 400 -> operación SR
+
*Volvemos a cargar 0101 en A y  
 +
*hasta 400 -> operación SR

Revisión del 11:20 22 dic 2005

Programa de prueba de las instrucciones de desplazamiento:

Código

 
LDI 1,1    ;0
LDI 0101,A 
LDI 300,C
LDI 340,D
LDI C0C0,3  ; punto y aparte
LDI CACA,4  ; fin

RL A       ;C
ST A,C
CMP D,C
ADD 1,C
JGE C

LDI 380,D   ;12
ST 3,C
ADD 1,C

RR A        ; 16
ST A,C
CMP D,C
ADD 1,C
JGE 16

LDI 3C0,D     ;1C
ST 3,C
ADD 1,C

SL A        ;20
ST A,C
CMP D,C
ADD 1,C
JGE 20

LDI 400,D    ;26
ST 3,C
ADD 1,C
LDI 0101,A

SR A        ;2C
ST A,C
CMP D,C
ADD 1,C
JGE 2C

ST 4,C

Algoritmo

  • Carga la dirección de memoria 0101 en el registro A, y le aplica diferentes operaciones de desplazamientos, guardando los resultados en memoria:
  • 300 a 340 -> operación RL
  • hasta 380 -> operación RR
  • hasta 3C0 -> operación SL
  • Volvemos a cargar 0101 en A y
  • hasta 400 -> operación SR