From 2a1c0925f8bddf53325d3b8c0baa5273662e9acf Mon Sep 17 00:00:00 2001
From: "Israel B. Sant'Anna" <ibsa14@inf.ufpr.br>
Date: Thu, 11 Jun 2015 14:01:00 -0300
Subject: [PATCH] Put sign on converted hexadecimals

Signed-off-by: Israel B. Sant'Anna <ibsa14@inf.ufpr.br>
---
 cMIPS/tests/uart.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/cMIPS/tests/uart.c b/cMIPS/tests/uart.c
index 850000b..05455d5 100644
--- a/cMIPS/tests/uart.c
+++ b/cMIPS/tests/uart.c
@@ -92,6 +92,8 @@ int main(){
                 }
                 c = getc();
             }
+            //If it's a negative hex make it a negative integer as well
+            n = 0x8000&n ? (int)(0x7FFF&n)-0x8000 : n;
             print(n);
             //while(!Putc(c)); // Wait till there's space on queue
         }
@@ -114,15 +116,12 @@ void initUd(){
 char getc(){
     char c;
     if(Ud.nrx > 0){
-        // print(1);
-        // print(Ud.nrx);
+        disableInterr();
         c = Ud.rx_q[Ud.rx_hd];
         Ud.rx_hd = (Ud.rx_hd+1)%16;
-        disableInterr();
         Ud.nrx--;
         enableInterr();
     }else{
-        //print(2);
         c = EOF;
     }
     return c;
@@ -136,9 +135,9 @@ int Putc(char c){
     }
 
     if(Ud.ntx > 0){
+        disableInterr();
         Ud.tx_q[Ud.tx_tl] = c;
         Ud.tx_tl = (Ud.tx_tl+1)%16;
-        disableInterr();
         Ud.ntx--;
         enableInterr();
         sent = 1;
-- 
GitLab