<?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/basm/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/basm/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 15 May 2014 14:51:39 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/basm/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -2,7 +2,7 @@

 What is BASM?
 -------------
-BASM is a user friendly and easy to use assembler for Mano's Basic Computer, capable of creating the object, list and hex file and giving detailed error reports. It's more of academic use for students who wish to understand how does Mano's Basic Computer actually work. Alongside this assembler, soon a simulator will also be available at BASM's SourceForge page.
+BASM is a user friendly and easy to use assembler for The Basic Computer, capable of creating the object, list and hex file and giving detailed error reports. It's more of academic use for students who wish to understand how does The Basic Computer actually work. Alongside this assembler, soon a simulator will also be available at BASM's SourceForge page.

 How to use?
 -----------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Thu, 15 May 2014 14:51:39 -0000</pubDate><guid>https://sourceforge.nete4eedb5652af2ed01a70656a9c9943af3a90954c</guid></item><item><title>Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -84,6 +84,3 @@
 Ask questions, report bugs and give suggestions here:
     http://sf.net/p/basm/discussion
     http://sf.net/p/basm/tickets
-
-Feel free to email me about anything:
-    nnalamat+sf@gmail.com
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Wed, 14 May 2014 16:18:24 -0000</pubDate><guid>https://sourceforge.net3c371ed964278216867807af5229829d13921f5d</guid></item><item><title>WikiPage Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;pre&gt;--- v5 
+++ v6 
@@ -13,7 +13,7 @@
 &lt;br/&gt;
 The output will be written to files 'test.obj', 'test.lst' and 'test.hex', respective to their source file name. You may want to change them:
 
-    $ basm test.asm -o objectfile.obj -l listfile.lst
+    $ basm test.asm -o objectfile.obj -l listfile.lst -h hexfile.hex
 
 &lt;br/&gt;
 Follow these links and see how to add a location to the 'PATH': 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Wed, 01 Feb 2012 20:52:15 -0000</pubDate><guid>https://sourceforge.net2f642ce6c66752c9c1d9559c365cfc6ffb58bf7e</guid></item><item><title>WikiPage Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;pre&gt;--- v4 
+++ v5 
@@ -1,19 +1,17 @@
-
 Welcome to BASM wiki!
 
 What is BASM?
 -------------
-BASM is a user friendly and easy to use assembler for Mano's Basic Computer, capable of creating the object and list file and giving detailed error reports. It's more of academic use for students who wish to understand how does Mano's Basic Computer actually work. Alongside this assembler, soon a simulator will also be available at BASM's SourceForge page.
+BASM is a user friendly and easy to use assembler for Mano's Basic Computer, capable of creating the object, list and hex file and giving detailed error reports. It's more of academic use for students who wish to understand how does Mano's Basic Computer actually work. Alongside this assembler, soon a simulator will also be available at BASM's SourceForge page.
 
 How to use?
 -----------
-It is much more preferable to add BASM's binary folder location to 'PATH' environment variable for both MS Windows and Linux users. You can also copy the binary into a folder that is already added to 'PATH', like 'C:\Windows\' or '/bin/'. Then simply open a terminal and type:
+It is much more preferable to add BASM's 'bin' folder location to 'PATH' environment variable for both MS Windows and Linux users. You can also do it the easy way by copying the executable into a folder that is already added to 'PATH', like 'C:\Windows\' or '/bin/' (Windows users should also copy two .dll files). Then simply open a terminal and type:
 
     $ basm test.asm
 
 &lt;br/&gt;
-The output will be written to files 'test.obj' and 'test.lst', respective to
-their source file name. You may want to change them:
+The output will be written to files 'test.obj', 'test.lst' and 'test.hex', respective to their source file name. You may want to change them:
 
     $ basm test.asm -o objectfile.obj -l listfile.lst
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Wed, 01 Feb 2012 20:51:13 -0000</pubDate><guid>https://sourceforge.netb14ad9701a5ace7a8fe83cf2a9251014de5e9beb</guid></item><item><title>WikiPage Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;pre&gt;--- v3 
+++ v4 
@@ -1,43 +1,91 @@
-Summary
--------
+
 Welcome to BASM wiki!
-Started as a course project, BASM aims at creating a user friendly and easy to use assembler for Mano's Basic Computer. The project is still in its early stages, as version 1.0 is only capable of creating the object and list file. More features like advanced error handling, detailed list file and FPGA compatible output generation are to be added soon.
-
-Instruction List
+
+What is BASM?
+-------------
+BASM is a user friendly and easy to use assembler for Mano's Basic Computer, capable of creating the object and list file and giving detailed error reports. It's more of academic use for students who wish to understand how does Mano's Basic Computer actually work. Alongside this assembler, soon a simulator will also be available at BASM's SourceForge page.
+
+How to use?
+-----------
+It is much more preferable to add BASM's binary folder location to 'PATH' environment variable for both MS Windows and Linux users. You can also copy the binary into a folder that is already added to 'PATH', like 'C:\Windows\' or '/bin/'. Then simply open a terminal and type:
+
+    $ basm test.asm
+
+&lt;br/&gt;
+The output will be written to files 'test.obj' and 'test.lst', respective to
+their source file name. You may want to change them:
+
+    $ basm test.asm -o objectfile.obj -l listfile.lst
+
+&lt;br/&gt;
+Follow these links and see how to add a location to the 'PATH': 
+http://windows7hacker.com/index.php/2010/05/how-to-addedit-environment-variables-in-windows-7/
+http://linuxheadquarters.com/howto/basic/path.shtml
+
+How to compile from source?
+---------------------------
+MS Windows users can open 'basm.sln' under 'prj\vs10' with Visual Studio 2010
+or later (either the express or full version), and simply compile the solution.
+The executable binary output will be saved as 'bin\basm.exe'.
+Under linux, if you have g++ (GNU C++ Compiler), just run 'compile.sh' script:
+
+    $ ./compile.sh
+
+&lt;br/&gt;
+In case something went wrong, change the script's permissions:
+
+    $ chmod 755 compile.sh
+
+&lt;br/&gt;
+Then try running it again. The binary output will be saved as 'bin/basm'.
+
+Instruction Set
 ----------------
 Instruction        | Description
 -------------------|------------
 &lt;b&gt;MRI&lt;/b&gt;         | 
-AND X              | and MEM[X] with AC and store the result in AC
-ADD X              | add MEM[X] to AC and store the result in AC
-LDA X              | copy MEM[X] into AC
-STA X              | copy AC into MEM[X]
-BUN X              | jump to X unconditionally ( PC &lt;- X )
-BSA X              | save current PC in MEM[X] and jump to X+1 unconditionally ( MEM[X] &lt;- PC, PC &lt;- X+1 )
-ISZ X              | increase MEM[X] by one, and skip the next instruction if MEM[X] equals zero
+AND X              | and MEM\[X\] with AC and store the result in AC
+ADD X              | add MEM\[X\] to AC and store the result in AC
+LDA X              | copy MEM\[X\] into AC
+STA X              | copy AC into MEM\[X\]
+BUN X              | jump to X unconditionally ( PC &amp;larr; X )
+BSA X              | save current PC in MEM\[X\] and jump to X+1 unconditionally ( MEM\[X\] &amp;larr; PC, PC &amp;larr; X+1 )
+ISZ X              | increase MEM\[X\] by one, and skip the next instruction if MEM\[X\] equals zero
 &lt;b&gt;Non MRI&lt;/b&gt;     |
 CLA                | clear AC                                                          
 CLE                | clear E flag
 CMA                | complement AC
 CME                | complement E flag
 CIR                | circular shift AC to right
 CIL                | circular shift AC to left
 INC                | increase AC by one
 SPA                | skip next line if AC is positive
 SNA                | skip next line if AC is negative
 SZA                | skip next line if AC equals zero
 SZE                | skip next line if E flag equals zero
 HLT                | halt execution of the program
 &lt;b&gt;I/O&lt;/b&gt;         | 
 INP                | read the input register (INPR) and store it in the lower 8 bit of AC
 OUT                | write the lower 8 bit of AC to output register (OUTR)
 SKI                | skip next line if input flag (I) is set
 SKO                | skip next line if output flag (O) is set
 ION                | set the interrupt flag (R)
 IOF                | clear the interrupt flag (R)                               
 &lt;b&gt;Pseudo&lt;/b&gt;      |
 ORG N              | sets the next line's address to N                                  
 END                | indicates the end of program
 DEC N              | interpreting N as a decimal data, assembler stores it in the memory
 HEX N              | interpreting N as a hexadecimal data, assembler stores it in the memory
 BIN N              | interpreting N as a binary data, assembler stores it in the memory
