Juego el Brujo en ASM.


  1. [ORG 7C00h]        
  2.          
  3. ; Codigo desarrollado por Kellerman Rivero, krsloco@gmail.com
  4.          xor ax,ax
  5.          mov ax,cs ; Mueve al registro AX (Acumulador) el contenido del Registro CS (Code Segment)
  6.          mov ds,ax ; Mueve al registro DS (Data Segment) el contenido del registro AX (Acumulador)
  7.          ;Por tanto hemos colocado el DS en la misma direccion apuntada por CS.
  8.          mov es,ax ; Mueve al registro ES (Extra Segment) el contenido del registro AX(Acumulador)
  9.          mov ax,00 ; Peticion para limpiar pantalla
  10.          mov al,03
  11.          int 0x10;
  12.          mov cx,longmas
  13.          ;mov si, mascara
  14.          ;mov di, respuesta
  15.          lea di, [respuesta]
  16.          lea si, [mascara]
  17.          jmp cargar_respuesta
  18. mascara db 'El Brujo:',0
  19. longmas equ $-mascara
  20. norep db 'No puedo responder tu pregunta',13,0
  21. longnorep equ $-norep
  22. respuesta resb longmas  
  23. cargar_respuesta:
  24.          xor ax,ax
  25.          int 16h       
  26.          mov dl,al
  27.          mov al,[si]
  28.          mov ah,0x0E            
  29.          mov bx,0x0007          
  30.          int 0x10
  31.          mov [di],dl
  32.          inc di;
  33.          inc si;
  34.          loop cargar_respuesta
  35.          mov cx,longmas
  36.          lea si, [respuesta]
  37.          jmp cargar_pregunta
  38. mostrar_respuesta:
  39.          xor ax,ax
  40.          int 16h
  41.          cmp ah,1Ch
  42.          jne mostrar_respuesta
  43.          mov ax,00 ; Peticion para limpiar pantalla
  44.          mov al,03
  45.          int 0x10;       
  46.          ciclo:
  47.          mov al,[si]
  48.          cmp al,2Eh
  49.          je hang
  50.          mov ah,0x0E            
  51.          mov bx,0x0007          
  52.          int 0x10
  53.          inc si
  54.          loop ciclo
  55.          jmp hang
  56. cargar_pregunta:
  57.         xor ax,ax
  58.         int 16h
  59.         mov dh,ah
  60.         mov ah,0x0E            
  61.         mov bx,0x0007          
  62.         int 0x10
  63.         cmp dh,35h
  64.         je mostrar_respuesta   
  65.         jmp cargar_pregunta            
  66. hang:   jmp hang                ; Hang
  67.        
  68. times 512-($-$$)-2 db 0
  69.         dw 0AA55h

    Esta es la version en emsablador de mi juego realizado en C, el brujo responde. Interesante para pasar ratos.



0 comentarios:

Publicar un comentario

Seguidores

Estadisticas