Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *-----------------------------------------------------------
- * Title : CUADRICULA + RATON + CASILLA
- * Written by : Fulgencio
- * Date :
- * Description:
- *-----------------------------------------------------------
- ORIX EQU 150
- ORIY EQU 50
- SIZE EQU 60
- ROWS EQU 5
- COLS EQU 5
- DRAWLINE EQU 84
- DRAWCIRC EQU 88
- CURSOR EQU 11
- ORG $1000
- START:
- * Put program code here
- JSR CUADRICULA
- BUCLE
- JSR RATON
- JSR ROJOTINTA
- JSR CUADRADO
- *************************Este programa es para probar el funcionamiento de las subrrutinas ************
- JSR HOMECURSOR *Envío cursor al origen (0,0)
- ADD.L #$30,D1
- ADD.L #$30,D2
- EXG.L D1,D2 *Para escribir primero la FILA
- MOVE.L #6,D0
- TRAP #15
- MOVE.L #',',D1 *Coma de separacion
- TRAP #15
- MOVE.L D2,D1 *Ahora la COLUMNA
- TRAP #15
- JMP BUCLE
- *****************************************
- SIMHALT * halt simulator
- *********************************SUBRRUTINAS**************************************
- ROJOTINTA
- MOVEM.L D0-D4,-(A7)
- MOVE.L #80,D0
- MOVE.L #$0000FF,D1
- TRAP #15
- MOVEM.L (A7)+,D0-D4
- RTS
- CUADRADO
- MOVEM.L D0-D4,-(A7)
- MULU #SIZE,D1
- MULU #SIZE,D2
- ADD.L #ORIX,D1
- ADD.L #ORIY,D2
- MOVE.L D1,D3
- MOVE.L D2,D4
- ADD.L #SIZE,D3
- ADD.L #SIZE,D4
- MOVE.L #90,D0
- TRAP #15
- MOVEM.L (A7)+,D0-D4
- RTS
- HOMECURSOR *Coloca el cursor en 0,0 con la Task #11
- MOVEM.L D0-D1,-(A7)
- MOVE.L #CURSOR,D0
- MOVE.L #$0000,D1 * D1.W = [ COL | FILA ]=(0,0)
- TRAP #15
- MOVEM.L (A7)+,D0-D1
- RTS
- RATON *Devuelve D1=COLUMNA y D2=FILA
- MOVEM.L D0,-(A7)
- BUCRATON
- MOVE.L #61,D0
- MOVE.L #0,D1
- TRAP #15
- BTST #0,D0
- BEQ BUCRATON
- MOVE.L D1,D2
- CLR.W D2
- SWAP D2 *Coordenada Y del CLICK
- AND.L #$0000FFFF,D1 *Coordenada X del CLICK
- SUB.L #ORIX,D1 *Referimos origen en la cuadrícula
- BCS BUCRATON *Descartar CLICKs fuera izquierda
- SUB.L #ORIY,D2
- BCS BUCRATON *Descartar CLICKs fuera arriba
- DIVU #SIZE,D1
- DIVU #SIZE,D2
- AND.L #$0000FFFF,D1
- AND.L #$0000FFFF,D2
- * ADD.L #1,D1
- * ADD.L #1,D2 *Para que FILAS Y COL empiecen en 1
- CMP.L #COLS,D1 *Descartar CLICKs fuera derecha
- BCC BUCRATON
- CMP.L #ROWS,D2 *Descartar CLICKs fuera abajo
- BCC BUCRATON
- MOVEM.L (A7)+,D0
- RTS
- CUADRICULA ************** GENERA UNA CUADRÍCULA A PARTIR DE UNAS CONSTANTES DEFINIDAS CON EQU ***************
- MOVEM.L D0-D4,-(A7)
- MOVE.W #ORIX,D1 *Nos ponemos en el origen D1 y D2
- MOVE.W #ORIY,D2
- VERTICALES
- MOVE.W D1,D3 *El otro extremo de las líneas en D3,D4
- MOVE.W D2,D4
- ADD.W #ROWS*SIZE,D4 *En las líneas verticales solo cambia la coordenada vertical (D4)
- MOVE.L #DRAWLINE,D0
- TRAP #15
- ADD.W #SIZE,D1
- CMP.W #ORIX+SIZE*(COLS+1),D1
- BNE VERTICALES
- MOVE.W #ORIX,D1 *Nos ponemos en el origen D1 y D2
- MOVE.W #ORIY,D2
- HORIZONTALES
- MOVE.W D1,D3 *El otro extremo de las líneas en D3,D4
- MOVE.W D2,D4
- ADD.W #COLS*SIZE,D3 *En las líneas horizontales solo cambia la coordenada horizontal (D3)
- MOVE.L #DRAWLINE,D0
- TRAP #15
- ADD.W #SIZE,D2
- CMP.W #ORIY+SIZE*(ROWS+1),D2
- BNE HORIZONTALES
- MOVEM.L (A7)+,D0-D4
- RTS *********************************************************************
- * Put variables and constants here
- END START ; last line of source
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement