Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://research.microsoft.com/en-us/um/people/gbell/Digital/PDP%201%20Manual%201961.pdf
- accumulator
- in/out register
- opcode format:
- o oooo i aaaa aaaa aaaa - opcode, indirect, address
- AC = accumulator
- Y = address pointed to by address part of opcode
- y = address part of opcode as a constant
- M[n] = memory at n
- IO = In-Out register
- add Y: AC = AC + Y (1's complement add)
- sub Y: AC = AC - Y (1's complement subtract)
- mus Y: multiply step, weird stuff
- dis Y: divide step, weird stuff
- idx Y: Y++; AC = Y
- isp Y: Y++; AC = Y; if Y > 0, skip next
- and Y: AC = AC & Y
- xor Y: AC = AC ^ Y
- ior Y: AC = AC | Y
- lac Y: AC = Y
- dac Y: Y = AC
- dap Y: address bits in Y are replaced with corresponding bits in AC
- dip Y: opcode bits in Y are replaced with corresponding bits in AC
- lio Y: IO = Y
- dio Y: Y = IO
- dzm Y: Y = 0
- xct Y: run opcode pointed to by y, don't change PC
- jmp Y: PC = y
- jsp Y: AC = PC; PC = y
- cal Y: M[64] = AC; AC = PC; PC = M[65]
- jda Y: Y = AC; AC = PC; PC = y+1
- sad Y: skip if AC != Y
- sas Y: skip if AC == Y
- law Y: if indirect = 0, A = y; if indirect = 1, A = ~y
- rar Y: rotate AC right N positions, where N is the number of 1s in y
- ral Y: same but left
- sar Y: shift AC right N positions, where N is the number of 1s in y
- sal Y: same but left
- rir Y: rar but IO register instead of AC
- ril Y: ral but IO register instead of AC
- sir Y: sar but IO register instead of AC
- sil Y: sal but IO register instead of AC
- rcr Y: rotate AC:IO N bits right
- rcl Y: rotate AC:IO N bits left
- scr Y: shift AC:IO N bits right
- scl Y: shift AC:IO N bits left
- sza : skip if AC == 0
- spa : skip if AC positive
- sma : skip if AC negative
- szo : skip if overflow zero
- spi : skip if IO positive
- szs : skip if switch (one out of 6, or all 6) is zero
- szf : skip if program flag (out of 8) zero
- (these opcodes can be combined)
- cli : IO = 0
- lat : A |= test word switches
- cma : A = -A
- hlt : stop computer
- cla : clear accumulator
- clf : clear program flag (out of 8)
- stf : set program flag (out of 8)
- nop : do nothing
- iot : I/O thing
- multiplication and division as an option
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement