Advertisement
Guest User

Untitled

a guest
Apr 14th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; chain commands
  2. data segment
  3.     nl db 10,13,'$'
  4.     your db 10,13,'Your array: ',10,13,'$'
  5.     mas db 8, 6, 7, 4
  6.         db 2, 9, 5, 3
  7.         db 3, 8, 3, 3
  8.         db 6, 4, 3, 2
  9.  
  10.     mas_size equ 4
  11.     mas_len equ 16
  12. data ends
  13.  
  14. stk segment stack
  15.     db 256 dup ('?')
  16. stk ends
  17.  
  18. code segment
  19. main proc
  20.     assume cs:code,ss:stk,ds:data,es:data
  21.  
  22.     mov ax,data
  23.     mov ds,ax
  24.     mov es,ax
  25.  
  26.     ; find minimum
  27.     mov di, offset mas
  28.     mov cx, mas_len
  29.     mov al, 10
  30.  
  31.     cld
  32.     _loop:
  33.         repe scasb
  34.         jcxz _loop_exit ; переход на exit, если цепочка просмотрена полностью
  35.        
  36.         jle nodo
  37.         dec di
  38.         mov bx,[di]
  39.         mov ax,[di]
  40.         nodo:
  41.         jmp _loop
  42.  
  43.     _loop_exit:
  44.  
  45.     ; otuput min
  46.     mov dx,bx
  47.     add dl,30h
  48.     mov ah,2h
  49.     int 21h
  50.  
  51.     ; reduce each
  52.     lea si, mas
  53.     mov cx, mas_len
  54.     cld
  55.  
  56.     _outl:
  57.         sub [si],bl
  58.         lodsb
  59.         loop _outl
  60.        
  61.  
  62.     ; print to screen
  63.     _exit:
  64.         mov dx,offset your
  65.         mov ah,9h
  66.         int 21h
  67.  
  68.         mov cx,mas_size
  69.         mov si,0
  70.         _outer_:
  71.             push cx
  72.             mov cx,mas_size
  73.         _inner_:
  74.             mov dl,mas[si]
  75.             add dl,30h
  76.             mov ah,2h
  77.             int 21h
  78.            
  79.             ; space
  80.             mov dl,20h
  81.             int 21h
  82.  
  83.             inc si
  84.             loop _inner_
  85.  
  86.             mov dx,offset nl
  87.             mov ah,9h
  88.             int 21h
  89.  
  90.             pop cx
  91.             loop _outer_
  92.        
  93.  
  94.         mov dx,offset nl
  95.         mov ah,9h
  96.         int 21h
  97.  
  98.         mov ax,4c00h
  99.         int 21h
  100.  
  101. main endp
  102. code ends
  103.  
  104. end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement