Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; chain commands
- data segment
- nl db 10,13,'$'
- your db 10,13,'Your array: ',10,13,'$'
- mas db 8, 6, 7, 4
- db 2, 9, 5, 3
- db 3, 8, 3, 3
- db 6, 4, 3, 2
- mas_size equ 4
- mas_len equ 16
- data ends
- stk segment stack
- db 256 dup ('?')
- stk ends
- code segment
- main proc
- assume cs:code,ss:stk,ds:data,es:data
- mov ax,data
- mov ds,ax
- mov es,ax
- ; find minimum
- mov di, offset mas
- mov cx, mas_len
- mov al, 10
- cld
- _loop:
- repe scasb
- jcxz _loop_exit ; переход на exit, если цепочка просмотрена полностью
- jle nodo
- dec di
- mov bx,[di]
- mov ax,[di]
- nodo:
- jmp _loop
- _loop_exit:
- ; otuput min
- mov dx,bx
- add dl,30h
- mov ah,2h
- int 21h
- ; reduce each
- lea si, mas
- mov cx, mas_len
- cld
- _outl:
- sub [si],bl
- lodsb
- loop _outl
- ; print to screen
- _exit:
- mov dx,offset your
- mov ah,9h
- int 21h
- mov cx,mas_size
- mov si,0
- _outer_:
- push cx
- mov cx,mas_size
- _inner_:
- mov dl,mas[si]
- add dl,30h
- mov ah,2h
- int 21h
- ; space
- mov dl,20h
- int 21h
- inc si
- loop _inner_
- mov dx,offset nl
- mov ah,9h
- int 21h
- pop cx
- loop _outer_
- mov dx,offset nl
- mov ah,9h
- int 21h
- mov ax,4c00h
- int 21h
- main endp
- code ends
- end main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement