Skip to content

dwelch67/pdp11sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

this project is under construction, do not expect it to be fully
functional


The pdp11 is very special to me because it was the first assembly
language that I learned.  No I am not really that old.  I am barely
older than the pdp11 itself, definitely not old enough to have
programmed them in their prime.  In college the only assembly language
class was on some antique DEC Pro 350 computers, we learned a little
asm and a little C.  It was the beauty of this instruction set that
enabled me to learn assembly language.  I had failed trying to teach
myself x86, after learning pdp11, it was all syntax after that.  x86
assembly language was manageable after that and I did a fair amount
of assembly language before moving on to C (once I had access to a
compiler).

I was looking at the release notes for the latest gcc compiler and
saw a new processor supported, then decided to find the list of all
processors supported and saw the pdp11 was supported, in the main gcc
line!  I revisited the instruction set and it is more than obvious
why the msp430 was so familiar the first time I saw it, and why I
latched on to it as well.  I have been searching for my next processor
project (even though I have some I have not finished).  And with a
compiler and tools there was no question this was going to be it.

Now, the pdp11 world uses octal notation, as fun as that would be I
AM NOT GOING TO USE OCTAL.  If you read those manuals you will have
to translate.  Also these instruction set simulators are not intended
to be clones of a real system, they clone the processor not the
peripherals.  You are not going to run your old pdp11 code on this,
this is for learning to write new code using the gnu tools. Ideally
for learning assembly language but also a place for learning bare
metal programming.  I will invent my own, likely incompatible,
peripherals.  I am well aware that this repo is improperly named I am
simulating the KA11 instruction set which was at the core of the pdp11
system.  I am simulating the instruction set of the processor not the
whole system.

See my build_gcc repository for a pdp11 binutils/gcc build script.  The
tools built by that script will be used for the pdp11 code run here.

I hope to create an instruction set simulator in C.
I hope to create a slow (not pipelined) processor in one or more
hardware languages including working simulators (like gcc other
open source tools will be required).
I hope to write an learning assembly tutorial.

Some good references for the architecture

http://research.microsoft.com/users/GBell/Digital/PDP%2011%20Handbook%201969.pdf
http://en.wikipedia.org/wiki/PDP-11_architecture

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published