University of California Riverside Department of Computer Science -- Embedded Systems Instruction Set Simulator Files: simm.cc simm.h Makefile Readme.txt fib.txt Instructions: Download all files and run make using the provided Makefile. Run by typing at the command line: simm < input file > Notes: The < input file > should be a text file containing the binary representations of the Instruction Set and their arguments. Example: Assume Rn = 1 and direct = 1, MOV Rn, direct ==> 0000000100000001 Each instruction must be in a separate line. The first eight characters represent the first byte -> MOV Rn The second eight characters represent the second byte -> direct * Note: For JZ instruction, the jump can be forward and backward, which means that the "relative" address can be positive for a forward jump and negative for a backward jump. The way the instruction handles negative values is using twos complement of the desired number. For example : To jump forward 10 instructions ( PC = PC + 10 ) then the "relative" address will be "00001010" To jump backward 10 instructions ( PC = PC + (- 10 )) then the "relative" address will be "11110110" A test file ( fib.txt ) is provided to demonstrate how the simulator works. The test file calculates the fibonacci number for 10. The Instruction Code Simulator will work for the following set of Instructions: MOV Rn, direct => 0000 MOV direct, Rn => 0001 MOV @Rn, Rm => 0010 MOV Rn, #immed => 0011 ADD Rn, Rm => 0100 SUB Rn, Rm => 0101 JZ Rn, relative => 0110 <div align="center"><br /><script type="text/javascript"><!-- google_ad_client = "pub-7293844627074885"; //468x60, Created at 07. 11. 25 google_ad_slot = "8619794253"; google_ad_width = 468; google_ad_height = 60; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><br /> </div>