Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ORG 800h
  2.  
  3. ##########################
  4. # program nie potrafi wyświetlać samych liczb i wszystko zamienia na znaki ascii
  5.  
  6. # w ascii 0 to 48
  7. mvi e,48
  8.  
  9. # 9 w ascii
  10. mvi h,57
  11.  
  12. # 5 w ascii
  13. mvi c,53
  14.  
  15. # wywołuje flagę prog i zapisuje aktualny progres programu na stos
  16. call prog
  17.  
  18. # przerywa program
  19. hlt
  20. ##########################
  21.  
  22.  
  23.  
  24. ##########################
  25. prog
  26.  
  27. # przenosi rejestr e do akumulatora
  28. mov a,e
  29.  
  30. # porównuje rejestr c z akumulatorem, czyli tak naprawdę od akumulatora odejmuje c
  31. # w zależności od wyniku ustawia odpowiednia flagę w rejestrze flagowym
  32. cmp c
  33.  
  34. # cm to skrót od call minus, czyli jeżeli flaga minusa jest ustawiona na 1,
  35. # to uruchamia procedurę typei
  36. cm typei
  37.  
  38. # skrót call zero, jeżeli flaga 0 jest aktywna wywołuje stars
  39. cz stars
  40. # call plus - to samo co cz tylko sprawdza czy wynik jest dodatni
  41. cp stars
  42.  
  43. # zwiększa e o 1
  44. inr e
  45.  
  46. # przenosi h do akumulatora
  47. mov a,h
  48.  
  49. # porównuje akumulator z e
  50. cmp e
  51.  
  52. # jump not zero - skacze do procedury prog jeżeli flaga zera nie jest równa 0
  53. # czyli jest implementacją pętli
  54. jnz prog
  55.  
  56. # skacze do momentu zapisanego na stosie
  57. ret
  58. ##########################
  59.  
  60.  
  61.  
  62. #############################
  63. # przenosi gwiazdkę do akumulatora
  64. stars mvi a,'*'
  65.  
  66. # wypisuje akumulator
  67. rst 1
  68.  
  69. # powraca do momentu ze stosu
  70. ret
  71. ##########################
  72.  
  73.  
  74.  
  75. ##########################
  76. # przenosi e do akumulatora i wypisuje
  77. typei mov a,e
  78. rst 1
  79. ret
  80. ##########################
  81.  
  82.  
  83. # call rożni się od jump tym, ze call zapisuje na stosie stan programu, wiec
  84. # można potem użyć RET
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement