Diferencia entre revisiones de «Ayuda sobre el Microensamblador de AMD 29203»

De Wiki Asqueados
Saltar a: navegación, buscar
Línea 6: Línea 6:
 
;Inicio del microprograma
 
;Inicio del microprograma
 
;Los comentarios se escriben tras ";"
 
;Los comentarios se escriben tras ";"
 +
 +
;definición de variables de forma simbólica
 +
PC  EQU .E  ;cuando escribamos PC nos estaremos refiriendo al registro .E
 +
 +
; captacion de instrucción
 +
ORG H'0      ;Debe estar en la dirección 0
 +
ld IR, [PC]  ;Cargamos en el registro de instrucción la dirección
 +
              ;que indica el PC
 +
inc PC        ;Incrementamos el contador de programa
 +
jmap          ;Esto salta a la dirección de memoria correspondiente
 +
              ;al código de operación de la instrucción. Consultar
 +
              ;la tabla de correspondencia de la PROM.
 +
  
 
;Una instrucción
 
;Una instrucción
ORG H'102              ;Esta es la dirección en la memoria de microinstrucciones donde se situará.
+
;Conviene que en los comentarios indiquéis qué hace cada instrucción.
 +
;Ésta carga en IRB el contenido de la dirección contenida en IRA
 +
ORG H'102              ;Esta es la dirección en la memoria de  
 +
                        ;microinstrucciones donde se situará lo que
 +
                        ;pongamos a continuación.
 +
 
 
ld IRB, [IRA] & jmpz    ;Esta es la microinstrucción. Ya que una microinstrucción
 
ld IRB, [IRA] & jmpz    ;Esta es la microinstrucción. Ya que una microinstrucción
 
                         ;hace varias cosas, cada cosa se separa por "&"
 
                         ;hace varias cosas, cada cosa se separa por "&"
 
                         ;jmpz vuelve a la dirección 0, y suele ponerse
 
                         ;jmpz vuelve a la dirección 0, y suele ponerse
 +
;Puede haber más microinstrucciones
 +
 +
;Otra instrucción
 +
ORG H'10C
 +
[...]
 +
 +
;Así sucesivamente.
 +
 +
END                      ;Los microprogramas deben terminar con END. Si no lo hacen
 +
                        ;el microensamblador dará error de sintaxis, pero no
 +
                        ;aclarará nada.
 +
 +
  
 
</nowiki>
 
</nowiki>

Revisión del 11:49 20 nov 2005

Un microprograma en microensamblador es un conjunto de microinstrucciones y directivas. Yendo a lo práctico, un microprograma es un fichero con esta estructura

Estructura de un microprograma


;Inicio del microprograma
;Los comentarios se escriben tras ";"

;definición de variables de forma simbólica
PC  EQU .E  ;cuando escribamos PC nos estaremos refiriendo al registro .E

; captacion de instrucción
ORG H'0       ;Debe estar en la dirección 0
ld IR, [PC]   ;Cargamos en el registro de instrucción la dirección
              ;que indica el PC
inc PC        ;Incrementamos el contador de programa
jmap          ;Esto salta a la dirección de memoria correspondiente
              ;al código de operación de la instrucción. Consultar
              ;la tabla de correspondencia de la PROM.


;Una instrucción
;Conviene que en los comentarios indiquéis qué hace cada instrucción.
;Ésta carga en IRB el contenido de la dirección contenida en IRA
ORG H'102               ;Esta es la dirección en la memoria de 
                        ;microinstrucciones donde se situará lo que
                        ;pongamos a continuación.

ld IRB, [IRA] & jmpz    ;Esta es la microinstrucción. Ya que una microinstrucción
                        ;hace varias cosas, cada cosa se separa por "&"
                        ;jmpz vuelve a la dirección 0, y suele ponerse
;Puede haber más microinstrucciones

;Otra instrucción
ORG H'10C
[...]

;Así sucesivamente.

END                      ;Los microprogramas deben terminar con END. Si no lo hacen
                         ;el microensamblador dará error de sintaxis, pero no
                         ;aclarará nada.