Diferencia entre revisiones de «Ayuda sobre el Microensamblador de AMD 29203»
De Wiki Asqueados
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.