Advertisement
Guest User

Untitled

a guest
May 24th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.11 KB | None | 0 0
  1. dane SEGMENT ;segment danych
  2. stopien db 1 dup (?)
  3. a db 1 dup (?)
  4. b db 1 dup (?)
  5. czm db 1 dup (?)
  6. d db 1 dup (?)
  7. e db 1 dup (?)
  8. x db 1 dup (?)
  9. nlcr db 0dh, 0ah, "$"
  10. tekst_1 db "Podaj stopien wielomianu : ", 0ah, "$"
  11. tekst_2 db "Podaj wspolczynnik a : a*x^0", 0dh, 0ah, "$"
  12. tekst_3 db "Podaj wspolczynnik b : b*x^1", 0dh, 0ah, "$"
  13. tekst_4 db "Podaj wspolczynnik c : c*x^2", 0dh, 0ah, "$"
  14. tekst_5 db "Podaj wspolczynnik d : d*x^3", 0dh, 0ah, "$"
  15. tekst_6 db "Podaj wspolczynnik e : e*x^4", 0dh, 0ah, "$"
  16. tekst_7 db "Podaj x : ", 0dh, 0ah, "$"
  17. tekst_8 db "Wynik : ", 0dh, 0ah, "$"
  18. nlcr2 db 0dh, 0ah, "$"
  19. dane ENDS
  20.  
  21. rozkazy SEGMENT 'CODE' use16;segment rozkazu
  22. ASSUME cs:rozkazy, ds:dane
  23. startuj: mov bx, SEG dane
  24. mov ds, bx
  25.  
  26. mov dx,offset tekst_1
  27. mov ah, 09h
  28. int 21h
  29.  
  30. mov ah, 01h
  31. int 21h ;czytanie znaku z klawiatury do AL
  32. mov stopien, al
  33. mov dx,offset nlcr
  34. mov ah, 09h
  35. int 21h
  36.  
  37. ;mov dl, stopien ;pobranie kodu ASCII kolejnej cyfry
  38. ;mov ah, 2 ;wyświetlenie cyfry na ekranie
  39. ;int 21h
  40.  
  41. cmp stopien, '0'
  42. je obsluga_zerowego
  43. cmp stopien, '1'
  44. je obsluga_pierwszego
  45. cmp stopien, '2'
  46. je obsluga_drugiego
  47. cmp stopien, '3'
  48. je obsluga_trzeciego
  49. cmp stopien, '4'
  50. je obsluga_czwartego
  51.  
  52. obsluga_zerowego:
  53. mov dx,offset tekst_2
  54. mov ah, 09h
  55. int 21h
  56. mov ah, 01h
  57. int 21h ;czytanie znaku z klawiatury do AL
  58. mov a, al
  59. mov dx,offset nlcr
  60. mov ah, 09h
  61. int 21h
  62. mov dx,offset tekst_8
  63. mov ah, 09h
  64. int 21h
  65. mov dl, a ;pobranie kodu ASCII kolejnej cyfry
  66. mov ah, 2 ;wyświetlenie cyfry na ekranie
  67. int 21h
  68. jmp koniec
  69.  
  70. obsluga_pierwszego:
  71. mov dx,offset tekst_2
  72. mov ah, 09h
  73. int 21h
  74. mov ah, 01h
  75. int 21h ;czytanie znaku z klawiatury do AL
  76. mov a, al
  77. mov dx,offset nlcr
  78. mov ah, 09h
  79. int 21h
  80. mov dx,offset tekst_3
  81. mov ah, 09h
  82. int 21h
  83. mov ah, 01h
  84. int 21h ;czytanie znaku z klawiatury do AL
  85. mov b, al
  86. mov dx,offset nlcr
  87. mov ah, 09h
  88. int 21h
  89. mov dx,offset tekst_7
  90. mov ah, 09h
  91. int 21h
  92. mov ah, 01h
  93. int 21h ;czytanie znaku z klawiatury do AL
  94. mov x, al
  95. mov dx,offset nlcr
  96. mov ah, 09h
  97. int 21h
  98. mov cl, x
  99. sub cl, 30h
  100. mov ax, 0
  101. mov al, b
  102. sub al, 30h
  103. mul cl
  104. aam
  105. add al, a
  106. sub al, 30h
  107. mov bl, al
  108. add bl,bh
  109. add bx, 30h
  110. mov dx,offset tekst_8
  111. mov ah, 09h
  112. int 21h
  113. mov dx, bx ;pobranie kodu ASCII kolejnej cyfry
  114. mov ah, 2 ;wyświetlenie cyfry na ekranie
  115. int 21h
  116. jmp koniec
  117.  
  118. obsluga_drugiego:
  119. mov dx,offset tekst_2
  120. mov ah, 09h
  121. int 21h
  122. mov dx,offset tekst_3
  123. mov ah, 09h
  124. int 21
  125. mov dx,offset tekst_4
  126. mov ah, 09h
  127. int 21h
  128. jmp koniec
  129.  
  130. obsluga_trzeciego:
  131. mov dx,offset tekst_2
  132. mov ah, 09h
  133. int 21h
  134. mov dx,offset tekst_3
  135. mov ah, 09h
  136. int 21h
  137. mov dx,offset tekst_4
  138. mov ah, 09h
  139. int 21h
  140. mov dx,offset tekst_5
  141. mov ah, 09h
  142. int 21h
  143. jmp koniec
  144.  
  145. obsluga_czwartego:
  146. mov dx,offset tekst_2
  147. mov ah, 09h
  148. int 21h
  149. mov dx,offset tekst_3
  150. mov ah, 09h
  151. int 21h
  152. mov dx,offset tekst_4
  153. mov ah, 09h
  154. int 21h
  155. mov dx,offset tekst_5
  156. mov ah, 09h
  157. int 21h
  158. mov dx,offset tekst_6
  159. mov ah, 09h
  160. int 21h
  161. jmp koniec
  162.  
  163. koniec:
  164. mov al, 0
  165. mov ah, 4CH
  166. int 21H
  167. rozkazy ENDS
  168. stosik SEGMENT stack
  169. dw 128 dup(?)
  170. stosik ENDS
  171. END startuj
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement