<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/sharpassembler/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/sharpassembler/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 27 Sep 2011 10:29:41 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/sharpassembler/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage Home modified by Daniël Pelsmaeker</title><link>https://sourceforge.net/p/sharpassembler/wiki/Home/</link><description>&lt;pre&gt;--- v3 
+++ v4 
@@ -1,8 +1,13 @@
 Welcome to the **SharpAssembler** project!
-
+==========================================
+
 This project is about a .NET library, written in C#, which allows you to construct a representation of machine code (for example x86-64) using managed objects. The representation can then be assembled by this library into a physical object file such as `bin` or `elf`.
 
 The inspiration for this project came from managed operating system projects such as [SharpOS](http://www.sharpos.org/) and [Cosmos](http://cosmos.codeplex.com/) that have no way to assemble the machine instructions into machine code other than using external tools such as NASM.
+
+Getting started
+---------------
+You can find the _full API documentation_ [at your project homepage](http://sharpassembler.sourceforge.net/).
 
 Using SharpAssembler is really easy. For example, here is the SharpAssembler version of a simple program that prints `Hello world` using interrupt `0x80`.
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniël Pelsmaeker</dc:creator><pubDate>Tue, 27 Sep 2011 10:29:41 -0000</pubDate><guid>https://sourceforge.net7363d713689d2122cc3b885a11fad2df1ec8ed23</guid></item><item><title>WikiPage Home modified by Daniël Pelsmaeker</title><link>https://sourceforge.net/p/sharpassembler/wiki/Home/</link><description>&lt;pre&gt;--- v2 
+++ v3 
@@ -1,38 +1,40 @@
-Welcome to the *SharpAssembler* project!
-
+Welcome to the **SharpAssembler** project!
+
 This project is about a .NET library, written in C#, which allows you to construct a representation of machine code (for example x86-64) using managed objects. The representation can then be assembled by this library into a physical object file such as `bin` or `elf`.
 
 The inspiration for this project came from managed operating system projects such as [SharpOS](http://www.sharpos.org/) and [Cosmos](http://cosmos.codeplex.com/) that have no way to assemble the machine instructions into machine code other than using external tools such as NASM.
 
 Using SharpAssembler is really easy. For example, here is the SharpAssembler version of a simple program that prints `Hello world` using interrupt `0x80`.
 
     :::CSharp
     var arch = new Architecture(CpuType.AmdBulldozer, DataSize.Bit32);
     BinObjectFile objectFile = new BinObjectFile("helloworld", arch);
 
     Section text = objectFile.AddNewSection(".text", SectionType.Program);
     text.Add(new Label("main"));
     text.Add(new Mov(Register.EDX, new Reference("len")));
     text.Add(new Mov(Register.ECX, new Reference("str")));
     text.Add(new Mov(Register.EBX, 1));
     text.Add(new Mov(Register.EAX, 4));
     text.Add(new Int(0x80));
 
     text.Add(new Mov(Register.EBX, 0));
     text.Add(new Mov(Register.EAX, 1));
     text.Add(new Int(0x80));
 
     Section data = objectFile.AddNewSection(".data", SectionType.Data);
     data.Add(new Label("str"));
     data.Add(new DeclareString("Hello World\n"));
 
     data.Add(new Define("len", (context) =&gt;
     {
         Symbol strSymbol;
         context.SymbolTable.TryGetValue("str", out strSymbol);
         return new SimpleExpression(context.Address - strSymbol.Address);
     }));
 
     using (FileStream fs = File.Create("helloworld.bin"))
         using (BinaryWriter writer = new BinaryWriter(fs))
             objectFile.Assemble(writer);
+
+The above example creates a `bin` object file named `helloworld.bin` that contains the 'Hello World' program.
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniël Pelsmaeker</dc:creator><pubDate>Mon, 26 Sep 2011 21:26:13 -0000</pubDate><guid>https://sourceforge.net74b8d628ea73351523901cd34c482d0af381d30a</guid></item><item><title>WikiPage Home modified by Daniël Pelsmaeker</title><link>https://sourceforge.net/p/sharpassembler/wiki/Home/</link><description>&lt;pre&gt;--- v1 
+++ v2 
@@ -1,5 +1,38 @@
-Welcome to your wiki!
-
-This is the default page, edit it as you see fit. To add a page simply reference it within brackets, e.g.: [SamplePage].
-
-The wiki uses [Markdown](/p/sharpassembler/wiki/markdown_syntax/) syntax.
+Welcome to the *SharpAssembler* project!
+
+This project is about a .NET library, written in C#, which allows you to construct a representation of machine code (for example x86-64) using managed objects. The representation can then be assembled by this library into a physical object file such as `bin` or `elf`.
+
+The inspiration for this project came from managed operating system projects such as [SharpOS](http://www.sharpos.org/) and [Cosmos](http://cosmos.codeplex.com/) that have no way to assemble the machine instructions into machine code other than using external tools such as NASM.
+
+Using SharpAssembler is really easy. For example, here is the SharpAssembler version of a simple program that prints `Hello world` using interrupt `0x80`.
+
+    :::CSharp
+    var arch = new Architecture(CpuType.AmdBulldozer, DataSize.Bit32);
+    BinObjectFile objectFile = new BinObjectFile("helloworld", arch);
+
+    Section text = objectFile.AddNewSection(".text", SectionType.Program);
+    text.Add(new Label("main"));
+    text.Add(new Mov(Register.EDX, new Reference("len")));
+    text.Add(new Mov(Register.ECX, new Reference("str")));
+    text.Add(new Mov(Register.EBX, 1));
+    text.Add(new Mov(Register.EAX, 4));
+    text.Add(new Int(0x80));
+
+    text.Add(new Mov(Register.EBX, 0));
+    text.Add(new Mov(Register.EAX, 1));
+    text.Add(new Int(0x80));
+
+    Section data = objectFile.AddNewSection(".data", SectionType.Data);
+    data.Add(new Label("str"));
+    data.Add(new DeclareString("Hello World\n"));
+
+    data.Add(new Define("len", (context) =&gt;
+    {
+        Symbol strSymbol;
+        context.SymbolTable.TryGetValue("str", out strSymbol);
+        return new SimpleExpression(context.Address - strSymbol.Address);
+    }));
+
+    using (FileStream fs = File.Create("helloworld.bin"))
+        using (BinaryWriter writer = new BinaryWriter(fs))
+            objectFile.Assemble(writer);
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniël Pelsmaeker</dc:creator><pubDate>Mon, 26 Sep 2011 20:41:17 -0000</pubDate><guid>https://sourceforge.net8ce2e0051534f03f0414e13c6783ceb03e593fba</guid></item><item><title>WikiPage Home modified by Daniël Pelsmaeker</title><link>https://sourceforge.net/p/sharpassembler/wiki/Home/</link><description>Welcome to your wiki!

This is the default page, edit it as you see fit. To add a page simply reference it within brackets, e.g.: [SamplePage].

The wiki uses [Markdown](/p/sharpassembler/wiki/markdown_syntax/) syntax.
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Daniël Pelsmaeker</dc:creator><pubDate>Mon, 26 Sep 2011 19:22:01 -0000</pubDate><guid>https://sourceforge.net744ec953d26cab1cefa47377d4e5e3fa7bf6c97c</guid></item></channel></rss>