Activación De Puerta Con Contraseña
ASSUME CS:CODE,DS:CODE,ES:CODE,SS:CODE
ORG 100h
Pro:
JMP Hall ;---Inicia programa---
hdr DB 'Capture la contrasena para abrir la puerta:', 10, 13, '$'
msg1 DB 'Primer caracter', 10, 13, '$'
msg2 DB ' Segundo caracter', 10, 13, '$'
msg3 DB ' Tercer caracter', 10, 13, '$' ;Datos
msg4 DB ' Cuarto caracter', 10, 13, '$'
msgR DB ' Correcto', 10, 13,'$'
msgW DB ' Incorrecto', 10, 13, '$'
msgO DB ' ---Abierto---', 10, 13, '$'
msgC DB '---Cerrado---', 10, 13, '$'
counter DB 10 DUP (0)
Hall PROC ;--Recibidor--
MOV AH,9h
MOVDX,OFFSET hdr ;"Header"
INT 21h
MOV DX,378h ;Apunta a la interfaz
MOV AX,0000h ;Manda combinacion a puerto D
OUT DX,AL
CALL evaluarCadena ;Inicia evaluarCadena()
CALLDelay4Seg ;Retardo final
MOV AX,4c00h ;Terminate with return code
INT 21h
Hall ENDP ;--Fin Recibidor--
evaluarCadena PROC ;--evaluarCadena()--
Capturar:
MOV AH,9h
MOVDX,OFFSET msg1 ;"Caracter uno"
INT 21h
MOV AH,00h
INT 16h ;Captura caracter
CMP AL,31h ;Compara y stackea si es igual a 1
JE Stacker
JMP Capturar2 ;Si no esigual no stackea
Stacker:
INC counter
JMP Capturar2
Capturar2:
MOV AH,9h
MOV DX,OFFSET msg2 ;"Caracter dos"
INT 21h
MOV AH,00h
INT 16h ;Captura caracter
CMPAL,30h ;Compara y stackea si es igual a 0
JE Stacker2
JMP Capturar3
Stacker2:
INC counter ;Si no es igual no stackea
JMP Capturar3
Capturar3:
MOV AH,9h
MOVDX,OFFSET msg3 ;"Caracter tres"
INT 21h
MOV AH,00h
INT 16h ;Captura caracter
CMP AL,30h ;Compara y stackea si es igual a 0
JE Stacker3
JMP Capturar4
Stacker3:INC counter ;Si no es igual no stackea
JMP Capturar4
Capturar4:
MOV AH,9h
MOV DX,OFFSET msg4 ;"Caracter cuatro"
INT 21h
MOV AH,00h
INT 16h ;Captura caracter...
Regístrate para leer el documento completo.