Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DATOS SEGMENT Cadena DB 20,0,20 DUP ('$') ; Bufer que almacena la cadena original. MenWel DB 0AH,0DH,'A128.Este programa encripta una cadena de caracteres' DB 0DH,0AH,'$' MenWel6 DB 0AH,0DH,'Para salir digite EXIT en maysculas','$' Error DB 7H,7H,7H,0DH,0AH,'Error 1: La Cadena no pude ser NULA' DB 0DH,0AH,0DH,0AH,'$' Salir DB 'EXIT' MenCap DB 0AH,0DH,0AH,0DH,'Cadena a encriptar. M ximo 20 Bytes : ','$' MenCryp DB 0AH,0DH,0AH,0DH,'Cadena encriptada: ','$' MenDCr DB 0AH,0DH,0AH,0DH,'Cadena desencriptada: ','$' MenPr DB 0AH,0DH,'Presione cualquier tecla para continuar',0DH,0AH,'$' DATOS ENDS PILA SEGMENT STACK PILA ENDS CODIGO SEGMENT ASSUME CS:CODIGO, DS:DATOS, SS:PILA Comienzo: MOV AH,0FH ;Obtiene la modalidad de video actual. INT 10H MOV AH,0 ;Cambia a la modalidad de video obtenida. INT 10H ;Cambi la! MOV AX,DATOS ;Inicializacin del segmento de datos, por regla ;un segmento de datos debe ser inicializado por ;un movimiento a travs de un registro de propsito ;general o atraves de la PILA. MOV DS,AX ;Es ac donde se incializa. PUSH DS ;Guardo DS. POP ES ;DS=ES, ES se necesita por la naturaleza de las ;Operaciones que van a ser utilizadas. MOV DX, OFFSET MenWel ;Preparacin para mostrar el MenWel ;en pantalla MOV AH,9H ;Funcin de la Int 21 para mostrar ;mensajes en pantalla. INT 21H ;Mustralo! LEA DX,MenWel6 MOV AH,9H INT 21H Captura: LEA DX,MenCap ;Preparacin para mostrar MenCap en ;pantalla. MOV AH,9H ;El mismo proceso anterior con la Dr. Miguel Angel Muoz Alvarado Pgina 1 de 3
DX
;Obtengo el primer byte para ver si no ;se digit EXIT. CX,4 ;Voy a revisar 4 Bytes (EXIT). SI,DX ;Tengo la cadena DI, OFFSET Salir ;Voy a comparar. CMPSB ;Se digito EXIT?. Fuera ;Si es cierto sale del programa. SI, OFFSET Cadena+1;Obtengo la cantidad de Bytes realmente ledos BX, Cadena+1 ;Cargo BX igual que con la anterior ;instruccion. CL, BYTE PTR [SI] ;CX con la cantidad de caracteres.
Crypt: INC BX ;Primer caracter de la cadena MOV AH,[BX] ;Lo llevo a AH para su encriptacion ADD AH,128D ;Lo encripto. MOV [BX],AH ;Lo restauro en el bufer. LOOP Crypt ;Itero hasta CX=0 LEA DX,MenCryp MOV AH,9H INT 21H MOV DX, OFFSET Cadena+2;Me preparo para mostrar la cadena encriptada ;me posiciono en el primer caracter de la ;cadena MOV AH,9H INT 21H ;Muestro la cadena encriptada Dr. Miguel Angel Muoz Alvarado Pgina 2 de 3
Pgina 3 de 3