本論文的Java組合語言在功能上比目前網路上流傳的各種Java組合語言都完整。本論文的正組譯器與反組譯器不但可以用來增進程式效能,更可以用來作為學習Java虛擬機與位元組碼的優良工具。 Java is a completely Platform-Independent programming language. In other words, we don’t have to concern about what brand or Operating System our computers are. The Java Bytecode, compiled from the source code, can be executed on the Java Virtual Machines implemented for various platforms. The executing speed of Java is slightly slower than that of C/C++. With the prerequisite in maintaining the capability of platform-independency, we can improve the performance of the Java programs by rewriting the Bytecodes.
The Java Virtual Machine Specification only defines the machine language called Bytecode, but no definition about Java Assembly Language. In this thesis, we analyze the Bytecode of the Java Virtual Machine, bring up a Java Assembly Language, and implement a supporting Assembler/ Disassembler. The Assembler reads in the Java Assembly files written by the programmers and outputs the Java Bytecodes. The Disassembler reads in the Java Bytecodes and Disassemble them to the Java Assembly files as its output.
The functions of the Assembly Language we bring up in this thesis are much more complete than other existing Assembly. The Assembler/ Disassembler implemented in this thesis can be used not only to improve the performance of the applications but also as an excellent tool for learning the Java Virtual Machine and the Bytecode.