Simulproc

Páginas: 12 (2831 palabras) Publicado: 8 de abril de 2011
Instrucciones Soportadas
Con las instrucciones que soporta este simulador se pueden escribir una gran cantidad de programas para resolver muchos problemas diferentes.
Las describiré así:
XX - INST [parámetro]
Donde:
XX significa el Código de la Instrucción
INST es la instrucción
[parámetro] es el parámetro si esta tiene o [parametro1,parametro2] si el parámetro es doble Acá pondréalgunos ejemplos
Estas son las instrucciones soportadas por la versión actual:
01 - LDA [mem]
Cargue en AX el contenido de la dirección de Memoria especificada. Digamos que en la posición de memoria 1F esta el valor 10111, después de ejecutada la instrucción LDA 1F se obtiene que AX=10111
Es equivalente a usar la instrucción MOV AX,1F
Hay casos donde es mejor usar MOV si se deseapasar datos sin tener que pasarlos por AX.

02 - STA [mem]
Guarde el contenido de AX en la dirección de Memoria especificada. Supongamos que tengo el valor 1010110 en el registro AX y quiero llevarlo a la posición de memoria 3C, la instrucción es STA 3C
Es equivalente a usar la instrucción MOV 3C,AX
Es mejor usar MOV debido a que si quiero pasar algún dato de una dirección de memoria aotra usando LDA y STA serian dos instrucciones: LDA mem1 y luego STA mem2, mientras que con MOV será así: MOV mem2,mem1

03 - XAB
Intercambia los valores de los registros AX y BX Esta instrucción no necesita parámetros.

04 - CLA
Hace AX = 0

06 - PUSH [registro]
Envía el valor del registro especificado a la pila

07 - POP [registro]
Trae de la Pila el ultimo Valorllevado por PUSH (indicado por el registro SP) y lo almacena en el registro especificado.
Nota: En todas las instrucciones desde 08 hasta la 18, Dest puede ser una dirección de Memoria o un Registro
08 - INC [dest]
Incrementa en 1 el destino especificado, el parámetro puede ser una dirección de memoria o un registro. Si en la posición de memoria EB esta el valor 1001, al ejecutar INC EB seobtiene que ahora el valor de EB es 1010.

09 - DEC [dest]
Decremento en 1 el destino especificado, Si el destino queda = 0, se vuelve Z = 1

10 - MOV [dest,orig]
Copia el valor almacenado en el origen al destino. El destino y/o origen pueden ser registros o direcciones de memoria o combinación de estos. Para copiar lo que esta en la posición de memoria 12E a la posición D2 seusa la instrucción MOV D2,12E

11 - AND [dest,orig]
Y lógico, hace un Y lógico entre todos los bits de los dos operándos escribiendo el resultado en el destino. Los parámetros pueden ser direcciones de memoria o Registros. La siguiente regla aplica:
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0 Si en AX tengo el numero 1001101 y en la pos 3F tengo el numero 11011. al ejecutar lainstrucción AND AX,3F obtendré en AX el resultado 1001.
El Y lógico lo que hace es dejar los bits en común que tengan los dos números.

12 - NOT [destino]
NO lógico, invierte los bits del operando formando el complemento del primero.
NOT 1 = 0
NOT 0 = 1 Si en AX tengo 10011 al ejecutar NOT AX obtengo AX=1111111111101100

13 - OR [dest,orig]
O inclusive lógico, todo bit activo encualquiera de los operándoos será activado en el destino. La siguiente regla aplica:
1 OR 1 = 1
1 OR 0 = 1
0 OR 1 = 1
0 OR 0 = 0 Si en 3A tengo el numero 1001101 y en la pos 3B tengo el numero 11011. al ejecutar la instrucción OR 3A,3B obtendré en 3A el resultado 1011111.

14 - XOR [dest,orig]
O exclusivo, realiza un O exclusivo entre los operándoos y almacena el resultado en destino.La siguiente regla aplica:
1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0 Si en 3A tengo el numero 1001101 y en la pos 3B tengo el numero 11011. al ejecutar la instrucción XOR 3A,3B obtendré en 3A el resultado 1010110.

15 - ROL [dest,veces]
Rota los bits a la izquierda las veces especificadas(en decimal), los bits que salen por la izquierda re-entran por la Derecha. En el Carry...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS