yoshi_squashy

(Fail) LMC - DIV and MOD script (too big for LMC) (>100 L-bytes)

Sep 2nd, 2020 (edited)
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. INP -- Script size: 106 L-bytes ; 117 lines; 11 lines of blank space
  2. STA varX1
  3. BRP X1NotNeg
  4.  
  5. LDA zValue
  6. ADD one
  7. STA zValue
  8. LDA X1Sign
  9. ADD one
  10. STA X1Sign
  11.  
  12. X1NotNeg INP
  13. STA varX2
  14. BRP X2NotNeg
  15.  
  16. LDA zValue
  17. ADD one
  18. STA zValue
  19.  
  20. X2NotNeg LDA X1Sign
  21. BRZ X1Pos
  22. BRP X1Neg
  23.  
  24. X1Pos LDA zValue
  25. SUB one
  26. BRZ BRANCH2
  27. BRA BRANCH1
  28.  
  29. X1Neg LDA zValue
  30. SUB one
  31. BRZ BRANCH4
  32. BRA BRANCH3
  33.  
  34. BRANCH1 BRA start1
  35. looptop1 LDA total
  36. ADD one
  37. STA total
  38. start1 LDA varX1
  39. SUB varX2
  40. STA varX1
  41. BRP looptop1
  42. LDA total
  43. OUT
  44. LDA varX1
  45. ADD varX2
  46. OUT
  47. HLT
  48.  
  49. BRANCH2 LDA zero
  50. SUB varX2
  51. STA varX2
  52. BRA start2
  53. looptop2 LDA total
  54. ADD one
  55. STA total
  56. start2 LDA varX1
  57. SUB varX2
  58. STA varX1
  59. BRP looptop2
  60. LDA zero
  61. SUB total
  62. OUT
  63. LDA varX1
  64. ADD varX2
  65. OUT
  66. HLT
  67.  
  68. BRANCH3 LDA zero
  69. SUB varX1
  70. STA varX1
  71. LDA zero
  72. SUB varX2
  73. STA varX2
  74. BRA start3
  75. looptop3 LDA total
  76. ADD one
  77. STA total
  78. start3 LDA varX1
  79. SUB varX2
  80. STA varX1
  81. BRP looptop3
  82. LDA total
  83. OUT
  84. LDA varX1
  85. ADD varX2
  86. STA varX1
  87. LDA zero
  88. SUB varX1
  89. OUT
  90. HLT
  91.  
  92. BRANCH4 LDA zero
  93. SUB varX1
  94. STA varX1
  95. BRA start4
  96. looptop4 LDA total
  97. ADD one
  98. STA total
  99. start4 LDA varX1
  100. SUB varX2
  101. STA varX1
  102. BRP looptop4
  103. LDA zero
  104. SUB total
  105. OUT
  106. LDA varX1
  107. ADD varX2
  108. OUT
  109. HLT
  110.  
  111. varX1 DAT
  112. varX2 DAT
  113. zValue DAT
  114. X1Sign DAT
  115. zero DAT 0
  116. one DAT 1
  117. total DAT
Add Comment
Please, Sign In to add comment