SAP - 1
34 Stars     11911 Views    

Author: Satvik Ramaprasad

Project access type: Public

Description:

Simple as Possible Computer You can program the ROM to do simple operations like addition and subtraction. To run the program, set the clear input to ground. The ROM currently performs 5+11-6. Instruction OP-Code
  • LDA       -  0x
  • ADD      -  1x
  • Subtract - 2x
  • Output   -  ee
  • Halt        -  ff

Created: Jan 23, 2018

Updated: Apr 19, 2021

Copied to Clipboard!

Comments
abc

Comment deleted by abc.

Posted on Mar 15 2018 at 04:30AM UTC. Last modified by abc on Mar 15 2018 at 04:30AM UTC.

Very cool. Thanks! I am working on modelling a rotating drum sequencer Like those that preceded the IBM 650. This is a great reference.

Posted on Aug 30 2018 at 07:06PM UTC.
+0

this is righteous

Posted on Nov 27 2018 at 01:34AM UTC.
+1

This is cool ,but why does the program counter count 0 8 1 9 2 A... instead of 0,1,2,3,4...

Posted on Jan 16 2019 at 01:50PM UTC.
+1
SDC

@Aiex2 it seems like it's simply splitting the ROM into two portions. The top two rows of hex entries are the instructions,

while the bottom two rows are the numbers. This way, it's better organized. It would be pretty hard to wrap your head

around instructions if they were sequential.

Posted on Feb 25 2019 at 03:38AM UTC.
+1

How were the C39, C40, C41 and C43 names chosen? What logic is there behind them?

Posted on Apr 20 2019 at 01:50PM UTC.
+0

David Stevens

http://joshcorbin.com/sap-1-complete/ This sap circuit was taken from the Logisim implementation of the same.

Posted on May 02 2019 at 09:20AM UTC.
+0

Comment deleted by herty10.

Posted on May 24 2019 at 09:37PM UTC. Last modified by herty10 on May 26 2019 at 02:11AM UTC.

Maybe @DavidStevens Those are models of stuff and those ones worked.

Posted on Nov 18 2019 at 06:12PM UTC.
+0

Hi, I'm also developing a simple computer but I don't understand most of the stuff you put there.

Posted on Dec 19 2019 at 12:25PM UTC.
+0
SDC

My best guess at the nomenclature for C39-43 has to do with the encoding of instructions each segment performs. To back this statement up some, take a look at CS-SAP. In it, each sub-circuit is used to re-encode the decoded instructions that are fed from the iDecoder (instruction decoder), and the control signals from T-Clock. As to the exact instruction pattern that this nomenclature follows, I haven't the foggiest.

Posted on Feb 26 2020 at 10:26PM UTC.
+0

How did you even manage to program the ROM? ROM cannot be modified, are they?

Posted on Dec 01 2020 at 12:34PM UTC.
+1

@BeepBeepImASheep237BeepBeepImASheep237 not sure.

Posted on Apr 22 2021 at 08:42PM UTC.
+0

but this project is good btw

Posted on Apr 22 2021 at 08:45PM UTC.
+0

@BeepBeepImASheep237BeepBeepImASheep237 got it. click a square on the rom and use the number keys to replace the number.

Posted on Apr 22 2021 at 08:47PM UTC.
+0

What is "LDA" (I don't know anything about this stuff....) someone pls, explain?

Posted on Apr 25 2021 at 04:03AM UTC.
+0
SDC

@glitchkiller872 it's a mnemonic for "load register A", or load a word into the accumulator register. The accumulator is the register where the magic happens, where you get operands from memory, add them, subtract them, or perform bitwise operators on them, then store from to memory if you have RAM to do so. This computer design doesn't have any RAM to store its data to, so sadly it doesn't have those instructions.

Posted on Apr 27 2021 at 01:29PM UTC.
+0
SDC

Also as a sidenote, LDA isn't necessarily a mnemonic used in many CPU architectures, as the register files are much larger, typically 32-64 registers in total in most computers. Because of this, we can't use LDA in the Assembly we write (there is a specific name for the accumulator register, but we won't talk about that ), so...... we use the LDx mnemonic, where x can be a register id in the file. Most cases, this can be subdivided if the registers are 32 bits wide, so we can have Ax, Bx, etc for 8 bit segments of these larger registers. A more comprehensive list of register names in x86 architecture can be found here: https://en.wikibooks.org/wiki/X86_Assembly/X86_Architecture.

Posted on Apr 27 2021 at 01:34PM UTC. Last modified by SDC on Apr 27 2021 at 01:37PM UTC.
+0

literally has 11037 views

Posted on Jun 03 2021 at 06:02PM UTC.
+0

Comment deleted by Aravind.

Posted on Aug 17 2021 at 06:47PM UTC. Last modified by Aravind on Aug 17 2021 at 06:47PM UTC.

You must login before you can post a comment.