Advertisement
SMicro

PINTA LABERINTO (TEXTO)

Apr 26th, 2018
1,026
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. * Title      : PINTA LABERINTO
  2. * Written by : FULGENCIO
  3. * Date       : ABRIL 2018
  4. * Description: Laberinto en modo TEXTO a partir de un MAPA
  5. *-----------------------------------------------------------
  6.  
  7. LF   EQU $0A  *Avance línea
  8. CR   EQU $0D  *Retorno carro
  9.  
  10.     ORG    $1000
  11. START:                 ; first instruction of program
  12.      
  13.     MOVE.L #MAPA,A3
  14.     CLR.L D2        *D2 contará las filas
  15. BUCLE
  16.     MOVE.B (A3)+,D0 *Tomamos valor del mapa del laberinto
  17.     CMP.B #2,D0
  18.     BEQ OTRALINEA
  19.     MOVE.B #' ',D1 *Espacio en blanco por defecto
  20.     CMP.B #0,D0
  21.     BEQ NOPINTA
  22.     MOVE.B #'*',D1 *Cambia el caracter por una pared=*
  23. NOPINTA
  24.    JSR PINTAPARED
  25.     JMP BUCLE
  26.  
  27. OTRALINEA  
  28.     MOVE.L #14,D0
  29.     MOVE.L #SALTOLIN,A1
  30.     TRAP #15
  31.     ADD.L #1,D2
  32.     CMP.L #7,D2  *Límite en 7 líneas
  33.     BNE BUCLE
  34.  
  35.     SIMHALT
  36.  
  37. PINTAPARED
  38.    MOVE.L #6,D0 *Pinta el caracter que está en D1
  39.     TRAP #15
  40.     RTS
  41.  
  42.  
  43. * Put program code here
  44.  
  45.     SIMHALT             ; halt simulator
  46.  
  47. * Put variables and constants here
  48. SALTOLIN DC.B LF,CR,0
  49.  
  50. MAPA   DC.B 1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,2
  51.         DC.B 1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,2
  52.         DC.B 1,0,1,1,1,0,1,0,1,1,1,0,1,1,1,0,1,0,1,0,1,2
  53.         DC.B 1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,1,0,1,2
  54.         DC.B 1,0,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1,2
  55.         DC.B 1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,2
  56.         DC.B 1,1,1,1,1,0,1,0,1,0,1,0,1,1,1,1,1,0,1,1,1,2
  57.  
  58.     END    START        ; last line of source
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement