Está en la página 1de 3

CODIGO ESCRIBIENDO EN PUERTO PARALELO CON C

1. #include <stdio.h>
2. #include <dos.h>
3.
4. int main (){
5. char passin[9];
6. int est;
7. char pass[9]="password";
8. printf("Contra: \n");
9. scanf("%s", &passin);
10. asm{
11. cld
12. push dx
13. push cx
14. push bx
15. push ax
16. mov est,0
17. mov cx,10d
18. mov si, offset passin
19. mov di, offset pass
20. repe cmpsb
21. jnz salir
22. mov est, 1d
23. };
24. salir:
25. asm{
26. pop ax
27. pop bx
28. pop cx
29. pop dx
30. }
31. if(est==0){
32. outportb(0x378,1);// enciende led verde
33. printf("\nCORRECTO");
34. }
35. else {
36. outportb(0x378,2);//enciende led rojo
37. printf("\nINCORRECTO");
38. }
39. return 0;
40. }

CODIGO ESCRIBIENDO EN PUERTO PARALELO CON ENSAMBLADOR

1. #include <stdio.h>
2.
3. int main (){
4. char passin[9];
5. int est;
6. char pass[9]="password";
7. printf("Contra: \n");
8. scanf("%s", &passin);
9. asm{
10. cld
11. push dx
12. push cx
13. push bx
14. push ax
15. mov est,0
16. mov cx,10d
17. mov si, offset passin
18. mov di, offset pass
19. repe cmpsb
20. jnz salir
21. mov est, 1d
22. };
23. salir:
24. asm{
25. pop ax
26. pop bx
27. pop cx
28. pop dx
29. }
30. if(est==0){
31. // enciende led verde
32. printf("\nCORRECTO");
33. asm{
34. mov al,01
35. mov dx, 0378
36. out dx,al
37. }
38. }
39. else {
40. //enciende led rojo
41. printf("\nINCORRECTO");
42. asm{
43. mov al,02
44. mov dx, 0378
45. out dx,al
46. }
47.
48. }
49. return 0;
50. }

También podría gustarte