Jasmin (Java assembler)

Jasmin (Java assembler)

Infobox_Software
name = Jasmin


caption = Screenshot of Jasmin
developer = Jonathan Meyer, Troy Downing and Daniel Reynaud
latest_release_version = 2.3
latest_release_date = August 10, 2006
operating_system = All Platform supporting Java 1.1 environments
genre = Computer Programming
license = GNU General Public License
website = [http://jasmin.sourceforge.net Sourceforge.Net]

Jasmin is a Free Open Source assembler to create class files from human readable assembler-like syntax using the Java Virtual Machine instruction sets. Jasmin is not a Java programming language compiler.

It could be said as of writing a program by GAS assembly, instead of using a modern day C++ compiler, assembler, and linker.

Jasmin as an assembler takes ASCII descriptions of JVM Classes, written in a simple assembler-like syntax using the Java Virtual Machine instruction set. It converts them into binary JVM Class files, suitable for loading by a Java runtime system.

There are now tools allowing for the low-level manipulation of Java classes and Java Archive (JAR) files in a hostile environment, such as [http://sourceforge.net/projects/tinapoc tinapoc]

Example

The traditional HelloWorld starter in Jasmin: .class public HelloWorld .super java/lang/Object .method public static main( [Ljava/lang/String;)V .limit stack 2 .limit locals 1 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello World." invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method

Invoking

Referenced from the Readme file Then, to run Jasmin, use: java -jar jasmin.jar examplesHelloWorld.j [Windows] or java -jar jasmin.jar examples/HelloWorld.j [Unix/Mac OS X]

History

Jon Meyer and Troy Downing wrote Jasmin for their published book "Java Virtual Machine".

At the time of writing there were no known freely available assembler for the Java Virtual Machine instruction set.The only known compilers at the time required input in Java syntax source code, and explicitly using a JVM instruction was impossible.Therefore the authors set out to create an assembler suitable for manipulating and producing a class file to be executed on the Virtual machine.

Jasmin remains the oldest and the original Java assembler known for JVM.

Jasmin is currently located under a SourceForge Open Source project.

ee also

* Java bytecode
* the Java .class file format
* C to Java Virtual Machine compilers
* ARM9E, a CPU family with direct Java bytecode execution ability
* Common Intermediate Language (CIL), a similar bytecode specification that runs on the CLR of the .NET Framework.
* Compiler
* Disassembler
* List of assemblers
* Instruction set
* Microassembler

Books

* Jon Meyer: "Java Virtual Machine". O'Reilly Associates, 1st Edition March 1997. ISBN 9781565921948

External links

* [http://jasmin.sourceforge.net/ Jasmin Official page at Sourceforge]
* [http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html Sun's Java Virtual Machine Specification]
* [http://jasmin.sourceforge.net/instructions.html Jasmin instructions]
* [http://www.oreilly.com/catalog/javavm/ Publisher of "Java Virtual Machine"]
* [http://www.cybergrain.com/ personal website of Jon Meyer]
* [http://www.is-research.de/info/vmlanguages/ Programming Languages for the Java Virtual Machine]
* [http://www.jcp.org Organization for Java Technology Specification]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Jasmin (Programmiersprache) — Jasmin ist ein Assembler für die Java Virtual Machine, der aus Assemblersprache ähnlichen Instruktionen Java Bytecode erzeugt. Die verwendeten Instruktionen beschreiben in Ascii Format die zu erzeugenden Java Klassen. Jasmin erzeugt daraus Java… …   Deutsch Wikipedia

  • Java bytecode — is the form of instructions that the Java virtual machine executes. Each bytecode instruction or opcode is one byte in length, however not all of the possible 256 instructions are used. In fact, Sun Microsystems, the original creators of the Java …   Wikipedia

  • JASMIN — ist in der Botanik: die Gattung Jasminum Echter Jasmin, Gewöhnlicher Jasmin (Jasminum officinale) Winterjasmin, Gelber Jasmin (Jasminum nudiflorum) Indischer Jasmin (Jasminum sambac) Falscher Jasmin, Pfeifenstrauch (Philadelphus coronarius)… …   Deutsch Wikipedia

  • Jasmin (Begriffsklärung) — Jasmin ist in der Botanik: die Gattung Jasminum Echter Jasmin, Gewöhnlicher Jasmin (Jasminum officinale) Winterjasmin, Gelber Jasmin (Jasminum nudiflorum) Arabischer Jasmin (Jasminum sambac) Falscher Jasmin, Europäischer Pfeifenstrauch… …   Deutsch Wikipedia

  • Jasmin — may refer to: *Jasmin Dervisevic, Bosnian rapper *Jasmin (sometimes in its original Persian transliteration Yasmin) is often used as a given name. *Jasmin (Paris Métro) * Jasmin is an Assembler developed for the Java Virtual Machine… …   Wikipedia

  • Assembler-Code — Eine Assemblersprache ist eine spezielle Programmiersprache, welche die Maschinensprache einer spezifischen Prozessorarchitektur in einer für den Menschen lesbaren Form repräsentiert. Jede Computerarchitektur hat folglich ihre eigene… …   Deutsch Wikipedia

  • Assemblersprachen — Eine Assemblersprache ist eine spezielle Programmiersprache, welche die Maschinensprache einer spezifischen Prozessorarchitektur in einer für den Menschen lesbaren Form repräsentiert. Jede Computerarchitektur hat folglich ihre eigene… …   Deutsch Wikipedia

  • Assembley — Eine Assemblersprache ist eine spezielle Programmiersprache, welche die Maschinensprache einer spezifischen Prozessorarchitektur in einer für den Menschen lesbaren Form repräsentiert. Jede Computerarchitektur hat folglich ihre eigene… …   Deutsch Wikipedia

  • Assembley Language — Eine Assemblersprache ist eine spezielle Programmiersprache, welche die Maschinensprache einer spezifischen Prozessorarchitektur in einer für den Menschen lesbaren Form repräsentiert. Jede Computerarchitektur hat folglich ihre eigene… …   Deutsch Wikipedia

  • Assemblersprache — Eine Assemblersprache (oft abgekürzt als ASM bzw. asm) ist eine spezielle Programmiersprache, welche die Maschinensprache einer spezifischen Prozessorarchitektur in einer für den Menschen lesbaren Form repräsentiert. Jede Computerarchitektur hat… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”