;Usando la subrutina anterior, escriba un programa que implemente el siguiente algoritmo:
;	HACER
;		MIENTRAS EL BOTÓN 0 (BTN0) NO ESTÉ PULSADO
;			NO HACER NADA
;		FIN MIENTRAS
;		R5<-NÚMERO CODIFICADO EN LOS SWITCHES
;		MIENTRAS EL BOTÓN 3 (BTN3) NO ESTÉ PULSADO
;			NO HACER NADA
;		FIN MIENTRAS
;		R6<-NÚMERO CODIFICADO EN LOS SWITCHES
;		R7<-R5*R6
;		MUESTRA R7 EN EL DISPLAY
;	POR SIEMPRE

; en la posición $81 están los 4 pulsadores
; - - - - x x x x
; en la posición $80 están los 8 switches
; x x x x x x x x
; en la posicion $82 van los dos digitos de la derecha del 7-seg
; en la posicionn $83 van los dos digitos de la izquierda del 7-seg

;boton 0, capturo el dato1
;boton 3, capturo el dato2
;boton 1, orden de multiplicar

;esperamos la pulsación del botón 0 (bit 0)

begin:	LDS R0,$81
	ROR R0		;Cy<-R0[0], si se ha pulsado el botón 0, entonces CY=1
	BRCS b0_pulsado
	JMP begin

;cuando se pulsa el boton 0, leo los switches y los cargo en R5

b0_pulsado: LDS R5,$80
	STS $82,R5	;visualizo en la derecha el primer numero

;esperamos la pulsación del botón 3 para leer el otro numero

espero_b3: LDS R0,$81
	ROR R0
	ROR R0
	ROR R0
	ROR R0	; despues de 4 desplazamientos, Cy<-R0[3] (=valor del boton 3)
	BRCS b3_pulsado 
	JMP espero_b3

;cuando se pulsa el boton 3, leo los switches y los cargo en R6

b3_pulsado: LDS R6,$80
	STS $83,R6	;visualizo en la izquierda el segundo numero

;esperamos la pulsación del botón 1, que la orden de multiplicar

espero_b1: LDS R0,$81
	ROR R0
	ROR R0	; despues de 2 desplazamientos, Cy<-R0[1] (=valor del boton 1), si se ha pulsado, CY=1
	BRCS multiplica
	JMP espero_b1

multiplica: CALL mult

;visualizo el resultado truncando en 8 bits
	STS $82,R7
	LDI R7,0
	STS $83,R7	;BORRO los digitos de la derecha
	JMP begin

mult:	LDI R7,0
bucle:	CPI R6,0
	BREQ fin_mult
	ADD R7,R5
	SUBI R6,1
	JMP bucle
fin_mult: RET

