Advertisement
Guest User

EMUEMUEMU

a guest
Apr 23rd, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. data segment
  2. ; Ovde definisati sve promenljive
  3. niz DW 1,2,3
  4. string DW " $"
  5. ends
  6.  
  7.  
  8.  
  9. stek segment stack
  10. dw 128 dup(0)
  11. ends
  12.  
  13. ; Unos jednog znaka
  14. read macro c
  15. push ax
  16. mov ah, 01
  17. int 21h
  18. mov c, al
  19. pop ax
  20. endm
  21. ; Ispis jednog znaka
  22. write macro c
  23. push ax
  24. push dx
  25. mov ah, 02
  26. mov dl, c
  27. int 21h
  28. pop dx
  29. pop ax
  30. endm
  31. ; Unos jednog znaka bez prikaza na ekran
  32. readkey macro c
  33. push ax
  34. mov ah, 08
  35. int 21h
  36. mov c, al
  37. pop ax
  38. endm
  39. ; Unos jednog znaka bez prikaza na ekran i pamcenja
  40. keypress macro
  41. push ax
  42. mov ah, 08
  43. int 21h
  44. pop ax
  45. endm
  46. ; Ispis stringa na ekran
  47. writeString macro s
  48. push ax
  49. push dx
  50. mov dx, offset s
  51. mov ah, 09
  52. int 21h
  53. pop dx
  54. pop ax
  55. endm
  56. ; Kraj programa
  57. krajPrograma macro
  58. mov ax, 4c02h
  59. int 21h
  60. endm
  61.  
  62. code segment
  63. ; Novi red
  64. novired proc
  65. push ax
  66. push bx
  67. push cx
  68. push dx
  69. mov ah,03
  70. mov bh,0
  71. int 10h
  72. inc dh
  73. mov dl,0
  74. mov ah,02
  75. int 10h
  76. pop dx
  77. pop cx
  78. pop bx
  79. pop ax
  80. ret
  81. novired endp
  82. ; Ucitavanje stringa
  83. ; Adresa stringa je parametar procedure
  84. readString proc
  85. push ax
  86. push bx
  87. push cx
  88. push dx
  89. push si
  90. mov bp, sp
  91. mov dx, [bp+12]
  92. mov bx, dx
  93. mov ax, [bp+14]
  94. mov byte [bx] ,al
  95. mov ah, 0Ah
  96. int 21h
  97. mov si, dx
  98. mov cl, [si+1]
  99. mov ch, 0
  100. kopiraj:
  101. mov al, [si+2]
  102. mov [si], al
  103. inc si
  104. loop kopiraj
  105. mov [si], '$'
  106. pop si
  107. pop dx
  108. pop cx
  109. pop bx
  110. pop ax
  111. ret 4
  112. readString endp
  113. ; Konvertovanje stringa u broj
  114. strtoint proc
  115. push ax
  116. push bx
  117. push cx
  118. push dx
  119. push si
  120. mov bp, sp
  121. mov bx, [bp+14]
  122. mov ax, 0
  123. mov cx, 0
  124. mov si, 10
  125. petlja1:
  126. mov cl, [bx]
  127. cmp cl, '$'
  128. je kraj1
  129. mul si
  130. sub cx, 48
  131. add ax, cx
  132. inc bx
  133. jmp petlja1
  134. kraj1:
  135. mov bx, [bp+12]
  136. mov [bx], ax
  137. pop si
  138. pop dx
  139. pop cx
  140. pop bx
  141. pop ax
  142. ret 4
  143. strtoint endp
  144. ; Konvertovanje broja u string
  145. inttostr proc
  146. push ax
  147. push bx
  148. push cx
  149. push dx
  150. push si
  151. mov bp, sp
  152. mov ax, [bp+14]
  153. mov dl, '$'
  154. push dx
  155. mov si, 10
  156. petlja2:
  157. mov dx, 0
  158. div si
  159. add dx, 48
  160. push dx
  161. cmp ax, 0
  162. jne petlja2
  163.  
  164. mov bx, [bp+12]
  165. petlja2a:
  166. pop dx
  167. mov [bx], dl
  168. inc bx
  169. cmp dl, '$'
  170. jne petlja2a
  171. pop si
  172. pop dx
  173. pop cx
  174. pop bx
  175. pop ax
  176. ret 4
  177. inttostr endp
  178.  
  179. start:
  180. ASSUME CS:CODE,SS:STEK
  181. MOV AX,DATA
  182. MOV DS,AX
  183.  
  184. MOV SI,0
  185. MOV CX,5
  186. MOV AX,0
  187. petlja:
  188. ADD AX,niz[SI]
  189. ADD SI,2
  190. loop petlja
  191. MOV BX,3
  192. DIV BX
  193. PUSH AX
  194. PUSH OFFSET string
  195. CALL INTTOSTR
  196. writeString string
  197.  
  198.  
  199. ; Ovde pisati glavni deo koda.
  200.  
  201.  
  202. kraj:
  203. ; Ovde ispisati rezultat
  204.  
  205. krajPrograma
  206.  
  207.  
  208.  
  209. ends
  210.  
  211. end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement