Simple ASM for the Pico-computer





This ASM is straight forward, but it contains 24 states!



There are a lot of duplicates!



We can simplify the number of states



We also have a problem...


How do we get our program into the memory in the first place?



We need some extra hardware.


A toggle switch connected to the control line PLOAD (program load)


3 further switches:


Load address


Increment addr


Load memory


(together with our I/O port to enter the actual codes)











8 state ASM incorporating program load commands:


ASM transition table



Current state Next state Condition

ABC ABC


0 000 1 001 -


1 001 2 010

7 111 pload


2 010 3 011 lda+add+sub+in+clr

6 110 hlt

4 100 sta+jpz


3 011 4 100 lda+add+sub

6 110 in+clr


4 100 5 101 -


5 101 6 110

1 001 jpz


6 110 1 001 -


7 111 0 000

7 111 pload


State 0

A = false

B = false

C = true


State 1

A = pload

B = true

C = pload


State 2

A = hlt + sta + jpz

B = hlt + lda + add + sub + in + clr

C = lda + add + sub + in + clr


State 3

A = true

B = in + clr

C = false


State 4

A = true

B = false

C = true


State 5

A =

B =

C = jpz


State 6

A = false

B = false

C = true


State 7

A = pload

B = pload

C = pload



159.233 Lecture 12 -