<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Jasmin</id>
	<title>Jasmin - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=Jasmin"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Jasmin&amp;action=history"/>
	<updated>2026-07-13T19:19:43Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=Jasmin&amp;diff=465471&amp;oldid=prev</id>
		<title>imported&gt;璃茗熒音：​/* growthexperiments-addlink-summary-summary:3|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=Jasmin&amp;diff=465471&amp;oldid=prev"/>
		<updated>2026-03-05T06:23:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:3|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{roughtranslation|time=2019-01-09T12:21:37+00:00}}&lt;br /&gt;
{{unreferenced|time=2019-01-09T12:21:37+00:00}}&lt;br /&gt;
{{Infobox_Software&lt;br /&gt;
| name = Jasmin&lt;br /&gt;
| screenshot = &amp;lt;!-- 檔案不存在 [[File:Jasmin screenshots.png]] --&amp;gt;&lt;br /&gt;
| caption = Screenshot of Jasmin&lt;br /&gt;
| developer = Jonathan Meyer, Troy Downing and Daniel Reynaud&lt;br /&gt;
| latest_release_version = 2.4&lt;br /&gt;
| latest_release_date = 5月7日, 2010&lt;br /&gt;
| operating_system = JVM&lt;br /&gt;
| genre = [[Computer Programming]]&lt;br /&gt;
| license = [[GNU General Public License]]&lt;br /&gt;
| website = [http://jasmin.sourceforge.net Sourceforge.Net]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Jasmin&amp;#039;&amp;#039;&amp;#039; 是一[[自由軟體]]的 JAVA [[組合語言]] ，可用於設計 class（類別）檔如同以JAVA 語言設計的相同與運用，但更可以得以深入了解 JAVA 語言與 PC 之間的運作模式與方法。Jasmin 程式的編譯與設計，仍是以易讀性為考量來設計，其適合熟悉 JAVA 語言與略懂 C/[[C++]] 語法的程式設計師，如同 assembler-like 語法以 Java Virtual Machine (JVM) 架構與程序設計書為核心；但是 Jasmin 仍不同於 Java 程式語言的編譯 (Compiler Programing) 方式，而是以類似 C++ compiler 的方式來組譯 (assembler) 與連結（linker）。&lt;br /&gt;
&lt;br /&gt;
Jasmin 的編寫以類似 assembler-like 語法，其語言設計簡潔與易讀，編譯完成後會被轉成為一中間碼 (bytecode) 的 JVM Class 檔，可用於 Java 即時系統 (Java runtime system).&lt;br /&gt;
&lt;br /&gt;
編譯完成後會形成二種接進低階檔案格式即 Java classes (Class) 檔與 Java Archive (JAR) 檔為主，軟體主要網址為 [http://sourceforge.net/projects/tinapoc tinapoc] {{Wayback|url=http://sourceforge.net/projects/tinapoc |date=20160915034841 }}&lt;br /&gt;
&lt;br /&gt;
== Jasmin 範例 ==&lt;br /&gt;
傳統以 HelloWorld 程式來開場：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;jasmin&amp;quot;&amp;gt;&lt;br /&gt;
 .class public HelloWorld&lt;br /&gt;
 .super java/lang/Object&lt;br /&gt;
 &lt;br /&gt;
 .method public static main([Ljava/lang/String;)V&lt;br /&gt;
   .limit stack 2&lt;br /&gt;
   .limit locals 1&lt;br /&gt;
   &lt;br /&gt;
   getstatic      java/lang/System/out Ljava/io/PrintStream;&lt;br /&gt;
   ldc            &amp;quot;Hello World.&amp;quot;&lt;br /&gt;
   invokevirtual  java/io/PrintStream/println(Ljava/lang/String;)V&lt;br /&gt;
   return&lt;br /&gt;
 &lt;br /&gt;
 .end method&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 編譯方式 ==&lt;br /&gt;
相關編譯使用方法如下：&lt;br /&gt;
* Windows: &amp;lt;code&amp;gt;java -jar jasmin.jar examples\HelloWorld.j&amp;lt;/code&amp;gt;&lt;br /&gt;
* Unix/Mac OS X: &amp;lt;code&amp;gt;java -jar jasmin.jar examples/HelloWorld.j&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 歷史 ==&lt;br /&gt;
Jon Meyer 與 Troy Downing 兩位為開發 Jasmin 程式的主要人物，他們並共同出版了名為 &amp;quot;JAVA 虚擬機器&amp;quot;（台灣歐萊禮 ISBN 957-8247-50-8）的書籍 &amp;quot;Java Virtual Machine&amp;quot; (Oreilly ISBN 1-56592-194-1)。註1&lt;br /&gt;
&lt;br /&gt;
由 Jon Meyer 開發的版本僅到 1.1 版 (Oct. 21, 2004)，而隨後由業餘人士接手開發與維護，而在 Daniel Reynaud 維護版本至 2.0 (Dec. 2, 2005) 時產生一延伸計劃 JasminXT [http://jasmin.sourceforge.net/xt.html] {{Wayback|url=http://jasmin.sourceforge.net/xt.html |date=20180313042530 }} ，即前述的 Tinapoc 但開發版僅至 0.4 alpha版本而已，整體說明文件仍是連結於 Jasmin 網頁可以參考 JasminXT [http://jasmin.sourceforge.net/xt.html] {{Wayback|url=http://jasmin.sourceforge.net/xt.html |date=20180313042530 }}，而在 [[SourceForge|sourceforge]] 的 Tinapoc 開發網頁上則是無任何文件留存，僅二行文字說明 &amp;quot;Tinapoc Is Not Another Pun On Coffee&amp;quot; 與 &amp;quot;(and there is no J in it !)&amp;quot; 而已。目前有另一延伸計劃 SPOOFAX-JASMIN [https://github.com/metaborg/spoofax-jasmin]{{Wayback|url=https://github.com/metaborg/spoofax-jasmin |date=20191017190713 }}，是一延伸 JasminXT 計劃，而維護轉放到 [[GitHub|Github]] [https://github.com]{{Wayback|url=https://github.com/ |date=20110223090328 }}。&lt;br /&gt;
&lt;br /&gt;
Jasmin 目前提供了 164 個指令，內容包涵了相同於程式語言的類別、例外、運算子、資料處理、數學處理與執行緒等。程 式本身的編輯可使用一般 的文字處理軟體來編寫（如：記事本，UltraEdit 或高階的程式編寫用的 IDE 介面軟體亦可）。編寫完成後的檔案必需命名以 &amp;quot;.j&amp;quot; 為結尾才可以作為組譯時使用，以運作於 Java 的虛擬機器內。&lt;br /&gt;
&lt;br /&gt;
Jasmin 目前仍是定訂為 SourceForge 組織內部的 Open Source project. Project 維護最新維護時間 Apr. 29, 2013 但軟體檔案維護仍是 2.4 版 (May 7, 2010)。&lt;br /&gt;
&lt;br /&gt;
註1：目前該書中文繁體版本已絕版，但目前仍有些二手書於市面交易。&lt;br /&gt;
&lt;br /&gt;
== 参考 ==&lt;br /&gt;
* [[Java bytecode]]&lt;br /&gt;
* [[Class (file format)|the Java .class file format]]&lt;br /&gt;
* [[C to Java Virtual Machine compilers]]&lt;br /&gt;
* [[ARM9E]]，a [[Central processing unit|CPU]] family with direct Java bytecode execution ability&lt;br /&gt;
* [[Common Intermediate Language]] (CIL), a similar bytecode specification that runs on the [[Common Language Runtime|CLR]] of the [[.NET Framework]]。&lt;br /&gt;
* [[Compiler]]&lt;br /&gt;
* [[Disassembler]]&lt;br /&gt;
* [[List of assemblers]]&lt;br /&gt;
* [[Instruction set]]&lt;br /&gt;
* [[Microassembler]]&lt;br /&gt;
&lt;br /&gt;
== 書籍 ==&lt;br /&gt;
* Jon Meyer: &amp;#039;&amp;#039;Java Virtual Machine&amp;#039;&amp;#039;. O&amp;#039;Reilly Associates, 1st Edition March 1997. ISBN 978-1-56592-194-8&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [https://web.archive.org/web/20200417011125/http://jasmin.sourceforge.net/ Jasmin Official page at Sourceforge]* [http://jasmin.sourceforge.net/xt.html JaminXT Syntax]{{Wayback|url=http://jasmin.sourceforge.net/ |date=20200417011125 }}&lt;br /&gt;
* [https://github.com/metaborg/spoofax-jasmin Spoofax-Jasmin]{{Wayback|url=https://github.com/metaborg/spoofax-jasmin |date=20191017190713 }}&lt;br /&gt;
* [http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html Sun&amp;#039;s Java Virtual Machine Specification]{{Wayback|url=http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.doc.html |date=20110925050249 }}&lt;br /&gt;
* [http://jasmin.sourceforge.net/instructions.html Jasmin instructions] {{Wayback|url=http://jasmin.sourceforge.net/instructions.html |date=20180520190215 }}&lt;br /&gt;
* [http://www.oreilly.com/catalog/javavm/ Publisher of &amp;quot;Java Virtual Machine&amp;quot;] {{Wayback|url=http://www.oreilly.com/catalog/javavm/ |date=20080706044723 }}&lt;br /&gt;
* [http://www.cybergrain.com/ personal website of Jon Meyer] {{Wayback|url=http://www.cybergrain.com/ |date=20200809175117 }}&lt;br /&gt;
* [http://www.is-research.de/info/vmlanguages/ Programming Languages for the Java Virtual Machine]{{Wayback|url=http://www.is-research.de/info/vmlanguages/ |date=20110828061811 }}&lt;br /&gt;
* [http://www.jcp.org Organization for Java Technology Specification] {{Wayback|url=http://www.jcp.org/ |date=20081007081149 }}&lt;br /&gt;
* [https://web.archive.org/web/20081112022328/http://www.lrr.in.tum.de/~jasmin/index.html Jasmin - Java Assembler Interpreter]&lt;br /&gt;
&lt;br /&gt;
[[Category:Java]]&lt;br /&gt;
[[Category:Assemblers]]&lt;br /&gt;
[[Category:程式語言翻譯]]&lt;/div&gt;</summary>
		<author><name>imported&gt;璃茗熒音</name></author>
	</entry>
</feed>