Professional Documents
Culture Documents
Usos:
Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con
potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con
frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la
manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido.
Características
• El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya
que su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel.
Tipos de ensambladores:
• Ensambladores cruzados
• macroensambladores
• micro ensambladores
• Ensambladores residentes
Directivas CODE,DATA,STACK:
• AX: Acumulador
Instrucciones ensamblador
• TEST: Verifica
• CMP: Compara
JMP: Saltos
Interrupciones aritméticas
• add: suma
• sub: resta
• div: división
Interrupciones lógicas
• not: negación
Interrupciones
• int: interrupción
• int 21: interrupción 21, esta manda llamar al sistema operativo que ejecuta las
instrucciones anteriores
• int 20: interrupción 20, esta interrupción ejecuta lo anterior y termina el programa para
que no se cicle
Códigos ASCII
• Fue creado en 1963 por el Comité Estadounidense de Estándares o "ASA", este organismo
cambio su nombre en 1969 por "Instituto Estadounidense de Estándares Nacionales" o
"ANSI" como se lo conoce desde entonces
Códigos BCD
• El BCD o Binary Coded Decimal (Código Binario-decimal) es un sistema que se utiliza para
representar números de forma que cada numero ocupe 4 bits , ósea que en un byte
podríamos almacenar dos números en vez de uno como el sistema ASCII.
Programa ensamblador
• El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los
códigos nemotécnicos que aparecen por su código de operación correspondiente en
sistema binario para la plataforma que se eligió como destino en las opciones específicas
del ensamblador
• Turbo asambler
• Nasm
• Netwide Assembler
.Obj .Exe
Desarrollo de un programa ensamblador
Una vez que diseñas un programa en Lenguaje Ensamblador y vez que el programa esta
almacenado en un archivo, usa un Ensamblador para ejecutar la traducción a lenguaje
máquina. Sin embargo un programa en lenguaje máquina no puede ser ejecutado
directamente; este debe ser procesado por un enlazador. El enlazador crea una forma de
programa que está lista para ejecutarse. También permite que hagas programas separados
que serán unidos juntos para ejecutarse como un todo (de ahí el nombre “enlazador”).Bajo
DOS existen ciertas convenciones para nombrar a los archivos:
ASM
.OBJ
código máquina.
.EXE
Archivos generados por el enlazamiento de archivos OBJ. Por ejemplo si creas un programa
fuente llamado TEST.ASM, el ensamblador lee el archivo, generando un modulo objeto
llamado TEST.OBJ y este a su vez puede ser leído por el enlazador para generar el programa
ejecutable o el load module llamado TEST.EXE.
Debug
Para correr un programa en debug hay que abrir la consola de windows (MSDOS) y teclear
debug, damos enter y saldrá un guion, para empezar a escribir el código tecleamos la letra
a (significa ASSEMBLER que es la instrucción para empezar a ensamblar o dar las
instrucciones, después de -a podemos escribir nuestro código a ejecutar, de lo contrario el
compilador no reconocerá ninguna instrucción)
Un lenguaje de programación de alto nivel se caracteriza por expresar el algoritmo de una manera
adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas.
Los lenguajes de alto nivel se crearon para que el usuario común pudiese solucionar un problema
de procesamiento de datos de una manera más fácil y rápida.
A finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos
inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de tercera
generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
Ventajas:
Inconvenientes:
• VB.NET
• Ada
• ALGOL
• BASIC
• C Sharp
• FORTRAN
• Java
• Lisp
• Modula-2
• Perl
• PHP
• PL/1
• PL/SQL
• Python
• Ruby
• MATLAB
• Pascal