Advertisement
green1ant

7-1

Mar 29th, 2019
817
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         org 100h
  2.  
  3. Start:
  4.         xor     ax, ax
  5.         mov     si, 0
  6.         mov     di, 0
  7.  
  8.         xor     bx, bx
  9. loop_first:
  10.         movsx   ax, [arr2 + si]
  11.  
  12.  
  13.         xor     di, di
  14.         loop_second:
  15.                 movsx   dx, [arr1 + di]
  16.  
  17.                 cmp     ax, dx
  18.                 je      BreakLoop
  19.  
  20.                 inc     di
  21.  
  22.                 cmp     di, 4
  23.                 je      AddToRes
  24.                 jmp     EndLoop
  25.  
  26.                 AddToRes:
  27.                         push    si
  28.                         mov     si, bx
  29.                         mov     [res + si], al
  30.                         pop     si
  31.                         inc     bx
  32.                         call    PrintDigit
  33.  
  34.                 EndLoop:
  35.                 cmp     di, 4
  36.                 jne     loop_second
  37.  
  38.  
  39.  
  40.         BreakLoop:
  41.         inc     si
  42.         cmp     si, 4
  43.         jne     loop_first
  44.  
  45.  
  46. PrintRes:
  47.  
  48.         push    ax
  49.         mov     ah, $09
  50.         mov     dx, line
  51.         int 21h
  52.         pop ax
  53.  
  54.         ;print ax
  55.         ;mov     bx, ax
  56.         add     bx, '0'
  57.  
  58.         mov     ah, $02
  59.         mov     dx, bx
  60.         int 21h
  61.  
  62.         mov     ah, $09
  63.         mov     dx, pak
  64.         int 21h
  65.         mov     ah, $08
  66.         int 21h
  67.  
  68.         ret
  69.  
  70.  
  71. PrintDigit:
  72.         ;digit in bx
  73.         push ax
  74.         push bx
  75.         push dx
  76.  
  77.         mov     bx, ax
  78.         add     bx, '0'
  79.         mov     ah, $02
  80.         mov     dx, bx
  81.         int 21h
  82.  
  83.         mov     ah, $09
  84.         mov     dx, nextLine
  85.         int 21h
  86.  
  87.         pop dx
  88.         pop bx
  89.         pop ax
  90.  
  91.         ret
  92.  
  93.  
  94.  
  95. pak             db 13, 10, 'Press any key to exit...$'
  96. arr1            db 1, 2, 1, 4
  97. arr2            db 5, 1, 7, 7 ; 2, 4, 5, 7
  98. nextLine        db ', $'
  99. line            db 13, 10, '$'
  100.  
  101. res             db 8 dup (?)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement