8080 Simulator +- HP Forums (http://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (/forum-10.html) +--- Forum: HP Prime Software Library (/forum-15.html) +--- Thread: 8080 Simulator (/thread-5862.html) |
8080 Simulator - smp - 03-12-2016 04:20 PM Hello all, I have constructed an 8080 simulator and I would like to share it with you for your examination and comment. You may have seen my "newbie" questions recently. I owe many thanks to Tim, Cyrille, Didier and DrD, for their patient responses to my questions. This initial version of my 8080 simulator uses matrix M1 as a single column array containing the memory for the 8080. The opcodes must be entered into M1 as positive integers between 0 and 255 (decimal). A few instructions are not yet implemented. If these opcodes are encountered, a message will be printed out to the Terminal. If an illegal opcode or a HLT is encountered, the program will halt and a dump of the 8080 registers, flags, and the temporary variables will be printed. At present, the OUT opcode will print a message to the Terminal that indicates what value was output to what port. The IN opcode will print a message indicating that input was requested from a port, and it returns 0 to the running program. My hope is to be able to create a M1 array containing a simple system monitor for the 8080 with memory inspect and change, etc., so that one could have a simple 8080 system running that will allow entry and execution of simple programs. There is an interesting quirk with M1. There is no location 0 since the matrix starts at 1. So, you will see comments in my code for when I had to remember to deal with that. Your comments and critique are welcome. I am not a strong programmer, so please do not expect anything elegant. Your suggestions for improvement are welcome. smp RE: 8080 Simulator - smp - 11-10-2017 02:10 PM After a lengthy hiatus, I got back with my 8080 simulator. I decided to try and put a simple program into M1 and get it to go. I then proceeded to find a few problems in my code for rotating the accumulator left (RAL) and fixed that. As well, I found a few errors in my code comments for the various return instructions, and I fixed those, too. Attached is an updated text file of the 8080 simulator. Thanks, smp |