+
+Web and contact
+---------------
+Visit BASM's page at SourceForge:
+    http://sf.net/p/basm
+
+Ask questions, report bugs and give suggestions here:
+    http://sf.net/p/basm/discussion
+    http://sf.net/p/basm/tickets
+
+Feel free to email me about anything:
+    nnalamat+sf@gmail.com
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Fri, 20 Jan 2012 21:01:27 -0000</pubDate><guid>https://sourceforge.net526603b6d8a16b0ff80187fa0e5e0621126ea7cf</guid></item><item><title>WikiPage Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;pre&gt;--- v2 
+++ v3 
@@ -1,7 +1,7 @@
 Summary
 -------
 Welcome to BASM wiki!
-Started as a course project, BASM aims at creating a user friendly and easy to use assembler for Mano's basic computer. The project is still in its early stages, as version 1.0 is only capable of creating the object file. More features like list file and FPGA compatible output generation are to be added soon.
+Started as a course project, BASM aims at creating a user friendly and easy to use assembler for Mano's Basic Computer. The project is still in its early stages, as version 1.0 is only capable of creating the object and list file. More features like advanced error handling, detailed list file and FPGA compatible output generation are to be added soon.
 
 Instruction List
 ----------------
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Mon, 02 Jan 2012 21:17:02 -0000</pubDate><guid>https://sourceforge.net101c4653e417bdec27abc21d33182d9d7cfa97f8</guid></item><item><title>WikiPage Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>&lt;pre&gt;--- v1 
+++ v2 
@@ -1,7 +1,7 @@
 Summary
 -------
 Welcome to BASM wiki!
-Started as a course project, BASM aims on creating a user friendly and easy to use assembler for Mano's basic computer. The project is still in its early stages, as version 1.0 is only capable of creating the object file. More features like list file and FPGA compatible output generation are to be added soon.
+Started as a course project, BASM aims at creating a user friendly and easy to use assembler for Mano's basic computer. The project is still in its early stages, as version 1.0 is only capable of creating the object file. More features like list file and FPGA compatible output generation are to be added soon.
 
 Instruction List
 ----------------
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Fri, 30 Dec 2011 20:39:22 -0000</pubDate><guid>https://sourceforge.neta7d534a6c64f139e3bf7fb11bfec4166fa63ceaa</guid></item><item><title>WikiPage Home modified by Nima Alamatsaz</title><link>https://sourceforge.net/p/basm/wiki/Home/</link><description>Summary
-------
Welcome to BASM wiki!
Started as a course project, BASM aims on creating a user friendly and easy to use assembler for Mano's basic computer. The project is still in its early stages, as version 1.0 is only capable of creating the object file. More features like list file and FPGA compatible output generation are to be added soon.

Instruction List
----------------
Instruction        | Description
-------------------|------------
&lt;b&gt;MRI&lt;/b&gt;         | 
AND X              | and MEM[X] with AC and store the result in AC
ADD X              | add MEM[X] to AC and store the result in AC
LDA X              | copy MEM[X] into AC
STA X              | copy AC into MEM[X]
BUN X              | jump to X unconditionally ( PC &lt;- X )
BSA X              | save current PC in MEM[X] and jump to X+1 unconditionally ( MEM[X] &lt;- PC, PC &lt;- X+1 )
ISZ X              | increase MEM[X] by one, and skip the next instruction if MEM[X] equals zero
&lt;b&gt;Non MRI&lt;/b&gt;     |
CLA                | clear AC                                                          
CLE                | clear E flag
CMA                | complement AC
CME                | complement E flag
CIR                | circular shift AC to right
CIL                | circular shift AC to left
INC                | increase AC by one
SPA                | skip next line if AC is positive
SNA                | skip next line if AC is negative
SZA                | skip next line if AC equals zero
SZE                | skip next line if E flag equals zero
HLT                | halt execution of the program
&lt;b&gt;I/O&lt;/b&gt;         | 
INP                | read the input register (INPR) and store it in the lower 8 bit of AC
OUT                | write the lower 8 bit of AC to output register (OUTR)
SKI                | skip next line if input flag (I) is set
SKO                | skip next line if output flag (O) is set
ION                | set the interrupt flag (R)
IOF                | clear the interrupt flag (R)                               
&lt;b&gt;Pseudo&lt;/b&gt;      |
ORG N              | sets the next line's address to N                                  
END                | indicates the end of program
DEC N              | interpreting N as a decimal data, assembler stores it in the memory
HEX N              | interpreting N as a hexadecimal data, assembler stores it in the memory
BIN N              | interpreting N as a binary data, assembler stores it in the memory
</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Nima Alamatsaz</dc:creator><pubDate>Fri, 30 Dec 2011 08:50:32 -0000</pubDate><guid>https://sourceforge.net03b812afd841fd25f447619ea5567546f1b2011c</guid></item></channel></rss>