tutorial de macro assembler

21
Tutorial de Tutorial de Macro Assembler Macro Assembler por Dalimar Velez Vega por Dalimar Velez Vega

Upload: cian

Post on 22-Jan-2016

87 views

Category:

Documents


0 download

DESCRIPTION

Tutorial de Macro Assembler. por Dalimar Velez Vega. Contenido. ¿C ómo bajar macro assembler? ¿C ómo instalar macro assembler? Añadiendo macro assembler al path de windows ¿C ómo usar el command prompt? Comandos básicos del prompt Workspace Crear y guardar un archivo .asm - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tutorial de  Macro Assembler

Tutorial de Tutorial de Macro AssemblerMacro Assembler

por Dalimar Velez Vegapor Dalimar Velez Vega

Page 2: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

ContenidoContenido ¿C¿Cómo bajar macro assembler?ómo bajar macro assembler? ¿C¿Cómo instalar macro assembler?ómo instalar macro assembler? Añadiendo macro assembler al path de windowsAñadiendo macro assembler al path de windows ¿C¿Cómo usar el command prompt?ómo usar el command prompt? Comandos básicos del promptComandos básicos del prompt WorkspaceWorkspace Crear y guardar un archivo .asmCrear y guardar un archivo .asm Compilación y ejecuciónCompilación y ejecución DebuggerDebugger

Page 3: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

¿C¿Cómo bajar macro assembler?ómo bajar macro assembler?

Crear un folderCrear un folder** para para los siguientes los siguientes archivos:archivos:

• Baje macroAssembler Baje macroAssembler del siguiente link: del siguiente link: masm32v8.masm32v8.zipzip

• Baje el linker en: Baje el linker en: lnk563.lnk563.exeexe

*Para efectos del tutorial el folder se creara en C:\Documents and Settings\user\Desktop

Page 4: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

¿C¿Cómo instalar macro assembler?ómo instalar macro assembler?

Descomprima el Descomprima el masm32v8.zip en el masm32v8.zip en el mismo folder como en mismo folder como en la figura. la figura.

Page 5: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

¿C¿Cómo instalar macro assembler?ómo instalar macro assembler?

Corra la aplicación Corra la aplicación ejecutando el archivo ejecutando el archivo install.exeinstall.exe

Al ejecutarse se Al ejecutarse se instalara macro instalara macro assembler en C:\assembler en C:\masm32 masm32

Los ejecutables están en Los ejecutables están en el directorio C:\el directorio C:\masm32\BINmasm32\BIN

Page 6: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

¿C¿Cómo instalar macro assembler?ómo instalar macro assembler?

Ejecute lnk563, este se Ejecute lnk563, este se descomprimirá en el descomprimirá en el mismo folder donde se mismo folder donde se encuentre.encuentre.

Copie el archivo Copie el archivo link.exe al folder C:\link.exe al folder C:\masm32\BIN masm32\BIN sustituyendo el archivo sustituyendo el archivo ya existente.ya existente.

Page 7: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Añadiendo macro assembler al path de Añadiendo macro assembler al path de windowswindows

1.1. Presione el botón derecho del Presione el botón derecho del mouse encima de My Computermouse encima de My Computer

2.2. Seleccione propertiesSeleccione properties3.3. Seleccione el tab de advanceSeleccione el tab de advance4.4. Presione el botón de enviroment Presione el botón de enviroment

variablesvariables5.5. En system variable busque y En system variable busque y

seleccione la variable PATHseleccione la variable PATH6.6. Presione el botón de editPresione el botón de edit7.7. En la casilla de variable value En la casilla de variable value

añada “;C:\masm32\bin” y NO añada “;C:\masm32\bin” y NO modifique el contenido actual.modifique el contenido actual.

8.8. Luego oprima OK hasta salir.Luego oprima OK hasta salir.

Page 8: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Añadiendo macro assembler al path de Añadiendo macro assembler al path de windowswindows

Para probar que la Para probar que la instalación fue instalación fue satisfactoria siga los satisfactoria siga los siguientes pasos:siguientes pasos:

Presione start, luego run, Presione start, luego run, escriba “cmd” y prsesione escriba “cmd” y prsesione enter.enter.

Escriba “ml” y presione enter.Escriba “ml” y presione enter. Si usted obtiene una ventana Si usted obtiene una ventana

como la siguiente la como la siguiente la instalación fue satisfactoria.instalación fue satisfactoria.

Page 9: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

¿C¿Como usar el command prompt?omo usar el command prompt?

Hay dos maneras de abrir un command prompt:Hay dos maneras de abrir un command prompt:1.1. Ir a start ->all programs ->accessories -> command Ir a start ->all programs ->accessories -> command

promptprompt

2.2. Ir a start -> run, escribir en run “cmd” y luego Ir a start -> run, escribir en run “cmd” y luego presionar enter.presionar enter.

El command prompt siempre abre en el folder del El command prompt siempre abre en el folder del usuario y tenemos que movernos al folder que usuario y tenemos que movernos al folder que contenga sus programas en assembly.contenga sus programas en assembly.

Page 10: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Comandos básicos del promptComandos básicos del prompt

cd – “Change Directory”cd – “Change Directory” Este comando permite al usuario poder moverse de Este comando permite al usuario poder moverse de

directorios.directorios.

SintaxisSintaxis EjemploEjemplo DescripciónDescripción

cd cd cdcd Nos dice el directorio en el que estamosNos dice el directorio en el que estamos

cd ..cd .. cd ..cd .. Nos lleva al directorio padreNos lleva al directorio padre

cd cd directorynamedirectoryname cd Desktopcd Desktop Nos lleva al directorio del argumentoNos lleva al directorio del argumento

cd driveletter:\directorynamecd driveletter:\directoryname cd C:\windowscd C:\windows

cd D:\musiccd D:\music

Nos lleva al directorio del argumentoNos lleva al directorio del argumento

Page 11: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Comandos básicos del promptComandos básicos del prompt

dir – “Directory”dir – “Directory” Este comando despliega una lista de archivos y Este comando despliega una lista de archivos y

subdirectorios en el directorio.subdirectorios en el directorio.

SintaxisSintaxis EjemploEjemplo DescripciónDescripción

dir dir dir dir Presenta la lista completa de archivos y Presenta la lista completa de archivos y subdirectoriossubdirectorios

dir /wdir /w dir /wdir /w Presenta la lista usando el formato “wide”.Presenta la lista usando el formato “wide”.

dir /pdir /p dir /pdir /p Hace pausa después de un despliegue de Hace pausa después de un despliegue de información.información.

dir *.filetypedir *.filetype dir *.asmdir *.asm Filtra archivos a desplegar dado el tipo de Filtra archivos a desplegar dado el tipo de archivo como argumento.archivo como argumento.

Page 12: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

¿C¿Como usar edit?omo usar edit?

Desde el command Desde el command prompt escriba “edit” y prompt escriba “edit” y presione enter.presione enter.

La ventaja de usar edit La ventaja de usar edit para crear sus para crear sus programas es que este te programas es que este te dice el numero de linear dice el numero de linear y para correcciones es y para correcciones es mas útil.mas útil.

Page 13: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

WorkspaceWorkspace

Para mayor facilidad se Para mayor facilidad se recomienda que el usuario recomienda que el usuario cree un ambiente de trabajo.cree un ambiente de trabajo.

Este consistirá de crear un Este consistirá de crear un folder en el cual guarde folder en el cual guarde todos los archivos de todos los archivos de assembly.assembly.

Para este tutorial se creara Para este tutorial se creara un folder de nombre un folder de nombre Assembly en el desktop.Assembly en el desktop.

Page 14: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Crear y guardar un archivo .asmCrear y guardar un archivo .asm

En la ventana de edit se crearan los programasEn la ventana de edit se crearan los programas.. Vamos a crear nuestro primer programa:Vamos a crear nuestro primer programa:

TITLE Mi primer programa .MODEL SMALL .STACK 100H .DATA valor1 db 6 valor2 db 10 valor3 db 1 .CODE main proc mov ax,@DATA mov ds,ax mov al,valor1 add al,valor2 sub al,valor3 mov ax,4c00h int 21h main endp end main

Page 15: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Crear y guardar un archivo .asmCrear y guardar un archivo .asm

Vamos a guardar nuestro programa y para esto Vamos a guardar nuestro programa y para esto presione en File -> Save As, luego escribimos el presione en File -> Save As, luego escribimos el nombre del programa, en este caso como prog_1.asmnombre del programa, en este caso como prog_1.asm

Page 16: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Compilación y ejecuciónCompilación y ejecución

Para compilar nuestro Para compilar nuestro programa tenemos que programa tenemos que ir a un command prompt ir a un command prompt y movernos hasta el y movernos hasta el folder que se encuentra folder que se encuentra el archivo.el archivo.

Luego lo ensamblamos Luego lo ensamblamos de la siguiente manera:de la siguiente manera:

ml ml filenamefilename.asm.asm

Page 17: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Compilación y ejecuciónCompilación y ejecución

Si es un programa grafico, o sea que se esta usando la Si es un programa grafico, o sea que se esta usando la memoria de video, se tendra que abrir edit. Esto es memoria de video, se tendra que abrir edit. Esto es debido a que en Windows XP no existe DOS, pero al debido a que en Windows XP no existe DOS, pero al abrir el edit mantiene compatibilidad y así se ve el abrir el edit mantiene compatibilidad y así se ve el programa como si fuera en Windows 98 o 2000.programa como si fuera en Windows 98 o 2000.

Para ejecutarlo solo se escribe en el command prompt Para ejecutarlo solo se escribe en el command prompt el el filenamefilename..

Page 18: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

Comandos del debuggerComandos del debugger -t: Trace ejecuta la instrucción que apunta el instruction pointer (IP). Se muestra el contenido de los

registros luego de la ejecución, la memoria (si alguna) a la que se hizo acceso y la próxima instrucción que se ejecutará.

-t #: # es el número de instrucciones que se desean ejecutar. Es el equivalente a ejecutar el comando trace # veces.

-g: Go ejecuta e programa hasta el final

-r: Registers muestra el contenido de los registros

-d: Dump muestra el contenido de la memoria. Por defecto se muestra el contenido del segmento de data

-d ds:100: muestra el contenido del segmento de data a partir de la localización 100H

-d cs:0: muestra el contenido del segmento de código a partir de la localización 0.

-u: Unassembly desensambla el contenido de la memoria indicada. No se muestra el nombre de las etiquetas sino la dirección asignada a las mismas.

-q: Quit termina la ejecución de debug.

Page 19: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

DebuggerDebugger Nos permite ejecutar el programa y ver el ambiente Nos permite ejecutar el programa y ver el ambiente

de ejecución mientras se efectúan las instrucciones.de ejecución mientras se efectúan las instrucciones. Para hacer debug, en el command prompt se escribe:Para hacer debug, en el command prompt se escribe:

debug debug filenamefilename.exe.exe

Page 20: Tutorial de  Macro Assembler

Dalimar Velez VegaDalimar Velez Vega 6 / septiembre / 20036 / septiembre / 2003

DebuggerDebugger

Esta pantalla nos muestra que el IP apunta a mov AX,4c00h Esta pantalla nos muestra que el IP apunta a mov AX,4c00h pero el estado de los registros son de la instrucción anterior, pero el estado de los registros son de la instrucción anterior, que era sub al, valor3. Es por esto que en el registro AX se que era sub al, valor3. Es por esto que en el registro AX se ve un 0F (formato hexadecimal) que es igual a 15 (formato ve un 0F (formato hexadecimal) que es igual a 15 (formato decimal) y es el resultado del programa.decimal) y es el resultado del programa.

Page 21: Tutorial de  Macro Assembler

GraciasGracias