;------------------------------------------------------------
; Código assembler 
; Proyecto: Rutinas para Nextion
; Autor: Esteban Mariano Folcher Cividini
; Colaboración; KILLERJC de todopic
;		Pinonillo 16 de todopic
;	
; Fecha: 27/08/2018
; PIC: 16F877A
; Velocidad de reloj: 4 Mhz
;------------------------------------------------------------
PUERTO_TX	    EQU		6	;PIN DE TRANSMICION
PUERTO_RC	    EQU		7	;PINDE RECEPCION			
O_Text		    EQU	d'1'
O_Scrolling_Text    EQU d'2'
O_123_Number	    EQU	d'3'
O_Button	    EQU	d'4'	
O_Progress_Bar	    EQU	d'5'	
O_Picture	    EQU	d'6'	
O_Crop		    EQU	d'7'
O_Hotspot	    EQU	d'8'
O_Gauge		    EQU	d'9'
O_waveform	    EQU	d'10'
O_Sider		    EQU	d'11'
O_Timer		    EQU	d'12' 
O_Variavle	    EQU	d'13'
O_Dual_State_Button EQU	d'14'
O_Checkbox	    EQU	d'15'
O_Radio		    EQU	d'16'
O_QRcode	    EQU	d'17'
;-------------------------------------------------------------------------------
F_en		    EQU	d'1'
F_pw		    EQU	d'2'
F_fin		    EQU	d'3'
F_bco		    EQU	d'4'
F_pco		    EQU	d'5'
F_txt		    EQU	d'6'
F_dir		    EQU	d'7'
F_tim		    EQU	d'8'
F_dis		    EQU	d'9'
F_val		    EQU	d'10'
F_pic		    EQU	d'11' 
F_hig		    EQU	d'12'  
F_wid		    EQU	d'13'
F_gdc		    EQU	d'14'   
F_gdw		    EQU	d'15'
F_gdh		    EQU	d'16'
F_pco0		    EQU	d'17'
F_isbr		    EQU	d'18'
F_bco0		    EQU	d'19'
F_bco1		    EQU	d'20'
F_font		    EQU	d'21'
F_xcen		    EQU	d'22'
F_ycen		    EQU	d'23'
F_bco2		    EQU	d'24'
F_pco2		    EQU	d'25'
F_picc		    EQU	d'26'
F_maxval	    EQU	d'27'
F_minval	    EQU	d'28'
F_pic2		    EQU	d'29'
F_format	    EQU	d'30'
F_lenth		    EQU	d'31'
F_rest		    EQU	d'32'
F_picc2		    EQU	d'33'
F_bpic		    EQU	d'34'
F_ppic		    EQU	d'35'
F_tm		    EQU	d'36'
F_pco3		    EQU	d'37'
F_pco1		    EQU d'38'
F_add		    EQU	d'39'
;-------------------------------------------------------------------------------
S_igual			    EQU d'1'
S_punto			    EQU d'2'
S_comillas		    EQU d'3'
S_mas			    EQU	d'4'
S_menos			    EQU	d'5'
S_igual_comillas	    EQU	d'6'
S_mas_igual		    EQU	d'7'
S_menos_igual		    EQU	d'8'
S_mas_igual_comillas	    EQU	d'9'
S_menos_igual_comillas	    EQU	d'10'
S_igual_comillasX2	    EQU	d'11'
S_multiplica_igual	    EQU	d'12'
S_divide_igual		    EQU	d'13'
	   
		    CBLOCK 
		    Temporal_1
		    Temporal_2
		    Temporal_3
		    N_OBJETO
		    AUX_PCLATH
;-------------------Multiplica			
		    MULTI_DATO_1
		    MULTI_DATO_2
		    MULTI_8x8_BITS_L
		    MULTI_8x8_BITS_H
		    MULTI_T_1
		    MULTI_T_2
		    MULTI_T_5
		    MULTI_T_6
		    MULTI_T_9
		    MULTI_T_10
		    MULTI_T_11
		    MULTI_T_12
		    MULTI_T_13
;------------------ Objeto, Funcion, Simbolo			
		    ORIGEN_DATO_H
		    ORIGEN_DATO_L
;------------------ Administra_envia			
		    DATO_O_F_S
		    TEMP_DATO_H
		    TEMP_DATO_L
		    DATO_TABLA
;-------------------N_Objeto
		    NUM_OBJETO_UNI
		    NUM_OBJETO_DEC
		    NUM_OBJETO_CEN
		    AUX_OBJETO
;-------------------BIN_a_BCD_16
		    BIN_BCD_32_UNI
		    BIN_BCD_32_DEC
		    BIN_BCD_32_CEN
		    BIN_BCD_32_UNI_MIL
		    BIN_BCD_32_DEC_MIL
		    BIN_BCD_32_CEN_MIL
		    BIN_BCD_32_UNI_MILLON
		    BIN_BCD_32_DEC_MILLON
		    BIN_BCD_32_CEN_MILLON
		    BIN_BCD_32_UNI_BILLON
		    DIGI_0_1
		    DIGI_2_3
		    DIGI_4_5
		    DIGI_6_7
		    DIGI_8_9
		    DATO_HHH
		    DATO_HH
		    DATO_H
		    DATO_L
		    CONT_BITS
		    TEMP_BIN_BCD_32
;-------------------Prepara_Envia_Mensaje
		    MENSAJE_MEMORISA        
		    GUARDA_CARACTER
		    AUX_SALVA_MENSAJE
		    ENDC


;--------------------CONFIGURA COMUNICACION U USART-----------------------------
		   			
Configura_USART	    BSF	STATUS,RP0				
		    BCF	TRISC,PUERTO_TX	;PONE A (0) ESTE PIN COMO SALIDA 
		    BSF	TRISC,PUERTO_RC	;PONE A (1) ESTE PIN COMO ENTRADA
		    MOVLW   0x24		;TX HABILITADA, MODO ASINCRON0
		    MOVWF   TXSTA		;CON 8 BITS Y ALTA VELOCIDAD
		    MOVLW   0x0A		;SET BAUDIOS A 9600  0x19 
		    MOVWF   SPBRG		;CON Fosc = 4MHz
		    BCF	STATUS,RP0	;ENTRO EN BANCO 0
		    MOVLW   0x90		;AJUSTA RECEPTOR A 8 BITS, RECEPCION
		    MOVWF   RCSTA		;CONTINUA HABILITADA USART EN ON
		    RETURN			;RETORNA
Envia_USART	    BSF	STATUS,RP0
		    BCF	STATUS,RP1
		    BTFSS   TXSTA,TRMT
		    GOTO    Envia_USART
		    BCF	STATUS,RP0
		    MOVWF	TXREG
		    BCF	STATUS,RP0
		    BCF	STATUS,RP1
		    RETURN
Recibe_USART	    BCF	STATUS,RP0
		    BTFSS   PIR1,RCIF
		    GOTO    Recibe_USART
		    MOVF    RCREG,W
DATO		    BCF	PIR1,RCIF
		    BSF	STATUS,RP0
		    RETURN
;------------------ESTA RUTINA LE BYT A BYT EL MENSAJE Y LO ENVIA 
			
;Prepara_Envia_Mensaje	MOVF	AUX_SALVA_MENSAJE,W			
Envia_Mensaje		MOVWF	MENSAJE_MEMORISA   
Envia_Mensaje_1		MOVF	MENSAJE_MEMORISA,W
			CALL	Mensajes_Nextion
			MOVWF	GUARDA_CARACTER
			MOVF	GUARDA_CARACTER,F
			BTFSS	STATUS,Z
			GOTO	Envia_Mensaje_2
			RETURN	
Envia_Mensaje_2		CALL	Envia_USART
			INCF	MENSAJE_MEMORISA,F
			GOTO    Envia_Mensaje_1
;--------------------CRIBA DE CEROS PARA EL NUMERO DE OBJETO--------------------
;		    EN NEXTION EL NUMERO DE OBJETO NO PERMITE CEROS POR DELANTE
Numero_Objeto		MOVWF	AUX_OBJETO
			MOVLW	d'0'
			MOVWF	DATO_HHH
			MOVWF	DATO_HH
			MOVWF	DATO_H
			MOVF	AUX_OBJETO,W
			CALL	BIN_a_BCD32_L	    ;SOLO NOS INTERESA LA PARETE
			MOVF	BIN_BCD_32_CEN,W    ;BAJA	    
			SUBLW	d'0'
			BTFSS	STATUS,Z
			GOTO	Todo_UDC
			GOTO	Pregunta_Dec
Todo_UDC		MOVLW	d'48'
			ADDWF	BIN_BCD_32_UNI,F
			ADDWF	BIN_BCD_32_DEC,F
			ADDWF	BIN_BCD_32_CEN,F
			MOVF	BIN_BCD_32_UNI,W
			MOVWF	NUM_OBJETO_UNI
			MOVF	BIN_BCD_32_DEC,W
		    	MOVWF	NUM_OBJETO_DEC
			MOVF	BIN_BCD_32_CEN,W
			MOVWF	NUM_OBJETO_CEN
			BCF	STATUS,Z
			BCF	STATUS,C
			RETURN
Pregunta_Dec		MOVF	BIN_BCD_32_DEC,W	    
			SUBLW	d'0'
			BTFSS	STATUS,Z
			GOTO	Todo_UD
			GOTO	Solo_Uni
Todo_UD			MOVLW	d'48'
			ADDWF	BIN_BCD_32_UNI,F
			ADDWF	BIN_BCD_32_DEC,F
			MOVF	BIN_BCD_32_UNI,W
			MOVWF	NUM_OBJETO_UNI
			MOVF	BIN_BCD_32_DEC,W
			MOVWF	NUM_OBJETO_DEC
			MOVLW	d'0'
			MOVWF	NUM_OBJETO_CEN
			BCF	STATUS,Z
			BCF	STATUS,C
			RETURN
Solo_Uni		MOVLW	d'48'
			ADDWF	BIN_BCD_32_UNI,F
			MOVF	BIN_BCD_32_UNI,W
			MOVWF	NUM_OBJETO_UNI
			MOVLW	d'0'
			MOVWF	NUM_OBJETO_DEC
			MOVLW	d'0'
			MOVWF	NUM_OBJETO_CEN
			RETURN

Envia_Numero_Objeto	BCF	STATUS,RP0
			MOVF	NUM_OBJETO_CEN,W
			SUBLW	d'0'	
			BTFSS	STATUS,Z
			GOTO	Aux_Envia_1
Sigue_En_Nu_ob_2	MOVF	NUM_OBJETO_DEC,W
			SUBLW	d'0'	
			BTFSS	STATUS,Z
			GOTO	Aux_Envia_2
Sigue_En_Nu_ob_3	MOVF	NUM_OBJETO_UNI,W
			CALL	Envia_USART
			RETURN

Aux_Envia_1		MOVF	NUM_OBJETO_CEN,W
			CALL	Envia_USART
			GOTO	Sigue_En_Nu_ob_2
Aux_Envia_2		MOVF	NUM_OBJETO_DEC,W
			CALL	Envia_USART
			GOTO	Sigue_En_Nu_ob_3
;--------------------COMBERTIDOR DE BINARIO A BCD Y PASA A ASCII----------------

BIN_a_BCD32_HHH	    MOVWF   DATO_HHH
		    RETURN
BIN_a_BCD32_HH	    MOVWF   DATO_HH
		    RETURN
BIN_a_BCD32_H	    MOVWF   DATO_H
		    RETURN
BIN_a_BCD32_L	    MOVWF   DATO_L
BIN_a_BCD_32	    BSF	    STATUS,C
		    MOVLW   d'32'
		    MOVWF   CONT_BITS
		    CLRF    DIGI_0_1
		    CLRF    DIGI_2_3
		    CLRF    DIGI_4_5
		    CLRF    DIGI_6_7
		    CLRF    DIGI_8_9
Rota_Datos	    RLF	    DATO_L,F	    ;ROTAMOS A LA IZQUIERDA TODO EL CONTENIDO 
		    RLF	    DATO_H,F	    ;DE DATO, EN CADA ACARREO DEL BIT "C" SE DESPLAZA
		    RLF	    DATO_HH,F	    ;AL SIGIENTE REGISTRO
		    RLF	    DATO_HHH,F
		    RLF	    DIGI_0_1,F
		    RLF	    DIGI_2_3,F
		    RLF	    DIGI_4_5,F
		    RLF	    DIGI_6_7,F
		    RLF	    DIGI_8_9,F
		    DECFSZ  CONT_BITS,F	    ;DECREMENTAMOS EL CONTARO DE BITS ASTA QUE DE 
		    GOTO    Apuntador	    ;CERO. SI ES ASI TERMINAMOS LA CONVERCION
		    GOTO    Organiza_BCD
Apuntador	    MOVLW   DIGI_0_1	    ;PONGO EN EL PUNTERO FSR EL REGISTRO  
		    MOVWF   FSR		    ;LO QUE OPERE SOBRE INDF SERA SOBRE LA DIRECCION
		    CALL    Pregunta_Suma   ;APUNTADA EN FSR. EN ESTE CASO DIRECCION DONDE 
		    MOVLW   DIGI_2_3	    ;ESTA EL CONTENIDO DE DATO_X_X
		    MOVWF   FSR
		    CALL    Pregunta_Suma 
		    MOVLW   DIGI_4_5
		    MOVWF   FSR
		    CALL    Pregunta_Suma 
		    MOVLW   DIGI_6_7
		    MOVWF   FSR
		    CALL    Pregunta_Suma
		    MOVLW   DIGI_8_9
		    MOVWF   FSR
		    CALL    Pregunta_Suma 
		    GOTO    Rota_Datos
Pregunta_Suma	    MOVF    INDF,W
		    MOVLW   d'3'
		    ADDWF   INDF, w
		    MOVWF   TEMP_BIN_BCD_32
		    BTFSC   TEMP_BIN_BCD_32, 3
		    MOVWF   INDF
		    MOVLW   d'48'
		    ADDWF   INDF, w
		    MOVWF   TEMP_BIN_BCD_32
		    BTFSC   TEMP_BIN_BCD_32, 7
		    MOVWF   INDF
		    RETURN
Organiza_BCD	    MOVF    DIGI_0_1,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_UNI
		    SWAPF   DIGI_0_1,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_DEC
		    MOVF    DIGI_2_3,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_CEN
		    SWAPF   DIGI_2_3,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_UNI_MIL
		    MOVF    DIGI_4_5,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_DEC_MIL
		    SWAPF   DIGI_4_5,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_CEN_MIL
		    MOVF    DIGI_6_7,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_UNI_MILLON
		    SWAPF   DIGI_6_7,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_DEC_MILLON
		    MOVF    DIGI_8_9,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_CEN_MILLON
		    SWAPF   DIGI_8_9,W
		    ANDLW   d'15'
		    MOVWF   BIN_BCD_32_UNI_BILLON
		    RETURN
;--------------------BCD A ASCII------------------------------------------------
Envia_Variable_BDC	
			MOVF	BIN_BCD_32_UNI_BILLON,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_CEN_MILLON,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_DEC_MILLON,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_UNI_MILLON,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_CEN_MIL,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_DEC_MIL,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_UNI_MIL,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_CEN,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_DEC,W
			ADDLW	d'48'
			CALL	Envia_USART
			MOVF	BIN_BCD_32_UNI,W
			ADDLW	d'48'
			CALL	Envia_USART
			RETURN
			
;--------------------MULTIPLICA 8 BITS POR 8 BITS RESULTADO 16 BITS-------------			
			
Multiplicacion_1    MOVWF  MULTI_DATO_1
		    RETURN
Multiplicacion_2    MOVWF  MULTI_DATO_2	    
		    movf MULTI_DATO_1,W; 
		    btfsc STATUS,Z	    ; SI EL CONTENIDO DE COLUMNA ES 0 ATIVA FAG Z A 1 
		    goto Multiplica_da_0    ; PREGUNTA SI FLAG Z ES 0, SI SALTA NO CONTINUA 
paso5_d		    movf MULTI_DATO_2,W
		    btfsc STATUS,Z
		    goto Multiplica_da_0
paso5_c		    movf MULTI_DATO_1,W
		    movwf MULTI_T_1
		    clrf MULTI_T_2
		    movf MULTI_DATO_2,W
		    movwf MULTI_T_5
		    clrf MULTI_T_6
		    clrf MULTI_8x8_BITS_L
		    clrf MULTI_8x8_BITS_H
		    clrf MULTI_T_10
		    clrf MULTI_T_11
		    clrf MULTI_T_12
		    clrf MULTI_T_13
		    movlw .8
		    movwf MULTI_T_9
paso5_a		    btfss MULTI_T_5,0
		    goto paso5_b
		    movf MULTI_T_1,W
		    addwf MULTI_T_10,1
		    bcf STATUS,Z
		    btfsc STATUS,C
		    incf MULTI_T_11,1
		    movf MULTI_T_2,W
		    addwf MULTI_T_11,1
paso5_b		    bcf STATUS,C
		    rlf MULTI_T_1,1
		    rlf MULTI_T_2,1
		    bcf STATUS,C
		    btfsc MULTI_T_5,0
		    bsf STATUS,C
		    rrf MULTI_T_6,1
		    rrf MULTI_T_5,1
		    decfsz MULTI_T_9,1
		    goto paso5_a
		    movf MULTI_T_10,W
		    movwf MULTI_8x8_BITS_L
		    movf MULTI_T_11,W
		    movwf MULTI_8x8_BITS_H
		    goto paso5_s
Multiplica_da_0	    clrf MULTI_8x8_BITS_L
		    clrf MULTI_8x8_BITS_H
paso5_s		    return
;--------------------TRABAJAMOS SOBRE LA TABLA FUNCION--------------------------		    
Funcion		    MOVWF   DATO_O_F_S
		    MOVLW   HIGH    Tabla_Funcion
		    MOVWF   ORIGEN_DATO_H
		    MOVLW   LOW	    Tabla_Funcion
		    MOVWF   ORIGEN_DATO_L
		    CLRF    TEMP_DATO_H
		    CLRF    TEMP_DATO_L
		    MOVF    PCLATH,W		;--
		    MOVWF   AUX_PCLATH		;--
		    CALL    Administra_Tablas
		    MOVWF   DATO_TABLA		;--
		    MOVF    AUX_PCLATH,W	;--
		    MOVWF   PCLATH		;--
		    MOVF    DATO_TABLA,W	;--
		    CALL    Administra_envia
		    RETURN
;--------------------TRABAJAMOS SOBRE LA TABLA SIMBOLO--------------------------		    
Simbolo		    MOVWF   DATO_O_F_S
		    MOVLW   HIGH    Tabla_Operadores
		    MOVWF   ORIGEN_DATO_H
		    MOVLW   LOW	    Tabla_Operadores
		    MOVWF   ORIGEN_DATO_L
		    CLRF    TEMP_DATO_H
		    CLRF    TEMP_DATO_L
		    MOVF    PCLATH,W		;--
		    MOVWF   AUX_PCLATH		;--
		    CALL    Administra_Tablas
		    MOVWF   DATO_TABLA		;--
		    MOVF    AUX_PCLATH,W	;--
		    MOVWF   PCLATH		;--
		    MOVF    DATO_TABLA,W	;--
		    CALL    Administra_envia
		    RETURN
;-------------------TRABAJAMOS SOBRE LA TABLA OBJETO----------------------------
Objeto		    MOVWF   DATO_O_F_S
		    MOVLW   HIGH    Tabla_Objeto
		    MOVWF   ORIGEN_DATO_H
		    MOVLW   LOW	    Tabla_Objeto
		    MOVWF   ORIGEN_DATO_L
		    CLRF    TEMP_DATO_H
		    CLRF    TEMP_DATO_L
		    MOVF    PCLATH,W		;--
		    MOVWF   AUX_PCLATH		;--
		    CALL    Administra_Tablas
		    MOVWF   DATO_TABLA		;--
		    MOVF    AUX_PCLATH,W	;--
		    MOVWF   PCLATH		;--
		    MOVF    DATO_TABLA,W	;--
		    CALL    Administra_envia
		    RETURN
;-------------------------------------------------------------------------------		    
Administra_envia    CALL    Multiplicacion_1
		    MOVF    DATO_O_F_S,W
		    CALL    Multiplicacion_2
		    MOVF    MULTI_8x8_BITS_H,W  
		    MOVWF   TEMP_DATO_H
		    MOVF    MULTI_8x8_BITS_L,W  
		    MOVWF   TEMP_DATO_L
		    
Sigue_o_Fin	    MOVF    PCLATH,W		;--
		    MOVWF   AUX_PCLATH		;--
		    CALL    Administra_Tablas
		    MOVWF   DATO_TABLA
		    MOVF    AUX_PCLATH,W	;--
		    MOVWF   PCLATH		;--
		    MOVF    DATO_TABLA,W	    ;SI EL CONTENIDO DE 
		    BTFSC   STATUS,Z		    ;DATO_TABLA ES CERO (NO ASCII)
		    GOTO    Fin_Administra_Envia    ;CONTINUA POR GOTO FIN
		    CALL    Envia_USART		    ;ASI FINALIZO EL ENVIO
		    INCF    TEMP_DATO_L
		    GOTO    Sigue_o_Fin
Fin_Administra_Envia
		    RETURN
