Diferencia entre revisiones de «Desplazamientos.fma»

De Wiki Asqueados
Saltar a: navegación, buscar
()
(Quitar SPAM)
 
(No se muestra una edición intermedia de otro usuario)
Línea 1: Línea 1:
 
Programa de prueba de las instrucciones de desplazamiento:
 
Programa de prueba de las instrucciones de desplazamiento:
  
comment2,
+
== Código ==
 +
 
 +
  <nowiki>
 +
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
 +
ADD 1,C
 +
JGE D,C,C
 +
 
 +
LDI 380,D  ;11
 +
ST 3,C
 +
ADD 1,C
 +
 
 +
RR A        ; 15
 +
ST A,C
 +
ADD 1,C
 +
JGE D,C,15
 +
 
 +
LDI 3C0,D    ;1A
 +
ST 3,C
 +
ADD 1,C
 +
 
 +
SL A        ;2E
 +
ST A,C
 +
ADD 1,C
 +
JGE D,C,2E
 +
 
 +
LDI 400,D    ;23
 +
ST 3,C
 +
ADD 1,C
 +
LDI 0101,A
 +
 
 +
SR A        ;29
 +
ST A,C
 +
ADD 1,C
 +
JGE 29
 +
 
 +
ST 4,C
 +
</nowiki>
  
 
== Algoritmo ==
 
== Algoritmo ==

Revisión actual del 00:29 16 jul 2008

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
ADD 1,C
JGE D,C,C

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

RR A        ; 15
ST A,C
ADD 1,C
JGE D,C,15

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

SL A        ;2E
ST A,C
ADD 1,C
JGE D,C,2E

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

SR A        ;29
ST A,C
ADD 1,C
JGE 29

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