Para inicializar el mouse hay que hacer un .include "plantilla_lab2.s" al comienzo de prueba espero flanco ?
No.
Lo que tienen que hacer es leer la plantilla, entenderla y escribir el programa de ustedes en el lugar previsto para eso en la plantilla.
Pueden copiarla con otro nombre (prueba_partexx.s p. ej.) y trabajar sobre esa copia.
julio
Re: Inicialización del mouse
Ya que lo mencionaron, djnz wait_loop_10 no decrementa el registro B *solamente* cuando uno corre paso a paso en el debugger. Esto es provocado por un bug bastante específico en el debugger: para un salto del estilo "loop: djnz loop" (en otras palabras, un loop sin cuerpo), nunca se llega a ejecutar la instrucción y por tanto B no cambia. La mejor manera de evitar esto es poner un breakpoint más adelante, luego del djnz y evitar el stepping en ese caso.
Saludos,
leo.
Re: Inicialización del mouse
Probamos haciendo breakpoint luego del wait y en otros lugares pero no conseguimos salir del call mouse_init y que entre a nuestro programa de prueba.
;;; I/O ports suministrados
.equ LEDS, 0x84
.equ HEX0, 0x80
.equ HEX1, HEX0+1
.equ HEX2, HEX0+2
.equ HEX3, HEX0+3
;;; completar de acuerdo a lo solicitado en parte (b)
.equ PSDAT_I , 0x82
.equ PSCLK_I , 0x81
.equ PSDAT_O , 0x86
.equ PSCLK_O , 0x85
.equ CL_PSCLK , 0x87
;;; Aqui comienza el programa principal
.text
main:
;; inicializacion del stack
ld sp, 0
;; Inicializacion del raton
call mouse_init
;; a partir de aqu incluir el programa principal solicitado
Nuestro programa de prueba
;;; fin de programa principal
;;; subrutinas suministradas
.include "ps2-lib.s"
;;; otras subrutinas
.include "get_ps2.s"
.include "esperoflanco.s"
.include "pbcda7seg.s"
.include "binapbcd.s"
;;; Aqui se colocan las variables utilizadas por el programa
.data
tab_h7s:
; _gfedcba
db 11000000B ; 0
db 11111001B ; 1
db 10100100B ; 2
db 10110000B ; 3
db 10011001B ; 4
db 10010010B ; 5
db 10000010B ; 6
db 11111000B ; 7
db 10000000B ; 8
db 10010000B ; 9
.end
Re: Inicialización del mouse
Ya pudimos! Teníamos un error en el quartus