public String getDirect(String ADDR) {
         
         String DATA = "", BankNumber="";
         int OffSet=0;
         
         ADDR = (ADDR.length()!=11) ? String.format("%0"+ (11-ADDR.length())+ "d", 0)+ ADDR : ADDR;
         
         BankNumber = ADDR.substring(ADDR.length()-3, ADDR.length());
         OffSet = Integer.parseInt(ADDR.substring(0, ADDR.length()-3),2);
         
         switch (BankNumber) {
             case "000":
                 DATA = getDataFromBank(MEMORYBank0, OffSet);
                 break;
              case "001":
                 DATA = getDataFromBank(MEMORYBank1, OffSet);
                 break;
              case "010":
                 DATA = getDataFromBank(MEMORYBank2, OffSet);
                 break;
              case "011":
                 DATA = getDataFromBank(MEMORYBank3, OffSet);
                 break;     
              case "100":
                 DATA = getDataFromBank(MEMORYBank4, OffSet);
                 break;
              case "101":
                 DATA = getDataFromBank(MEMORYBank5, OffSet);
                 break;
              case "110":
                 DATA = getDataFromBank(MEMORYBank6, OffSet);
                 break;    
              case "111":
                 DATA = getDataFromBank(MEMORYBank7, OffSet);
                 break;
           }
             
         return DATA; 
    }