Index: /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_lock.cpp
===================================================================
--- /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_lock.cpp	(revision 102)
+++ /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_lock.cpp	(revision 102)
@@ -0,0 +1,16 @@
+#include "../include/Cache_OneLevel.h"
+
+namespace environment {
+namespace cache {
+namespace cache_onelevel {
+
+  type_rsp_cache_t Cache_OneLevel::access_lock (uint32_t num_port, uint32_t address, uint32_t trdid)
+  {
+    std::cerr << "<" << name << ".{Cache_OneLevel}.access_lock> Not implemented" << std::endl;
+    exit (0);
+    return MISS;
+  }
+
+};
+};
+};
Index: /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_prefetch.cpp
===================================================================
--- /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_prefetch.cpp	(revision 102)
+++ /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_prefetch.cpp	(revision 102)
@@ -0,0 +1,14 @@
+#include "../include/Cache_OneLevel.h"
+
+namespace environment {
+namespace cache {
+namespace cache_onelevel {
+
+  type_rsp_cache_t Cache_OneLevel::access_prefetch (uint32_t num_port, uint32_t address, uint32_t trdid)
+  {
+    return access_cached (num_port,address,trdid,READ);
+  }
+
+};
+};
+};
Index: /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_synchronization.cpp
===================================================================
--- /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_synchronization.cpp	(revision 102)
+++ /trunk/IPs/systemC/Environment/Cache/src/Cache_OneLevel_access_synchronization.cpp	(revision 102)
@@ -0,0 +1,19 @@
+#include "../include/Cache_OneLevel.h"
+
+namespace environment {
+namespace cache {
+namespace cache_onelevel {
+
+  type_rsp_cache_t Cache_OneLevel::access_synchronization (uint32_t num_port, uint32_t address, uint32_t trdid)
+  {
+    access_port[num_port].valid   = false;
+    access_port[num_port].trdid   = trdid;
+    access_port[num_port].hit     = MISS;
+    access_port[num_port].latence = param->miss_penality;
+
+    return MISS;
+  }
+
+};
+};
+};
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_genMealy_decod_event.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_genMealy_decod_event.cpp	(revision 102)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Context_State/src/Context_State_genMealy_decod_event.cpp	(revision 102)
@@ -0,0 +1,64 @@
+#ifdef SYSTEMC
+/*
+ * $Id$
+ *
+ * [ Description ]
+ * 
+ */
+
+#include "Behavioural/Core/Multi_Front_end/Front_end/Context_State/include/Context_State.h"
+
+namespace morpheo                    {
+namespace behavioural {
+namespace core {
+namespace multi_front_end {
+namespace front_end {
+namespace context_state {
+
+
+#undef  FUNCTION
+#define FUNCTION "Context_State::genMealy_decod_event"
+  void Context_State::genMealy_decod_event (void)
+  {
+    log_begin(Context_State,FUNCTION);
+    log_function(Context_State,FUNCTION,_name.c_str());
+
+    for (uint32_t i=0; i<_param->_nb_decod_unit; i++)
+      {
+        Tcontrol_t ack = 1;
+        if (PORT_READ(in_DECOD_EVENT_VAL [i]))
+          {
+            Tcontext_t    context_id = (_param->_have_port_context_id)?PORT_READ(in_DECOD_EVENT_CONTEXT_ID [i]):0;
+            Tevent_type_t event_type = PORT_READ(in_DECOD_EVENT_TYPE [i]);
+            Tcounter_t    inst_all   = PORT_READ(in_NB_INST_COMMIT_ALL[context_id]) + PORT_READ(in_NB_INST_DECOD_ALL [context_id]);
+            Tcounter_t    inst_mem   = PORT_READ(in_NB_INST_COMMIT_MEM[context_id]) + PORT_READ(in_NB_INST_DECOD_ALL [context_id]);
+
+            switch (event_type)
+              {
+              case EVENT_TYPE_SPR_ACCESS         : ack = (inst_all == 0); break;
+              case EVENT_TYPE_MSYNC              : ack = (inst_mem == 0); break;
+              case EVENT_TYPE_PSYNC              : ack = (inst_all == 0); break;
+              case EVENT_TYPE_CSYNC              : ack = (inst_all == 0); break;
+//            case EVENT_TYPE_NONE               :
+//            case EVENT_TYPE_MISS_SPECULATION   :
+//            case EVENT_TYPE_EXCEPTION          :
+//            case EVENT_TYPE_BRANCH_NO_ACCURATE :
+              default : break; // ack == 1
+              }
+          }
+
+        internal_DECOD_EVENT_ACK [i] = ack;
+        PORT_WRITE(out_DECOD_EVENT_ACK [i], internal_DECOD_EVENT_ACK [i]);
+      }
+
+    log_end(Context_State,FUNCTION);
+  };
+
+}; // end namespace context_state
+}; // end namespace front_end
+}; // end namespace multi_front_end
+}; // end namespace core
+
+}; // end namespace behavioural
+}; // end namespace morpheo              
+#endif
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_ptr.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_ptr.cpp	(revision 102)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Queue_Control/src/Queue_Control_ptr.cpp	(revision 102)
@@ -0,0 +1,37 @@
+#include "Behavioural/Generic/Queue_Control/include/Queue_Control.h"
+
+namespace morpheo {
+namespace behavioural {
+namespace generic {
+namespace queue_control {
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::ptr_pop"
+  uint32_t Queue_Control::ptr_pop (uint32_t index)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    uint32_t _return = (*_tab)[index];
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return _return;
+  };
+
+#undef  FUNCTION
+#define FUNCTION "Queue_Control::ptr_push"
+  uint32_t Queue_Control::ptr_push (void)
+  {
+    log_printf(FUNC,Queue_Control,FUNCTION,"Begin");
+	
+    uint32_t _return = (*_tab)[_nb_elt];
+
+    log_printf(FUNC,Queue_Control,FUNCTION,"End");
+    
+    return _return;
+  };
+
+}; // end namespace queue_control
+}; // end namespace generic
+}; // end namespace behavioural
+}; // end namespace morpheo              
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h	(revision 101)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Version.h	(revision 102)
@@ -10,5 +10,5 @@
 #define MORPHEO_MAJOR_VERSION 0
 #define MORPHEO_MINOR_VERSION 2
-#define MORPHEO_REVISION      "101"
+#define MORPHEO_REVISION      "102"
 #define MORPHEO_CODENAME      "Castor"
 
