SIMUPROC - instrucciones del simulador
A continuación se muestran ordenadas alfabéticamente las instrucciones que incluye el simulador (el número antepuesto indica el orden en que aparecen ubicadas en el programa):
20 - ADD [mem]: Sumar: AX = AX + el contenido de la dirección de memoria
60 - ADDF [mem]: Suma números de 32 bits: En BX y AX queda el resultado de la suma de estos más elcontenido de [mem] y mem+1
11 - AND [dest,orig]: Y lógico, hace un Y lógico entre todos los bits de los dos operandos escribiendo el resultado en el destino. Los parámetros pueden ser direcciones de memoria o Registros.
04 - CLA: Hace AX = 0
25 - CLC: Limpia el Carry Flag. C = 0
27 - CMC: Complementa (invierte) el Carry Flag. Si C = 1 vuelve C = 0 y viceversa.
32 - CMP [mem]: Compara AX con [mem],si AX es mayor, Z=0 N=0, si es igual Z=1 N=0, si es menor Z=0 N=1
09 - DEC [dest]: Decremento en 1 el destino especificado (Si el destino queda = 0, se vuelve Z = 1)
23 - DIV [mem]: Dividir: AX = AX / el contenido de la dirección de memoria, BX=AX % el contenido de la dir de memoria (BX = modulo o residuo).
63 - DIVF [mem]: Division: BX y AX = BX y AX / [mem]y mem+1, en CX queda el residuo dela division en entero de 16 bits
41 - EAP: Escribe en Pantalla el contenido del registro AX
65 - FTOI: Conversión de Real a Entero: Convierte un número Real(32bits) a su equivalente en entero BX y AX en un entero (16bits), el Resultado queda en AX. Los registros de control cambian de acuerdo al numero convertido: "Z" si el numero es cero, "N" si el numero es negativo, "O" si el numero real esmayor de 65535
99 – HLT: Terminar Programa (todo programa lleva esta instrucción para indicarle al simulador que el programa ha terminado su ejecución)
80 - IN [registro,Puerto]: Lleva al Registro el valor retornado por el puerto especificado
08 - INC [dest]: Incrementa en 1 el destino especificado, el parámetro puede ser una dirección de memoria o un registro.
64 – ITOF: Conversión de Entero aReal: Convierte un número entero (16bits) almacenado en AX al mismo número pero representado en Real IEEE754(32bits), el Resultado de la conversión queda en BX (bits mas significativos) y AX. Los registros de control cambian de acuerdo al numero convertido: "Z" si el número es cero, "N" si el numero es negativo.
35 - JC [mem]: Saltar si el Carry Flag esta activado. Si C = 1, PC = contenido dememoria
31 - JEQ [mem]: Saltar si son iguales Si Z = 1, PC = contenido de la memoria.
34 - JMA [mem]: Saltar si es Mayor. Si Z = 0 y N = 0, PC = contenido de memoria.
33 - JME [mem]: Saltar si es Menor. Si N = 1, PC = contenido de la memoria
30 - JMP [mem]: Salto incondicional. PC = dirección de memoria donde esta la siguiente instrucción a ejecutar"
36 - JNC [mem]: Saltar si el Carry Flagno esta activado. Si C = 0, PC = contenido de memoria
39 - JNE [mem]: Saltar si no son iguales. Si Z = 0, PC = contenido de memoria
38 - JNO [mem]: Saltar si el Overflow Flag no esta activado. Si O = 0, PC = contenido de memoria
37 - JO [mem]: Saltar si el Overflow Flag esta Activado
01 - LDA [mem]: Cargue en AX el contenido de la dirección de Memoria especificada. (hay casos donde es mejorusar MOV si se desea pasar datos sin tener que pasarlos por AX)
50 - LDB [mem]: La instrucción carga en AX el contenido de memoria almacenado en [mem] + BX
55 - LDF [mem]: Carga en BX y AX un numero de 32 bits (IEEE) que esta almacenado en la dir [mem] y mem+1. En BX quedan los digitos mas Significativos
40 – LDT: Lee un valor del Teclado y lo lleva al registro AX
29 - LOOP [mem]: Decrementa CX ysalta a la Pos de memoria si CX no es cero.
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.
42 – MSG: Muestra un mensaje en pantalla
22 - MUL [mem]: Multiplicar: AX = AX * el contenido de la dirección de memoria. (Si el número resultante supera su longitud en binario de 16...
Regístrate para leer el documento completo.