Virtual Instruction Set Architecture (VISA) is an important intermediate form for binary reversing analysis and also applied to many other fields like binary translation, retargetable platform code generation, co-development between software and hardware, malicious code analysis, etc. Generally, a special VISA has some larruping capabilities suitable for a given application. The VISA varies along with applications. This paper makes research on some existing VISAs and descries a new one named fc-VISA (VISA for Firmware Reversing Engineering) which is special for Firm-Code reversing engineering, and presents some principles of VISA design for Firmware Reversing Engineering.