Advertisement
green1ant

7-2

Mar 29th, 2019
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.05 KB | None | 0 0
  1. org 100h
  2.  
  3. Start:
  4.  
  5.  
  6. ;---------------------------------
  7. xor ax, ax
  8. mov si, 0
  9. mov di, 0
  10. xor bx, bx
  11. loop_first:
  12. movsx ax, [arr1 + si]
  13.  
  14. xor di, di
  15. loop_second:
  16. movsx dx, [arr2 + di]
  17.  
  18. cmp ax, dx
  19. je BreakLoop
  20.  
  21. inc di
  22.  
  23. cmp di, 4
  24. je AddToRes
  25. jmp EndLoop
  26.  
  27. AddToRes:
  28. push si
  29. mov si, bx
  30. mov [res + si], al
  31. pop si
  32. inc bx
  33. call PrintDigit
  34.  
  35. EndLoop:
  36. cmp di, 4
  37. jne loop_second
  38.  
  39. BreakLoop:
  40. inc si
  41. cmp si, 4
  42. jne loop_first
  43.  
  44.  
  45. ;---------------------------------
  46.  
  47.  
  48. xor ax, ax
  49. mov si, 0
  50. mov di, 0
  51. loop_first2:
  52. movsx ax, [arr2 + si]
  53.  
  54. xor di, di
  55. loop_second2:
  56. movsx dx, [arr1 + di]
  57.  
  58. cmp ax, dx
  59. je BreakLoop2
  60.  
  61. inc di
  62.  
  63. cmp di, 4
  64. je AddToRes2
  65. jmp EndLoop2
  66.  
  67. AddToRes2:
  68. push si
  69. mov si, bx
  70. mov [res + si], al
  71. pop si
  72. inc bx
  73. call PrintDigit
  74.  
  75. EndLoop2:
  76. cmp di, 4
  77. jne loop_second2
  78.  
  79. BreakLoop2:
  80. inc si
  81. cmp si, 4
  82. jne loop_first2
  83.  
  84.  
  85.  
  86. ;---------------------------------
  87.  
  88. mov ah, $09
  89. mov dx, line
  90. int 21h
  91.  
  92. xor si, si
  93. PrintResultArr:
  94. movsx ax, [res + si]
  95.  
  96. call PrintDigit
  97.  
  98. inc si
  99. cmp si, bx
  100. jne PrintResultArr
  101.  
  102.  
  103. PrintRes:
  104.  
  105. push ax
  106. mov ah, $09
  107. mov dx, line
  108. int 21h
  109. pop ax
  110.  
  111. ;print ax
  112. ;mov bx, ax
  113. add bx, '0'
  114.  
  115. mov ah, $02
  116. mov dx, bx
  117. int 21h
  118.  
  119. mov ah, $09
  120. mov dx, pak
  121. int 21h
  122. mov ah, $08
  123. int 21h
  124.  
  125. ret
  126.  
  127.  
  128. PrintDigit:
  129. ;digit in bx
  130. push ax
  131. push bx
  132. push dx
  133.  
  134. mov bx, ax
  135. add bx, '0'
  136. mov ah, $02
  137. mov dx, bx
  138. int 21h
  139.  
  140. mov ah, $09
  141. mov dx, nextLine
  142. int 21h
  143.  
  144. pop dx
  145. pop bx
  146. pop ax
  147.  
  148. ret
  149.  
  150.  
  151.  
  152. pak db 13, 10, 'Press any key to exit...$'
  153. arr1 db 1, 2, 1, 4
  154. arr2 db 5, 1, 7, 7 ; 2, 4, 5, 7
  155. nextLine db ', $'
  156. line db 13, 10, '$'
  157.  
  158. res db 8 dup (?)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement