From June 23 to July 1, 1996, I was named to a unit located in Sichuan to assist in troubleshooting technical problems in a certain system.

I don’t understand either the principle of that system or its hardware. Therefore I can only analyze the problem from a software perspective.

At that time, my organization had been undertaking third-party independent verification and testing of software for a U.S. company Rockwell Collins for 3 years, and I learned how to perform code walkthough.

I ask the unit to allow me to look at the source code for the system. The programming language of the souce code is X86 assembly language, which is fortunately small in scale and does not require much work.

Through walkthrough, the following problems were found:

  1. The system uses the input data of port A. However, port B is interrupted and shares the same input buffer with port A, resulting in occasional destruction of the input data of port A.

  2. The unused portion of the 256 interrupt vectors is not filled with an empty interrupt service program。

After the above problems are solved, the system runs normally.