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