TASM: Ensamblador
Download
1 / 6

TASM: Ensamblador - PowerPoint PPT Presentation


  • 171 Views
  • Uploaded on

TASM: Ensamblador Se le llama ensamblador no sólo al lenguaje; sino también al programa que traduce el código fuente escrito en ensamblador, a código objeto, equivalente a los opcodes en lenguaje de máquina.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' TASM: Ensamblador' - joie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

TASM: Ensamblador

Se le llama ensamblador no sólo al lenguaje; sino también al programa que traduce el código fuente escrito en ensamblador, a código objeto, equivalente a los opcodes en lenguaje de máquina.

En el caso de 8086 y familia, el ensamblador, sea TASM (Borland) o MASM (Microsoft), se encarga de generar los archivos .OBJ que representan el código de máquina asociado al programa fuente en ensamblador.

La sintaxis básica para su uso es:

TASM <nombre del programa> {opciones}

En el nombre del programa, podemos omitir la extensión .ASM, que es la que tenemos por defecto.

Por ejemplo, para ensamblar el programa HOLA.ASM, basta la siguiente línea de comandos:

C> TASM HOLA


OPCIONES DEL TASM

/la

Genera un archivo, adicional al .OBJ, con extensión .LST, que muestra un listado detallado del proceso de ensamblado. Entre otras cosas, muestra la asociación existente entre el código fuente y los opcodes generados.

/zi

Almacena información de símbolos junto con el programa objeto, útil para que el depurador permita ejecutar el código objeto en sincronía con el código fuente.

Así, se recomienda que durante el desarrollo de un programa se ejecute TASM con una línea de comandos similar a la siguiente:

C> TASM HOLA /zi /la


TLINK: Linker

Un archivo .OBJ, si bien contiene ya todo el código de máquina, no puede ser ejecutado todavía por el sistema operativo, pues no contiene información necesaria para el mismo, tal como la memoria requerida. Esto se coloca en un encabezado, que es leído por el sistema para determinar cómo ejecutar el programa.

Por otro lado, cuando hacemos un programa en varios módulos, no solamente existe un código objeto sino varios, que debemos combinar o relacionar entre sí.

Estos procesos son llevados a cabo por el TLINK; el cual toma como entrada uno o varios archivos .OBJ y genera los archivos ya ejecutables por el sistema, con extensión .COM o .EXE.

Se ejecuta en forma similar al TASM, desde la línea de comandos ("prompt"):

La sintaxis básica para su uso es:

TLINK <nombre del programa o programas> {opciones}

En el nombre del programa, podemos omitir la extensión .OBJ, que es la que tenemos por defecto.


TD: Depuración ( Turbo Debuger)

Se ejecuta un ambiente amigable de menús; se requiere de ensamblar y ligar con las opciones de depuración (/zi en el TASM y /v en el TLINK)

Las funciones más importantes para su uso serán la ejecución por pasos (F7 y F8), examinar los recursos en la ventana de CPU, y visualizar variables por medio de Watch y Evaluate.


Directivas

DOSSEG Segmentos del sistema operativos DOS

.code segmento de código

.data segmento de datos

.stack segmento de pila

.MODEL

tiny segmento de datos y código en el mismo de 64K

small segmentos de código y datos separados pero cada uno de 64K

medium el código puede ser de más de 64K, el dato solo 64K

compact código de 64K y datos de más de esa cantidad

large ambos segmentos (datos y codigo mas grandes de 64K),pero no se pueden extender los arreglos de datos a más de 64K

huge Igual que large, excepto que los arreglos si pueden exceder 64K


dosseg

.model small

.stack 50h

.data

lista db 8,-5,-12,35,-98,3,1

n db 7

.code

mov ax,@data

mov ds,ax ; inicialización de DS

mov cl,n

dec cl

xor ch,ch

mov si,offset lista

mov al,[si]

otro: inc si

cmp al,[si]

jl sigue

mov al,[si]

sigue: loop otro

mov ah,4ch ; regresa control al DOS

int 21h

end