pxh

Redstone computer code

pxh
Dec 31st, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     ld 3, R2            ; 000 0001 0010
  2.                         ; 001 0000 0011
  3.     ld $80, OR          ; 002 0001 1000
  4.                         ; 003 1000 0000
  5. .outerloop
  6.     ld 3, R3            ; 004 0001 0011
  7.                         ; 005 0000 0011
  8.     ld 1, R4            ; 006 0001 0100
  9.                         ; 007 0000 0001
  10.     ld R2, R5           ; 008 0010 0101
  11.     ld .shift, TNZ      ; 009 0001 1101
  12.                         ; 010 0000 1111
  13.     ld .innerloop, TZ   ; 011 0001 1111
  14.                         ; 012 0001 0111
  15. .getmax
  16.     ld R5, TEST         ; 013 0101 1110
  17.     ld TEST, PC         ; 014 1110 0000
  18. .shift
  19.     ld R5, RSHF         ; 015 0101 0111
  20.     ld RSHF, RSHF       ; 016 0111 0111
  21.     ld RSHF, R5         ; 017 0111 0101
  22.     ld R4, ADD          ; 018 0100 1010
  23.     ld R4, NEG          ; 019 0100 1011
  24.     ld ADD, R4          ; 020 1010 0100
  25.     ld .getmax, PC      ; 021 0001 0000
  26.                         ; 022 0000 1101
  27. .innerloop
  28.     ld R2, R5           ; 023 0010 0101
  29.     ld R3, R6           ; 024 0011 0110
  30. .modulo
  31.     ld .loop, TNZ       ; 025 0001 1101
  32.                         ; 026 0010 0110
  33.     ld .shiftleft, TZ   ; 027 0001 1111
  34.                         ; 028 0010 0000
  35.     ld R6, AND          ; 029 0110 1001
  36.     ld AND, TEST        ; 030 1001 1110
  37.     ld TEST, PC         ; 031 1110 0000
  38. .shiftleft
  39.     ld R6, ADD          ; 032 0110 1010
  40.     ld R6, NEG          ; 033 0110 1011
  41.     ld ADD, R6          ; 034 1010 0110
  42.     ld ADD, AND         ; 035 1010 1001
  43.     ld AND, TEST        ; 036 1001 1110
  44.     ld TEST, PC         ; 037 1110 0000
  45. .loop
  46.     ld .nocarry, TZ     ; 038 0001 1111
  47.                         ; 039 0011 0000
  48.     ld .carry, TNZ      ; 040 0001 1101
  49.                         ; 041 0011 0001
  50.     ld R5, ADD          ; 042 0101 1010
  51.     ld R6, NEG          ; 043 0110 1011
  52.     ld NEG, NEG         ; 044 1011 1011
  53.     ld RSHF, AND        ; 045 0111 1001
  54.     ld AND, TEST        ; 046 1001 1110
  55.     ld TEST, PC         ; 047 1110 0000
  56. .carry
  57.     ld ADD, R5          ; 048 1010 0101
  58. .nocarry
  59.     ld .endmodulo, TZ   ; 049 0001 1111
  60.                         ; 050 0011 1110
  61.     ld .continue, TNZ   ; 051 0001 1101
  62.                         ; 052 0011 1010
  63.     ld R6, ADD          ; 053 0110 1010
  64.     ld R3, NEG          ; 054 0011 1011
  65.     ld NEG, NEG         ; 055 1011 1011
  66.     ld ADD, TEST        ; 056 1010 1110
  67.     ld TEST, PC         ; 057 1110 0000
  68. .continue
  69.     ld R6, RSHF         ; 058 0110 0111
  70.     ld RSHF, R6         ; 059 0111 0110
  71.     ld .loop, PC        ; 060 0001 0000
  72.                         ; 061 0010 0110
  73. .endmodulo
  74.     ld .candivide, TZ   ; 062 0001 1111
  75.                         ; 063 0101 0011
  76.     ld .cantdivide, TNZ ; 064 0001 1101
  77.                         ; 065 0100 0100
  78.     ld R5, TEST         ; 066 0101 1110
  79.     ld TEST, PC         ; 067 1110 0000
  80. .cantdivide
  81.     ld .innerloop, TZ   ; 068 0001 1111
  82.                         ; 069 0001 0111
  83.     ld .isprime, TNZ    ; 070 0001 1101
  84.                         ; 071 0101 0010
  85.     ld R3, ADD          ; 072 0011 1010
  86.     ld 2, NEG           ; 073 0001 1011
  87.                         ; 074 0000 0010
  88.     ld ADD, R3          ; 075 1010 0011
  89.     ld R3, ADD          ; 076 0011 1010
  90.     ld R4, NEG          ; 077 0100 1011
  91.     ld NEG, NEG         ; 078 1011 1011
  92.     ld RSHF, AND        ; 079 0111 1001
  93.     ld AND, TEST        ; 080 1001 1110
  94.     ld TEST, PC         ; 081 1110 0000
  95. .isprime
  96.     ld R2, DISP         ; 082 0010 0001
  97. .candivide
  98.     ld .outerloop, TZ   ; 083 0001 1111
  99.                         ; 084 0000 0100
  100.     ld .done, TNZ       ; 085 0001 1101
  101.                         ; 086 0101 1110
  102.     ld R2, ADD          ; 087 0010 1010
  103.     ld 2, NEG           ; 088 0001 1011
  104.                         ; 089 0000 0010
  105.     ld ADD, R2          ; 090 1010 0010
  106.     ld RSHF, AND        ; 091 0111 1001
  107.     ld AND, TEST        ; 092 1001 1110
  108.     ld TEST, PC         ; 093 1110 0000
  109. .done
  110.     halt                ; 094 0000 0000
Advertisement
Add Comment
Please, Sign In to add comment