Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Desventajas
Lenguaje
Por ejemplo, para un código máquina condicional como "si X mayor o igual
que" , un ensamblador puede utilizar una pseudoinstrucción al grupo "haga si
menor que" , y "si = 0" sobre el resultado de la condición anterior. Los
ensambladores más completos también proveen un rico lenguaje de macros
que se utiliza para generar código más complejo y secuencias de datos.
Cada arquitectura de computadoras tiene su propio lenguaje de máquina, y en
consecuencia su propio lenguaje ensamblador. Los ordenadores difieren en el
tipo y número de operaciones que soportan; también pueden tener diferente
cantidad de registros, y distinta representación de los tipos de datos en
memoria. Aunque la mayoría de las computadoras son capaces de cumplir
esencialmente las mismas funciones, la forma en que lo hacen difiere, y los
respectivos lenguajes ensambladores reflejan tal diferencia.
Código Máquina
• mover
o llenar un registro con un valor constante
o mover datos de una posición de memoria a un registro o
viceversa
o escribir y leer datos de dispositivos
• computar
o sumar, restar, multiplicar o dividir los valores de dos registros,
colocando el resultado en uno de ellos o en otro registro
o realizar operaciones binarias, incluyendo operaciones lógicas
(AND/OR/XOR/NOT)
o comparar valores entre registros (mayor, menor, igual)
• afectar el flujo del programa
o saltar a otra posición en el programa y ejecutar instrucciones allí
o saltar si se cumplen ciertas condiciones (IF)
o saltar a otra posición, pero guardar el punto de salida para
retornar (CALL, llamada a subrutinas)
10110000 01100001
UN EJEMPLO CLASICO.
; HOLA.ASM
; Programa clasico de ejemplo. Despliega una leyenda en pantalla.
STACK SEGMENT STACK ; Segmento de pila
DW 64 DUP (?) ; Define espacio en la pila
STACK ENDS
6.- Las primeras dos instrucciones cargan la dirección del segmento de datos
en el registro DS. Estas instrucciones no son necesarias para los segmentos
de código y stack puesto que la dirección del segmento de código siempre es
cargado en el registro CS y la dirección de la declaración del stack segment es
automáticamente cargada en el registro SS.
7.- Las últimas dos instrucciones del segmento CODE usa la función 4CH de
MS-DOS para regresar el control al sistema operativo. Existen muchas otras
formas de hacer esto, pero ésta es la más recomendada.
8.- La directiva END indica el final del código fuente y especifica a START
como punto de arranque.
Lenguaje de máquina del Intel 8088.
Los Intel 8086 e Intel 8088 (i8086, llamado oficialmente iAPX 86, e i8088) son
dos microprocesadores de 16 bits diseñados por Intel en 1978, iniciadores de la
arquitectura x86. La diferencia entre el i8086 y el i8088 es que este último
utiliza un bus externo de 8 bits, para poder emplear circuitos de soporte al
microprocesador más económicos, en contraposición al bus de 16 bits del
i8086.