semana 03_2

11
SEMANA 03_2

Upload: dagan

Post on 19-Jan-2016

22 views

Category:

Documents


0 download

DESCRIPTION

SEMANA 03_2. ESCRITURA DE PROGRAMAS .COM. Lenguaje de maquina. DE FORMA AUTOMATICA EL ENLAZADOR GENERA UN FORMATO PARTICULAR PARA UN PROGRAMA .EXE . - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SEMANA 03_2

SEMANA 03_2

Page 2: SEMANA 03_2

ESCRITURA DE PROGRAMAS .COM

• DE FORMA AUTOMATICA EL ENLAZADOR GENERA UN FORMATO PARTICULAR PARA UN PROGRAMA .EXE.

• TAMBIEN PUEDE GENERAR UN PROGRAMA .COM PARA EJECUCION. UN EJEMPLO DE USO COMUN DE PROGRAMA .COM ES EL COMMAND.COM. LAS VENTAJAS DE PROGRAMAS .COM ESTAN EN QUE SON MAS PEQUEÑOS QUE PROGRAMAS .EXE COMPARABLES Y SON MAS FACILES DE ADAPTAR PARA ACTUAR COMO PROGRAMAS RESIDENTES DE MEMORIA.

Lenguaje de maquina

Page 3: SEMANA 03_2

DIFERENCIAS ENTRE PROGRAMAS .COM Y .EXE

• TAMAÑO DEL PROGRAMA.

UN .EXE PUEDE SER DE CUALQUIER TAMAÑO, MIENTRAS QUE UN .COM ESTA RESTRINGIDO A UN SEGMENTO Y A UN MAXIMO DE 64K, INCLUYENDO EL PSP.

EL PSP ES UN BLOQUE DE 256 BYTES QUE EL DOS INSERTA ANTES DE LOS PROGRAMAS .COM Y .EXE CUANDO LOS CARGA EN MEMORIA.

Lenguaje de maquina

Page 4: SEMANA 03_2

DIFERENCIAS ENTRE PROGRAMAS .COM Y .EXE

• SEGMENTOS.

DE PILA: EN UN .EXE SE DEFINE UN SEGMENTO DE PILA, EL .COM LO GENERA EN FORMA AUTOMATICA.

DE DATOS: UN .EXE DEFINE UN SEGMENTO DE DATOS Y LO INICIALIZA EN EL REGISTRO DS. EN EL .COM ESTA DEFINIDO DENTRO DEL MISMO SEGMENTO DE CODIGO.

Lenguaje de maquina

Page 5: SEMANA 03_2

DIFERENCIAS ENTRE PROGRAMAS .COM Y .EXE

• INICIALIZACION.

CUANDO EL DOS CARGA UN PROGRAMA .COM PARA EJECUCION, INICIALIZA EN FORMA AUTOMATICA TODOS LOS REGISTROS DE SEGMENTO DEL PSP.

PUESTO QUE EL DIRECCIONAMIENTO COMIENZA EN UN DESPLAZAMIENTO DE 100H BYTES DESDE EL INICIO DEL PSP, CODIFIQUE UNA DIRECTIVA ORG COMO ORG 100H INMEDIATAMENTE DESPUES DE SEGMENT (CODIGO) O EL ENUNCIADO .CODE.

LA DIRECTIVA ORG LE INDICA AL ENSAMBLADOR QUE EMPIEZE LA GENERACION DEL CODIGO OBJETO EN UN DESPLAZAMIENTO DE 100H BYTES PASANDO EL INICIO DEL PSP, EN DONDE EL PROGRAMA .COM REAL INICIA.

Lenguaje de maquina

Page 6: SEMANA 03_2

CONVERSION A FORMATO .COM

• SI EL PROGRAMA FUENTE YA ESTA ESCRITO EN FORMATO .EXE, PUEDE UTILIZAR UN EDITOR PARA CONVERTIR LAS INSTRUCCIONES A FORMATO .COM.

• LOS FORMATOS DE CODIFICACION DE MASM Y TASM PARA PROGRAMAS .COM SON IDENTICOS, AUNQUE SUS METODOS DE CONVERSION DIFIEREN.

• CUANDO LA CONVERSION A FORMATO .COM ESTA COMPLETA, PUEDE BORRAR LOS ARCHIVOS .OBJ Y .EXE

Lenguaje de maquina

Page 7: SEMANA 03_2

CONVERSION CON MICROSOFT

• PARA AMBOS PROGRAMAS, .EXE Y .COM, CON MASM DE MICROSOFT SE ENSAMBLA Y PRODUCE UN ARCHIVO .OBJ Y DESPUES SE ENLAZA PARA PRODUCIR UN PROGRAMA .EXE.

• UN PROGRAMA CON NOMBRE EXE2BIN CONVIERTE PROGRAMAS .EXE A .COM

EXE2BIN D:CALC D:CALC.COM

Lenguaje de maquina

Page 8: SEMANA 03_2

CONVERSION CON BORLAND

TLINK /T D:CALC

Lenguaje de maquina

Page 9: SEMANA 03_2

EJEMPLO DE UN PROGRAMA .COM

PAGE 60,132 TITLE P07COM1 (COM) OPERACIONES MOVER Y SUMAR;-----------------------------------------------------------------------------CODSEG SEGMENT PARA ‘CODE’ ASSUME SS:CODSEG,DS:CODSEG,CS:CODESG,ES:CODSEG ORG 100HBEGIN: JMP MAIN;-----------------------------------------------------------------------------FLDA DW 250FLDB DW 125FLDC DW ?;------------------------------------------------------------------------------MAIN PROC NEAR

MOV AX , FLDA ; MOVER 0250 A AX ADD AX , FLDB ; SUMAR 0125 A AX MOV FLDC , AX ; ALMACENAR SUMA EN FLDC MOV AX , 4C00H ; PETICION INT 21H ; SALIDA A DOSMAIN ENDP ; FIN DE PROCEDIMIENTOCODSEG ENDS ; FIN DE SEGMENTO END BEGIN ; FIN DE PROGRAMA

Lenguaje de maquina

Page 10: SEMANA 03_2

LA PILA DE .COM

• PARA UN PROGRAMA .COM EL DOS DEFINE DE MANERA AUTOMATICA UNA PILA Y ESTABLECE LA MISMA DIRECCION DE SEGMENTO EN LOS CUATRO REGISTROS DE SEGMENTO. SI EL SEGMENTO DE 64K PARA EL PROGRAMA ES SUFICIENTEMENTE GRANDE, EL DOS ESTABLECE LA PILA AL FINAL DEL SEGMENTO Y CARGA EL REGISTRO SP CON FFFEH, LA PARTE SUPERIOR DE LA PILA.

• SI EL SEGMENTO DE 64K NO CONTIENE ESPACIO SUFICIENTE PARA UNA PILA, EL DOS ESTABLECE LA PILA AL FINAL DE LA MEMORIA.

• EL COMANDO DIR INDICA EL TAMAÑO DE UN ARCHIVO Y LE DARA UNA IDEA DEL ESPACIO DISPONIBLE PARA UNA PILA.

Lenguaje de maquina

Page 11: SEMANA 03_2

EJEMPLO 5