Advertisement
Nakumas

Kalk

Feb 24th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. ORG 800H
  2. START
  3. LXI H,START_P
  4. RST 3
  5. LXI H,ENTER
  6. RST 3
  7. LXI H,OP1
  8. RST 3
  9. RST 5
  10. LXI H,WYPISZ_OP1
  11. RST 3
  12. MOV A,D
  13. RST 4
  14. MOV A,E
  15. RST 4
  16. LXI H,ENTER
  17. RST 3
  18. LXI H,OPERACJE
  19. RST 3
  20. LXI H,PYT_OPERACJE
  21. RST 3
  22. RST 2
  23. LXI H,ENTER
  24. RST 3
  25. CPI 'n'
  26. JZ NEGACJA
  27. CPI '+'
  28. JZ DODAWANIE
  29. CPI '-'
  30. JZ ODEJMOWANIE
  31. JMP BLAD
  32. NEGACJA
  33. MOV A,D
  34. CMA
  35. MOV D,A
  36. MOV A,E
  37. CMA
  38. MOV E,A
  39. JMP WYPISZ
  40. DODAWANIE
  41. CALL PODAJ_OP2
  42. DAD D
  43. CC PRZENIESIENIE ;call if carry
  44. MOV D,H
  45. MOV E,L
  46. LXI H,ENTER
  47. RST 3
  48. JMP WYPISZ
  49. PRZENIESIENIE
  50. MVI A,1
  51. RST 4
  52. RET
  53. ODEJMOWANIE
  54. CALL PODAJ_OP2
  55. CMC
  56. MOV A,H
  57. CMP D
  58. JZ H_ROWNE_D
  59. JC HL_MNIEJSZE
  60. JNC HL_WIEKSZE
  61. H_ROWNE_D
  62. MOV A,L
  63. CMP E
  64. JZ HL_ROWNE
  65. JC HL_MNIEJSZE
  66. JNC HL_WIEKSZE
  67. HL_ROWNE
  68. LXI H,ENTER
  69. RST 3
  70. MVI A,00
  71. RST 4
  72. RST 4
  73. LXI H,HASHEND
  74. RST 3
  75. HLT
  76. HL_MNIEJSZE
  77. MOV A,E
  78. SUB L
  79. MOV E,A
  80. MOV A,D
  81. SUB H
  82. MOV D,A
  83. LXI H,ENTER
  84. RST 3
  85. LXI H,TEST
  86. RST 3
  87. JMP WYPISZ
  88. HL_WIEKSZE
  89. MOV A,L
  90. SBB E
  91. MOV E,A
  92. MOV A,H
  93. SBB D
  94. MOV D,A
  95. LXI H,ENTER
  96. RST 3
  97. JMP WYPISZ
  98. PODAJ_OP2
  99. LXI H,OP2
  100. RST 3
  101. MOV H,D
  102. MOV L,E
  103. RST 5
  104. RET
  105. WYPISZ
  106. MOV A,D
  107. RST 4
  108. MOV A,E
  109. RST 4
  110. LXI H,WYNIK_OPERACJI
  111. RST 3
  112. LXI H,HASHEND
  113. RST 3
  114. JMP START
  115. BLAD
  116. LXI H,BLAD_I
  117. RST 3
  118. JMP START
  119. ENTER db 10,13,'@'
  120. START_P db '########',10,13,'KALKULATOR',10,13,'########@'
  121. OP1 db 10,13,'PIERWSZY OPERAND (HEKSADECYMALNIE): @'
  122. WYPISZ_OP1 db 10,13,10,13,'OPERAND 1: @'
  123. OPERACJE db 10,13,'#########',10,13,'DODAWANIE(+), ODEJMOWANIE(-), NEGACJA(n)@'
  124. PYT_OPERACJE db 10,13,'OPERACJA: @'
  125. OP2 db 'DRUGI OPERAND (HEKSADECYMALNIE): @'
  126. PRZENIESIENIE_T db '[PRZENIESIENIE]',10,13,'@'
  127. HASHEND db 10,13,'#########@'
  128. WYNIK_OPERACJI db ' <--- WYNIK OPERACJI@'
  129. BLAD_I db 10,13,'Blad, jeszcze raz,'10,13,'@'
  130. TEST db '-@'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement