Your SlideShare is downloading. ×
  • Like
Equipo 6 codigo segment
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Equipo 6 codigo segment

  • 383 views
Published

 

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
383
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
12
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CODIGO SEGMENT En informática, un segmento de código, también conocido como un segmento de texto o simplemente como texto, es una frase usada para referirse a una parte de la memoria o de un archivo objeto que contiene instrucciones ejecutables. Tiene un tamaño fijo y suele ser de sólo lectura. Si la sección de texto no es de sólo lectura, entonces la arquitectura particular, permite que el código auto-modificación. código de sólo lectura es reentrante si puede ser ejecutado por más de un proceso, al mismo tiempo. El segmento de código (CS) contiene las instrucciones de maquina que son ejecutadas por lo común la primera instrucción ejecutable esta en el inicio del segmento, y el sistema operativo enlaza a esa localidad para iniciar la ejecución del programa. Como su nombre indica, el registro del CS direcciona el segmento de código. Si su área de código requiere mas de 64K, su programa puede necesitar definir mas de un segmento de código. Visualizacion de caracteres ASCII en pantalla usando el servicio 02H de la INT 21H Código: CODIGO SEGMENT ASSUME CS:CODIGO INICIO: MOV AH, 02H MOV DL, 4AH INT 21H MOV DL, 61H INT 21H MOV DL, 73H INT 21H MOV DL, 65H INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Visaulización de mi nombre en pantalla usando el servicio 02H de la INT 21H Código: CODIGO SEGMENT
  • 2. ASSUME CS:CODIGO INICIO: MOV AH, 02H MOV DL, 'K' INT 21H MOV DL, 'a' INT 21H MOV DL, 'l' INT 21H MOV DL, 'u' INT 21H MOV DL, 'n' INT 21H MOV DL, ' ' INT 21H MOV DL, 'J' INT 21H MOV DL, 'o' INT 21H MOV DL, 's' INT 21H MOV DL, 'e' INT 21H MOV DL, ' ' INT 21H MOV DL, 'L' INT 21H MOV DL, 'a' INT 21H MOV DL, 'u' INT 21H MOV DL, ' ' INT 21H MOV DL, 'G' INT 21H MOV DL, 'a' INT 21H MOV DL, 'n' INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO
  • 3. Impresión de cadenas de caracteres usando el servicio 09H de la INT 21H Código: ;El segmento de datos para almacenar las cadenas} ;de caracteres a imprimir DATOS SEGMENT TITULO DB "Ingenieria de Computacion y Sistemas$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, TITULO ; MOV DX, OFFSET TITULO INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Impresión de un mensaje "UPAO" usando caracteres ASCII y servicio 09H de la INT21H Código: DATOS SEGMENT TITULO1 DB " ** ** ******** ******** ********", 0AH, 0DH, "$" TITULO2 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO3 DB " * * * * * **** * * **** * * *", 0AH, 0DH, "$" TITULO4 DB " * * * * * * * * * * * * * **** *", 0AH, 0DH, "$" TITULO5 DB " * * * * * **** * * **** * * * * *", 0AH, 0DH, "$" TITULO6 DB " * * * * * * * * * * * *", 0AH, 0DH, "$" TITULO7 DB " * * * * * ****** * **** * * **** *", 0AH, 0DH, "$" TITULO8 DB " * **** * * * * * * * * *", 0AH, 0DH, "$" TITULO9 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO10 DB " ******** ** ** ** ********", 0AH, 0DH, "$"
  • 4. DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H MOV CX, 2 LAZO: LEA DX, TITULO1 INT 21H LEA DX, TITULO2 INT 21H LEA DX, TITULO3 INT 21H LEA DX, TITULO4 INT 21H LEA DX, TITULO5 INT 21H LEA DX, TITULO6 INT 21H LEA DX, TITULO7 INT 21H LEA DX, TITULO8 INT 21H LEA DX, TITULO9 INT 21H LEA DX, TITULO10 INT 21H LOOP LAZO FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Programa que visualiza UPAO y lo repite cuando se presiona la tecla r y finaliza cuando se presiona q Código: DATOS SEGMENT
  • 5. TITULO1 DB " ** ** ******** ******** ********", 0AH, 0DH, "$" TITULO2 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO3 DB " * * * * * **** * * **** * * *", 0AH, 0DH, "$" TITULO4 DB " * * * * * * * * * * * * * **** *", 0AH, 0DH, "$" TITULO5 DB " * * * * * **** * * **** * * * * *", 0AH, 0DH, "$" TITULO6 DB " * * * * * * * * * * * *", 0AH, 0DH, "$" TITULO7 DB " * * * * * ****** * **** * * **** *", 0AH, 0DH, "$" TITULO8 DB " * **** * * * * * * * * *", 0AH, 0DH, "$" TITULO9 DB " * * * * * * * * * *", 0AH, 0DH, "$" TITULO10 DB " ******** ** ** ** ********", 0AH, 0DH, "$" ERROR DB "Tecla presionada es erronea, intente de nuevo", 0AH, 0DH, "$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, TITULO1 INT 21H LEA DX, TITULO2 INT 21H LEA DX, TITULO3 INT 21H LEA DX, TITULO4 INT 21H LEA DX, TITULO5 INT 21H LEA DX, TITULO6 INT 21H LEA DX, TITULO7 INT 21H LEA DX, TITULO8 INT 21H LEA DX, TITULO9 INT 21H LEA DX, TITULO10 INT 21H LECTU: MOV AH, 01H INT 21H CMP AL, 71H JE FIN CMP AL, 72H
  • 6. JE INICIO MOV AH, 09H LEA DX, ERROR INT 21H JMP LECTU FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Para apagar un led y prenderlo yuasando el teclado blablabablaaaaa Código: DATOS SEGMENT ENC DB 0AH, 0DH, "Led Encendido", 0AH, 0DH, "$" APA DB 0AH, 0DH, "Led Apagado", 0AH, 0DH, "$" ERROR DB 0AH, 0DH, "Tecla presionada es erronea, intente de nuevo", 0AH, 0DH, "$" GRACIAS DB 0AH, 0DH, "Gracias por usar el programa", 0AH, 0DH, "$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, APA INT 21H MOV DX, 378H MOV AL, 0 OUT DX, AL LECTU: MOV AH, 01H INT 21H CMP AL, 71H JE FIN CMP AL, 61H JE APAGA CMP AL, 65H JE ENCEN MOV AH, 09H LEA DX, ERROR
  • 7. INT 21H JMP LECTU ENCEN: MOV AH, 09H LEA DX, ENC INT 21H MOV DX, 378H MOV AL, 1 OUT DX, AL JMP LECTU APAGA: MOV AH, 09H LEA DX, APA INT 21H MOV DX, 378H MOV AL, 0 OUT DX, AL JMP LECTU FIN: MOV AH, 09H LEA DX, GRACIAS INT 21H MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Este programa es para escribir un mensaje en pantalla usando el servicio 09H de la INT 21H Código: ;-Programa ejemplo para visualizar la palabra "MASM ES FACIL!". ;-Para ello vamos a utilizar el servicio 09H de la INT 21H. ;-En la cadena a imprimir usando el servicio 09H, debemos de colocarle ; el caracter "$" para indicar el fin de la cadena. ;-Al terminar de ejecutar nuestro programa, es necesario devolver el ; control de la maquina al sistema operativo. DATOS SEGMENT CAD1 DB "MASM ES FACIL!$" DATOS ENDS
  • 8. CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, CAD1 INT 21H FIN: MOV AH, 4CH INT 21H CODIGO ENDS END INICIO Código: CODIGO SEGMENT ASSUME CS:CODIGO INICIO: MOV AH, 02H ;SERVICIO DE IMPRESION DE CARACTER EN PANTALLA MOV DL, 'U' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H MOV DL, 'P' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H MOV DL, 'A' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H MOV DL, 'O' ;CARACTER ASCII A IMPRIMIR EN PANTALLA INT 21H FIN: MOV AH, 4CH ;SERVICIO PARA RETORNAR EL CONTROL DE LA PC INT 21H ;AL SISTEMA OPERATIVO CODIGO ENDS END INICIO Saludos, aqui les paso la APP08, para titilear un LED Código: ;Este es un programa para titilar un LED por un pin del puerto paralelo ;Con la tecla 'y' titlamos el LED y con la tecla 'n' apagamos el LED ;Con la tecla 'q' salimos de la aplicacion
  • 9. DATOS SEGMENT TIT1 DB "PROGRAMA PARA TITILAR UN LED", "$" OPT DB 0AH, 0DH, "ELIJA OPCION ('y' TITILAR, 'q' SALIR): ", "$" ONLED DB 0AH, 0DH, "EL LED TA TITILANDO PS", "$" OFFLED DB 0AH, 0DH, "EL LED YA NO TA TITILANDO PS", "$" ERRA DB 0AH, 0DH, "TECLA PRESIONADA INCORRECTA, INTENTE DE NUEVO", "$" CHAU DB 0AH, 0DH, "GRACIAS POR USAR EL PROGRAMA CHAUFAS", "$" DATOS ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS INICIO: MOV AX, DATOS MOV DS, AX MOV AH, 09H LEA DX, TIT1 INT 21H TECLA: MOV AH, 09H LEA DX, OPT INT 21H MOV AH, 01H ;SERVICIO PARA LEER UNA TECLA INT 21H CMP AL, 'y' JE TTLE ;SALTO PARA TITILEAR LED CMP AL, 'q' JE BYEBYE ;SALTO PARA SALIR DEL PROGRAMA ERROR: MOV AH, 09H LEA DX, ERRA INT 21H JMP TECLA TTLE: MOV AH, 09H LEA DX, ONLED INT 21H MOV CX, 20 LAZO: MOV DX, 378H MOV AL, 0 OUT DX, AL CALL RETAR MOV AL, 1 OUT DX, AL CALL RETAR LOOP LAZO
  • 10. MOV AH, 09H LEA DX, OFFLED INT 21H JMP TECLA RETAR: PUSH AX PUSH BX PUSH CX MOV AX, 1000 P3: MOV BX, 1000 P2: MOV CX, 100 P1: DEC CX JNZ P1 DEC BX JNZ P2 DEC AX JNZ P3 POP CX POP BX POP AX RET BYEBYE: MOV AH, 09H LEA DX, CHAU INT 21H MOV AH, 4CH INT 21H CODIGO ENDS END INICIO