Abstract: In a vehicle diagnosis system in which a diagnosis unit is connected to a control unit, the control unit determines whether or not there is a code read request from the diagnosis unit. When there is the request, it further determines whether or not code erase is in execution. When code erase is not in execution, an abnormality code stored in the standby RAM region of its CPU is searched for and the result is transmitted to the diagnosis unit. When code erase is in execution, on the other hand, the data after code erase (no abnormality code) is transmitted to the diagnosis unit. Thus, during code erase operation, the abnormality data before erase is prevented from being transmitted to the diagnosis unit.Further, in case of a RAM value read request is made from a main CPU to other CPU in the controller, it is checked whether a requested address value from the main CPU to the other CPU agrees with the address value transmitted from the other CPU to the main CPU.