La microprogramaci�n consiste en un conjunto de microinstrucciones, para poder ejecutar l�neas de c�digo y operaciones.
La microprogramaci�n es un lenguaje de programaci�n a un nivel muy bajo sin llegar al nivel mas bajo (que es donde las operaciones se realizan con n�meros binarios)
Para poder realizar la microprogramaci�n, se deben conocer muy bien los registros del procesador en el que se va a trabajar, ya que en este lenguaje se interact�a muy de cerca con ellos.
Tambi�n es importante conocer las instrucciones del mismo para poder usar algunas de ellas que simplifiquen las instrucciones, todo esto con las microinstrucciones que se usen por default para la programaci�n
Un ejemplo de microprogramaci�n seria la siguiente l�nea
MOV AX,0000000100000000b
PUSH AX
POPF
Esta instrucci�n pretende modificar un registro de bandera (If) con un valor de 1, estas microinstrucciones juntas en un lenguaje de alto nivel podr�an significar algo como "If b = a", como se ve codificar en microprogramaci�n es un poco mas laborioso, la ventaja de este lenguaje como en la mayor�a de los lenguajes de bajo nivel, es la precisi�n de los datos, ya que en todo momento se sabe donde est�n los datos, y en que posici�n se encuentran los registros.
Como otro ejemplo se mostrara una rutina de microinstrucciones que representa una b�squeda
AR � PC
DR � M[AR]
PC �PC+1
AR � DR(0-10)
CAR(2-5) � DR(11-14)
CAR(0,1,6) � 0
Se muestran a continuaci�n una tabla con instrucciones de microprogramaci�n
F1 | Microoperacion | S�mbolo |
---|---|---|
000 | Ninguno | NOP |
001 | AC � AC + DR | ADD |
010 | AC � 0 | CLRAC |
011 | AC �AC+1 | INCAC |
100 | AC � DR | DRTAC |
101 | AR � DR(0-10) | DRTAR |
110 | AR � PC | PCTAR |
111 | M[AR] � DR | WRITE |
F2 | Microoperacion | S�mbolo |
---|---|---|
000 | Ninguno | NOP |
001 | AC � AC -DR | SUB |
010 | AC � AC < DR | OR |
011 | AC � AC > DR | AND | 100 | DR � M[AR] | READ | 101 | DR � AC | ACTDR |
110 | DR � DR + 1 | INCDR |
111 | DR(0-10) � PC | PCTDR |
F3 | Microoperacion | S�mbolo |
---|---|---|
000 | Ninguno | NOP |
001 | AC � AC � DR | XOR |
010 | AC � AC | COM |
011 | AC � shl AC | SHL |
100 | AC � shr AC | SHR |
101 | PC � PC +1 | INCPC |
110 | PC � AR | ARTPC |
111 | Reservado |
CD | Condici�n | S�mbolo | Comentario |
---|---|---|---|
00 | Siempre = 1 | U | Transferencia incondicional |
01 | DR(15) | I | Bit de direcci�n indirecta |
10 | AC(15) | S | Bit se digno de AC |
11 | AC = 0 | Z | Valor cero en AC |
BR | S�mbolo | Funci�n |
---|---|---|
00 | JMP | CAR � AD si la condici�n =0 |
01 | CALL | CAR � AD, SBR � CAR +1 si la condici�n = 1 |
10 | RET | CAR � SBR (Retorno de subrutina) | 11 | MAP | CAR(2-5) � DR (11-14), CAR(0,1,6)� 0 |