Index: /trunk/IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg	(revision 102)
+++ /trunk/IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg	(revision 102)
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<core name="Instance_min">
+
+  <thread id="0">             
+    <parameter name="size_ifetch_queue"                     value="1" />
+    <parameter name="nb_inst_fetch"                         value="2" />
+    <parameter name="ras_size_queue"                        value="2" />
+    <parameter name="upt_size_queue"                        value="1" />
+    <parameter name="ufpt_size_queue"                       value="1" />
+
+    <group id="0">
+      <parameter name="implement_group"                     value="1" />
+    </group>
+  </thread>                                                 
+                                                            
+  <decod_bloc id="0">                                       
+    <parameter name="size_decod_queue"                      value="1" />
+    <parameter name="nb_inst_decod"                         value="1" />
+    <parameter name="nb_context_select"                     value="1" />
+    <parameter name="context_select_priority"               value="1" />
+    <parameter name="context_select_load_balancing"         value="1" />
+  </decod_bloc>                                             
+                                                            
+  <rename_bloc id="0">                                      
+    <parameter name="nb_inst_insert"                        value="1" />
+    <parameter name="nb_inst_retire"                        value="1" />
+    <parameter name="rename_select_priority"                value="1" />
+    <parameter name="rename_select_load_balancing"          value="1" />
+    <parameter name="rename_select_nb_front_end_select"     value="1" />
+    <parameter name="nb_general_register"                   value="64"/>
+    <parameter name="nb_special_register"                   value="4" />
+    <parameter name="nb_reg_free"                           value="1" />
+    <parameter name="nb_rename_unit_bank"                   value="1" />
+    <parameter name="size_read_counter"                     value="1" />
+  </rename_bloc>                                            
+                                                            
+  <read_bloc id="0">                                        
+    <parameter name="size_read_queue"                       value="1" />
+    <parameter name="size_reservation_station"              value="1" />
+    <parameter name="nb_inst_retire_reservation_station"    value="1" />
+  </read_bloc>                                              
+                                                            
+  <write_bloc id="0">                                       
+    <parameter name="size_write_queue"                      value="1" />
+    <parameter name="size_execute_queue"                    value="1" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+                                                            
+  <load_store_unit id="0">                                  
+    <parameter name="size_store_queue"                      value="2" />
+    <parameter name="size_load_queue"                       value="1" />
+    <parameter name="size_speculative_access_queue"         value="1" />
+    <parameter name="nb_port_check"                         value="1" />
+    <parameter name="speculative_load"                      value="2" />
+    <parameter name="nb_bypass_memory"                      value="0" />
+    <parameter name="nb_cache_port"                         value="1" />
+    <parameter name="nb_inst_memory"                        value="1" />
+  </load_store_unit>
+
+  <functionnal_unit id="0">
+    <parameter name="nb_inst_functionnal_unit" value="1" />
+
+    <timing type="0" latence="1" delay="1" />
+  </functionnal_unit>
+
+  <front_end id="0">        
+    <parameter name="nb_decod_unit"                         value="1" />
+    <parameter name="nb_inst_branch_predict"                value="1" />
+    <parameter name="nb_inst_branch_decod"                  value="1" />
+    <parameter name="nb_inst_branch_update"                 value="1" />
+    <parameter name="btb_size_queue"                        value="1" />
+    <parameter name="btb_associativity"                     value="1" />
+    <parameter name="btb_size_counter"                      value="2" />
+    <parameter name="btb_victim_scheme"                     value="1" />
+    <parameter name="dir_predictor_scheme"                  value="1" />
+                                                            
+    <predictor id="0">                                      
+      <parameter name="dir_have_bht"                        value="1" />
+      <parameter name="dir_bht_size_shifter"                value="1" />
+      <parameter name="dir_bht_nb_shifter"                  value="1" />
+      <parameter name="dir_have_pht"                        value="1" />
+      <parameter name="dir_pht_size_counter"                value="1" />
+      <parameter name="dir_pht_nb_counter"                  value="1" />
+      <parameter name="dir_pht_size_address_share"          value="1" />
+    </predictor>                                            
+                                                            
+    <predictor id="1">                                      
+      <parameter name="dir_have_bht"                        value="1" />
+      <parameter name="dir_bht_size_shifter"                value="1" />
+      <parameter name="dir_bht_nb_shifter"                  value="1" />
+      <parameter name="dir_have_pht"                        value="1" />
+      <parameter name="dir_pht_size_counter"                value="1" />
+      <parameter name="dir_pht_nb_counter"                  value="1" />
+      <parameter name="dir_pht_size_address_share"          value="1" />
+    </predictor>                                            
+                                                            
+    <predictor id="2">                                      
+      <parameter name="dir_have_bht"                        value="1" />
+      <parameter name="dir_bht_size_shifter"                value="1" />
+      <parameter name="dir_bht_nb_shifter"                  value="1" />
+      <parameter name="dir_have_pht"                        value="1" />
+      <parameter name="dir_pht_size_counter"                value="1" />
+      <parameter name="dir_pht_nb_counter"                  value="1" />
+      <parameter name="dir_pht_size_address_share"          value="1" />
+    </predictor>
+  </front_end>
+
+  <ooo_engine id="0">
+    <parameter name="nb_rename_unit"                        value="1" />
+    <parameter name="nb_inst_issue"                         value="1" />
+    <parameter name="nb_inst_reexecute"                     value="1" />
+    <parameter name="nb_inst_commit"                        value="1" />
+    <parameter name="nb_inst_branch_complete"               value="1" />
+    <parameter name="nb_rename_unit_select"                 value="1" />
+    <parameter name="nb_execute_loop_select"                value="1" />
+    <parameter name="size_re_order_buffer"                  value="1" />
+    <parameter name="nb_re_order_buffer_bank"               value="1" />
+    <parameter name="commit_priority"                       value="1" />
+    <parameter name="commit_load_balancing"                 value="1" />
+    <parameter name="size_issue_queue"                      value="1" />
+    <parameter name="nb_issue_queue_bank"                   value="1" />
+    <parameter name="issue_priority"                        value="1" />
+    <parameter name="issue_load_balancing"                  value="1" />
+    <parameter name="size_reexecute_queue"                  value="1" />
+    <parameter name="reexecute_priority"                    value="1" />
+    <parameter name="reexecute_load_balancing"              value="1" />
+  </ooo_engine>
+
+  <execute_loop id="0">
+    <parameter name="nb_read_unit"                          value="1" />
+    <parameter name="nb_write_unit"                         value="1" />
+    <parameter name="nb_gpr_bank"                           value="1" />
+    <parameter name="nb_gpr_port_read_by_bank"              value="1" />
+    <parameter name="nb_gpr_port_write_by_bank"             value="1" />
+    <parameter name="nb_spr_bank"                           value="1" />
+    <parameter name="nb_spr_port_read_by_bank"              value="1" />
+    <parameter name="nb_spr_port_write_by_bank"             value="1" />
+    <parameter name="execution_unit_to_write_unit_priority" value="1" />
+    <parameter name="read_unit_to_execution_unit_priority"  value="1" />
+
+    <execute_unit id="1">
+      <link name="link_execute_unit_with_load_store_unit"   src="0"/>
+    </execute_unit>
+    <execute_unit id="0">
+      <link name="link_execute_unit_with_functionnal_unit"  src="0"/>
+    </execute_unit>
+
+  </execute_loop>
+
+  <parameter name="size_data"                               value="32" />
+                                                            
+  <parameter name="dispatch_priority"                       value="1" />
+  <parameter name="dispatch_load_balancing"                 value="1" />
+                                                            
+  <parameter name="nb_icache_port"                          value="1" />
+  <parameter name="icache_port_priority"                    value="1" />
+  <parameter name="icache_port_load_balancing"              value="1" />
+                                                            
+  <parameter name="nb_dcache_port"                          value="1" />
+  <parameter name="dcache_port_priority"                    value="1" />
+  <parameter name="dcache_port_load_balancing"              value="1" />
+
+  <link name="link_decod_unit_with_decod_bloc"         src="0"     dest="0.0" />
+  <link name="link_rename_unit_with_rename_bloc"       src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="0"     dest="0.0" />
+  <link name="link_write_unit_with_write_bloc"         src="0"     dest="0.0" />
+  <link name="link_decod_bloc_with_thread"             src="0"     dest="0"   />
+  <link name="link_rename_bloc_with_front_end"         src="0"     dest="0"   />
+  <link name="link_load_store_unit_with_thread"        src="0"     dest="0"   />
+
+  <link name="link_icache_port_with_thread"            src="0"     dest="0"   />
+  <link name="link_dcache_port_with_load_store_unit"   src="0.0"   dest="0"   />
+
+  <link name="table_dispatch"                          src="0.0.0" dest="1"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="0.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="0.0"   dest="1"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="0.0"   dest="1"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="0.0"   dest="1"   />
+  <link name="link_thread_and_functionnal_unit"        src="0.0"   dest="1"   />
+
+</core>
Index: /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w1_3.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w1_3.cfg	(revision 102)
+++ /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w1_3.cfg	(revision 102)
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<core name="Instance_scalar_2">
+
+  <thread id="0">             
+    <parameter name="size_ifetch_queue"                     value="8" />
+    <parameter name="nb_inst_fetch"                         value="1" />
+    <parameter name="ras_size_queue"                        value="8" />
+    <parameter name="upt_size_queue"                        value="4" />
+    <parameter name="ufpt_size_queue"                       value="2" />
+
+    <group id="0">
+      <parameter name="implement_group"                     value="1" />
+    </group>
+  </thread>                                                 
+                                                            
+  <decod_bloc id="0">                                       
+    <parameter name="size_decod_queue"                      value="4" />
+    <parameter name="nb_inst_decod"                         value="1" />
+    <parameter name="nb_context_select"                     value="1" />
+    <parameter name="context_select_priority"               value="1" />
+    <parameter name="context_select_load_balancing"         value="1" />
+  </decod_bloc>                                             
+                                                            
+  <rename_bloc id="0">                                      
+    <parameter name="nb_inst_insert"                        value="1" />
+    <parameter name="nb_inst_retire"                        value="1" />
+    <parameter name="rename_select_priority"                value="1" />
+    <parameter name="rename_select_load_balancing"          value="1" />
+    <parameter name="rename_select_nb_front_end_select"     value="1" />
+    <parameter name="nb_general_register"                   value="64"/>
+    <parameter name="nb_special_register"                   value="4" />
+    <parameter name="nb_reg_free"                           value="1" />
+    <parameter name="nb_rename_unit_bank"                   value="1" />
+    <parameter name="size_read_counter"                     value="1" />
+  </rename_bloc>                                            
+                                                            
+  <read_bloc id="0">                                        
+    <parameter name="size_read_queue"                       value="4" />
+    <parameter name="size_reservation_station"              value="4" />
+    <parameter name="nb_inst_retire_reservation_station"    value="1" />
+  </read_bloc>                                              
+
+  <read_bloc id="1">                                        
+    <parameter name="size_read_queue"                       value="4" />
+    <parameter name="size_reservation_station"              value="4" />
+    <parameter name="nb_inst_retire_reservation_station"    value="1" />
+  </read_bloc>                                              
+                                                            
+  <write_bloc id="0">                                       
+    <parameter name="size_write_queue"                      value="4" />
+    <parameter name="size_execute_queue"                    value="4" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+
+  <write_bloc id="1">                                       
+    <parameter name="size_write_queue"                      value="4" />
+    <parameter name="size_execute_queue"                    value="4" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+                                                            
+  <load_store_unit id="0">                                  
+    <parameter name="size_store_queue"                      value="4" />
+    <parameter name="size_load_queue"                       value="4" />
+    <parameter name="size_speculative_access_queue"         value="4" />
+    <parameter name="nb_port_check"                         value="1" />
+    <parameter name="speculative_load"                      value="2" />
+    <parameter name="nb_bypass_memory"                      value="0" />
+    <parameter name="nb_cache_port"                         value="1" />
+    <parameter name="nb_inst_memory"                        value="1" />
+  </load_store_unit>
+
+  <functionnal_unit id="0">
+    <parameter name="nb_inst_functionnal_unit" value="1" />
+
+    <timing type="0" latence="1" delay="1" />
+  </functionnal_unit>
+
+  <front_end id="0">        
+    <parameter name="nb_decod_unit"                         value="1" />
+    <parameter name="nb_inst_branch_predict"                value="1" />
+    <parameter name="nb_inst_branch_decod"                  value="1" />
+    <parameter name="nb_inst_branch_update"                 value="1" />
+    <parameter name="btb_size_queue"                        value="32"/>
+    <parameter name="btb_associativity"                     value="1" />
+    <parameter name="btb_size_counter"                      value="2" />
+    <parameter name="btb_victim_scheme"                     value="3" />
+    <parameter name="dir_predictor_scheme"                  value="1" />
+  </front_end>
+
+  <ooo_engine id="0">
+    <parameter name="nb_rename_unit"                        value="1" />
+    <parameter name="nb_inst_issue"                         value="1" />
+    <parameter name="nb_inst_reexecute"                     value="1" />
+    <parameter name="nb_inst_commit"                        value="1" />
+    <parameter name="nb_inst_branch_complete"               value="1" />
+    <parameter name="nb_rename_unit_select"                 value="1" />
+    <parameter name="nb_execute_loop_select"                value="1" />
+    <parameter name="size_re_order_buffer"                  value="32"/>
+    <parameter name="nb_re_order_buffer_bank"               value="2" />
+    <parameter name="commit_priority"                       value="1" />
+    <parameter name="commit_load_balancing"                 value="1" />
+    <parameter name="size_issue_queue"                      value="8" />
+    <parameter name="nb_issue_queue_bank"                   value="2" />
+    <parameter name="issue_priority"                        value="1" />
+    <parameter name="issue_load_balancing"                  value="1" />
+    <parameter name="size_reexecute_queue"                  value="4" />
+    <parameter name="reexecute_priority"                    value="1" />
+    <parameter name="reexecute_load_balancing"              value="1" />
+  </ooo_engine>
+
+  <execute_loop id="0">
+    <parameter name="nb_read_unit"                          value="1" />
+    <parameter name="nb_write_unit"                         value="1" />
+    <parameter name="nb_gpr_bank"                           value="2" />
+    <parameter name="nb_gpr_port_read_by_bank"              value="1" />
+    <parameter name="nb_gpr_port_write_by_bank"             value="1" />
+    <parameter name="nb_spr_bank"                           value="2" />
+    <parameter name="nb_spr_port_read_by_bank"              value="1" />
+    <parameter name="nb_spr_port_write_by_bank"             value="1" />
+    <parameter name="execution_unit_to_write_unit_priority" value="1" />
+    <parameter name="read_unit_to_execution_unit_priority"  value="1" />
+
+    <execute_unit id="1">
+      <link name="link_execute_unit_with_load_store_unit"   src="0"/>
+    </execute_unit>
+    <execute_unit id="0">
+      <link name="link_execute_unit_with_functionnal_unit"  src="0"/>
+    </execute_unit>
+
+  </execute_loop>
+
+  <parameter name="size_data"                               value="32" />
+                                                            
+  <parameter name="dispatch_priority"                       value="1" />
+  <parameter name="dispatch_load_balancing"                 value="1" />
+                                                            
+  <parameter name="nb_icache_port"                          value="1" />
+  <parameter name="icache_port_priority"                    value="1" />
+  <parameter name="icache_port_load_balancing"              value="1" />
+                                                            
+  <parameter name="nb_dcache_port"                          value="1" />
+  <parameter name="dcache_port_priority"                    value="1" />
+  <parameter name="dcache_port_load_balancing"              value="1" />
+
+  <link name="link_decod_unit_with_decod_bloc"         src="0"     dest="0.0" />
+  <link name="link_rename_unit_with_rename_bloc"       src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="1"     dest="0.1" />
+  <link name="link_write_unit_with_write_bloc"         src="0"     dest="0.0" />
+  <link name="link_write_unit_with_write_bloc"         src="1"     dest="0.1" />
+  <link name="link_decod_bloc_with_thread"             src="0"     dest="0"   />
+  <link name="link_rename_bloc_with_front_end"         src="0"     dest="0"   />
+  <link name="link_load_store_unit_with_thread"        src="0"     dest="0"   />
+
+  <link name="link_icache_port_with_thread"            src="0"     dest="0"   />
+  <link name="link_dcache_port_with_load_store_unit"   src="0.0"   dest="0"   />
+
+  <link name="table_dispatch"                          src="0.0.0" dest="1"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="0.0"   dest="0"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="1.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="0.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="1.0"   dest="0"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="0.0"   dest="0"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="1.0"   dest="1"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="0.0"   dest="0"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="1.0"   dest="1"   />
+  <link name="link_thread_and_functionnal_unit"        src="0.0"   dest="1"   />
+
+</core>
Index: /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w1_4.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w1_4.cfg	(revision 102)
+++ /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w1_4.cfg	(revision 102)
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<core name="Instance_scalar_2">
+
+  <thread id="0">             
+    <parameter name="size_ifetch_queue"                     value="8" />
+    <parameter name="nb_inst_fetch"                         value="1" />
+    <parameter name="ras_size_queue"                        value="8" />
+    <parameter name="upt_size_queue"                        value="4" />
+    <parameter name="ufpt_size_queue"                       value="2" />
+
+    <group id="0">
+      <parameter name="implement_group"                     value="1" />
+    </group>
+  </thread>                                                 
+                                                            
+  <decod_bloc id="0">                                       
+    <parameter name="size_decod_queue"                      value="4" />
+    <parameter name="nb_inst_decod"                         value="1" />
+    <parameter name="nb_context_select"                     value="1" />
+    <parameter name="context_select_priority"               value="1" />
+    <parameter name="context_select_load_balancing"         value="1" />
+  </decod_bloc>                                             
+                                                            
+  <rename_bloc id="0">                                      
+    <parameter name="nb_inst_insert"                        value="1" />
+    <parameter name="nb_inst_retire"                        value="1" />
+    <parameter name="rename_select_priority"                value="1" />
+    <parameter name="rename_select_load_balancing"          value="1" />
+    <parameter name="rename_select_nb_front_end_select"     value="1" />
+    <parameter name="nb_general_register"                   value="64"/>
+    <parameter name="nb_special_register"                   value="4" />
+    <parameter name="nb_reg_free"                           value="1" />
+    <parameter name="nb_rename_unit_bank"                   value="1" />
+    <parameter name="size_read_counter"                     value="1" />
+  </rename_bloc>                                            
+                                                            
+  <read_bloc id="0">                                        
+    <parameter name="size_read_queue"                       value="4" />
+    <parameter name="size_reservation_station"              value="4" />
+    <parameter name="nb_inst_retire_reservation_station"    value="1" />
+  </read_bloc>                                              
+
+  <read_bloc id="1">                                        
+    <parameter name="size_read_queue"                       value="4" />
+    <parameter name="size_reservation_station"              value="4" />
+    <parameter name="nb_inst_retire_reservation_station"    value="1" />
+  </read_bloc>                                              
+                                                            
+  <write_bloc id="0">                                       
+    <parameter name="size_write_queue"                      value="4" />
+    <parameter name="size_execute_queue"                    value="4" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+
+  <write_bloc id="1">                                       
+    <parameter name="size_write_queue"                      value="4" />
+    <parameter name="size_execute_queue"                    value="4" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+                                                            
+  <load_store_unit id="0">                                  
+    <parameter name="size_store_queue"                      value="4" />
+    <parameter name="size_load_queue"                       value="4" />
+    <parameter name="size_speculative_access_queue"         value="4" />
+    <parameter name="nb_port_check"                         value="1" />
+    <parameter name="speculative_load"                      value="2" />
+    <parameter name="nb_bypass_memory"                      value="0" />
+    <parameter name="nb_cache_port"                         value="1" />
+    <parameter name="nb_inst_memory"                        value="1" />
+  </load_store_unit>
+
+  <functionnal_unit id="0">
+    <parameter name="nb_inst_functionnal_unit" value="1" />
+  </functionnal_unit>
+
+  <functionnal_unit id="1">
+    <parameter name="nb_inst_functionnal_unit" value="1" />
+  </functionnal_unit>
+
+  <front_end id="0">        
+    <parameter name="nb_decod_unit"                         value="1" />
+    <parameter name="nb_inst_branch_predict"                value="1" />
+    <parameter name="nb_inst_branch_decod"                  value="1" />
+    <parameter name="nb_inst_branch_update"                 value="1" />
+    <parameter name="btb_size_queue"                        value="32"/>
+    <parameter name="btb_associativity"                     value="1" />
+    <parameter name="btb_size_counter"                      value="2" />
+    <parameter name="btb_victim_scheme"                     value="3" />
+    <parameter name="dir_predictor_scheme"                  value="1" />
+  </front_end>
+
+  <ooo_engine id="0">
+    <parameter name="nb_rename_unit"                        value="1" />
+    <parameter name="nb_inst_issue"                         value="1" />
+    <parameter name="nb_inst_reexecute"                     value="1" />
+    <parameter name="nb_inst_commit"                        value="1" />
+    <parameter name="nb_inst_branch_complete"               value="1" />
+    <parameter name="nb_rename_unit_select"                 value="1" />
+    <parameter name="nb_execute_loop_select"                value="1" />
+    <parameter name="size_re_order_buffer"                  value="32"/>
+    <parameter name="nb_re_order_buffer_bank"               value="2" />
+    <parameter name="commit_priority"                       value="1" />
+    <parameter name="commit_load_balancing"                 value="1" />
+    <parameter name="size_issue_queue"                      value="8" />
+    <parameter name="nb_issue_queue_bank"                   value="2" />
+    <parameter name="issue_priority"                        value="1" />
+    <parameter name="issue_load_balancing"                  value="1" />
+    <parameter name="size_reexecute_queue"                  value="4" />
+    <parameter name="reexecute_priority"                    value="1" />
+    <parameter name="reexecute_load_balancing"              value="1" />
+  </ooo_engine>
+
+  <execute_loop id="0">
+    <parameter name="nb_read_unit"                          value="1" />
+    <parameter name="nb_write_unit"                         value="1" />
+    <parameter name="nb_gpr_bank"                           value="2" />
+    <parameter name="nb_gpr_port_read_by_bank"              value="1" />
+    <parameter name="nb_gpr_port_write_by_bank"             value="1" />
+    <parameter name="nb_spr_bank"                           value="2" />
+    <parameter name="nb_spr_port_read_by_bank"              value="1" />
+    <parameter name="nb_spr_port_write_by_bank"             value="1" />
+    <parameter name="execution_unit_to_write_unit_priority" value="1" />
+    <parameter name="read_unit_to_execution_unit_priority"  value="1" />
+
+    <execute_unit id="0">
+      <link name="link_execute_unit_with_functionnal_unit"  src="0"/>
+    </execute_unit>
+    <execute_unit id="1">
+      <link name="link_execute_unit_with_functionnal_unit"  src="1"/>
+    </execute_unit>
+    <execute_unit id="2">
+      <link name="link_execute_unit_with_load_store_unit"   src="0"/>
+    </execute_unit>
+
+  </execute_loop>
+
+  <parameter name="size_data"                               value="32" />
+                                                            
+  <parameter name="dispatch_priority"                       value="1" />
+  <parameter name="dispatch_load_balancing"                 value="1" />
+                                                            
+  <parameter name="nb_icache_port"                          value="1" />
+  <parameter name="icache_port_priority"                    value="1" />
+  <parameter name="icache_port_load_balancing"              value="1" />
+                                                            
+  <parameter name="nb_dcache_port"                          value="1" />
+  <parameter name="dcache_port_priority"                    value="1" />
+  <parameter name="dcache_port_load_balancing"              value="1" />
+
+  <link name="link_decod_unit_with_decod_bloc"         src="0"     dest="0.0" />
+  <link name="link_rename_unit_with_rename_bloc"       src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="1"     dest="0.1" />
+  <link name="link_write_unit_with_write_bloc"         src="0"     dest="0.0" />
+  <link name="link_write_unit_with_write_bloc"         src="1"     dest="0.1" />
+  <link name="link_decod_bloc_with_thread"             src="0"     dest="0"   />
+  <link name="link_rename_bloc_with_front_end"         src="0"     dest="0"   />
+  <link name="link_load_store_unit_with_thread"        src="0"     dest="0"   />
+
+  <link name="link_icache_port_with_thread"            src="0"     dest="0"   />
+  <link name="link_dcache_port_with_load_store_unit"   src="0.0"   dest="0"   />
+
+  <link name="table_dispatch"                          src="0.0.0" dest="1"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="0.0"   dest="0"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="1.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="0.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="0.1"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="1.0"   dest="0"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="1.1"   dest="0"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="0.0"   dest="0"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="1.0"   dest="1"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="0.0"   dest="0"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="0.1"   dest="0"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="1.0"   dest="1"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="1.1"   dest="1"   />
+  <link name="link_thread_and_functionnal_unit"        src="0.0"   dest="1"   />
+
+</core>
Index: /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w2_1.cfg
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w2_1.cfg	(revision 102)
+++ /trunk/IPs/systemC/processor/Morpheo/Files/Instance_w2_1.cfg	(revision 102)
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<core name="Instance_scalar_2">
+
+  <thread id="0">             
+    <parameter name="size_ifetch_queue"                     value="8" />
+    <parameter name="nb_inst_fetch"                         value="2" />
+    <parameter name="ras_size_queue"                        value="8" />
+    <parameter name="upt_size_queue"                        value="4" />
+    <parameter name="ufpt_size_queue"                       value="2" />
+
+    <group id="0">
+      <parameter name="implement_group"                     value="1" />
+    </group>
+  </thread>                                                 
+                                                            
+  <decod_bloc id="0">                                       
+    <parameter name="size_decod_queue"                      value="4" />
+    <parameter name="nb_inst_decod"                         value="2" />
+    <parameter name="nb_context_select"                     value="1" />
+    <parameter name="context_select_priority"               value="1" />
+    <parameter name="context_select_load_balancing"         value="1" />
+  </decod_bloc>                                             
+                                                            
+  <rename_bloc id="0">                                      
+    <parameter name="nb_inst_insert"                        value="2" />
+    <parameter name="nb_inst_retire"                        value="2" />
+    <parameter name="rename_select_priority"                value="1" />
+    <parameter name="rename_select_load_balancing"          value="1" />
+    <parameter name="rename_select_nb_front_end_select"     value="1" />
+    <parameter name="nb_general_register"                   value="64"/>
+    <parameter name="nb_special_register"                   value="4" />
+    <parameter name="nb_reg_free"                           value="1" />
+    <parameter name="nb_rename_unit_bank"                   value="1" />
+    <parameter name="size_read_counter"                     value="1" />
+  </rename_bloc>                                            
+                                                            
+  <read_bloc id="0">                                        
+    <parameter name="size_read_queue"                       value="4" />
+    <parameter name="size_reservation_station"              value="4" />
+    <parameter name="nb_inst_retire_reservation_station"    value="2" />
+  </read_bloc>                                              
+
+  <read_bloc id="1">                                        
+    <parameter name="size_read_queue"                       value="4" />
+    <parameter name="size_reservation_station"              value="4" />
+    <parameter name="nb_inst_retire_reservation_station"    value="2" />
+  </read_bloc>                                              
+                                                            
+  <write_bloc id="0">                                       
+    <parameter name="size_write_queue"                      value="4" />
+    <parameter name="size_execute_queue"                    value="4" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+
+  <write_bloc id="1">                                       
+    <parameter name="size_write_queue"                      value="4" />
+    <parameter name="size_execute_queue"                    value="4" />
+    <parameter name="nb_bypass_write"                       value="0" />
+  </write_bloc>                                             
+                                                            
+  <load_store_unit id="0">                                  
+    <parameter name="size_store_queue"                      value="4" />
+    <parameter name="size_load_queue"                       value="4" />
+    <parameter name="size_speculative_access_queue"         value="4" />
+    <parameter name="nb_port_check"                         value="1" />
+    <parameter name="speculative_load"                      value="2" />
+    <parameter name="nb_bypass_memory"                      value="0" />
+    <parameter name="nb_cache_port"                         value="1" />
+    <parameter name="nb_inst_memory"                        value="1" />
+  </load_store_unit>
+
+  <functionnal_unit id="0">
+    <parameter name="nb_inst_functionnal_unit" value="1" />
+  </functionnal_unit>
+
+  <functionnal_unit id="1">
+    <parameter name="nb_inst_functionnal_unit" value="1" />
+  </functionnal_unit>
+
+  <front_end id="0">        
+    <parameter name="nb_decod_unit"                         value="1" />
+    <parameter name="nb_inst_branch_predict"                value="1" />
+    <parameter name="nb_inst_branch_decod"                  value="1" />
+    <parameter name="nb_inst_branch_update"                 value="1" />
+    <parameter name="btb_size_queue"                        value="32"/>
+    <parameter name="btb_associativity"                     value="1" />
+    <parameter name="btb_size_counter"                      value="2" />
+    <parameter name="btb_victim_scheme"                     value="3" />
+    <parameter name="dir_predictor_scheme"                  value="1" />
+  </front_end>
+
+  <ooo_engine id="0">
+    <parameter name="nb_rename_unit"                        value="1" />
+    <parameter name="nb_inst_issue"                         value="2" />
+    <parameter name="nb_inst_reexecute"                     value="1" />
+    <parameter name="nb_inst_commit"                        value="2" />
+    <parameter name="nb_inst_branch_complete"               value="1" />
+    <parameter name="nb_rename_unit_select"                 value="1" />
+    <parameter name="nb_execute_loop_select"                value="1" />
+    <parameter name="size_re_order_buffer"                  value="32"/>
+    <parameter name="nb_re_order_buffer_bank"               value="2" />
+    <parameter name="commit_priority"                       value="1" />
+    <parameter name="commit_load_balancing"                 value="1" />
+    <parameter name="size_issue_queue"                      value="8" />
+    <parameter name="nb_issue_queue_bank"                   value="2" />
+    <parameter name="issue_priority"                        value="1" />
+    <parameter name="issue_load_balancing"                  value="1" />
+    <parameter name="size_reexecute_queue"                  value="4" />
+    <parameter name="reexecute_priority"                    value="1" />
+    <parameter name="reexecute_load_balancing"              value="1" />
+  </ooo_engine>
+
+  <execute_loop id="0">
+    <parameter name="nb_read_unit"                          value="1" />
+    <parameter name="nb_write_unit"                         value="1" />
+    <parameter name="nb_gpr_bank"                           value="2" />
+    <parameter name="nb_gpr_port_read_by_bank"              value="1" />
+    <parameter name="nb_gpr_port_write_by_bank"             value="1" />
+    <parameter name="nb_spr_bank"                           value="2" />
+    <parameter name="nb_spr_port_read_by_bank"              value="1" />
+    <parameter name="nb_spr_port_write_by_bank"             value="1" />
+    <parameter name="execution_unit_to_write_unit_priority" value="1" />
+    <parameter name="read_unit_to_execution_unit_priority"  value="1" />
+
+    <execute_unit id="0">
+      <link name="link_execute_unit_with_functionnal_unit"  src="0"/>
+    </execute_unit>
+    <execute_unit id="1">
+      <link name="link_execute_unit_with_functionnal_unit"  src="1"/>
+    </execute_unit>
+    <execute_unit id="2">
+      <link name="link_execute_unit_with_load_store_unit"   src="0"/>
+    </execute_unit>
+
+  </execute_loop>
+
+  <parameter name="size_data"                               value="32" />
+                                                            
+  <parameter name="dispatch_priority"                       value="1" />
+  <parameter name="dispatch_load_balancing"                 value="1" />
+                                                            
+  <parameter name="nb_icache_port"                          value="1" />
+  <parameter name="icache_port_priority"                    value="1" />
+  <parameter name="icache_port_load_balancing"              value="1" />
+                                                            
+  <parameter name="nb_dcache_port"                          value="1" />
+  <parameter name="dcache_port_priority"                    value="1" />
+  <parameter name="dcache_port_load_balancing"              value="1" />
+
+  <link name="link_decod_unit_with_decod_bloc"         src="0"     dest="0.0" />
+  <link name="link_rename_unit_with_rename_bloc"       src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="0"     dest="0.0" />
+  <link name="link_read_unit_with_read_bloc"           src="1"     dest="0.1" />
+  <link name="link_write_unit_with_write_bloc"         src="0"     dest="0.0" />
+  <link name="link_write_unit_with_write_bloc"         src="1"     dest="0.1" />
+  <link name="link_decod_bloc_with_thread"             src="0"     dest="0"   />
+  <link name="link_rename_bloc_with_front_end"         src="0"     dest="0"   />
+  <link name="link_load_store_unit_with_thread"        src="0"     dest="0"   />
+
+  <link name="link_icache_port_with_thread"            src="0"     dest="0"   />
+  <link name="link_dcache_port_with_load_store_unit"   src="0.0"   dest="0"   />
+
+  <link name="table_dispatch"                          src="0.0.0" dest="1"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="0.0"   dest="0"   />
+  <link name="link_read_bloc_and_load_store_unit"      src="1.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="0.0"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="0.1"   dest="1"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="1.0"   dest="0"   />
+  <link name="link_read_bloc_and_functionnal_unit"     src="1.1"   dest="0"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="0.0"   dest="0"   />
+  <link name="link_write_bloc_and_load_store_unit"     src="1.0"   dest="1"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="0.0"   dest="0"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="0.1"   dest="0"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="1.0"   dest="1"   />
+  <link name="link_write_bloc_and_functionnal_unit"    src="1.1"   dest="1"   />
+  <link name="link_thread_and_functionnal_unit"        src="0.0"   dest="1"   />
+
+</core>
Index: /trunk/Platforms/Test/data/Test_000_026.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_026.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_026.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_026/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_027.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_027.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_027.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_027/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_028.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_028.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_028.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_028/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_029.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_029.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_029.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_029/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_030.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_030.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_030.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_030/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_031.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_031.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_031.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_031/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_032.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_032.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_032.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_032/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_033.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_033.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_033.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_033/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_034.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_034.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_034.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_034/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_035.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_035.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_035.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_035/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_036.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_036.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_036.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_036/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_037.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_037.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_037.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_037/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_038.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_038.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_038.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_038/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_039.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_039.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_039.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_039/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_040.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_040.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_040.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_040/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_041.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_041.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_041.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_041/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_042.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_042.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_042.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_042/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_043.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_043.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_043.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_043/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_044.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_044.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_044.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_044/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_045.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_045.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_045.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_045/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_046.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_046.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_046.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_046/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_047.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_047.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_047.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_047/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_048.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_048.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_048.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_048/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_049.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_049.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_049.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_049/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_050.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_050.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_050.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_050/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_051.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_051.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_051.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_051/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_052.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_052.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_052.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_052/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_053.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_053.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_053.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_053/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_054.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_054.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_054.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_054/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_055.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_055.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_055.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_055/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_056.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_056.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_056.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_056/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_057.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_057.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_057.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_057/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_058.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_058.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_058.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_058/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_059.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_059.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_059.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_059/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_060.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_060.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_060.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_060/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_061.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_061.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_061.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_061/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_062.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_062.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_062.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_062/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_063.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_063.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_063.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_063/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Platforms/Test/data/Test_000_064.cfg
===================================================================
--- /trunk/Platforms/Test/data/Test_000_064.cfg	(revision 102)
+++ /trunk/Platforms/Test/data/Test_000_064.cfg	(revision 102)
@@ -0,0 +1,8 @@
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.sim
+../../IPs/systemC/processor/Morpheo/Files/Morpheo.gen
+../../IPs/systemC/processor/Morpheo/Files/Instance_debug.cfg
+../../Softwares/Test/Test_064/bin/soft.x
+0
+0
+4096
+2
Index: /trunk/Softwares/Common/include/func_array.h
===================================================================
--- /trunk/Softwares/Common/include/func_array.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_array.h	(revision 102)
@@ -0,0 +1,2 @@
+
+void array_tri_croissant (int * array, unsigned int size,int algo);
Index: /trunk/Softwares/Common/include/func_endianness.h
===================================================================
--- /trunk/Softwares/Common/include/func_endianness.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_endianness.h	(revision 102)
@@ -0,0 +1,18 @@
+#include "bool.h"
+
+#define LittleEndian false
+#define BigEndian    true
+
+union TestEndian 
+{
+  unsigned long total;
+  struct 
+  {
+    unsigned char octet1;
+    unsigned char octet2;
+    unsigned char octet3;
+    unsigned char octet4;
+  } octets;
+};
+
+bool endianness ();
Index: /trunk/Softwares/Common/include/func_factoriel.h
===================================================================
--- /trunk/Softwares/Common/include/func_factoriel.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_factoriel.h	(revision 102)
@@ -0,0 +1,6 @@
+unsigned int factoriel_recursif (unsigned int x);
+unsigned int factoriel_iteratif (unsigned int x);
+
+void test_factoriel_recursif (int x);
+void test_factoriel_iteratif (int x);
+
Index: /trunk/Softwares/Common/include/func_fibonnacci.h
===================================================================
--- /trunk/Softwares/Common/include/func_fibonnacci.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_fibonnacci.h	(revision 102)
@@ -0,0 +1,3 @@
+int fibonnacci(int x);
+
+void test_fibonnacci(int x);
Index: /trunk/Softwares/Common/include/func_hanoi.h
===================================================================
--- /trunk/Softwares/Common/include/func_hanoi.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_hanoi.h	(revision 102)
@@ -0,0 +1,1 @@
+int hanoi(int nb_disques);
Index: /trunk/Softwares/Common/include/func_math.h
===================================================================
--- /trunk/Softwares/Common/include/func_math.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_math.h	(revision 102)
@@ -0,0 +1,14 @@
+unsigned int mul_soft ( unsigned int op1,
+		        unsigned int op2);
+unsigned int mul_hard ( unsigned int op1,
+		        unsigned int op2);
+unsigned int div_soft ( unsigned int op1,
+		        unsigned int op2);
+unsigned int div_hard ( unsigned int op1,
+		        unsigned int op2);
+unsigned int modulo   ( unsigned int x,
+		        unsigned int base);
+
+void test_mul_soft (void);
+void test_div_soft (void);
+void test_modulo   (void);
Index: /trunk/Softwares/Common/include/func_matrix.h
===================================================================
--- /trunk/Softwares/Common/include/func_matrix.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_matrix.h	(revision 102)
@@ -0,0 +1,1 @@
+int mm(unsigned int size_matrix, unsigned int algo);
Index: /trunk/Softwares/Common/include/func_parite.h
===================================================================
--- /trunk/Softwares/Common/include/func_parite.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_parite.h	(revision 102)
@@ -0,0 +1,7 @@
+#include "bool.h"
+
+// Renvoye 1 si le nombre de bit a 1 est impaire
+//         0                             paire
+
+bool parite1(int x,int val_parite);
+bool parite2(int x,int val_parite);
Index: /trunk/Softwares/Common/include/func_premier.h
===================================================================
--- /trunk/Softwares/Common/include/func_premier.h	(revision 102)
+++ /trunk/Softwares/Common/include/func_premier.h	(revision 102)
@@ -0,0 +1,4 @@
+unsigned int premier(unsigned int x);
+unsigned int n_premier(unsigned int nieme_premier);
+
+void test_n_premier(int x);
Index: /trunk/Softwares/Common/src/c/func_array.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_array.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_array.c	(revision 102)
@@ -0,0 +1,136 @@
+#include "func_array.h"
+
+//-----[ Selection_sort ]--------------------------------------------------
+
+void selection_sort  (int array[], int size) 
+{
+  int i, min, j , tmp;
+  for(i = 0 ; i < size - 1 ; i++) 
+    {
+      min = i;
+
+      // Find indice min
+      for(j = i+1 ; j < size ; j++)
+	if(array[j] < array[min])
+	  min = j;
+
+      if(min != i) // find or not.
+	{
+	  tmp        = array[i];
+	  array[i]   = array[min];
+	  array[min] = tmp;
+	}
+    }
+}
+
+//-----[ insertion_sort ]--------------------------------------------------
+void insertion_sort (int array[], int size) 
+{
+  /* Spécifications externes : Tri du tableau t par insertion séquentielle */
+  int i,pos,j,tmp;
+
+  for (i = 1 ; i < size ; i++) 
+    {
+      /* Calcul de la position d'insertion pos : */
+      /* détermine le plus petit indice pos       / 0 <= pos <= i */
+      /* qui vérifie array[pos] >= array[i] */
+      pos = 0;
+      
+      while(array[pos] < array[i]) 
+	pos++;
+      
+      tmp = array[i]; /* Sauvegarde de t[i] */
+ 
+      for(j = i-1 ; j >= pos  ; j--)
+	array[j+1] = array[j]; /* translation de t[pos..i-1] vers t[pos+1..i] */
+      
+      array[pos] = tmp; /* insertion de t[pos] */
+    }
+}
+
+//-----[ QuickSort ]-------------------------------------------------------
+
+// QuickSort
+void quick_sort (int * array, int debut, int fin)
+{
+  int          gauche, droite;
+  int          pivot;
+
+  pivot = array[debut];
+
+  for(gauche = debut, droite = fin; gauche < droite; )
+    {
+      
+      for(;array[droite] > pivot; droite--);
+            
+      if(gauche != droite)
+	{
+	  array[gauche] = array[droite];
+	  array[droite] = pivot;
+	  gauche++;
+	}
+      
+      for(; array[gauche] < pivot; gauche++);
+            
+      if(gauche != droite)
+	{ 
+	  array[droite] = array[gauche];
+	  array[gauche] = pivot;
+	  droite--;
+	}
+    }
+  
+  if(debut < gauche-1) quick_sort(array, debut   , gauche-1);
+  if(fin   > gauche+1) quick_sort(array, gauche+1, fin     );
+}
+
+//-----[ BubbleSort ]------------------------------------------------------
+
+void bubble_sort (int array[], unsigned int size) 
+{
+  int i   = 0; /* Indice de répétition du tri */
+  int j   = 0; /* Variable de boucle */
+  int tmp = 0; /* Variable de stockage temporaire */
+  
+  /* Booléen marquant l'arrêt du tri si le tableau est ordonné */
+  int en_desordre = 1; 
+  
+  /* Boucle de répétition du tri et le test qui
+     arrête le tri dès que le tableau est ordonné */
+  for(i = 0 ; (i < size) && (en_desordre == 1); i++)
+    {  
+      /* Supposons le tableau ordonné */
+      en_desordre = 0;
+      
+                /* Vérification des éléments des places j et j-1 */
+      for(j = 1 ; j < size - i ; j++) 
+	{
+	  /* Si les 2 éléments sont mal triés */
+	  if(array[j] < array[j-1])
+	    {
+	      /* Inversion des 2 éléments */
+	      tmp        = array[j-1];
+	      array[j-1] = array[j];
+	      array[j]   = tmp;
+	      
+	      /* Le tableau n'est toujours pas trié */
+	      en_desordre = 1;
+	    }
+	}
+    }
+}
+
+//-----[ Algo ]------------------------------------------------------------
+
+void array_tri_croissant (int * array, unsigned int size,int algo)
+{
+  switch (algo)
+    {
+    case 0 : bubble_sort    (array,size);     break;
+    case 1 : selection_sort (array,size);     break;
+    case 2 : insertion_sort (array,size);     break;
+    case 3 : quick_sort     (array,0,size-1); break;
+    default : break;
+    }
+}
+
Index: /trunk/Softwares/Common/src/c/func_endianness.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_endianness.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_endianness.c	(revision 102)
@@ -0,0 +1,20 @@
+/* #include <stdio.h> */
+#include "func_endianness.h"
+
+bool endianness ()
+{
+  union TestEndian test_endian;
+  
+  test_endian.total = 0xFF;
+  
+  if (test_endian.octets.octet1 == 0xFF) 
+    {
+/*       printf("Little Endian\n"); */
+      return LittleEndian;
+    }
+  else 
+    {
+/*       printf("Big Endian\n"); */
+      return BigEndian;
+    }
+}
Index: /trunk/Softwares/Common/src/c/func_factoriel.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_factoriel.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_factoriel.c	(revision 102)
@@ -0,0 +1,75 @@
+#include "func_factoriel.h"
+#include "func_math.h"
+#include "func_io.h"
+
+//-----[ Factoriel ]-------------------------------------------------------
+
+unsigned int factoriel_recursif (unsigned int x)
+{
+  if ( x <= 1)
+    return 1;
+  
+  return (mul_soft (x , factoriel_recursif (x-1) ) );
+}
+
+unsigned int factoriel_iteratif (unsigned int x)
+{
+  unsigned int res= 1;
+  
+  while (x > 1)
+    {
+      res = mul_soft(res,x);
+      x --;
+    }
+  return res;
+}
+
+//-------------------------------------------------------------------------
+//-----[ Test ]------------------------------------------------------------
+//-------------------------------------------------------------------------
+
+void test_factoriel_iteratif (int x)
+{
+  int x_max = 12;
+  int wait [x_max+1];
+
+  wait[0]  = 1;         // 1
+  wait[1]  = 1;         // 1
+  wait[2]  = 2;         // 2
+  wait[3]  = 6;         // 6
+  wait[4]  = 24;        // 18
+  wait[5]  = 120;       // 78
+  wait[6]  = 720;       // 2d0
+  wait[7]  = 5040;      // 13b0
+  wait[8]  = 40320;     // 9d80
+  wait[9]  = 362880;    // 58980
+  wait[10] = 3628800;   // 375f00
+  wait[11] = 39916800;  // 2611500
+  wait[12] = 479001600; // 1c8cfc00
+  
+  for (int i = 0; i <= ((x<x_max)?x:x_max); i ++)
+    if (factoriel_iteratif (i) != wait[i]) quit(i+1);
+}
+
+void test_factoriel_recursif (int x)
+{
+  int x_max = 12;
+  int wait [x_max+1];
+
+  wait[0]  = 1;         // 1
+  wait[1]  = 1;         // 1
+  wait[2]  = 2;         // 2
+  wait[3]  = 6;         // 6
+  wait[4]  = 24;        // 18
+  wait[5]  = 120;       // 78
+  wait[6]  = 720;       // 2d0
+  wait[7]  = 5040;      // 13b0
+  wait[8]  = 40320;     // 9d80
+  wait[9]  = 362880;    // 58980
+  wait[10] = 3628800;   // 375f00
+  wait[11] = 39916800;  // 2611500
+  wait[12] = 479001600; // 1c8cfc00
+  
+  for (int i = 0; i <= ((x<x_max)?x:x_max); i ++)
+    if (factoriel_recursif (i) != wait[i]) quit(i+1);
+}
Index: /trunk/Softwares/Common/src/c/func_fibonnacci.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_fibonnacci.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_fibonnacci.c	(revision 102)
@@ -0,0 +1,77 @@
+#include "func_fibonnacci.h"
+#include "func_io.h"
+
+int fibonnacci(int x)
+{
+  int i;
+  int xn   = 0;
+  int xn_1 = 1;
+  int xn_2 = 0;
+
+  for (i=0;i<=x;i++)
+    {
+      xn   = xn_1 + xn_2;
+      xn_2 = xn_1;
+      xn_1 = xn;
+    }
+  
+  return xn;
+}
+
+//-------------------------------------------------------------------------
+//-----[ Test ]------------------------------------------------------------
+//-------------------------------------------------------------------------
+
+void test_fibonnacci (int x)
+{
+  int x_max = 43;
+  int wait [x_max+1];
+
+  wait [ 0] = 1;          // 1
+  wait [ 1] = 2;          // 2
+  wait [ 2] = 3;          // 3
+  wait [ 3] = 5;          // 5
+  wait [ 4] = 8;          // 8
+  wait [ 5] = 13;         // d
+  wait [ 6] = 21;         // 15
+  wait [ 7] = 34;         // 22
+  wait [ 8] = 55;         // 37
+  wait [ 9] = 89;         // 59
+  wait [10] = 144;        // 90
+  wait [11] = 233;        // e9
+  wait [12] = 377;        // 179
+  wait [13] = 610;        // 262
+  wait [14] = 987;        // 3db
+  wait [15] = 1597;       // 63d
+  wait [16] = 2584;       // a18
+  wait [17] = 4181;       // 1055
+  wait [18] = 6765;       // 1a6d
+  wait [19] = 10946;      // 2ac2
+  wait [20] = 17711;      // 452f
+  wait [21] = 28657;      // 6ff1
+  wait [22] = 46368;      // b520
+  wait [23] = 75025;      // 12511
+  wait [24] = 121393;     // 1da31
+  wait [25] = 196418;     // 2ff42
+  wait [26] = 317811;     // 4d973
+  wait [27] = 514229;     // 7d8b5
+  wait [28] = 832040;     // cb228
+  wait [29] = 1346269;    // 148add
+  wait [30] = 2178309;    // 213d05
+  wait [31] = 3524578;    // 35c7e2
+  wait [32] = 5702887;    // 5704e7
+  wait [33] = 9227465;    // 8cccc9
+  wait [34] = 14930352;   // e3d1b0
+  wait [35] = 24157817;   // 1709e79
+  wait [36] = 39088169;   // 2547029
+  wait [37] = 63245986;   // 3c50ea2
+  wait [38] = 102334155;  // 6197ecb
+  wait [39] = 165580141;  // 9de8d6d
+  wait [40] = 267914296;  // ff80c38
+  wait [41] = 433494437;  // 19d699a5
+  wait [42] = 701408733;  // 29cea5dd
+  wait [43] = 1134903170; // 43a53f82
+  
+  for (int i = 0; i <= ((x<x_max)?x:x_max); i ++)
+    if (fibonnacci (i) != wait[i]) quit(i+1);
+}
Index: /trunk/Softwares/Common/src/c/func_hanoi.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_hanoi.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_hanoi.c	(revision 102)
@@ -0,0 +1,24 @@
+#include "func_hanoi.h"
+
+int hanoi_recursif(char pic_depart, char pic_destination, char pic_transition, int nb_disques)
+{
+  unsigned int nb_move = 0;
+  
+  if (nb_disques == 1)
+    {
+      nb_move = 1;
+    }
+  else
+    {
+      //on modifie les positions des palets 
+      nb_move += hanoi_recursif(pic_depart     , pic_transition  , pic_destination, nb_disques - 1);
+      nb_move += hanoi_recursif(pic_depart     , pic_destination , pic_transition , 1             );
+      nb_move += hanoi_recursif(pic_transition , pic_destination , pic_depart     , nb_disques - 1);
+    }
+  return nb_move;
+}
+
+int hanoi(int nb_disques)
+{
+  return(hanoi_recursif('1', '2', '3', nb_disques));
+}
Index: /trunk/Softwares/Common/src/c/func_math.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_math.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_math.c	(revision 102)
@@ -0,0 +1,104 @@
+#include "func_math.h"
+#include "func_io.h"
+
+//-----[ Multiplication ]--------------------------------------------------
+
+// Multiplication rapide
+unsigned int mul_soft(unsigned int op1,
+		      unsigned int op2)
+{
+  unsigned int num_bit,carry;
+  unsigned int op2_aux = op2;
+  unsigned int res     = 0;
+  
+  for(num_bit=0;num_bit<32; num_bit++)
+    {
+      if (op2_aux == 0)
+	break;
+
+      carry   = op2_aux & 1;
+      op2_aux = op2_aux >> 1;
+      
+      if (carry!=0)
+	res += (op1 << num_bit);
+    }
+  return res;
+}
+
+unsigned int mul_hard(unsigned int op1,
+		      unsigned int op2)
+{
+  return op1*op2;
+}
+
+//-----[ Division ]--------------------------------------------------------
+
+unsigned int div_soft( unsigned int op1,
+		       unsigned int op2)
+{
+  unsigned res;
+  
+  if (op2 == 0)
+    return 0;
+  
+  for (res = 0; op1 >= op2; res ++)
+    op1 -= op2;
+  
+  return res;
+}
+
+unsigned int div_hard( unsigned int op1,
+		       unsigned int op2)
+{
+//return (op1/op2);
+  return div_soft(op1,op2);
+}
+
+//-----[ Modulo ]----------------------------------------------------------
+
+unsigned int modulo( unsigned int x,
+		     unsigned int base)
+{
+  if (base==0)
+    return 0;
+  
+  while(x >= base)
+    x -= base;
+  
+  return x;
+}
+
+//-------------------------------------------------------------------------
+//-----[ Test ]------------------------------------------------------------
+//-------------------------------------------------------------------------
+
+void test_mul_soft (void)
+{
+  if (mul_soft(0x00000000,0x00000000) != 0x00000000) quit( 1);
+  if (mul_soft(0x12345678,0x00000001) != 0x12345678) quit( 2);
+  if (mul_soft(0x00000025,0x000064ab) != 0x000e8cb7) quit( 3);
+  if (mul_soft(0x0000083b,0x000007bd) != 0x003fb08f) quit( 4); // (0x00000000003fb08f)
+  if (mul_soft(0x0000083b,0xfffff843) != 0xffc04f71) quit( 5); // (0xffffffffffc04f71)
+  if (mul_soft(0xfffff7c5,0x000007bd) != 0xffc04f71) quit( 6); // (0xffffffffffc04f71)
+  if (mul_soft(0xfffff7c5,0xfffff843) != 0x003fb08f) quit( 7); // (0x00000000003fb08f)
+  if (mul_soft(0x017e9157,0x00d5ce37) != 0x18883bb1) quit( 8); // (0x00013f8318883bb1)
+  if (mul_soft(0x017e9157,0xff2a31c9) != 0xe777c44f) quit( 9); // (0xfffec07ce777c44f)
+  if (mul_soft(0xfe816ea9,0x00d5ce37) != 0xe777c44f) quit(10); // (0xfffec07ce777c44f)
+  if (mul_soft(0xfe816ea9,0xff2a31c9) != 0x18883bb1) quit(11); // (0x00013f8318883bb1)
+}
+
+void test_div_soft (void)
+{
+/*   if (div_soft(0x00000000,0x00000001) != 0x00000000) quit( 1); */
+/*   if (div_soft(0x21071981,0x00000001) != 0x21071981) quit( 2); */
+/*   if (div_soft(0xdeadbeef,0x00000001) != 0xdeadbeef) quit( 3); */
+  if (div_soft(4         ,2         ) != 2         ) quit( 3);
+  if (div_soft(680       ,40        ) != 17        ) quit( 4);
+  if (div_soft(15431115  ,9835      ) != 1569      ) quit( 5);
+}
+
+void test_modulo   (void)
+{
+  if (modulo(16834,563) != 507) quit(1);
+}
+
Index: /trunk/Softwares/Common/src/c/func_matrix.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_matrix.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_matrix.c	(revision 102)
@@ -0,0 +1,102 @@
+#include "func_matrix.h"
+
+void mm_algo1 ( unsigned int    size_matrix 
+	       ,unsigned int ** matrix_a
+	       ,unsigned int ** matrix_b
+	       ,unsigned int ** matrix_d)
+{
+  unsigned int index_i, index_j, index_k;
+ 
+  for (index_i = 0; index_i < size_matrix; index_i ++)
+    for (index_j = 0; index_j < size_matrix; index_j ++)
+      {
+	matrix_d [index_i][index_j] = 0;
+	
+	for (index_k = 0; index_k < size_matrix; index_k ++)
+	  matrix_d [index_i][index_j] += matrix_a[index_i][index_k] * matrix_b[index_k][index_j];
+      }
+}
+
+int mm(unsigned int size_matrix, unsigned int algo)
+{
+  unsigned int matrix_a [size_matrix][size_matrix];
+  unsigned int matrix_b [size_matrix][size_matrix];
+  unsigned int matrix_d [size_matrix][size_matrix];
+  unsigned int sum , sum_ok;
+  unsigned int index_i, index_j;
+  
+  /*
+   * PHASE 1 : Initialisation
+   */
+
+  /* Flush matrix_d */
+  for (index_i = 0; index_i < size_matrix; index_i ++)
+    for (index_j = 0; index_j < size_matrix; index_j ++)
+      {
+	matrix_a [index_i][index_j] = index_i+1;
+	matrix_b [index_i][index_j] = index_i+1;
+	matrix_d [index_i][index_j] = 0;
+      }
+
+  sum = (size_matrix*(size_matrix+1))>>1;
+  /*
+        sum = (N*(N+1))/2;
+    ici sum = (4*5)/2 = 10
+
+              ( 1  1  1  1  )
+              ( 2  2  2  2  )
+	      ( 3  3  3  3  )
+	      ( 4  4  4  4  )
+    ( 1 1 1 1 ) 10 10 10 10 -> 1*sum
+    ( 2 2 2 2 ) 20 20 20 20 -> 2*sum
+    ( 3 3 3 3 ) 30 30 30 30 -> 3*sum
+    ( 4 4 4 4 ) 40 40 40 40 -> 4*sum
+  */
+
+  /*
+   * PHASE 2 : Execution
+   */
+
+  switch (algo)
+    {
+    case 1 :
+      {
+	/* méthode classique */
+
+	unsigned int index_i, index_j, index_k;
+	
+	for (index_i=0;index_i<size_matrix;index_i++)
+	  for (index_j=0;index_j<size_matrix;index_j++)
+	    {
+	      matrix_d [index_i][index_j] = 0;
+	      
+	      for (index_k=0;index_k<size_matrix;index_k++)
+		matrix_d [index_i][index_j] += matrix_a[index_i][index_k] * matrix_b[index_k][index_j];
+	    }
+
+	//mm_algo1(size_matrix, matrix_a, matrix_b, matrix_d);
+	break;
+      }
+    default :break;
+    }/* end switch algo */
+  
+  /*
+   * PHASE 3 : Test
+   */
+
+  sum_ok = 0;
+
+  for (index_i=0;index_i<size_matrix;index_i++)
+    {
+      unsigned int row_sum = (index_i+1)*sum;
+
+      for (index_j=0;index_j<size_matrix;index_j++)
+	if ((matrix_a[index_i][index_j] == index_i+1) &&
+	    (matrix_b[index_i][index_j] == index_i+1) &&
+	    (matrix_d[index_i][index_j] == row_sum)
+	    )
+	  sum_ok ++;
+    }
+  
+  return (sum_ok == (size_matrix * size_matrix) );
+}
Index: /trunk/Softwares/Common/src/c/func_parite.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_parite.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_parite.c	(revision 102)
@@ -0,0 +1,36 @@
+#include "func_parite.h"
+
+// Renvoye 1 si le nombre de bit a 1 est impaire
+//         0                             paire
+
+bool parite1(int x,int val_parite)
+{
+  int  mask = 1;
+  bool res  = ( (val_parite & mask) ^ mask); //si bit de poids faible à zero alors parité pair
+  
+  while(x!=0)
+    { 
+      res ^= (x & mask);
+      x = x >> 1;
+    }
+   
+  return res;
+}
+
+
+extern unsigned int find_first_one (int x);
+
+bool parite2(int x,int val_parite)
+{
+  unsigned int mask = 1;
+  unsigned int pos;
+  bool         res  = ( (val_parite & mask) ^ mask); //si bit de poids faible à zero alors parité pair
+
+  while ((pos = find_first_one(x)) != 0)
+    {
+      res ^= 1;
+      x    = x >> pos;
+    }
+    
+  return res;
+}
Index: /trunk/Softwares/Common/src/c/func_premier.c
===================================================================
--- /trunk/Softwares/Common/src/c/func_premier.c	(revision 102)
+++ /trunk/Softwares/Common/src/c/func_premier.c	(revision 102)
@@ -0,0 +1,80 @@
+#include "func_math.h"
+#include "func_premier.h"
+#include "func_io.h"
+
+//-----[ Premier ]---------------------------------------------------------
+
+unsigned int premier(unsigned int x)
+{
+  unsigned int it;
+
+  if (x <= 0)
+    return 0;
+  
+  if (x <= 2)
+    return 1;
+
+  for(it=2; it <= (x/2); it++)
+    if (modulo(x,it) == 0)
+      return 0;
+  
+  return 1;
+}
+
+unsigned int n_premier(unsigned int nieme_premier)
+{
+  unsigned int nb_find  = 0;
+  unsigned int res      = 1;
+  while (nb_find < nieme_premier)
+    {
+      res ++;
+      if (premier(res) == 1)
+        nb_find ++;
+    }
+  return res;
+}
+
+//-------------------------------------------------------------------------
+//-----[ Test ]------------------------------------------------------------
+//-------------------------------------------------------------------------
+
+void test_n_premier (int x)
+{
+  int x_max = 30;
+  int wait [x_max+1];
+
+  wait [ 0] =   1; // 1
+  wait [ 1] =   2; // 2
+  wait [ 2] =   3; // 3
+  wait [ 3] =   5; // 5
+  wait [ 4] =   7; // 7
+  wait [ 5] =  11; // b
+  wait [ 6] =  13; // d
+  wait [ 7] =  17; // 11
+  wait [ 8] =  19; // 13
+  wait [ 9] =  23; // 17
+  wait [10] =  29; // 1d
+  wait [11] =  31; // 1f
+  wait [12] =  37; // 25
+  wait [13] =  41; // 29
+  wait [14] =  43; // 2b
+  wait [15] =  47; // 2f
+  wait [16] =  53; // 35
+  wait [17] =  59; // 3b
+  wait [18] =  61; // 3d
+  wait [19] =  67; // 43
+  wait [20] =  71; // 47
+  wait [21] =  73; // 49
+  wait [22] =  79; // 4f
+  wait [23] =  83; // 53
+  wait [24] =  89; // 59
+  wait [25] =  97; // 61
+  wait [26] = 101; // 65
+  wait [27] = 103; // 67
+  wait [28] = 107; // 6b
+  wait [29] = 109; // 6d
+  wait [30] = 113; // 71
+  
+  for (int i = 0; i <= ((x<x_max)?x:x_max); i ++)
+    if (n_premier (i) != wait[i]) quit(i+1);
+}
Index: /trunk/Softwares/Common/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Common/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Common/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,580 @@
+/*
+ * Routine system dependant
+ *  - reset
+ *  - exception handler
+ *  - start / exit
+ */
+
+/*		
+#define DEFAULT_EXCEPTION_HANDLER     \
+	l.addi  r1, r1, -128         ;\
+	l.sw    4(r1), r3            ;\ 
+	l.sw    8(r1), r4	     ;\
+	l.mfspr r3,r0,16             ;\
+	l.mfspr r4,r0,32             ;\
+	l.j default_exception_handler;\
+	l.nop	0                    ;
+*/
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+
+	l.movhi r3,   0xdead
+	l.jal	_quit
+	l.ori	r3,r3,0xdead
+
+	/*
+	l.nop	-0
+	l.nop	-1
+	l.nop	-2
+	l.nop	-3
+	l.nop	-4
+	l.nop	-5
+	l.nop	-6
+	l.nop	-7
+	l.nop	-8
+	l.nop	-9
+	l.nop	-10
+	l.nop	-11
+	l.nop	-12
+	l.nop	-13
+	l.nop	-14
+	l.nop	-15
+	l.nop	-16
+	l.nop	-17
+	l.nop	-18
+	l.nop	-19
+	l.nop	-20
+	l.nop	-21
+	l.nop	-22
+	l.nop	-23
+	l.nop	-24
+	l.nop	-25
+	l.nop	-26
+	l.nop	-27
+	l.nop	-28
+	l.nop	-29
+	l.nop	-30
+	l.nop	-31
+	l.nop	-32
+	l.nop	-33
+	l.nop	-34
+	l.nop	-35
+	l.nop	-36
+	l.nop	-37
+	l.nop	-38
+	l.nop	-39
+	l.nop	-40
+	l.nop	-41
+	l.nop	-42
+	l.nop	-43
+	l.nop	-44
+	l.nop	-45
+	l.nop	-46
+	l.nop	-47
+	l.nop	-48
+	l.nop	-49
+	l.nop	-50
+	l.nop	-51
+	l.nop	-52
+	l.nop	-53
+	l.nop	-54
+	l.nop	-55
+	l.nop	-56
+	l.nop	-57
+	l.nop	-58
+	l.nop	-59
+	l.nop	-60
+	l.nop	-61
+	l.nop	-62
+	l.nop	-63
+	*/
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _exception_reset
+_exception_reset:
+
+	l.movhi r2,   hi(_start)
+	l.ori   r2,r2,lo(_start)
+	l.jr    r2		 /* Go _start */
+	l.nop	0
+
+/* ---[ 0x200: BUS exception ]------------------------------------------- */
+	.org 0x200
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+	
+
+/* ---[ 0x300: Data Page Fault exception ]------------------------------- */
+	.org 0x300
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+/* ---[ 0x400: Insn Page Fault exception ]------------------------------- */
+	.org 0x400
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+
+/* ---[ 0x500: Timer exception ]----------------------------------------- */
+	.org 0x500
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+
+/* ---[ 0x600: Aligment exception ]-------------------------------------- */
+	.org 0x600
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+/* ---[ 0x700: Illegal insn exception ]---------------------------------- */
+	.org 0x700
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+
+/* ---[ 0x800: External interrupt exception ]---------------------------- */
+	.org 0x800
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+
+/* ---[ 0x900: DTLB miss exception ]------------------------------------- */
+	.org 0x900
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+/* ---[ 0xa00: ITLB miss exception ]------------------------------------- */
+	.org 0xa00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+		
+/* ---[ 0xb00: Range exception ]----------------------------------------- */
+	.org 0xb00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+
+/* ---[ 0xc00: Syscall exception ]--------------------------------------- */
+	.org 0xc00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+
+/* ---[ 0xd00: Trap exception ]------------------------------------------ */
+	.org 0xd00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+
+/* ---[ 0xe00: Trap exception ]------------------------------------------ */
+	.org 0xe00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	
+/* ---[ 0xf00: Reserved exceptions ]------------------------------------- */
+	.org 0xf00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1000
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1100
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1200
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1300
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1400
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1500
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1600
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1700
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1800
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1900
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1a00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1b00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1c00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1d00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1e00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+	
+	.org 0x1f00
+	/*DEFAULT_EXCEPTION_HANDLER*/
+	l.addi  r1, r1, -128         
+	l.sw    4(r1), r3             
+	l.sw    8(r1), r4	     
+	l.mfspr r3,r0,16             
+	l.mfspr r4,r0,32             
+	l.j default_exception_handler
+	l.nop	0                    
+
+
+/* ========================================================= [ entry ] === */
+
+	.org 0x2000
+	.global _start
+	
+_start:
+	/* Initialise stack */
+
+	l.movhi r1,     hi(_stack)
+	l.ori   r1, r1, lo(_stack)
+	l.addi  r2, r0, -3		  /* 0xFFFF_FFFC */
+
+	l.jal	_get_cpu_id               /* give the id of the cpu */
+	l.and   r1, r1, r2
+
+	l.movhi r4,     hi(_stack_alloc)
+	l.ori   r4, r4, lo(_stack_alloc)
+
+	l.mul	r4, r11,r4
+	l.sub	r1, r1 ,r4                /* each thread have a <<_stack>> with a size <<_stack_alloc>> */
+	l.or	r2, r1, r0                /* copy in frame_pointer register */
+
+	/* Clear BSS */
+/*
+	l.movhi r28,      hi(___bss_start)
+	l.ori   r28, r28, lo(___bss_start)
+	l.movhi r30,      hi(__end)
+	l.ori   r30, r30, lo(__end)
+1:
+        l.sw    (0)(r28), r0
+        l.sfltu r28, r30
+        l.bf    1b
+        l.addi  r28, r28, 4
+*/
+	/* Jump to main program entry point (argc = argv = 0) */
+	l.and	r3,r0,r0
+	l.jal   _main
+	l.and	r4,r0,r0
+	
+	/* If program exits, call exit routine */
+/*
+	l.addi  r3, r11, 0
+	l.jal   __exit
+	l.nop	0
+*/
+/* ====================================== [ default exception handler ] === */
+
+default_exception_handler:
+	l.sw    0x00(r1), r2
+	l.sw    0x0c(r1), r5
+	l.sw    0x10(r1), r6
+	l.sw    0x14(r1), r7
+	l.sw    0x18(r1), r8
+	l.sw    0x1c(r1), r9
+	l.sw    0x20(r1), r10
+	l.sw    0x24(r1), r11
+	l.sw    0x28(r1), r12
+	l.sw    0x2c(r1), r13
+	l.sw    0x30(r1), r14
+	l.sw    0x34(r1), r15
+	l.sw    0x38(r1), r16
+	l.sw    0x3c(r1), r17
+	l.sw    0x40(r1), r18
+	l.sw    0x44(r1), r19
+	l.sw    0x48(r1), r20
+	l.sw    0x4c(r1), r21
+	l.sw    0x50(r1), r22
+	l.sw    0x54(r1), r23
+	l.sw    0x58(r1), r24
+	l.sw    0x5c(r1), r25
+	l.sw    0x60(r1), r26
+	l.sw    0x64(r1), r27
+	l.sw    0x68(r1), r28
+	l.sw    0x6c(r1), r29
+	l.sw    0x70(r1), r30
+	l.sw    0x74(r1), r31
+	l.sw    0x78(r1), r32
+	
+	/*
+	 * Jump to a handler (write in C by example)
+	 */
+	
+	l.jal   _exception_handler
+	l.nop	0
+	
+	l.lwz   r2 , 0x00(r1)
+	l.lwz   r3 , 0x04(r1)
+	l.lwz   r4 , 0x08(r1)
+	l.lwz   r5 , 0x0c(r1)
+	l.lwz   r6 , 0x10(r1)
+	l.lwz   r7 , 0x14(r1)
+	l.lwz   r8 , 0x18(r1)
+	l.lwz   r9 , 0x1c(r1)
+	l.lwz   r10, 0x20(r1)
+	l.lwz   r11, 0x24(r1)
+	l.lwz   r12, 0x28(r1)
+	l.lwz   r13, 0x2c(r1)
+	l.lwz   r14, 0x30(r1)
+	l.lwz   r15, 0x34(r1)
+	l.lwz   r16, 0x38(r1)
+	l.lwz   r17, 0x3c(r1)
+	l.lwz   r18, 0x40(r1)
+	l.lwz   r19, 0x44(r1)
+	l.lwz   r20, 0x48(r1)
+	l.lwz   r21, 0x4c(r1)
+	l.lwz   r22, 0x50(r1)
+	l.lwz   r23, 0x54(r1)
+	l.lwz   r24, 0x58(r1)
+	l.lwz   r25, 0x5c(r1)
+	l.lwz   r26, 0x60(r1)
+	l.lwz   r27, 0x64(r1)
+	l.lwz   r28, 0x68(r1)
+	l.lwz   r29, 0x6c(r1)
+	l.lwz   r30, 0x70(r1)
+	l.lwz   r31, 0x74(r1)
+	l.lwz   r32, 0x78(r1)
+
+	l.addi  r1, r1, 128
+
+	l.rfe
+	l.nop	0
Index: /trunk/Softwares/Test/Test_026/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_026/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_026/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_026/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_026/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_026/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,218 @@
+/*
+ * Test_026
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sw / l.lws (l.lwz)
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+	l.movhi r2,     hi(0xdeadbeef) /* data */
+	l.ori   r2, r2, lo(0xdeadbeef)
+
+        /* Store 10 values */
+        l.and   r3, r2, r2
+        
+        l.sw    - 0(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    - 4(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    - 8(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -12(r1), r3
+        l.addi  r3, r3, 1
+        
+        l.sw    -16(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -20(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -24(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -28(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -32(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -36(r1), r3
+        l.addi  r3, r3, 1
+
+        /* Load 10 values */
+        l.addi  r3, r3, -1 /* increase too much*/
+
+        l.lwz   r4, -36(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, -32(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, -28(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, -24(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, -20(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, -16(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, -12(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, - 8(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, - 4(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lwz   r4, - 0(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        /* Store 10 values */
+        l.and   r3, r2, r2
+        
+        l.sw    - 0(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    - 4(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    - 8(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -12(r1), r3
+        l.addi  r3, r3, 1
+        
+        l.sw    -16(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -20(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -24(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -28(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -32(r1), r3
+        l.addi  r3, r3, 1
+
+        l.sw    -36(r1), r3
+        l.addi  r3, r3, 1
+
+        /* Load 10 values */
+        l.addi  r3, r3, -1 /* increase too much*/
+
+        l.lws   r4, -36(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, -32(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, -28(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, -24(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, -20(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, -16(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, -12(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, - 8(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, - 4(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+
+        l.lws   r4, - 0(r1)
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, -1
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_027/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_027/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_027/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_027/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_027/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_027/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,133 @@
+/*
+ * Test_027
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sw / l.lhs (l.lhz)
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+	l.movhi r2,     hi(0x1234beef) /* data */
+	l.ori   r2, r2, lo(0x1234beef)
+	l.movhi r4,     hi(0x00001234) /* data */
+	l.ori   r4, r4, lo(0x00001234)
+	l.movhi r5,     hi(0xffffbeef) /* data */
+	l.ori   r5, r5, lo(0xffffbeef)
+
+        /*            0x1234beef
+         *              | | | |
+         * 0 : 0x12 <---+ | | |
+         * 1 : 0x34 <-----+ | |
+         * 2 : 0xbe <-------+ |
+         * 3 : 0xef <---------+
+         */
+        
+        l.sw    - 0(r1), r2
+
+        /*                0x1234
+         *                  ^ ^
+         *                  | |
+         * 0 : 0x12 --------+ |
+         * 1 : 0x34 ----------+
+         * 2 : 0xbe
+         * 3 : 0xef
+         */
+        
+        l.lhs   r3, - 0(r1)
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /*                0xbeef
+         *                  ^ ^
+         *                  | |
+         * 0 : 0x12         | |
+         * 1 : 0x34         | |
+         * 2 : 0xbe --------+ |
+         * 3 : 0xef ----------+
+         */
+        
+        l.lhs   r3, + 2(r1)
+        l.sfeq  r3, r5
+        l.bnf   _end_ko
+        l.nop
+
+	l.movhi r2,     hi(0xdead1981) /* data */
+	l.ori   r2, r2, lo(0xdead1981)
+	l.movhi r4,     hi(0x0000dead) /* data */
+	l.ori   r4, r4, lo(0x0000dead)
+	l.movhi r5,     hi(0x00001981) /* data */
+	l.ori   r5, r5, lo(0x00001981)
+
+        /*            0xdead1981
+         *              | | | |
+         * 0 : 0x12 <---+ | | |
+         * 1 : 0x34 <-----+ | |
+         * 2 : 0xbe <-------+ |
+         * 3 : 0xef <---------+
+         */
+        
+        l.sw    - 0(r1), r2
+
+        /*                0xdead
+         *                  ^ ^
+         *                  | |
+         * 0 : 0x12 --------+ |
+         * 1 : 0x34 ----------+
+         * 2 : 0xbe
+         * 3 : 0xef
+         */
+        
+        l.lhz   r3, - 0(r1)
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /*                0x1981
+         *                  ^ ^
+         *                  | |
+         * 0 : 0x12         | |
+         * 1 : 0x34         | |
+         * 2 : 0xbe --------+ |
+         * 3 : 0xef ----------+
+         */
+        
+        l.lhz   r3, + 2(r1)
+        l.sfeq  r3, r5
+        l.bnf   _end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_028/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_028/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_028/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_028/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_028/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_028/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,66 @@
+/*
+ * Test_028
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sw / l.lws (l.lwz)
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+	l.movhi r2,     hi(0x1234beef) /* data */
+	l.ori   r2, r2, lo(0x1234beef)
+
+        /*            0x1234beef
+         *              | | | |
+         * 0 : 0x12 <---+ | | |
+         * 1 : 0x34 <-----+ | |
+         * 2 : 0xbe <-------+ |
+         * 3 : 0xef <---------+
+         */
+        
+        l.sw    - 0(r1), r2
+
+        l.lws   r3, - 0(r1)
+        l.sfeq  r3, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.lwz   r3, - 0(r1)
+        l.sfeq  r3, r2
+        l.bnf   _end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_029/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_029/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_029/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_029/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_029/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_029/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,82 @@
+/*
+ * Test_029
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.msync
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,       hi(_stack) /* address */
+	l.ori   r1, r1,   lo(_stack)
+
+        l.msync
+        
+	l.movhi r2,       hi(0xbebebeef) /* data */
+	l.ori   r2, r2,   lo(0xbebebeef)
+	l.movhi r11,      hi(0x00000010) /* iteration */
+	l.ori   r11, r11, lo(0x00000010)
+
+        l.and   r3, r1, r1
+        l.and   r4, r2, r2
+        l.j     _loop1_test
+        l.add   r10, r0, r0
+_loop1_do :
+        l.sw    0(r3), r4
+        l.msync
+        l.addi  r3, r3,-4
+        l.addi  r4, r4,+1
+_loop1_test :
+        l.sfeq  r10, r11
+        l.bnf   _loop1_do
+        l.addi  r10, r10, 1
+        
+
+        l.and   r3, r1, r1
+        l.and   r4, r2, r2
+        l.j     _loop2_test
+        l.add   r10, r0, r0
+_loop2_do :
+        l.lwz   r5,  0(r3)
+        l.msync
+        l.sfeq  r5, r4
+        l.bnf   _end_ko
+        l.nop
+        l.addi  r3, r3,-4
+        l.addi  r4, r4,+1
+_loop2_test :
+        l.sfeq  r10, r11
+        l.bnf   _loop2_do
+        l.addi  r10, r10, 1
+       
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_030/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_030/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_030/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_030/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_030/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_030/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,482 @@
+/*
+ * Test_030
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.mul, l.muli
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait) OV CY (SR = r6, mask SR = r5)
+                                       (r4)                 (r7)
+          1) 0x00000000 0x00000000 - 0x00000000  0  0  
+          2) 0x12345678 0x00000001 - 0x12345678  0  0  
+          3) 0x00000025 0x000064ab - 0x000e8cb7  0  0
+          4) 0x0000083b 0x000007bd - 0x003fb08f  ?  ? (0x00000000003fb08f)
+          5) 0x0000083b 0xfffff843 - 0xffc04f71  ?  ? (0xffffffffffc04f71)
+          6) 0xfffff7c5 0x000007bd - 0xffc04f71  ?  ? (0xffffffffffc04f71)
+          7) 0xfffff7c5 0xfffff843 - 0x003fb08f  ?  ? (0x00000000003fb08f)
+          8) 0x017e9157 0x00d5ce37 - 0x18883bb1  ?  ? (0x00013f8318883bb1)
+          9) 0x017e9157 0xff2a31c9 - 0xe777c44f  ?  ? (0xfffec07ce777c44f)
+         10) 0xfe816ea9 0x00d5ce37 - 0xe777c44f  ?  ? (0xfffec07ce777c44f)
+         11) 0xfe816ea9 0xff2a31c9 - 0x18883bb1  ?  ? (0x00013f8318883bb1)
+        */
+        
+        /* Mask to read OV (SR[11]), CY (SR[10]) and not F (SR[9]) */
+	l.movhi r5,     hi(0x00000c00)
+	l.ori   r5, r5, lo(0x00000c00)
+
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x00000000) /* RA */
+	l.ori   r1, r1, lo(0x00000000)
+	l.movhi r2,     hi(0x00000000) /* RB */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 2 */
+        /**********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000001) /* RB */
+	l.ori   r2, r2, lo(0x00000001)
+	l.movhi r3,     hi(0x12345678) /* RD wait */
+	l.ori   r3, r3, lo(0x12345678)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 3 */
+        /**********/
+	l.movhi r1,     hi(0x00000025) /* RA */
+	l.ori   r1, r1, lo(0x00000025)
+	l.movhi r2,     hi(0x000064ab) /* RB */
+	l.ori   r2, r2, lo(0x000064ab)
+	l.movhi r3,     hi(0x000e8cb7) /* RD wait */
+	l.ori   r3, r3, lo(0x000e8cb7)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 4 */
+        /**********/
+	l.movhi r1,     hi(0x0000083b) /* RA */
+	l.ori   r1, r1, lo(0x0000083b)
+	l.movhi r2,     hi(0x000007bd) /* RB */
+	l.ori   r2, r2, lo(0x000007bd)
+	l.movhi r3,     hi(0x003fb08f) /* RD wait */
+	l.ori   r3, r3, lo(0x003fb08f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 5 */
+        /**********/
+	l.movhi r1,     hi(0x0000083b) /* RA */
+	l.ori   r1, r1, lo(0x0000083b)
+	l.movhi r2,     hi(0xfffff843) /* RB */
+	l.ori   r2, r2, lo(0xfffff843)
+	l.movhi r3,     hi(0xffc04f71) /* RD wait */
+	l.ori   r3, r3, lo(0xffc04f71)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+                
+        /**********/
+        /* Test 6 */
+        /**********/
+	l.movhi r1,     hi(0xfffff7c5) /* RA */
+	l.ori   r1, r1, lo(0xfffff7c5)
+	l.movhi r2,     hi(0x000007bd) /* RB */
+	l.ori   r2, r2, lo(0x000007bd)
+	l.movhi r3,     hi(0xffc04f71) /* RD wait */
+	l.ori   r3, r3, lo(0xffc04f71)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 7 */
+        /**********/
+	l.movhi r1,     hi(0xfffff7c5) /* RA */
+	l.ori   r1, r1, lo(0xfffff7c5)
+	l.movhi r2,     hi(0xfffff843) /* RB */
+	l.ori   r2, r2, lo(0xfffff843)
+	l.movhi r3,     hi(0x003fb08f) /* RD wait */
+	l.ori   r3, r3, lo(0x003fb08f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 8 */
+        /**********/
+	l.movhi r1,     hi(0x017e9157) /* RA */
+	l.ori   r1, r1, lo(0x017e9157)
+	l.movhi r2,     hi(0x00d5ce37) /* RB */
+	l.ori   r2, r2, lo(0x00d5ce37)
+	l.movhi r3,     hi(0x18883bb1) /* RD wait */
+	l.ori   r3, r3, lo(0x18883bb1)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 9 */
+        /**********/
+	l.movhi r1,     hi(0x017e9157) /* RA */
+	l.ori   r1, r1, lo(0x017e9157)
+	l.movhi r2,     hi(0xff2a31c9) /* RB */
+	l.ori   r2, r2, lo(0xff2a31c9)
+	l.movhi r3,     hi(0xe777c44f) /* RD wait */
+	l.ori   r3, r3, lo(0xe777c44f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 10*/
+        /**********/
+	l.movhi r1,     hi(0xfe816ea9) /* RA */
+	l.ori   r1, r1, lo(0xfe816ea9)
+	l.movhi r2,     hi(0x00d5ce37) /* RB */
+	l.ori   r2, r2, lo(0x00d5ce37)
+	l.movhi r3,     hi(0xe777c44f) /* RD wait */
+	l.ori   r3, r3, lo(0xe777c44f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 11*/
+        /**********/
+	l.movhi r1,     hi(0xfe816ea9) /* RA */
+	l.ori   r1, r1, lo(0xfe816ea9)
+	l.movhi r2,     hi(0xff2a31c9) /* RB */
+	l.ori   r2, r2, lo(0xff2a31c9)
+	l.movhi r3,     hi(0x18883bb1) /* RD wait */
+	l.ori   r3, r3, lo(0x18883bb1)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mul   r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 4i*/
+        /**********/
+	l.movhi r1,     hi(0x0000083b) /* RA */
+	l.ori   r1, r1, lo(0x0000083b)
+	l.movhi r3,     hi(0x003fb08f) /* RD wait */
+	l.ori   r3, r3, lo(0x003fb08f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.muli  r4, r1, 0x07bd
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 5i*/
+        /**********/
+	l.movhi r1,     hi(0x0000083b) /* RA */
+	l.ori   r1, r1, lo(0x0000083b)
+	l.movhi r3,     hi(0xffc04f71) /* RD wait */
+	l.ori   r3, r3, lo(0xffc04f71)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.muli  r4, r1, 0xf843
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+                
+        /**********/
+        /* Test 6i*/
+        /**********/
+	l.movhi r1,     hi(0xfffff7c5) /* RA */
+	l.ori   r1, r1, lo(0xfffff7c5)
+	l.movhi r3,     hi(0xffc04f71) /* RD wait */
+	l.ori   r3, r3, lo(0xffc04f71)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.muli  r4, r1, 0x07bd
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 7i*/
+        /**********/
+	l.movhi r1,     hi(0xfffff7c5) /* RA */
+	l.ori   r1, r1, lo(0xfffff7c5)
+	l.movhi r3,     hi(0x003fb08f) /* RD wait */
+	l.ori   r3, r3, lo(0x003fb08f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.muli  r4, r1, 0xf843
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_031/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_031/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_031/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_031/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_031/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_031/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,373 @@
+/*
+ * Test_031
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.mulu
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait) OV CY (SR = r6, mask SR = r5)
+                                       (r4)                 (r7)
+          1) 0x00000000 0x00000000 - 0x00000000  0  0  
+          2) 0x12345678 0x00000001 - 0x12345678  0  0  
+          3) 0x00000025 0x000064ab - 0x000e8cb7  0  0
+          4) 0x0000083b 0x000007bd - 0x003fb08f  ?  ? (0x00000000003fb08f)
+          5) 0x0000083b 0xfffff843 - 0xffc04f71  ?  ? (0x0000083affc04f71)
+          6) 0xfffff7c5 0x000007bd - 0xffc04f71  ?  ? (0x000007bcffc04f71)
+          7) 0xfffff7c5 0xfffff843 - 0x003fb08f  ?  ? (0xfffff008003fb08f)
+          8) 0x017e9157 0x00d5ce37 - 0x18883bb1  ?  ? (0x00013f8318883bb1)
+          9) 0x017e9157 0xff2a31c9 - 0xe777c44f  ?  ? (0x017d51d3e777c44f)
+         10) 0xfe816ea9 0x00d5ce37 - 0xe777c44f  ?  ? (0x00d48eb3e777c44f)
+         11) 0xfe816ea9 0xff2a31c9 - 0x18883bb1  ?  ? (0xfdacdff518883bb1)
+        */
+        
+        /* Mask to read OV (SR[11]), CY (SR[10]) and not F (SR[9]) */
+	l.movhi r5,     hi(0x00000c00)
+	l.ori   r5, r5, lo(0x00000c00)
+
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x00000000) /* RA */
+	l.ori   r1, r1, lo(0x00000000)
+	l.movhi r2,     hi(0x00000000) /* RB */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 2 */
+        /**********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000001) /* RB */
+	l.ori   r2, r2, lo(0x00000001)
+	l.movhi r3,     hi(0x12345678) /* RD wait */
+	l.ori   r3, r3, lo(0x12345678)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 3 */
+        /**********/
+	l.movhi r1,     hi(0x00000025) /* RA */
+	l.ori   r1, r1, lo(0x00000025)
+	l.movhi r2,     hi(0x000064ab) /* RB */
+	l.ori   r2, r2, lo(0x000064ab)
+	l.movhi r3,     hi(0x000e8cb7) /* RD wait */
+	l.ori   r3, r3, lo(0x000e8cb7)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 4 */
+        /**********/
+	l.movhi r1,     hi(0x0000083b) /* RA */
+	l.ori   r1, r1, lo(0x0000083b)
+	l.movhi r2,     hi(0x000007bd) /* RB */
+	l.ori   r2, r2, lo(0x000007bd)
+	l.movhi r3,     hi(0x003fb08f) /* RD wait */
+	l.ori   r3, r3, lo(0x003fb08f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 5 */
+        /**********/
+	l.movhi r1,     hi(0x0000083b) /* RA */
+	l.ori   r1, r1, lo(0x0000083b)
+	l.movhi r2,     hi(0xfffff843) /* RB */
+	l.ori   r2, r2, lo(0xfffff843)
+	l.movhi r3,     hi(0xffc04f71) /* RD wait */
+	l.ori   r3, r3, lo(0xffc04f71)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 6 */
+        /**********/
+	l.movhi r1,     hi(0xfffff7c5) /* RA */
+	l.ori   r1, r1, lo(0xfffff7c5)
+	l.movhi r2,     hi(0x000007bd) /* RB */
+	l.ori   r2, r2, lo(0x000007bd)
+	l.movhi r3,     hi(0xffc04f71) /* RD wait */
+	l.ori   r3, r3, lo(0xffc04f71)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 7 */
+        /**********/
+	l.movhi r1,     hi(0xfffff7c5) /* RA */
+	l.ori   r1, r1, lo(0xfffff7c5)
+	l.movhi r2,     hi(0xfffff843) /* RB */
+	l.ori   r2, r2, lo(0xfffff843)
+	l.movhi r3,     hi(0x003fb08f) /* RD wait */
+	l.ori   r3, r3, lo(0x003fb08f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 8 */
+        /**********/
+	l.movhi r1,     hi(0x017e9157) /* RA */
+	l.ori   r1, r1, lo(0x017e9157)
+	l.movhi r2,     hi(0x00d5ce37) /* RB */
+	l.ori   r2, r2, lo(0x00d5ce37)
+	l.movhi r3,     hi(0x18883bb1) /* RD wait */
+	l.ori   r3, r3, lo(0x18883bb1)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 9 */
+        /**********/
+	l.movhi r1,     hi(0x017e9157) /* RA */
+	l.ori   r1, r1, lo(0x017e9157)
+	l.movhi r2,     hi(0xff2a31c9) /* RB */
+	l.ori   r2, r2, lo(0xff2a31c9)
+	l.movhi r3,     hi(0xe777c44f) /* RD wait */
+	l.ori   r3, r3, lo(0xe777c44f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 10*/
+        /**********/
+	l.movhi r1,     hi(0xfe816ea9) /* RA */
+	l.ori   r1, r1, lo(0xfe816ea9)
+	l.movhi r2,     hi(0x00d5ce37) /* RB */
+	l.ori   r2, r2, lo(0x00d5ce37)
+	l.movhi r3,     hi(0xe777c44f) /* RD wait */
+	l.ori   r3, r3, lo(0xe777c44f)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 11*/
+        /**********/
+	l.movhi r1,     hi(0xfe816ea9) /* RA */
+	l.ori   r1, r1, lo(0xfe816ea9)
+	l.movhi r2,     hi(0xff2a31c9) /* RB */
+	l.ori   r2, r2, lo(0xff2a31c9)
+	l.movhi r3,     hi(0x18883bb1) /* RD wait */
+	l.ori   r3, r3, lo(0x18883bb1)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.mulu  r4, r1, r2
+
+        /* Test flag */
+        /*
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+        */
+        
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+         
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_032/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_032/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_032/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_032/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_032/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_032/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,66 @@
+/*
+ * Test_032
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.or
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                       (r4)     
+          1) 0x0f0f0f0f 0xff0000ff - 0xff0f0fff 
+          */
+
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x0f0f0f0f) /* RA */
+	l.ori   r1, r1, lo(0x0f0f0f0f)
+	l.movhi r2,     hi(0xff0000ff) /* RB */
+	l.ori   r2, r2, lo(0xff0000ff)
+	l.movhi r3,     hi(0xff0f0fff) /* RD wait */
+	l.ori   r3, r3, lo(0xff0f0fff)
+        
+        l.or    r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_033/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_033/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_033/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_033/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_033/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_033/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,80 @@
+/*
+ * Test_033
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.ori
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (I)  - D (r3 wait)
+                                       (r4)     
+          1) 0x0f0f0f0f 0x00ff - 0x0f0f0fff 
+          1) 0x0f0f0f0f 0xff00 - 0x0f0fff0f 
+          */
+
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x0f0f0f0f) /* RA */
+	l.ori   r1, r1, lo(0x0f0f0f0f)
+	l.movhi r3,     hi(0x0f0f0fff) /* RD wait */
+	l.ori   r3, r3, lo(0x0f0f0fff)
+        
+        l.ori   r4, r1, 0x00ff
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 2 */
+        /**********/
+	l.movhi r1,     hi(0x0f0f0f0f) /* RA */
+	l.ori   r1, r1, lo(0x0f0f0f0f)
+	l.movhi r3,     hi(0x0f0fff0f) /* RD wait */
+	l.ori   r3, r3, lo(0x0f0fff0f)
+        
+        l.ori   r4, r1, 0xff00
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_034/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_034/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_034/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_034/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_034/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_034/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,82 @@
+/*
+ * Test_034
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.psync
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,       hi(_stack) /* address */
+	l.ori   r1, r1,   lo(_stack)
+
+        l.psync
+        
+	l.movhi r2,       hi(0xbebebeef) /* data */
+	l.ori   r2, r2,   lo(0xbebebeef)
+	l.movhi r11,      hi(0x00000010) /* iteration */
+	l.ori   r11, r11, lo(0x00000010)
+
+        l.and   r3, r1, r1
+        l.and   r4, r2, r2
+        l.j     _loop1_test
+        l.add   r10, r0, r0
+_loop1_do :
+        l.sw    0(r3), r4
+        l.psync
+        l.addi  r3, r3,-4
+        l.addi  r4, r4,+1
+_loop1_test :
+        l.sfeq  r10, r11
+        l.bnf   _loop1_do
+        l.addi  r10, r10, 1
+        
+
+        l.and   r3, r1, r1
+        l.and   r4, r2, r2
+        l.j     _loop2_test
+        l.add   r10, r0, r0
+_loop2_do :
+        l.lwz   r5,  0(r3)
+        l.psync
+        l.sfeq  r5, r4
+        l.bnf   _end_ko
+        l.nop
+        l.addi  r3, r3,-4
+        l.addi  r4, r4,+1
+_loop2_test :
+        l.sfeq  r10, r11
+        l.bnf   _loop2_do
+        l.addi  r10, r10, 1
+       
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_035/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_035/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_035/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_035/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_035/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_035/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,66 @@
+/*
+ * Test_032
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.xor
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                       (r4)     
+          1) 0x0f0f0f0f 0xff0000ff - 0xf00f0ff0 
+          */
+
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x0f0f0f0f) /* RA */
+	l.ori   r1, r1, lo(0x0f0f0f0f)
+	l.movhi r2,     hi(0xff0000ff) /* RB */
+	l.ori   r2, r2, lo(0xff0000ff)
+	l.movhi r3,     hi(0xf00f0ff0) /* RD wait */
+	l.ori   r3, r3, lo(0xf00f0ff0)
+        
+        l.xor   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_036/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_036/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_036/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_036/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_036/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_036/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,80 @@
+/*
+ * Test_036
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.xori
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (I)  - D (r3 wait)
+                                       (r4)     
+          1) 0x0f0f0f0f 0x00ff - 0x0f0f0ff0 
+          1) 0x0f0f0f0f 0xff00 - 0xf0f0f00f 
+          */
+
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x0f0f0f0f) /* RA */
+	l.ori   r1, r1, lo(0x0f0f0f0f)
+	l.movhi r3,     hi(0x0f0f0ff0) /* RD wait */
+	l.ori   r3, r3, lo(0x0f0f0ff0)
+        
+        l.xori   r4, r1, 0x00ff
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 2 */
+        /**********/
+	l.movhi r1,     hi(0x0f0f0f0f) /* RA */
+	l.ori   r1, r1, lo(0x0f0f0f0f)
+	l.movhi r3,     hi(0xf0f0f00f) /* RD wait */
+	l.ori   r3, r3, lo(0xf0f0f00f)
+        
+        l.xori   r4, r1, 0xff00
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_037/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_037/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_037/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_037/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_037/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_037/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,678 @@
+/*
+ * Test_037
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.ror
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+         01) 0xdeadbeef 0x00000000 - 0xdeadbeef
+         02) 0xdeadbeef 0x00000001 - 0xef56df77
+         03) 0xdeadbeef 0x00000002 - 0xf7ab6fbb
+         04) 0xdeadbeef 0x00000003 - 0xfbd5b7dd
+         05) 0xdeadbeef 0x00000004 - 0xfdeadbee
+         06) 0xdeadbeef 0x00000005 - 0x7ef56df7
+         07) 0xdeadbeef 0x00000006 - 0xbf7ab6fb
+         08) 0xdeadbeef 0x00000007 - 0xdfbd5b7d
+         09) 0xdeadbeef 0x00000008 - 0xefdeadbe
+         10) 0xdeadbeef 0x00000009 - 0x77ef56df
+         11) 0xdeadbeef 0x0000000a - 0xbbf7ab6f
+         12) 0xdeadbeef 0x0000000b - 0xddfbd5b7
+         13) 0xdeadbeef 0x0000000c - 0xeefdeadb
+         14) 0xdeadbeef 0x0000000d - 0xf77ef56d
+         15) 0xdeadbeef 0x0000000e - 0xfbbf7ab6
+         16) 0xdeadbeef 0x0000000f - 0x7ddfbd5b
+         17) 0xdeadbeef 0x00000010 - 0xbeefdead
+         18) 0xdeadbeef 0x00000011 - 0xdf77ef56
+         19) 0xdeadbeef 0x00000012 - 0x6fbbf7ab
+         20) 0xdeadbeef 0x00000013 - 0xb7ddfbd5
+         21) 0xdeadbeef 0x00000014 - 0xdbeefdea
+         22) 0xdeadbeef 0x00000015 - 0x6df77ef5
+         23) 0xdeadbeef 0x00000016 - 0xb6fbbf7a
+         24) 0xdeadbeef 0x00000017 - 0x5b7ddfbd
+         25) 0xdeadbeef 0x00000018 - 0xadbeefde
+         26) 0xdeadbeef 0x00000019 - 0x56df77ef
+         27) 0xdeadbeef 0x0000001a - 0xab6fbbf7
+         28) 0xdeadbeef 0x0000001b - 0xd5b7ddfb
+         29) 0xdeadbeef 0x0000001c - 0xeadbeefd
+         30) 0xdeadbeef 0x0000001d - 0xf56df77e
+         31) 0xdeadbeef 0x0000001e - 0x7ab6fbbf
+         32) 0xdeadbeef 0x0000001f - 0xbd5b7ddf
+         33) 0xdeadbeef 0x00000020 - 0xdeadbeef
+         34) 0xdeadbeef 0x00000021 - 0xef56df77
+         35) 0xdeadbeef 0x00000022 - 0xf7ab6fbb
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000000) /* RA */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000001) /* RA */
+	l.ori   r2, r2, lo(0x00000001)
+	l.movhi r3,     hi(0xef56df77) /* RD wait */
+	l.ori   r3, r3, lo(0xef56df77)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000002) /* RA */
+	l.ori   r2, r2, lo(0x00000002)
+	l.movhi r3,     hi(0xf7ab6fbb) /* RD wait */
+	l.ori   r3, r3, lo(0xf7ab6fbb)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000003) /* RA */
+	l.ori   r2, r2, lo(0x00000003)
+	l.movhi r3,     hi(0xfbd5b7dd) /* RD wait */
+	l.ori   r3, r3, lo(0xfbd5b7dd)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000004) /* RA */
+	l.ori   r2, r2, lo(0x00000004)
+	l.movhi r3,     hi(0xfdeadbee) /* RD wait */
+	l.ori   r3, r3, lo(0xfdeadbee)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000005) /* RA */
+	l.ori   r2, r2, lo(0x00000005)
+	l.movhi r3,     hi(0x7ef56df7) /* RD wait */
+	l.ori   r3, r3, lo(0x7ef56df7)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 7  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000006) /* RA */
+	l.ori   r2, r2, lo(0x00000006)
+	l.movhi r3,     hi(0xbf7ab6fb) /* RD wait */
+	l.ori   r3, r3, lo(0xbf7ab6fb)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 8  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000007) /* RA */
+	l.ori   r2, r2, lo(0x00000007)
+	l.movhi r3,     hi(0xdfbd5b7d) /* RD wait */
+	l.ori   r3, r3, lo(0xdfbd5b7d)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 9  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000008) /* RA */
+	l.ori   r2, r2, lo(0x00000008)
+	l.movhi r3,     hi(0xefdeadbe) /* RD wait */
+	l.ori   r3, r3, lo(0xefdeadbe)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 10 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000009) /* RA */
+	l.ori   r2, r2, lo(0x00000009)
+	l.movhi r3,     hi(0x77ef56df) /* RD wait */
+	l.ori   r3, r3, lo(0x77ef56df)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 11 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000000a) /* RA */
+	l.ori   r2, r2, lo(0x0000000a)
+	l.movhi r3,     hi(0xbbf7ab6f) /* RD wait */
+	l.ori   r3, r3, lo(0xbbf7ab6f)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 12 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000000b) /* RA */
+	l.ori   r2, r2, lo(0x0000000b)
+	l.movhi r3,     hi(0xddfbd5b7) /* RD wait */
+	l.ori   r3, r3, lo(0xddfbd5b7)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 13 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000000c) /* RA */
+	l.ori   r2, r2, lo(0x0000000c)
+	l.movhi r3,     hi(0xeefdeadb) /* RD wait */
+	l.ori   r3, r3, lo(0xeefdeadb)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 14 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000000d) /* RA */
+	l.ori   r2, r2, lo(0x0000000d)
+	l.movhi r3,     hi(0xf77ef56d) /* RD wait */
+	l.ori   r3, r3, lo(0xf77ef56d)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 15 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000000e) /* RA */
+	l.ori   r2, r2, lo(0x0000000e)
+	l.movhi r3,     hi(0xfbbf7ab6) /* RD wait */
+	l.ori   r3, r3, lo(0xfbbf7ab6)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 16 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000000f) /* RA */
+	l.ori   r2, r2, lo(0x0000000f)
+	l.movhi r3,     hi(0x7ddfbd5b) /* RD wait */
+	l.ori   r3, r3, lo(0x7ddfbd5b)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 17 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000010) /* RA */
+	l.ori   r2, r2, lo(0x00000010)
+	l.movhi r3,     hi(0xbeefdead) /* RD wait */
+	l.ori   r3, r3, lo(0xbeefdead)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 18 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000011) /* RA */
+	l.ori   r2, r2, lo(0x00000011)
+	l.movhi r3,     hi(0xdf77ef56) /* RD wait */
+	l.ori   r3, r3, lo(0xdf77ef56)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 19 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000012) /* RA */
+	l.ori   r2, r2, lo(0x00000012)
+	l.movhi r3,     hi(0x6fbbf7ab) /* RD wait */
+	l.ori   r3, r3, lo(0x6fbbf7ab)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 20 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000013) /* RA */
+	l.ori   r2, r2, lo(0x00000013)
+	l.movhi r3,     hi(0xb7ddfbd5) /* RD wait */
+	l.ori   r3, r3, lo(0xb7ddfbd5)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 21 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000014) /* RA */
+	l.ori   r2, r2, lo(0x00000014)
+	l.movhi r3,     hi(0xdbeefdea) /* RD wait */
+	l.ori   r3, r3, lo(0xdbeefdea)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 22 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000015) /* RA */
+	l.ori   r2, r2, lo(0x00000015)
+	l.movhi r3,     hi(0x6df77ef5) /* RD wait */
+	l.ori   r3, r3, lo(0x6df77ef5)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 23 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000016) /* RA */
+	l.ori   r2, r2, lo(0x00000016)
+	l.movhi r3,     hi(0xb6fbbf7a) /* RD wait */
+	l.ori   r3, r3, lo(0xb6fbbf7a)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 24 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000017) /* RA */
+	l.ori   r2, r2, lo(0x00000017)
+	l.movhi r3,     hi(0x5b7ddfbd) /* RD wait */
+	l.ori   r3, r3, lo(0x5b7ddfbd)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 25 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000018) /* RA */
+	l.ori   r2, r2, lo(0x00000018)
+	l.movhi r3,     hi(0xadbeefde) /* RD wait */
+	l.ori   r3, r3, lo(0xadbeefde)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 26 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000019) /* RA */
+	l.ori   r2, r2, lo(0x00000019)
+	l.movhi r3,     hi(0x56df77ef) /* RD wait */
+	l.ori   r3, r3, lo(0x56df77ef)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 27 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001a) /* RA */
+	l.ori   r2, r2, lo(0x0000001a)
+	l.movhi r3,     hi(0xab6fbbf7) /* RD wait */
+	l.ori   r3, r3, lo(0xab6fbbf7)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 28 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001b) /* RA */
+	l.ori   r2, r2, lo(0x0000001b)
+	l.movhi r3,     hi(0xd5b7ddfb) /* RD wait */
+	l.ori   r3, r3, lo(0xd5b7ddfb)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 29 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001c) /* RA */
+	l.ori   r2, r2, lo(0x0000001c)
+	l.movhi r3,     hi(0xeadbeefd) /* RD wait */
+	l.ori   r3, r3, lo(0xeadbeefd)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 30 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001d) /* RA */
+	l.ori   r2, r2, lo(0x0000001d)
+	l.movhi r3,     hi(0xf56df77e) /* RD wait */
+	l.ori   r3, r3, lo(0xf56df77e)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 31 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001e) /* RA */
+	l.ori   r2, r2, lo(0x0000001e)
+	l.movhi r3,     hi(0x7ab6fbbf) /* RD wait */
+	l.ori   r3, r3, lo(0x7ab6fbbf)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 32 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001f) /* RA */
+	l.ori   r2, r2, lo(0x0000001f)
+	l.movhi r3,     hi(0xbd5b7ddf) /* RD wait */
+	l.ori   r3, r3, lo(0xbd5b7ddf)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 33 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000020) /* RA */
+	l.ori   r2, r2, lo(0x00000020)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 34 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000021) /* RA */
+	l.ori   r2, r2, lo(0x00000021)
+	l.movhi r3,     hi(0xef56df77) /* RD wait */
+	l.ori   r3, r3, lo(0xef56df77)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 35 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000022) /* RA */
+	l.ori   r2, r2, lo(0x00000022)
+	l.movhi r3,     hi(0xf7ab6fbb) /* RD wait */
+	l.ori   r3, r3, lo(0xf7ab6fbb)
+        
+        l.ror   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_038/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_038/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_038/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_038/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_038/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_038/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,560 @@
+/*
+ * Test_038
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.rori
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+         01) 0xdeadbeef 0x00000000 - 0xdeadbeef
+         02) 0xdeadbeef 0x00000001 - 0xef56df77
+         03) 0xdeadbeef 0x00000002 - 0xf7ab6fbb
+         04) 0xdeadbeef 0x00000003 - 0xfbd5b7dd
+         05) 0xdeadbeef 0x00000004 - 0xfdeadbee
+         06) 0xdeadbeef 0x00000005 - 0x7ef56df7
+         07) 0xdeadbeef 0x00000006 - 0xbf7ab6fb
+         08) 0xdeadbeef 0x00000007 - 0xdfbd5b7d
+         09) 0xdeadbeef 0x00000008 - 0xefdeadbe
+         10) 0xdeadbeef 0x00000009 - 0x77ef56df
+         11) 0xdeadbeef 0x0000000a - 0xbbf7ab6f
+         12) 0xdeadbeef 0x0000000b - 0xddfbd5b7
+         13) 0xdeadbeef 0x0000000c - 0xeefdeadb
+         14) 0xdeadbeef 0x0000000d - 0xf77ef56d
+         15) 0xdeadbeef 0x0000000e - 0xfbbf7ab6
+         16) 0xdeadbeef 0x0000000f - 0x7ddfbd5b
+         17) 0xdeadbeef 0x00000010 - 0xbeefdead
+         18) 0xdeadbeef 0x00000011 - 0xdf77ef56
+         19) 0xdeadbeef 0x00000012 - 0x6fbbf7ab
+         20) 0xdeadbeef 0x00000013 - 0xb7ddfbd5
+         21) 0xdeadbeef 0x00000014 - 0xdbeefdea
+         22) 0xdeadbeef 0x00000015 - 0x6df77ef5
+         23) 0xdeadbeef 0x00000016 - 0xb6fbbf7a
+         24) 0xdeadbeef 0x00000017 - 0x5b7ddfbd
+         25) 0xdeadbeef 0x00000018 - 0xadbeefde
+         26) 0xdeadbeef 0x00000019 - 0x56df77ef
+         27) 0xdeadbeef 0x0000001a - 0xab6fbbf7
+         28) 0xdeadbeef 0x0000001b - 0xd5b7ddfb
+         29) 0xdeadbeef 0x0000001c - 0xeadbeefd
+         30) 0xdeadbeef 0x0000001d - 0xf56df77e
+         31) 0xdeadbeef 0x0000001e - 0x7ab6fbbf
+         32) 0xdeadbeef 0x0000001f - 0xbd5b7ddf
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.rori  r4, r1, 0
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xef56df77) /* RD wait */
+	l.ori   r3, r3, lo(0xef56df77)
+        
+        l.rori  r4, r1, 1
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xf7ab6fbb) /* RD wait */
+	l.ori   r3, r3, lo(0xf7ab6fbb)
+        
+        l.rori  r4, r1, 2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xfbd5b7dd) /* RD wait */
+	l.ori   r3, r3, lo(0xfbd5b7dd)
+        
+        l.rori  r4, r1, 3
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xfdeadbee) /* RD wait */
+	l.ori   r3, r3, lo(0xfdeadbee)
+        
+        l.rori  r4, r1, 4
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x7ef56df7) /* RD wait */
+	l.ori   r3, r3, lo(0x7ef56df7)
+        
+        l.rori  r4, r1, 5
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 7  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xbf7ab6fb) /* RD wait */
+	l.ori   r3, r3, lo(0xbf7ab6fb)
+        
+        l.rori  r4, r1, 6
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 8  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdfbd5b7d) /* RD wait */
+	l.ori   r3, r3, lo(0xdfbd5b7d)
+        
+        l.rori  r4, r1, 7
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 9  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xefdeadbe) /* RD wait */
+	l.ori   r3, r3, lo(0xefdeadbe)
+        
+        l.rori  r4, r1, 8
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 10 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x77ef56df) /* RD wait */
+	l.ori   r3, r3, lo(0x77ef56df)
+        
+        l.rori  r4, r1, 9
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 11 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xbbf7ab6f) /* RD wait */
+	l.ori   r3, r3, lo(0xbbf7ab6f)
+        
+        l.rori  r4, r1, 10
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 12 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xddfbd5b7) /* RD wait */
+	l.ori   r3, r3, lo(0xddfbd5b7)
+        
+        l.rori  r4, r1, 11
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 13 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xeefdeadb) /* RD wait */
+	l.ori   r3, r3, lo(0xeefdeadb)
+        
+        l.rori  r4, r1, 12
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 14 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xf77ef56d) /* RD wait */
+	l.ori   r3, r3, lo(0xf77ef56d)
+        
+        l.rori  r4, r1, 13
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 15 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xfbbf7ab6) /* RD wait */
+	l.ori   r3, r3, lo(0xfbbf7ab6)
+        
+        l.rori  r4, r1, 14
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 16 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x7ddfbd5b) /* RD wait */
+	l.ori   r3, r3, lo(0x7ddfbd5b)
+        
+        l.rori  r4, r1, 15
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 17 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xbeefdead) /* RD wait */
+	l.ori   r3, r3, lo(0xbeefdead)
+        
+        l.rori  r4, r1, 16
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 18 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdf77ef56) /* RD wait */
+	l.ori   r3, r3, lo(0xdf77ef56)
+        
+        l.rori  r4, r1, 17
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 19 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x6fbbf7ab) /* RD wait */
+	l.ori   r3, r3, lo(0x6fbbf7ab)
+        
+        l.rori  r4, r1, 18
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 20 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xb7ddfbd5) /* RD wait */
+	l.ori   r3, r3, lo(0xb7ddfbd5)
+        
+        l.rori  r4, r1, 19
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 21 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdbeefdea) /* RD wait */
+	l.ori   r3, r3, lo(0xdbeefdea)
+        
+        l.rori  r4, r1, 20
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 22 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x6df77ef5) /* RD wait */
+	l.ori   r3, r3, lo(0x6df77ef5)
+        
+        l.rori  r4, r1, 21
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 23 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xb6fbbf7a) /* RD wait */
+	l.ori   r3, r3, lo(0xb6fbbf7a)
+        
+        l.rori  r4, r1, 22
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 24 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x5b7ddfbd) /* RD wait */
+	l.ori   r3, r3, lo(0x5b7ddfbd)
+        
+        l.rori  r4, r1, 23
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 25 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xadbeefde) /* RD wait */
+	l.ori   r3, r3, lo(0xadbeefde)
+        
+        l.rori  r4, r1, 24
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 26 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x56df77ef) /* RD wait */
+	l.ori   r3, r3, lo(0x56df77ef)
+        
+        l.rori  r4, r1, 25
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 27 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xab6fbbf7) /* RD wait */
+	l.ori   r3, r3, lo(0xab6fbbf7)
+        
+        l.rori  r4, r1, 26
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 28 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xd5b7ddfb) /* RD wait */
+	l.ori   r3, r3, lo(0xd5b7ddfb)
+        
+        l.rori  r4, r1, 27
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 29 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xeadbeefd) /* RD wait */
+	l.ori   r3, r3, lo(0xeadbeefd)
+        
+        l.rori  r4, r1, 28
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 30 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xf56df77e) /* RD wait */
+	l.ori   r3, r3, lo(0xf56df77e)
+        
+        l.rori  r4, r1, 29
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 31 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x7ab6fbbf) /* RD wait */
+	l.ori   r3, r3, lo(0x7ab6fbbf)
+        
+        l.rori  r4, r1, 30
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 32 */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xbd5b7ddf) /* RD wait */
+	l.ori   r3, r3, lo(0xbd5b7ddf)
+        
+        l.rori  r4, r1, 31
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_039/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_039/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_039/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_039/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_039/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_039/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,156 @@
+/*
+ * Test_039
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sll
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+          1) 0xdeadbeef 0x00000000 - 0xdeadbeef
+          2) 0xdeadbeef 0x00000008 - 0xadbeef00
+          3) 0xdeadbeef 0x00000010 - 0xbeef0000
+          4) 0xdeadbeef 0x00000018 - 0xef000000
+          5) 0xdeadbeef 0x0000001f - 0x80000000
+          6) 0xdeadbeef 0x00000024 - 0xeadbeef0
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000000) /* RB */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.sll   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000008) /* RB */
+	l.ori   r2, r2, lo(0x00000008)
+	l.movhi r3,     hi(0xadbeef00) /* RD wait */
+	l.ori   r3, r3, lo(0xadbeef00)
+        
+        l.sll   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000010) /* RB */
+	l.ori   r2, r2, lo(0x00000010)
+	l.movhi r3,     hi(0xbeef0000) /* RD wait */
+	l.ori   r3, r3, lo(0xbeef0000)
+        
+        l.sll   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000018) /* RB */
+	l.ori   r2, r2, lo(0x00000018)
+	l.movhi r3,     hi(0xef000000) /* RD wait */
+	l.ori   r3, r3, lo(0xef000000)
+        
+        l.sll   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001f) /* RB */
+	l.ori   r2, r2, lo(0x0000001f)
+	l.movhi r3,     hi(0x80000000) /* RD wait */
+	l.ori   r3, r3, lo(0x80000000)
+        
+        l.sll   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000024) /* RB */
+	l.ori   r2, r2, lo(0x00000024)
+	l.movhi r3,     hi(0xeadbeef0) /* RD wait */
+	l.ori   r3, r3, lo(0xeadbeef0)
+        
+        l.sll   r4, r1, r2
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_040/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_040/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_040/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_040/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_040/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_040/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,129 @@
+/*
+ * Test_040
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.slli
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+          1) 0xdeadbeef 0x00000000 - 0xdeadbeef
+          2) 0xdeadbeef 0x00000008 - 0xadbeef00
+          3) 0xdeadbeef 0x00000010 - 0xbeef0000
+          4) 0xdeadbeef 0x00000018 - 0xef000000
+          5) 0xdeadbeef 0x0000001f - 0x80000000
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.slli  r4, r1, 0 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xadbeef00) /* RD wait */
+	l.ori   r3, r3, lo(0xadbeef00)
+        
+        l.slli  r4, r1, 8 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xbeef0000) /* RD wait */
+	l.ori   r3, r3, lo(0xbeef0000)
+        
+        l.slli  r4, r1, 16
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xef000000) /* RD wait */
+	l.ori   r3, r3, lo(0xef000000)
+        
+        l.slli  r4, r1, 24
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x80000000) /* RD wait */
+	l.ori   r3, r3, lo(0x80000000)
+        
+        l.slli  r4, r1, 31
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_041/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_041/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_041/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_041/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_041/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_041/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,265 @@
+/*
+ * Test_041
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.srl
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+          1) 0xdeadbeef 0x00000000 - 0xdeadbeef
+          2) 0xdeadbeef 0x00000008 - 0x00deadbe
+          3) 0xdeadbeef 0x00000010 - 0x0000dead
+          4) 0xdeadbeef 0x00000018 - 0x000000de
+          5) 0xdeadbeef 0x0000001f - 0x00000001
+          6) 0xdeadbeef 0x00000024 - 0x0deadbee 
+          7) 0x12345678 0x00000000 - 0x12345678
+          8) 0x12345678 0x00000008 - 0x00123456
+          9) 0x12345678 0x00000010 - 0x00001234
+         10) 0x12345678 0x00000018 - 0x00000012
+         11) 0x12345678 0x0000001f - 0x00000000
+         12) 0x12345678 0x00000024 - 0x01234567
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000000) /* RA */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000008) /* RA */
+	l.ori   r2, r2, lo(0x00000008)
+	l.movhi r3,     hi(0x00deadbe) /* RD wait */
+	l.ori   r3, r3, lo(0x00deadbe)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000010) /* RB */
+	l.ori   r2, r2, lo(0x00000010)
+	l.movhi r3,     hi(0x0000dead) /* RD wait */
+	l.ori   r3, r3, lo(0x0000dead)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000018) /* RB */
+	l.ori   r2, r2, lo(0x00000018)
+	l.movhi r3,     hi(0x000000de) /* RD wait */
+	l.ori   r3, r3, lo(0x000000de)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001f) /* RB */
+	l.ori   r2, r2, lo(0x0000001f)
+	l.movhi r3,     hi(0x00000001) /* RD wait */
+	l.ori   r3, r3, lo(0x00000001)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000024) /* RB */
+	l.ori   r2, r2, lo(0x00000024)
+	l.movhi r3,     hi(0x0deadbee) /* RD wait */
+	l.ori   r3, r3, lo(0x0deadbee)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 7  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000000) /* RB */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0x12345678) /* RD wait */
+	l.ori   r3, r3, lo(0x12345678)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 8  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000008) /* RB */
+	l.ori   r2, r2, lo(0x00000008)
+	l.movhi r3,     hi(0x00123456) /* RD wait */
+	l.ori   r3, r3, lo(0x00123456)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 9  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000010) /* RB */
+	l.ori   r2, r2, lo(0x00000010)
+	l.movhi r3,     hi(0x00001234) /* RD wait */
+	l.ori   r3, r3, lo(0x00001234)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 10 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000018) /* RB */
+	l.ori   r2, r2, lo(0x00000018)
+	l.movhi r3,     hi(0x00000012) /* RD wait */
+	l.ori   r3, r3, lo(0x00000012)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 11 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x0000001f) /* RB */
+	l.ori   r2, r2, lo(0x0000001f)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 12 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000024) /* RB */
+	l.ori   r2, r2, lo(0x00000024)
+	l.movhi r3,     hi(0x01234567) /* RD wait */
+	l.ori   r3, r3, lo(0x01234567)
+        
+        l.srl   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_042/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_042/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_042/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_042/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_042/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_042/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,241 @@
+/*
+ * Test_042
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.srli
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+          1) 0xdeadbeef 0x00000000 - 0xdeadbeef
+          2) 0xdeadbeef 0x00000008 - 0x00deadbe
+          3) 0xdeadbeef 0x00000010 - 0x0000dead
+          4) 0xdeadbeef 0x00000018 - 0x000000de
+          5) 0xdeadbeef 0x0000001f - 0x00000001
+          6) 0xdeadbeef 0x00000004 - 0x0deadbee 
+          7) 0x12345678 0x00000000 - 0x12345678
+          8) 0x12345678 0x00000008 - 0x00123456
+          9) 0x12345678 0x00000010 - 0x00001234
+         10) 0x12345678 0x00000018 - 0x00000012
+         11) 0x12345678 0x0000001f - 0x00000000
+         12) 0x12345678 0x00000004 - 0x01234567
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.srli  r4, r1, 0 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x00deadbe) /* RD wait */
+	l.ori   r3, r3, lo(0x00deadbe)
+        
+        l.srli  r4, r1, 8 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x0000dead) /* RD wait */
+	l.ori   r3, r3, lo(0x0000dead)
+        
+        l.srli  r4, r1, 16 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x000000de) /* RD wait */
+	l.ori   r3, r3, lo(0x000000de)
+        
+        l.srli  r4, r1, 24 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x00000001) /* RD wait */
+	l.ori   r3, r3, lo(0x00000001)
+        
+        l.srli  r4, r1, 31 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0x0deadbee) /* RD wait */
+	l.ori   r3, r3, lo(0x0deadbee)
+        
+        l.srli  r4, r1, 4
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 7  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x12345678) /* RD wait */
+	l.ori   r3, r3, lo(0x12345678)
+        
+        l.srli  r4, r1, 0
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 8  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00123456) /* RD wait */
+	l.ori   r3, r3, lo(0x00123456)
+        
+        l.srli  r4, r1, 8
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 9  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00001234) /* RD wait */
+	l.ori   r3, r3, lo(0x00001234)
+        
+        l.srli  r4, r1, 16 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 10 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00000012) /* RD wait */
+	l.ori   r3, r3, lo(0x00000012)
+        
+        l.srli  r4, r1, 24 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 11 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+        
+        l.srli  r4, r1, 31 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 12 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x01234567) /* RD wait */
+	l.ori   r3, r3, lo(0x01234567)
+        
+        l.srli  r4, r1, 4
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_043/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_043/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_043/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_043/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_043/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_043/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,265 @@
+/*
+ * Test_043
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sra
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+          1) 0xdeadbeef 0x00000000 - 0xdeadbeef
+          2) 0xdeadbeef 0x00000008 - 0xffdeadbe
+          3) 0xdeadbeef 0x00000010 - 0xffffdead
+          4) 0xdeadbeef 0x00000018 - 0xffffffde
+          5) 0xdeadbeef 0x0000001f - 0xffffffff
+          6) 0xdeadbeef 0x00000024 - 0xfdeadbee 
+          7) 0x12345678 0x00000000 - 0x12345678
+          8) 0x12345678 0x00000008 - 0x00123456
+          9) 0x12345678 0x00000010 - 0x00001234
+         10) 0x12345678 0x00000018 - 0x00000012
+         11) 0x12345678 0x0000001f - 0x00000000
+         12) 0x12345678 0x00000024 - 0x01234567
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000000) /* RA */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000008) /* RA */
+	l.ori   r2, r2, lo(0x00000008)
+	l.movhi r3,     hi(0xffdeadbe) /* RD wait */
+	l.ori   r3, r3, lo(0xffdeadbe)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000010) /* RB */
+	l.ori   r2, r2, lo(0x00000010)
+	l.movhi r3,     hi(0xffffdead) /* RD wait */
+	l.ori   r3, r3, lo(0xffffdead)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000018) /* RB */
+	l.ori   r2, r2, lo(0x00000018)
+	l.movhi r3,     hi(0xffffffde) /* RD wait */
+	l.ori   r3, r3, lo(0xffffffde)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x0000001f) /* RB */
+	l.ori   r2, r2, lo(0x0000001f)
+	l.movhi r3,     hi(0xffffffff) /* RD wait */
+	l.ori   r3, r3, lo(0xffffffff)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r2,     hi(0x00000024) /* RB */
+	l.ori   r2, r2, lo(0x00000024)
+	l.movhi r3,     hi(0xfdeadbee) /* RD wait */
+	l.ori   r3, r3, lo(0xfdeadbee)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 7  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000000) /* RB */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0x12345678) /* RD wait */
+	l.ori   r3, r3, lo(0x12345678)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 8  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000008) /* RB */
+	l.ori   r2, r2, lo(0x00000008)
+	l.movhi r3,     hi(0x00123456) /* RD wait */
+	l.ori   r3, r3, lo(0x00123456)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 9  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000010) /* RB */
+	l.ori   r2, r2, lo(0x00000010)
+	l.movhi r3,     hi(0x00001234) /* RD wait */
+	l.ori   r3, r3, lo(0x00001234)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 10 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000018) /* RB */
+	l.ori   r2, r2, lo(0x00000018)
+	l.movhi r3,     hi(0x00000012) /* RD wait */
+	l.ori   r3, r3, lo(0x00000012)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 11 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x0000001f) /* RB */
+	l.ori   r2, r2, lo(0x0000001f)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 12 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x00000024) /* RB */
+	l.ori   r2, r2, lo(0x00000024)
+	l.movhi r3,     hi(0x01234567) /* RD wait */
+	l.ori   r3, r3, lo(0x01234567)
+        
+        l.sra   r4, r1, r2 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_044/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_044/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_044/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_044/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_044/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_044/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,241 @@
+/*
+ * Test_044
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.srai
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)
+                                           (r4)     
+          1) 0xdeadbeef 0x00000000 - 0xdeadbeef
+          2) 0xdeadbeef 0x00000008 - 0xffdeadbe
+          3) 0xdeadbeef 0x00000010 - 0xffffdead
+          4) 0xdeadbeef 0x00000018 - 0xffffffde
+          5) 0xdeadbeef 0x0000001f - 0xffffffff
+          6) 0xdeadbeef 0x00000004 - 0xfdeadbee 
+          7) 0x12345678 0x00000000 - 0x12345678
+          8) 0x12345678 0x00000008 - 0x00123456
+          9) 0x12345678 0x00000010 - 0x00001234
+         10) 0x12345678 0x00000018 - 0x00000012
+         11) 0x12345678 0x0000001f - 0x00000000
+         12) 0x12345678 0x00000004 - 0x01234567
+         */
+
+        /***********/
+        /* Test 1  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xdeadbeef) /* RD wait */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.srai  r4, r1, 0 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 2  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xffdeadbe) /* RD wait */
+	l.ori   r3, r3, lo(0xffdeadbe)
+        
+        l.srai  r4, r1, 8 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 3  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xffffdead) /* RD wait */
+	l.ori   r3, r3, lo(0xffffdead)
+        
+        l.srai  r4, r1, 16 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 4  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xffffffde) /* RD wait */
+	l.ori   r3, r3, lo(0xffffffde)
+        
+        l.srai  r4, r1, 24 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 5  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xffffffff) /* RD wait */
+	l.ori   r3, r3, lo(0xffffffff)
+        
+        l.srai  r4, r1, 31 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 6  */
+        /***********/
+	l.movhi r1,     hi(0xdeadbeef) /* RA */
+	l.ori   r1, r1, lo(0xdeadbeef)
+	l.movhi r3,     hi(0xfdeadbee) /* RD wait */
+	l.ori   r3, r3, lo(0xfdeadbee)
+        
+        l.srai  r4, r1, 4
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 7  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x12345678) /* RD wait */
+	l.ori   r3, r3, lo(0x12345678)
+        
+        l.srai  r4, r1, 0
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /***********/
+        /* Test 8  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00123456) /* RD wait */
+	l.ori   r3, r3, lo(0x00123456)
+        
+        l.srai  r4, r1, 8
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 9  */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00001234) /* RD wait */
+	l.ori   r3, r3, lo(0x00001234)
+        
+        l.srai  r4, r1, 16 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 10 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00000012) /* RD wait */
+	l.ori   r3, r3, lo(0x00000012)
+        
+        l.srai  r4, r1, 24 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 11 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+        
+        l.srai  r4, r1, 31 
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /***********/
+        /* Test 12 */
+        /***********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r3,     hi(0x01234567) /* RD wait */
+	l.ori   r3, r3, lo(0x01234567)
+        
+        l.srai  r4, r1, 4
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_045/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_045/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_045/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_045/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_045/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_045/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,250 @@
+/*
+ * Test_045
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sub
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+             A (r1)     B (r2)     - D (r3 wait)CY OV (SR = r6, mask SR = r5)
+                                       (r4)                (r7)
+          1) 0x00000000 0x00000000 - 0x00000000 0  0
+          2) 0x12344321 0x00000001 - 0x12344320 0  0
+          3) 0x12345678 0xffffffff - 0x12345679 0  0
+          4) 0x70000000 0x90000000 - 0xe0000000 0  0
+          5) 0x80001000 0x80000000 - 0x00001000 0  0
+          6) 0x00000001 0x7fffffff - 0x80000002 0  1
+          7) 0x12345678 0x12345678 - 0x00000000 0  0
+          */
+
+
+        
+        /* Mask to read OV (SR[11]), CY (SR[10]) and not F (SR[9]) */
+	l.movhi r5,     hi(0x00000c00)
+	l.ori   r5, r5, lo(0x00000c00)
+        
+        /**********/
+        /* Test 1 */
+        /**********/
+	l.movhi r1,     hi(0x00000000) /* RA */
+	l.ori   r1, r1, lo(0x00000000)
+	l.movhi r2,     hi(0x00000000) /* RB */
+	l.ori   r2, r2, lo(0x00000000)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 2 */
+        /**********/
+	l.movhi r1,     hi(0x12344321) /* RA */
+	l.ori   r1, r1, lo(0x12344321)
+	l.movhi r2,     hi(0x00000001) /* RB */
+	l.ori   r2, r2, lo(0x00000001)
+	l.movhi r3,     hi(0x12344320) /* RD wait */
+	l.ori   r3, r3, lo(0x12344320)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 3 */
+        /**********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0xffffffff) /* RB */
+	l.ori   r2, r2, lo(0xffffffff)
+	l.movhi r3,     hi(0x12345679) /* RD wait */
+	l.ori   r3, r3, lo(0x12345679)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 4 */
+        /**********/
+	l.movhi r1,     hi(0x70000000) /* RA */
+	l.ori   r1, r1, lo(0x70000000)
+	l.movhi r2,     hi(0x90000000) /* RB */
+	l.ori   r2, r2, lo(0x90000000)
+	l.movhi r3,     hi(0xe0000000) /* RD wait */
+	l.ori   r3, r3, lo(0xe0000000)
+	l.movhi r6,     hi(0x00000800) /* SR wait */
+	l.ori   r6, r6, lo(0x00000800)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 5 */
+        /**********/
+	l.movhi r1,     hi(0x80001000) /* RA */
+	l.ori   r1, r1, lo(0x80001000)
+	l.movhi r2,     hi(0x80000000) /* RB */
+	l.ori   r2, r2, lo(0x80000000)
+	l.movhi r3,     hi(0x00001000) /* RD wait */
+	l.ori   r3, r3, lo(0x00001000)
+	l.movhi r6,     hi(0x00000800) /* SR wait */
+	l.ori   r6, r6, lo(0x00000800)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* Test 6 */
+        /**********/
+	l.movhi r1,     hi(0x00000001) /* RA */
+	l.ori   r1, r1, lo(0x00000001)
+	l.movhi r2,     hi(0x7fffffff) /* RB */
+	l.ori   r2, r2, lo(0x7fffffff)
+	l.movhi r3,     hi(0x80000002) /* RD wait */
+	l.ori   r3, r3, lo(0x80000002)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+
+        /**********/
+        /* Test 7 */
+        /**********/
+	l.movhi r1,     hi(0x12345678) /* RA */
+	l.ori   r1, r1, lo(0x12345678)
+	l.movhi r2,     hi(0x12345678) /* RB */
+	l.ori   r2, r2, lo(0x12345678)
+	l.movhi r3,     hi(0x00000000) /* RD wait */
+	l.ori   r3, r3, lo(0x00000000)
+	l.movhi r6,     hi(0x00000000) /* SR wait */
+	l.ori   r6, r6, lo(0x00000000)
+        
+        l.sub   r4, r1, r2
+
+        /* Test flag */
+        l.mfspr r7, r0, 17
+        l.and   r7, r7, r5
+
+        l.sfeq  r6, r7
+        l.bnf   _end_ko
+        l.nop
+
+        /* Test result */
+        l.sfeq  r3, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        /**********/
+        /* End */
+        /**********/
+
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_046/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_046/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_046/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_046/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_046/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_046/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,148 @@
+/*
+ * Test_046
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sw / l.lws (l.lwz)
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+ 	l.movhi r2,     hi(0x00000010) /* iteration */
+	l.ori   r2, r2, lo(0x00000010)
+
+	l.movhi r3,     hi(0xdeadbeef) /* data */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.and   r21, r1, r1
+        l.j     _loop1_store_test
+        l.and   r22, r0, r0
+_loop1_store_body :
+        l.sw    0(r21), r3
+        l.addi  r21, r21, -4
+        l.addi  r3, r3,  1
+_loop1_store_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_store_body
+        l.addi  r22, r22, 1
+
+        /* load Zero */
+	l.movhi r3,     hi(0xdeadbeef) /* data */
+	l.ori   r3, r3, lo(0xdeadbeef)
+
+        l.and   r21, r1, r1
+        l.j     _loop1_loadz_test
+        l.and   r22, r0, r0
+_loop1_loadz_body :
+        l.lwz   r4, 0(r21)
+        l.addi  r21, r21, -4
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop1_loadz_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_loadz_body
+        l.addi  r22, r22, 1
+
+        /* load Signed */
+	l.movhi r3,     hi(0xdeadbeef) /* data */
+	l.ori   r3, r3, lo(0xdeadbeef)
+
+        l.and   r21, r1, r1
+        l.j     _loop1_loads_test
+        l.and   r22, r0, r0
+_loop1_loads_body :
+        l.lws   r4, 0(r21)
+        l.addi  r21, r21, -4
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop1_loads_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_loads_body
+        l.addi  r22, r22, 1
+
+	l.movhi r3,     hi(0x12345678) /* data */
+	l.ori   r3, r3, lo(0x12345678)
+        
+        l.and   r21, r1, r1
+        l.j     _loop2_store_test
+        l.and   r22, r0, r0
+_loop2_store_body :
+        l.sw    0(r21), r3
+        l.addi  r21, r21, -4
+        l.addi  r3, r3,  1
+_loop2_store_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_store_body
+        l.addi  r22, r22, 1
+
+        /* load Zero */
+	l.movhi r3,     hi(0x12345678) /* data */
+	l.ori   r3, r3, lo(0x12345678)
+
+        l.and   r21, r1, r1
+        l.j     _loop2_loadz_test
+        l.and   r22, r0, r0
+_loop2_loadz_body :
+        l.lwz   r4, 0(r21)
+        l.addi  r21, r21, -4
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop2_loadz_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_loadz_body
+        l.addi  r22, r22, 1
+
+        /* load Signed */
+	l.movhi r3,     hi(0x12345678) /* data */
+	l.ori   r3, r3, lo(0x12345678)
+
+        l.and   r21, r1, r1
+        l.j     _loop2_loads_test
+        l.and   r22, r0, r0
+_loop2_loads_body :
+        l.lws   r4, 0(r21)
+        l.addi  r21, r21, -4
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop2_loads_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_loads_body
+        l.addi  r22, r22, 1
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_047/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_047/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_047/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_047/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_047/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_047/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,149 @@
+/*
+ * Test_047
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sh / l.lhs (l.lhz)
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+ 	l.movhi r2,     hi(0x00000010) /* iteration */
+	l.ori   r2, r2, lo(0x00000010)
+
+	l.movhi r3,     hi(0xdeadbeef) /* data */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.and   r21, r1, r1
+        l.j     _loop1_store_test
+        l.and   r22, r0, r0
+_loop1_store_body :
+        l.sh    0(r21), r3
+        l.addi  r21, r21, -2
+        l.addi  r3, r3,  1
+_loop1_store_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_store_body
+        l.addi  r22, r22, 1
+
+        
+        /* load Zero */
+	l.movhi r3,     hi(0x0000beef) /* data */
+	l.ori   r3, r3, lo(0x0000beef)
+
+        l.and   r21, r1, r1
+        l.j     _loop1_loadz_test
+        l.and   r22, r0, r0
+_loop1_loadz_body :
+        l.lhz   r4, 0(r21)
+        l.addi  r21, r21, -2
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop1_loadz_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_loadz_body
+        l.addi  r22, r22, 1
+
+        /* load Signed */
+	l.movhi r3,     hi(0xffffbeef) /* data */
+	l.ori   r3, r3, lo(0xffffbeef)
+
+        l.and   r21, r1, r1
+        l.j     _loop1_loads_test
+        l.and   r22, r0, r0
+_loop1_loads_body :
+        l.lhs   r4, 0(r21)
+        l.addi  r21, r21, -2
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop1_loads_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_loads_body
+        l.addi  r22, r22, 1
+
+	l.movhi r3,     hi(0x12345678) /* data */
+	l.ori   r3, r3, lo(0x12345678)
+        
+        l.and   r21, r1, r1
+        l.j     _loop2_store_test
+        l.and   r22, r0, r0
+_loop2_store_body :
+        l.sh    0(r21), r3
+        l.addi  r21, r21, -2
+        l.addi  r3, r3,  1
+_loop2_store_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_store_body
+        l.addi  r22, r22, 1
+
+        /* load Zero */
+	l.movhi r3,     hi(0x00005678) /* data */
+	l.ori   r3, r3, lo(0x00005678)
+
+        l.and   r21, r1, r1
+        l.j     _loop2_loadz_test
+        l.and   r22, r0, r0
+_loop2_loadz_body :
+        l.lhz   r4, 0(r21)
+        l.addi  r21, r21, -2
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop2_loadz_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_loadz_body
+        l.addi  r22, r22, 1
+
+        /* load Signed */
+	l.movhi r3,     hi(0x00005678) /* data */
+	l.ori   r3, r3, lo(0x00005678)
+
+        l.and   r21, r1, r1
+        l.j     _loop2_loads_test
+        l.and   r22, r0, r0
+_loop2_loads_body :
+        l.lhs   r4, 0(r21)
+        l.addi  r21, r21, -2
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop2_loads_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_loads_body
+        l.addi  r22, r22, 1
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_048/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_048/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_048/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_048/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_048/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_048/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,149 @@
+/*
+ * Test_048
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sb / l.lbs (l.lbz)
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+ 	l.movhi r2,     hi(0x00000010) /* iteration */
+	l.ori   r2, r2, lo(0x00000010)
+
+	l.movhi r3,     hi(0xdeadbeef) /* data */
+	l.ori   r3, r3, lo(0xdeadbeef)
+        
+        l.and   r21, r1, r1
+        l.j     _loop1_store_test
+        l.and   r22, r0, r0
+_loop1_store_body :
+        l.sb    0(r21), r3
+        l.addi  r21, r21, -1
+        l.addi  r3, r3,  1
+_loop1_store_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_store_body
+        l.addi  r22, r22, 1
+
+        
+        /* load Zero */
+	l.movhi r3,     hi(0x000000ef) /* data */
+	l.ori   r3, r3, lo(0x000000ef)
+
+        l.and   r21, r1, r1
+        l.j     _loop1_loadz_test
+        l.and   r22, r0, r0
+_loop1_loadz_body :
+        l.lbz   r4, 0(r21)
+        l.addi  r21, r21, -1
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop1_loadz_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_loadz_body
+        l.addi  r22, r22, 1
+
+        /* load Signed */
+	l.movhi r3,     hi(0xffffffef) /* data */
+	l.ori   r3, r3, lo(0xffffffef)
+
+        l.and   r21, r1, r1
+        l.j     _loop1_loads_test
+        l.and   r22, r0, r0
+_loop1_loads_body :
+        l.lbs   r4, 0(r21)
+        l.addi  r21, r21, -1
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop1_loads_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop1_loads_body
+        l.addi  r22, r22, 1
+
+	l.movhi r3,     hi(0x87654321) /* data */
+	l.ori   r3, r3, lo(0x87654321)
+        
+        l.and   r21, r1, r1
+        l.j     _loop2_store_test
+        l.and   r22, r0, r0
+_loop2_store_body :
+        l.sb    0(r21), r3
+        l.addi  r21, r21, -1
+        l.addi  r3, r3,  1
+_loop2_store_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_store_body
+        l.addi  r22, r22, 1
+        
+        /* load Zero */
+	l.movhi r3,     hi(0x00000021) /* data */
+	l.ori   r3, r3, lo(0x00000021)
+
+        l.and   r21, r1, r1
+        l.j     _loop2_loadz_test
+        l.and   r22, r0, r0
+_loop2_loadz_body :
+        l.lbz   r4, 0(r21)
+        l.addi  r21, r21, -1
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop2_loadz_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_loadz_body
+        l.addi  r22, r22, 1
+
+        /* load Signed */
+	l.movhi r3,     hi(0x00000021) /* data */
+	l.ori   r3, r3, lo(0x00000021)
+
+        l.and   r21, r1, r1
+        l.j     _loop2_loads_test
+        l.and   r22, r0, r0
+_loop2_loads_body :
+        l.lbs   r4, 0(r21)
+        l.addi  r21, r21, -1
+        l.sfeq  r4, r3
+        l.bnf   _end_ko
+        l.addi  r3, r3, 1
+_loop2_loads_test :        
+        l.sfeq  r22, r2
+        l.bnf   _loop2_loads_body
+        l.addi  r22, r22, 1
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_049/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_049/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_049/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_049/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_049/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_049/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,96 @@
+/*
+ * Test_049
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test dependencies between access memory
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+	l.movhi r1,     hi(_stack) /* address */
+	l.ori   r1, r1, lo(_stack)
+
+ 	l.movhi r2,     hi(0x00000010) /* iteration */
+	l.ori   r2, r2, lo(0x00000010)
+
+	l.movhi r3,     hi(0xdeadbeef) /* data 1 */
+	l.ori   r3, r3, lo(0xdeadbeef)
+	l.movhi r4,     hi(0x12345678) /* data 2 */
+	l.ori   r4, r4, lo(0x12345678)
+        
+        l.j     _loop1_store_test
+        l.and   r20, r0, r0 /* iterator */
+_loop1_store_body :
+        l.srli  r5, r3, 0   /* deadbeef */
+        l.srli  r6, r3, 8   /* 00deadbe */
+        l.srli  r7, r3, 16  /* 0000dead */
+        l.srli  r8, r4, 8   /* 00123456 */
+        l.srli  r9, r4, 16  /* 00001234 */
+        
+        l.sb    +3(r1), r5
+        l.sb    +2(r1), r6
+        l.lhz   r10, +2(r1)
+        l.sh    +0(r1), r7
+        l.lwz   r11, +0(r1)
+
+        l.sw    -4(r1), r3
+        l.sh    -2(r1), r1
+        l.sb    -1(r1), r4
+        l.sh    -4(r1), r9
+        l.sb    -2(r1), r8
+        l.lwz   r12, -4(r1)
+        
+        l.sfeq  r11, r3
+        l.bnf   _end_ko
+        l.nop
+        
+        l.exthz r11, r3
+        l.sfeq  r10, r11
+        l.bnf   _end_ko
+        l.nop
+
+        l.sfeq  r12, r4
+        l.bnf   _end_ko
+        l.nop
+        
+        l.addi  r3, r3,  1
+        l.rori  r3, r3,  1
+        l.addi  r4, r4,  1
+        l.rori  r4, r4,  1
+
+_loop1_store_test :        
+        l.sfeq  r20, r2
+        l.bnf   _loop1_store_body
+        l.addi  r20, r20, 1
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_050/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_050/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_050/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_050/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_050/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_050/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,190 @@
+/*
+ * Test_050
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sfeq, l.sfeqi
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+              A     B    F
+         01)  2107  1981 0
+         02)  2107 -1981 0
+         03) -2107  1981 0
+         04) -2107 -1981 0
+         05)  1981  2107 0
+         06)  1981 -2107 0
+         07) -1981  2107 0
+         08) -1981 -2107 0
+         09)  1407  1407 1
+         10)  1407 -1407 0
+         11) -1407  1407 0
+         12) -1407 -1407 1
+        */
+
+        /* Register */
+        l.xori  r1,r0,  2107
+        l.xori  r2,r0,  1981
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  2107
+        l.xori  r2,r0, -1981
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.xori  r2,r0,  1981
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.xori  r2,r0, -1981
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.xori  r2,r0,  2107
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.xori  r2,r0, -2107
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+        
+        l.xori  r1,r0, -1981
+        l.xori  r2,r0,  2107
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1981
+        l.xori  r2,r0, -2107
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.xori  r2,r0,  1407
+        l.sfeq  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.xori  r2,r0, -1407
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.xori  r2,r0,  1407
+        l.sfeq  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.xori  r2,r0, -1407
+        l.sfeq  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  r1,r0,  2107
+        l.sfeqi r1,  1981
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  2107
+        l.sfeqi r1, -1981
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.sfeqi r1,  1981
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.sfeqi r1, -1981
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.sfeqi r1,  2107
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.sfeqi r1, -2107
+        l.bf    _end_ko
+        l.nop
+        
+        l.xori  r1,r0, -1981
+        l.sfeqi r1,  2107
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1981
+        l.sfeqi r1, -2107
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.sfeqi r1,  1407
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.sfeqi r1, -1407
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.sfeqi r1,  1407
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.sfeqi r1, -1407
+        l.bnf   _end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_051/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_051/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_051/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_051/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_051/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_051/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,190 @@
+/*
+ * Test_051
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sfne, l.sfnei
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+              A     B    F
+         01)  2107  1981 1
+         02)  2107 -1981 1
+         03) -2107  1981 1
+         04) -2107 -1981 1
+         05)  1981  2107 1
+         06)  1981 -2107 1
+         07) -1981  2107 1
+         08) -1981 -2107 1
+         09)  1407  1407 0
+         10)  1407 -1407 1
+         11) -1407  1407 1
+         12) -1407 -1407 0
+        */
+
+        /* Register */
+        l.xori  r1,r0,  2107
+        l.xori  r2,r0,  1981
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  2107
+        l.xori  r2,r0, -1981
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.xori  r2,r0,  1981
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.xori  r2,r0, -1981
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.xori  r2,r0,  2107
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.xori  r2,r0, -2107
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+        
+        l.xori  r1,r0, -1981
+        l.xori  r2,r0,  2107
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1981
+        l.xori  r2,r0, -2107
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.xori  r2,r0,  1407
+        l.sfne  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.xori  r2,r0, -1407
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.xori  r2,r0,  1407
+        l.sfne  r1, r2
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.xori  r2,r0, -1407
+        l.sfne  r1, r2
+        l.bf    _end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  r1,r0,  2107
+        l.sfnei r1,  1981
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  2107
+        l.sfnei r1, -1981
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.sfnei r1,  1981
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -2107
+        l.sfnei r1, -1981
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.sfnei r1,  2107
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1981
+        l.sfnei r1, -2107
+        l.bnf   _end_ko
+        l.nop
+        
+        l.xori  r1,r0, -1981
+        l.sfnei r1,  2107
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1981
+        l.sfnei r1, -2107
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.sfnei r1,  1407
+        l.bf    _end_ko
+        l.nop
+
+        l.xori  r1,r0,  1407
+        l.sfnei r1, -1407
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.sfnei r1,  1407
+        l.bnf   _end_ko
+        l.nop
+
+        l.xori  r1,r0, -1407
+        l.sfnei r1, -1407
+        l.bf    _end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_052/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_052/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_052/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_052/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_052/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_052/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,331 @@
+/*
+ * Test_052
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sfges, l.sfgesi, l.sfgeu, l.sfgeui
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+              A     B    F
+                         S U
+         01)  2107  1981 1 1
+         02)  2107 -1981 1 0
+         03) -2107  1981 0 1
+         04) -2107 -1981 0 0
+         05)  1981  2107 0 0
+         06)  1981 -2107 1 0
+         07) -1981  2107 0 1
+         08) -1981 -2107 1 1
+         09)  1407  1407 1 1
+         10)  1407 -1407 1 0
+         11) -1407  1407 0 1
+         12) -1407 -1407 1 1
+        */
+
+        /************/
+        /* Signed   */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfges 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfges 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfges 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfges 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfges 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfges 	r1, r2
+        l.bnf   	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfgesi	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfgesi	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgesi	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgesi	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgesi	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgesi	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgesi	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgesi	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgesi	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgesi	r1, -1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgesi	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgesi	r1, -1407
+        l.bnf   	_end_ko
+        l.nop
+        
+        /************/
+        /* Unsigned */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfgeu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfgeu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfgeu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfgeu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfgeu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfgeu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfgeui	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfgeui	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgeui	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgeui	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgeui	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgeui	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgeui	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgeui	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgeui	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgeui	r1, -1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgeui	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgeui	r1, -1407
+        l.bnf   	_end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_053/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_053/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_053/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_053/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_053/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_053/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,331 @@
+/*
+ * Test_053
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sfgts, l.sfgtsi, l.sfgtu, l.sfgtui
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+              A     B    F
+                         S U
+         01)  2107  1981 1 1
+         02)  2107 -1981 1 0
+         03) -2107  1981 0 1
+         04) -2107 -1981 0 0
+         05)  1981  2107 0 0
+         06)  1981 -2107 1 0
+         07) -1981  2107 0 1
+         08) -1981 -2107 1 1
+         09)  1407  1407 0 0
+         10)  1407 -1407 1 0
+         11) -1407  1407 0 1
+         12) -1407 -1407 0 0
+        */
+
+        /************/
+        /* Signed   */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfgts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfgts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfgts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfgts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfgts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfgts 	r1, r2
+        l.bf    	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfgtsi	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfgtsi	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgtsi	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgtsi	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgtsi	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgtsi	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgtsi	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgtsi	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgtsi	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgtsi	r1, -1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgtsi	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgtsi	r1, -1407
+        l.bf       	_end_ko
+        l.nop
+        
+        /************/
+        /* Unsigned */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfgtu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfgtu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfgtu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfgtu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfgtu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfgtu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfgtu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfgtu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfgtu 	r1, r2
+        l.bf       	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfgtu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfgtu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfgtu 	r1, r2
+        l.bf       	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfgtui	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfgtui	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgtui	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfgtui	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgtui	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfgtui	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgtui	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfgtui	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgtui	r1,  1407
+        l.bf       	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfgtui	r1, -1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgtui	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfgtui	r1, -1407
+        l.bf       	_end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_054/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_054/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_054/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_054/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_054/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_054/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,331 @@
+/*
+ * Test_054
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sfles, l.sflesi, l.sfleu, l.sfleui
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+              A     B    F
+                         S U
+         01)  2107  1981 0 0
+         02)  2107 -1981 0 1
+         03) -2107  1981 1 0
+         04) -2107 -1981 1 1
+         05)  1981  2107 1 1
+         06)  1981 -2107 0 1
+         07) -1981  2107 1 0
+         08) -1981 -2107 0 0
+         09)  1407  1407 1 1
+         10)  1407 -1407 0 1
+         11) -1407  1407 1 0
+         12) -1407 -1407 1 1
+        */
+
+        /************/
+        /* Signed   */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfles 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfles 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfles 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfles 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfles 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfles 	r1, r2
+        l.bnf   	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sflesi	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sflesi	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sflesi	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sflesi	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sflesi	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sflesi	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sflesi	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sflesi	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sflesi	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sflesi	r1, -1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sflesi	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sflesi	r1, -1407
+        l.bnf      	_end_ko
+        l.nop
+        
+        /************/
+        /* Unsigned */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfleu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfleu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfleu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfleu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfleu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfleu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfleu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfleu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfleu 	r1, r2
+        l.bnf      	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfleu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfleu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfleu 	r1, r2
+        l.bnf      	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfleui	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfleui	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfleui	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfleui	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfleui	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfleui	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfleui	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfleui	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfleui	r1,  1407
+        l.bnf      	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfleui	r1, -1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfleui	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfleui	r1, -1407
+        l.bnf      	_end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_055/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_055/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_055/Makefile	(revision 102)
@@ -0,0 +1,28 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+# common definition
+DIR_SOFT			= ../..
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_055/src/sys/crt0.s
===================================================================
--- /trunk/Softwares/Test/Test_055/src/sys/crt0.s	(revision 102)
+++ /trunk/Softwares/Test/Test_055/src/sys/crt0.s	(revision 102)
@@ -0,0 +1,331 @@
+/*
+ * Test_055
+ *
+ * end_ko : infinite_loop
+ * end_ok : Write in R1 the stop address and stop an data
+ *          The store in the destination of an jump
+ * start  : Test l.sflts, l.sfltsi, l.sfltu, l.sfltui
+ */
+	
+	.file	"crt0.s"
+	/*
+	.section .vector
+	*/
+	.section .text
+	.align	4	
+
+/* ---[ 0x0  : Print a error ]------------------------------------------- */
+
+	.org 0x0
+_end_ko        :        
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r1 /* stop address */
+_infinite_loop :        
+        l.j	_infinite_loop
+        l.nop
+
+_end_ok :
+	l.movhi r1,     hi(_tty)
+	l.ori   r1, r1, lo(_tty)
+        l.sw    4(r1), r0 /* stop address */
+
+
+/* ---[ 0x100: RESET exception ]----------------------------------------- */
+        .org 0x100
+	.global _start
+_start:
+        /*
+              A     B    F
+                         S U
+         01)  2107  1981 0 0
+         02)  2107 -1981 0 1
+         03) -2107  1981 1 0
+         04) -2107 -1981 1 1
+         05)  1981  2107 1 1
+         06)  1981 -2107 0 1
+         07) -1981  2107 1 0
+         08) -1981 -2107 0 0
+         09)  1407  1407 0 0
+         10)  1407 -1407 0 1
+         11) -1407  1407 1 0
+         12) -1407 -1407 0 0
+        */
+
+        /************/
+        /* Signed   */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sflts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sflts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sflts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sflts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sflts 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sflts 	r1, r2
+        l.bf    	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfltsi	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfltsi	r1, -1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfltsi	r1,  1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfltsi	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfltsi	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfltsi	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfltsi	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfltsi	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfltsi	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfltsi	r1, -1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfltsi	r1,  1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfltsi	r1, -1407
+        l.bf    	_end_ko
+        l.nop
+        
+        /************/
+        /* Unsigned */
+        /************/
+        /* Register */
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0,  1981
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.xori  	r2,r0, -1981
+        l.sfltu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0,  1981
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+
+        l.xori  	r1,r0, -2107
+        l.xori  	r2,r0, -1981
+        l.sfltu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+        
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0,  2107
+        l.sfltu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.xori  	r2,r0, -2107
+        l.sfltu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0,  2107
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.xori  	r2,r0, -2107
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0,  1407
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.xori  	r2,r0, -1407
+        l.sfltu 	r1, r2
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0,  1407
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.xori  	r2,r0, -1407
+        l.sfltu 	r1, r2
+        l.bf    	_end_ko
+        l.nop
+
+        /* immediat */
+        l.xori  	r1,r0,  2107
+        l.sfltui	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  2107
+        l.sfltui	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfltui	r1,  1981
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -2107
+        l.sfltui	r1, -1981
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfltui	r1,  2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1981
+        l.sfltui	r1, -2107
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfltui	r1,  2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1981
+        l.sfltui	r1, -2107
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfltui	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0,  1407
+        l.sfltui	r1, -1407
+        l.bnf   	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfltui	r1,  1407
+        l.bf    	_end_ko
+        l.nop   	
+                	
+        l.xori  	r1,r0, -1407
+        l.sfltui	r1, -1407
+        l.bf    	_end_ko
+        l.nop
+        
+        /* end test */
+        l.j     _end_ok
+        l.nop
Index: /trunk/Softwares/Test/Test_056/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_056/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_056/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_056/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_056/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_056/src/c/main.c	(revision 102)
@@ -0,0 +1,14 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_io.h"
+
+int main()
+{
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_057/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_057/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_057/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_057/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_057/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_057/src/c/main.c	(revision 102)
@@ -0,0 +1,18 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_io.h"
+
+int main()
+{
+  char * str = "Message de Bienvenue !!!";
+
+  print(str);
+  
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_058/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_058/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_058/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_058/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_058/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_058/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_io.h"
+#include "func_math.h"
+
+int main()
+{
+  test_mul_soft ();
+  
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_059/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_059/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_059/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_059/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_059/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_059/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_io.h"
+#include "func_math.h"
+
+int main()
+{
+  test_div_soft ();
+  
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_060/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_060/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_060/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_060/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_060/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_060/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_io.h"
+#include "func_math.h"
+
+int main()
+{
+  test_modulo ();
+  
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_061/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_061/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_061/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_061/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_061/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_061/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_fibonnacci.h"
+#include "func_io.h"
+
+int main()
+{
+  test_fibonnacci (30);
+   
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_062/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_062/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_062/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_062/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_062/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_062/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_premier.h"
+#include "func_io.h"
+
+int main()
+{
+  test_n_premier (6);
+   
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_063/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_063/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_063/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_063/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_063/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_063/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_factoriel.h"
+#include "func_io.h"
+
+int main()
+{
+  test_factoriel_iteratif (12);
+    
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_064/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_064/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_064/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_064/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_064/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_064/src/c/main.c	(revision 102)
@@ -0,0 +1,17 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_factoriel.h"
+#include "func_io.h"
+
+int main()
+{
+  test_factoriel_recursif (12);
+    
+  quit(0);
+}
Index: /trunk/Softwares/Test/Test_099/Makefile
===================================================================
--- /trunk/Softwares/Test/Test_099/Makefile	(revision 102)
+++ /trunk/Softwares/Test/Test_099/Makefile	(revision 102)
@@ -0,0 +1,31 @@
+# 
+# $Id$
+# 
+# [ Description ]
+# 
+# Makefile
+# 
+
+
+# common definition
+DIR_SOFT			= ../..
+
+DIR_SRC				= ./src
+DIR_C				= $(DIR_SRC)/c
+DIR_ASM				= $(DIR_SRC)/asm
+DIR_SYS				= $(DIR_SRC)/sys
+DIR_INC		       		= $(DIR_SRC)/include
+DIR_LDSCRIPT			= $(DIR_SOFT)/Common/ldscript/
+
+INCDIR 				= -I$(DIR_INC) -I$(DIR_COMMON_INC)
+LIBDIR				= 
+LIBNAME				= 
+
+#-----[ Files ]-------------------------------------------------------------------
+OBJECTS				= 	$(OBJECTS_COMMON) \
+					$(patsubst $(DIR_ASM)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_ASM)/*.s))	\
+					$(patsubst $(DIR_SYS)/%.s,$(DIR_OBJ)/%.o,$(wildcard $(DIR_SYS)/*.s))	\
+					$(patsubst $(DIR_C)/%.c,$(DIR_OBJ)/%.o,$(wildcard $(DIR_C)/*.c))
+
+include				$(DIR_SOFT)/Makefile.Software
+
Index: /trunk/Softwares/Test/Test_099/src/c/main.c
===================================================================
--- /trunk/Softwares/Test/Test_099/src/c/main.c	(revision 102)
+++ /trunk/Softwares/Test/Test_099/src/c/main.c	(revision 102)
@@ -0,0 +1,26 @@
+// $Id$
+
+//=====[ main ]=================================================================
+/*
+ * All thread execute this routine
+ * Initialize the thread and attribute a Workload at each thread
+ */
+
+#include "func_math.h"
+#include "func_fibonnacci.h"
+#include "func_premier.h"
+#include "func_factoriel.h"
+#include "func_io.h"
+
+int main()
+{
+  test_mul_soft           ();
+  test_div_soft           ();
+  test_modulo             ();
+  test_fibonnacci         (30);
+  test_n_premier          (6);
+  test_factoriel_iteratif (12);
+  test_factoriel_recursif (12);
+    
+  quit(0);
+}
