Advertisement
Guest User

Untitled

a guest
Oct 30th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. WRITE_HEX EQU 8104H
  2. WRITE_DATA EQU 8102H
  3. WAIT_KEY EQU 811CH
  4. LCD_CLR EQU 810CH
  5. WRITE_INSTR EQU 8106H
  6. LED EQU P1.7
  7. DELAY_100MS EQU 8112H
  8.  
  9. LJMP    START
  10.     ORG 100H
  11.    
  12. START:
  13. LCALL LCD_CLR
  14. LCALL WAIT_KEY
  15.  
  16.  
  17. LOOP:
  18.  
  19.  
  20. MOV R0,A          ;dodawanie
  21. LCALL LCD_CLR
  22. LCALL WRITE_HEX
  23. MOV A,#'+'
  24. LCALL WRITE_DATA
  25. LCALL WAIT_KEY
  26. MOV R1,A
  27. LCALL WRITE_HEX
  28. MOV A,#'='
  29.  
  30. LCALL WRITE_DATA
  31.  
  32. MOV A, R0
  33. ADD A, R1
  34.  
  35. MOV B,#10
  36. DIV AB
  37. SWAP A
  38. ADD A,B
  39. LCALL WRITE_HEX
  40.  
  41.  
  42.  
  43.  
  44. MOV A,#0C0H      ; odejmowanie
  45. LCALL WRITE_INSTR
  46. MOV A,RO
  47. LCALL WRITE_HEX
  48. MOV A,#'-'
  49. LCALL WRITE_DATA
  50. MOV A,R1
  51. LCALL WRITE_HEX
  52. MOV A,#'='
  53. LCALL WRITE_DATA
  54.  
  55. CLR C
  56. MOV A,R0
  57. SUBB A,R1
  58. LCALL WRITE_HEX
  59.  
  60.  
  61.  
  62.  
  63.  
  64. LCALL WAIT_KEY
  65. CLR LED
  66. MOV A,#5
  67. LCALL DELAY_100MS
  68. SETB LED
  69.  
  70.  
  71.  
  72. LCALL LCD_CLR           ; mnozenie
  73. MOV A,RO
  74. LCALL WRITE_HEX
  75. MOV A,#'*'
  76. LCALL WRITE_DATA
  77. MOV B,R1
  78. MOV A,R1
  79. LCALL WRITE_HEX
  80. MOV A,#'='
  81. LCALL WRITE_DATA
  82. MOV A,R0
  83. MUL AB
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91. ACALL WRITE_BCD
  92.  
  93.  
  94.  
  95. MOV A,#0C0H      ; dzielenie
  96. LCALL WRITE_INSTR
  97. MOV A,RO
  98. LCALL WRITE_HEX
  99. MOV A,#':'
  100. LCALL WRITE_DATA
  101. MOV A,R1
  102. MOV B,R1
  103. LCALL WRITE_HEX
  104. MOV A,#'='
  105. LCALL WRITE_DATA
  106. MOV A,R0
  107.  
  108.  
  109. DIV AB
  110.  
  111. ACALL WRITE_BCD
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125. LCALL WAIT_KEY
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134. LJMP LOOP
  135. END
  136.  
  137.  
  138. WRITE_BCD:
  139.  
  140. MOV B,#10
  141. DIV AB
  142. SWAP A
  143. ADD A,B
  144. LCALL WRITE_HEX
  145.  
  146. RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement