ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Jasmin (Java assembler) - Wikipedia, the free encyclopedia

Jasmin (Java assembler)

From Wikipedia, the free encyclopedia

Jasmin
Image:Jasmin screenshots.png
Screenshot of Jasmin
Developed by Jonathan Meyer, Troy Downing and Daniel Reynaud
Latest release 2.3 / August 10, 2006
OS All Platform supporting Java 1.1 environments
Genre Computer Programming
License GNU General Public License
Website 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 tinapoc

Contents

[edit] 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

[edit] Invoking

Referenced from the Readme file

 Then, to run Jasmin, use:
 
     java -jar jasmin.jar examples\HelloWorld.j         [Windows]
 or
     java -jar jasmin.jar examples/HelloWorld.j         [Unix/MacOsX]

[edit] 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.

[edit] See also

[edit] Books

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

[edit] External links

Languages


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -