Diferencia entre revisiones de «Desplazamientos.fma»

De Wiki Asqueados
Saltar a: navegación, buscar
Línea 1: Línea 1:
 
 
Programa de prueba de las instrucciones de desplazamiento:
 
Programa de prueba de las instrucciones de desplazamiento:
  
Línea 14: Línea 13:
 
RL A      ;C
 
RL A      ;C
 
ST A,C
 
ST A,C
CMP D,C
 
 
ADD 1,C
 
ADD 1,C
JGE C
+
JGE D,C,C
  
LDI 380,D  ;12
+
LDI 380,D  ;11
 
ST 3,C
 
ST 3,C
 
ADD 1,C
 
ADD 1,C
  
RR A        ; 16
+
RR A        ; 15
 
ST A,C
 
ST A,C
CMP D,C
 
 
ADD 1,C
 
ADD 1,C
JGE 16
+
JGE D,C,15
  
LDI 3C0,D    ;1C
+
LDI 3C0,D    ;1A
 
ST 3,C
 
ST 3,C
 
ADD 1,C
 
ADD 1,C
  
SL A        ;20
+
SL A        ;2E
 
ST A,C
 
ST A,C
CMP D,C
 
 
ADD 1,C
 
ADD 1,C
JGE 20
+
JGE D,C,2E
  
LDI 400,D    ;26
+
LDI 400,D    ;23
 
ST 3,C
 
ST 3,C
 
ADD 1,C
 
ADD 1,C
 
LDI 0101,A
 
LDI 0101,A
  
SR A        ;2C
+
SR A        ;29
 
ST A,C
 
ST A,C
CMP D,C
 
 
ADD 1,C
 
ADD 1,C
JGE 2C
+
JGE 29
  
 
ST 4,C
 
ST 4,C

Revisión del 13:58 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
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