Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. ; multi-segment executable file template.
  2.  
  3. data segment
  4. ; add your data here!
  5. niza1 dw 128 dup(?)
  6. niza2 dw 128 dup(?)
  7. broj1 dw 0d
  8. broj2 dw 0d
  9. i dw 0d
  10. j dw 0d
  11. b1 dw 0d
  12. b2 dw 0d
  13. m dw 0d
  14. n dw 0d
  15. flag dw 1d
  16. ends
  17.  
  18. stack segment
  19. dw 128 dup(0)
  20. ends
  21.  
  22. code segment
  23. start:
  24. ; set segment registers:
  25. mov ax, data
  26. mov ds, ax
  27. mov es, ax
  28.  
  29. ; add your code here
  30.  
  31. mov cx, 0d
  32.  
  33. while1:
  34. mov ah, 01h
  35. int 21h
  36. cmp al, '.'
  37. je compare_number1
  38. mov cl, al
  39. mov ah, 0d
  40. sub cl, 48d
  41. mov al, 10d
  42. mov dx, broj1
  43. mul dx
  44. add ax, cx
  45. mov broj1, ax
  46. cmp broj1, 100d
  47. jae add_to_array1
  48. jmp while1
  49.  
  50. compare_number1:
  51. cmp broj1, 0d
  52. je end_add_in_array1
  53. jmp add_to_array1
  54.  
  55. add_to_array1:
  56. mov ax, broj1
  57. mov bx, i
  58. mov niza1[bx], ax
  59. add i, 2d
  60. add b1, 1d
  61. mov broj1, 0d
  62. jmp while1
  63.  
  64. end_add_in_array1:
  65.  
  66. mov cx, 0d
  67.  
  68. while2:
  69. mov ah, 01h
  70. int 21h
  71. cmp al, '.'
  72. je compare_number2
  73. mov cl, al
  74. mov ah, 0d
  75. sub cl, 48d
  76. mov al, 10d
  77. mov dx, broj2
  78. mul dx
  79. add ax, cx
  80. mov broj2, ax
  81. cmp broj2, 100d
  82. jae add_to_array2
  83. jmp while2
  84.  
  85. compare_number2:
  86. cmp broj2, 0d
  87. je end_add_in_array2
  88. jmp add_to_array2
  89.  
  90. add_to_array2:
  91. mov ax, broj2
  92. mov bx, j
  93. mov niza2[bx], ax
  94. add j, 2d
  95. add b2, 1d
  96. mov broj2, 0d
  97. jmp while2
  98.  
  99. end_add_in_array2:
  100. mov bx, i
  101. mov b1, bx
  102. mov bx, j
  103. mov b2, bx
  104.  
  105. for1:
  106. mov m, 0d
  107. mov flag, 1d
  108. mov bx, n
  109. cmp bx, b1
  110. je kraj
  111. mov cx, niza1[bx]
  112. add n, 2d
  113. for2:
  114. mov bx, m
  115. cmp bx, b2
  116. je proveri_flag
  117. mov dx, niza2[bx]
  118. add m, 2d
  119. cmp cx, dx
  120. je go_ima
  121. jmp for2
  122.  
  123. proveri_flag:
  124. mov bx, 1d
  125. cmp flag, bx
  126. je dodadi
  127. jmp for1
  128.  
  129. go_ima:
  130. mov flag, 0d
  131. jmp for1
  132.  
  133. dodadi:
  134. mov bx, j
  135. mov niza2[bx], cx
  136. add j, 2d
  137. jmp for1
  138.  
  139. kraj:
  140.  
  141. mov ax, 4c00h ; exit to operating system.
  142. int 21h
  143. ends
  144.  
  145. end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement