Beruflich Dokumente
Kultur Dokumente
Departamento de Automtica
EL MS-DOS Y EL ENSAMBLADOR
Funciones de un sistema operativo Nucleo de un sistema operativo El MS-DOS. Comandos bsicos Necesidad de un lenguaje ensamblador Fases en el ciclo de desarrollo de un programa Estructura de un cdigo en ensamblador Obtencin del fichero objeto: el programa ensamblador Obtencin del ejecutable: el programa de enlazado Depuracin del cdigo: el depurador
TEMA 1: EL MS-DOS Y EL ENSAMBLADOR 1
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
NIVELES DE UN S.O.
Un sistema operativo est estratificado en capas para facilitar su comprensin y reducir su complejidad Las diferentes capas se comunican entre s mediante peticin-realizacin de servicios
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
SISTEMA DE FICHEROS
SE DIVIDE EN UNIDADES LOGICAS INDEPENDIENTES CADA UNIDAD SE ORGANIZA EN DIRECTORIOS Y SUBDIRECTORIOS PERMISOS DE ACCESO Y MODIFICACIN LIMITADOS
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
SISTEMA DE FICHEROS
FORMAT
FORMAT volumen [/FS:sist_arch] [/V:etiqueta] [/Q] [/A:tamao] [/C] [/X] FORMAT volumen [/V:etiqueta] [/Q] [/F:tamao] FORMAT unidad: [/V: etiqueta] [/Q] [/T: pistas /N: sectores] FORMAT unidad: [/V: etiqueta] [/Q] [/1] [/4]
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
OPERACIONES SOBRE DIRECTORIOS
CHDIR / CD. Cambiar de directorio
CHDIR [/D][unidad:][ruta] CHDIR [/D][..] CD [/D] [unidad:][ruta] CD [/D][..]
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
2004 - 2005
10
UNIVERSIDAD DE ALCAL
Departamento de Automtica
COMANDOS BASICOS
OPERACIONES CON FICHEROS
VERIFY. Especifica que se verifique que se copia correctamente
VERIFY [ON|OFF]
2004 - 2005
11
UNIVERSIDAD DE ALCAL
Departamento de Automtica
2004 - 2005
12
UNIVERSIDAD DE ALCAL
Departamento de Automtica
MASM
.CRF
CREF
.OBJ Otros .OBJ o .LIB
LIB
LISTFILE
Otros .OBJ
LINK
.LIB .EXE
.LIB
.MAP
Convertir a .COM
SI
EXE2BIN
NO .COM
CODEVIEW
SI
Errores lgicos NO
2004 - 2005
13
UNIVERSIDAD DE ALCAL
Departamento de Automtica
;Carga de la localizacin del segmento ; en el registro DS ; Carga 1: Manejador de fichero para ; salida estndar ; Carga la longitud del mensaje ; Carga la direccin del mensaje ;Carga el nmero de la funcin DOS de escribir ; Llama al MS-DOS ; Carga el nmero de funcin de EXIT ; Llama al MS-DOS
2004 - 2005
14
UNIVERSIDAD DE ALCAL
Departamento de Automtica
2004 - 2005
15
UNIVERSIDAD DE ALCAL
Departamento de Automtica
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El programa ensamblador
El programa MASM MASM [opciones] fuente [,[objeto] [, [fich_lista] [, [fich_referencias]]]] [;] Extensin por defecto: .asm fuente: Fichero con el cdigo a ensamblar objeto: Fichero de salida con el cdigo objeto fich_lista: Fichero donde se almacena el listado de ensamblaje fich_referencia: Fichero donde se almacenan las referencias cruzadas de los smbolos
2004 - 2005 TEMA 1: EL MS-DOS Y EL ENSAMBLADOR 17
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El programa ensamblador
Variables de entorno que afectan al programa
PATH: Debe incluir el directorio donde estn los ejecutables INCLUDE: Indica el directorio donde MASM busca los ficheros incluidos MASM: Variable que especifica las opciones que el programa activa por defecto
Las opciones especificadas en la variable MASM pueden ser sobrescritas por opciones usadas en la llamada al programa
2004 - 2005
18
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El programa ensamblador
Opciones del programa
/A /H /P /ZD
/C /L /T
/D /ML /V
/E /N /Z
2004 - 2005
19
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El programa de enlazado
El programa LINK Variables de entorno que afectan al programa
PATH: Debe incluir el directorio donde estn los ejecutables LIB: Indica el directorio donde LINK busca las libreras TMP: Indica el directorio donde LINK deja los ficheros temporales necesarios LINK: Variable que especifica las opciones que el programa activa por defecto
Las opciones especificadas en la variable LINK pueden ser sobreescritas por opciones usadas en la llamada al programa
2004 - 2005
20
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El programa de enlazado
Opciones:
/CODEVIEW /EXEPACK /INFORMATION /CPARMAXALLOC /FARCALLTRANSLATION /LINENUMBERS /NOEXTDICTIONARY /NOGROUPASSOCIATION /PACKCODE /NOIGNORECASE /PAUSE /DOSSEG /HELP /MAP /BATCH /DSALLOCATE /HIGH
2004 - 2005
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El programa de enlazado
Genera ficheros extensin .EXE Puede generar un fichero .MAP que indica la zona de memoria usada
Stop 00026H 00035H 0013FH Length 00027H 0000EH 00100H Name _TEXT _DATA STACK Class CODE DATA STACK
2004 - 2005
22
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El depurador
Existen dos depuradores:
CodeView. Programa que viene con el ensamblador. Debug. Programa que viene con el MS-DOS
Es necesario ensamblar y enlazar el cdigo con las opciones de depuracin Nos permiten
Ver el estado de la memoria y los registros de la mquina en cualquier instante Modificar el estado de la memoria y los registros de la mquina en cualquier instante Ejecutar el cdigo paso a paso
2004 - 2005 TEMA 1: EL MS-DOS Y EL ENSAMBLADOR 23
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El depurador
2004 - 2005
24
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El depurador
Comandos ms comunes
Trace: T [n] Para ejecutar n lneas entrando en las funciones Program Step: P [n] Para ejecutar n lneas sin entrar en las funciones Go: G [addr] Para ejecutar hasta la direccin addr o fin de programa Watch : W[tipo] rango Para mostrar posiciones de memoria en el rango indicado Enter: E[tipo] addr [list] Para modificar las posiciones de memoria Dump: D[tipo] [rango] Para mostrar las posiciones de memoria R[reg [expresin]] Para cambiar el valor de un registro RF [flag] Para cambiar el valor de un flag
2004 - 2005 TEMA 1: EL MS-DOS Y EL ENSAMBLADOR 25
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El depurador
Comando DEBUG DEBUG [programa] Una vez arrancado soporta los siguientes comandos: Compare [C] Hex [H] Output [O] Trace [T] Dump [D] Input [I] Proceed [P] Enter [E] Load [L] Quit [Q] Fill [F] Move [M] Register [R]
UNIVERSIDAD DE ALCAL
Departamento de Automtica
El depurador
C:\alcala\Masm51\source>debug hello.exe -r AX=0000 BX=0000 CX=00FF DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=0F31 ES=0F31 SS=0F45 CS=0F41 IP=0010 NV UP EI PL NZ NA PO NC 0F41:0010 B8430F -d 0F41:0010 B8 43 0F 8E D8 BB 01 00-B9 0E 00 BA 08 00 B4 40 .C.............@ 0F41:0020 CD 21 B8 00 4C CD 21 00-48 65 6C 6C 6F 20 77 6F .!..L.!.Hello wo 0F41:0030 72 6C 64 2E 0D 0A 4E 42-30 30 8D 00 00 00 00 00 rld...NB00...... 0F41:0040 10 00 17 00 00 00 00 00-00 00 09 48 45 4C 4C 4F ...........HELLO 0F41:0050 2E 4F 42 4A 00 00 00 00-01 00 06 5F 65 64 61 74 .OBJ......._edat 0F41:0060 61 20 00 02 00 00 00 04-5F 65 6E 64 01 03 00 72 a ......_end...r 0F41:0070 80 74 01 03 00 72 80 73-0F 05 08 00 02 00 94 00 .t...r.s........ 0F41:0080 07 4D 45 53 53 41 47 45-0A 0B 10 00 00 05 53 54 .MESSAGE......ST MOV AX,0F43
2004 - 2005
27