Administra_Tablas      
		    MOVF    ORIGEN_DATO_H,W
		    ADDWF   TEMP_DATO_H,W   
		    MOVWF   PCLATH
		    MOVF    ORIGEN_DATO_L,W
		    ADDWF   TEMP_DATO_L,W
		    BTFSC   STATUS,C
		    INCF    PCLATH,F
		    MOVWF   PCL
;-------------------------------------------------------------------------------
		    ORG 0X1900	
Tabla_Objeto	    DT	.3,.0,.0		;NUMERO DE COLUBMAS (MULTIPLICADOR)
	    	    DT  't',.0,.0		;OBJETO TEXTO
		    DT	'g',.0,.0
		    DT	'n',.0,.0
		    DT	'b',.0,.0
		    DT	'j',.0,.0
		    DT	'p',.0,.0
		    DT	'q',.0,.0
		    DT	'm',.0,.0
		    DT	'z',.0,.0
		    DT	's',.0,.0
		    DT	'h',.0,.0
		    DT	't','m',.0
		    DT	'v','a',.0
		    DT	'b','t',.0
		    DT	'c',.0,.0
		    DT	'r',.0,.0
		    DT	'q','r',.0

Tabla_Funcion	    DT	.7,.0,.0,.0,.0,.0,.0	;NUMERO DE COLUBMAS (MULTIPLICADOR)
		    DT	'e','n',.0,.0,.0,.0,.0
		    DT	'p','w',.0,.0,.0,.0,.0
		    DT	'˙','˙','˙',.0,.0,.0,.0
		    DT	'b','c','o',.0,.0,.0,.0
		    DT	'p','c','o',.0,.0,.0,.0
		    DT	't','x','t',.0,.0,.0,.0
		    DT	'd','i','r',.0,.0,.0,.0
		    DT	't','i','m',.0,.0,.0,.0
		    DT	'd','i','s',.0,.0,.0,.0
		    DT	'v','a','l',.0,.0,.0,.0
		    DT	'p','i','c',.0,.0,.0,.0
		    DT	'h','i','g',.0,.0,.0,.0
		    DT	'w','i','d',.0,.0,.0,.0
		    DT	'g','d','c',.0,.0,.0,.0
		    DT	'g','d','w',.0,.0,.0,.0
		    DT	'g','d','h',.0,.0,.0,.0
		    DT	'p','c','o','0',.0,.0,.0
		    DT	'i','s','b','r',.0,.0,.0
		    DT	'b','c','o','0',.0,.0,.0
		    DT	'b','c','o','1',.0,.0,.0
		    DT	'f','o','n','t',.0,.0,.0
		    DT	'x','c','e','n',.0,.0,.0
		    DT	'y','c','e','n',.0,.0,.0
		    DT	'b','c','o','2',.0,.0,.0
		    DT	'p','c','o','2',.0,.0,.0
		    DT	'p','i','c','c',.0,.0,.0
		    DT	'm','a','x','v','a','l',.0
		    DT	'm','i','n','v','o','l',.0
		    DT	'p','i','c','2',.0,.0,.0
		    DT	'f','o','r','m','a','t',.0
		    DT	'l','e','n','t','h',.0,.0
		    DT	'r','e','s','t',.0,.0,.0
		    DT	'p','i','c','c','2',.0,.0
		    DT	'b','p','i','c',.0,.0,.0
		    DT	'p','p','i','c',.0,.0,.0
		    DT	't','m',.0,.0,.0,.0,.0
		    DT	'p','c','o','3',.0,.0,.0
		    DT	'p','c','o','1',.0,.0,.0
		    DT	'a','d','d',.0,.0,.0,.0
		    
Tabla_Operadores    DT	.4,.0,.0,.0			;NUMERO DE COLUBMAS (MULTIPLICADOR)
		    DT	'=',.0,.0,.0
		    DT	'.',.0,.0,.0
		    DT	'"',.0,.0,.0
		    DT	'+',.0,.0,.0
		    DT	'-',.0,.0,.0
		    DT	'=','"',.0,.0
		    DT	'+','=',.0,.0
		    DT	'-','=',.0,.0
		    DT	'+','=','"',.0
		    DT	'-','=','"',.0
		    DT	'=','"','"',.0
		    DT	'*','=',.0,.0
		    DT	'/','=',.0,.0
		    
		    

			
			


	


			

	
			
			
			
			
			
