diff --git a/cMIPS/include/handlers.s b/cMIPS/include/handlers.s
index b7ded01d682ddf8c4ed965f25f20fd837cb7cb8c..6779a5b2422ed838c083e3ab74a848a57d8c108c 100644
--- a/cMIPS/include/handlers.s
+++ b/cMIPS/include/handlers.s
@@ -2,7 +2,7 @@
 	.include "cMIPS.s"
 	.text
 	.set noreorder
-        .align 2
+    .align 2
 
 	.set M_StatusIEn,0x0000ff09     # STATUS.intEn=1, user mode
 	
@@ -73,17 +73,17 @@ extCounter:
 	.bss 
     .align  2
 	.set noreorder
-	.global rx_queue,rx_hd,rx_tl   # reception queue and pointers
-	.comm   rx_queue 16
-	.comm   rx_hd 4
-	.comm   rx_tl 4
-	.global tx_queue,tx_hd,tx_tl   # transmission queue and pointers
-	.comm   tx_queue 16
-	.comm   tx_hd 4
-	.comm   tx_tl 4
-	.global nrx,ntx
-	.comm   nrx 4                  # characters in RX_queue
-	.comm   ntx 4                  # spaces left in TX_queue
+	# .global rx_queue,rx_hd,rx_tl   # reception queue and pointers
+	# .comm   rx_queue 16
+	# .comm   rx_hd 4
+	# .comm   rx_tl 4
+	# .global tx_queue,tx_hd,tx_tl   # transmission queue and pointers
+	# .comm   tx_queue 16
+	# .comm   tx_hd 4
+	# .comm   tx_tl 4
+	# .global nrx,ntx
+	# .comm   nrx 4                  # characters in RX_queue
+	# .comm   ntx 4                  # spaces left in TX_queue
     .comm   _uart_buff 16*4        # up to 16 registers to be saved here
 
 	.set UART_rx_irq,0x08
diff --git a/cMIPS/tests/handlerUART.s b/cMIPS/tests/handlerUART.s
index 2b7bfa1aa102ce14e19c8ca1054dc9906cec56e3..be96b7922d802900cee5e330e1698db2d63daf48 100644
--- a/cMIPS/tests/handlerUART.s
+++ b/cMIPS/tests/handlerUART.s
@@ -1,5 +1,8 @@
     #--------------------------------------------------------------------------
     # interrupt handler for UART
+    #.set HW_uart_control,(x_IO_BASE_ADDR +  ? * x_IO_ADDR_RANGE)
+    .comm uart_control 56 #TODO setar endereço no MIPS p/ acessar no C
+
 RX:
     andi  $a0, $k1, UART_rx_irq # Is this reception?
     beq   $a0, $zero, TX        #   no, test if it's transmission
diff --git a/cMIPS/tests/uart.c b/cMIPS/tests/uart.c
index 3a586a64943a08fc4be5c387ce1d49043a8ce6c7..62d9287937e9b3125ba618b29c9ff2865b68ab4c 100644
--- a/cMIPS/tests/uart.c
+++ b/cMIPS/tests/uart.c
@@ -39,15 +39,26 @@ typedef struct serial {
   Tdata    d;            // TX & RX registers at address UART + 4
 } Tserial;
 
+typedef struct{
+  char rx_queue[16];
+  int rx_hd;
+  int rx_tl;
+  int nrx;               // characters in RX_queue
+  char tx_queue[16];
+  int tx_hd;
+  int tx_tl;
+  int ntx;               // spaces left in TX_queue
+} UartControl;
+
 int proberx(void);       // retorna nrx
 int probetx(void);       // retorna ntx
 int iostat(void);        // retorna inteiro com status no byte menos sign
 void ioctl(int);         // escreve byte menos sign no reg de controle
 char getc(void);         // retorna caractere na fila, decrementa nrx
-void putc(char);         // insere caractere na fila, decrementa ntx
+//void putc(char);         // insere caractere na fila, decrementa ntx
 int wrtc(char);          // escreve caractere diretamente em txreg
-int enableInterr(void);  // habilita interrupcoes, retorna STATUS
-int disableInterr(void); // desabilita interrupcoes, retorna STATUS
+
+extern UartControl uart_control;
 
 int main(void){
     int i;