Advertisement
NovaYoshi

pdp-1

Sep 27th, 2016
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. http://research.microsoft.com/en-us/um/people/gbell/Digital/PDP%201%20Manual%201961.pdf
  2.  
  3. accumulator
  4. in/out register
  5.  
  6. opcode format:
  7. o oooo i aaaa aaaa aaaa - opcode, indirect, address
  8.  
  9. AC = accumulator
  10. Y = address pointed to by address part of opcode
  11. y = address part of opcode as a constant
  12. M[n] = memory at n
  13. IO = In-Out register
  14.  
  15. add Y: AC = AC + Y (1's complement add)
  16. sub Y: AC = AC - Y (1's complement subtract)
  17. mus Y: multiply step, weird stuff
  18. dis Y: divide step, weird stuff
  19. idx Y: Y++; AC = Y
  20. isp Y: Y++; AC = Y; if Y > 0, skip next
  21. and Y: AC = AC & Y
  22. xor Y: AC = AC ^ Y
  23. ior Y: AC = AC | Y
  24. lac Y: AC = Y
  25. dac Y: Y = AC
  26. dap Y: address bits in Y are replaced with corresponding bits in AC
  27. dip Y: opcode bits in Y are replaced with corresponding bits in AC
  28. lio Y: IO = Y
  29. dio Y: Y = IO
  30. dzm Y: Y = 0
  31. xct Y: run opcode pointed to by y, don't change PC
  32. jmp Y: PC = y
  33. jsp Y: AC = PC; PC = y
  34. cal Y: M[64] = AC; AC = PC; PC = M[65]
  35. jda Y: Y = AC; AC = PC; PC = y+1
  36. sad Y: skip if AC != Y
  37. sas Y: skip if AC == Y
  38. law Y: if indirect = 0, A = y; if indirect = 1, A = ~y
  39. rar Y: rotate AC right N positions, where N is the number of 1s in y
  40. ral Y: same but left
  41. sar Y: shift AC right N positions, where N is the number of 1s in y
  42. sal Y: same but left
  43. rir Y: rar but IO register instead of AC
  44. ril Y: ral but IO register instead of AC
  45. sir Y: sar but IO register instead of AC
  46. sil Y: sal but IO register instead of AC
  47. rcr Y: rotate AC:IO N bits right
  48. rcl Y: rotate AC:IO N bits left
  49. scr Y: shift AC:IO N bits right
  50. scl Y: shift AC:IO N bits left
  51. sza : skip if AC == 0
  52. spa : skip if AC positive
  53. sma : skip if AC negative
  54. szo : skip if overflow zero
  55. spi : skip if IO positive
  56. szs : skip if switch (one out of 6, or all 6) is zero
  57. szf : skip if program flag (out of 8) zero
  58.  
  59. (these opcodes can be combined)
  60. cli : IO = 0
  61. lat : A |= test word switches
  62. cma : A = -A
  63. hlt : stop computer
  64. cla : clear accumulator
  65. clf : clear program flag (out of 8)
  66. stf : set program flag (out of 8)
  67. nop : do nothing
  68.  
  69. iot : I/O thing
  70.  
  71. multiplication and division as an option
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement