Приведем текст программы с комментариями.

        TITLE Задача 44_1.
        ;Программа сделана как EXE-файл.
        ;-------------------------------
        EXTRN Vvod:FAR,Vyvod:FAR,Clear:FAR,Write_Str:FAR,Cursor:FAR
        ;----- Сегмент стека
StackSg SEGMENT PARA STACK 'Stack'
DW      256  DUP(?)
StackSg ENDS
        ;----- Сегмент данных
DataSg  SEGMENT PARA PUBLIC
STR1    DB  "Задайте количество элементов массива (меньше 100): $"
STR2    DB  "-й элемент: $"
STR3    DB  "Исходный массив: $"
STR4    DB  " $"
STR5    DB  "В данном массиве нет отрицательных элементов!$"
STR6    DB  "Максимум среди отрицательных элементов: $"
A       DW  100  DUP(?)
N       DB  ?
REZ     DW  1   ;Результат.
DataSg  ENDS
        ;----- Сегмент кода
CodeSg  SEGMENT  PARA  PUBLIC
        ASSUME CS: CodeSg, DS:DataSg, SS: StackSg
Begin   PROC  FAR
        ;Пролог EXE-файла.
        PUSH DS
        XOR AX,AX
        PUSH AX
        MOV AX,DataSg
        MOV DS,AX 
        ;Конец пролога.
        CALL Clear     ;Очистка экрана.
        MOV  DX,0000h
        CALL Cursor    ;Установка курсора.
        LEA  DX,STR1
        CALL Write_Str ;Вывод строки.
        CALL Vvod      ;Ввод количества элементов массива.
        MOV  N,BL      ;Сохраним введенное число в N.
        ;------------- Ввод элементов массива.
        MOV  SI,0      ;Индекс массива.
        MOV  DX,0000h  ;Координаты вывода сообщения STR2.
        XOR  CX,CX
        MOV  CL,N      ;Количество повторений тела цикла.
@AA:
        INC  DH
        CALL Cursor    ;Установка курсора.
        MOV  BX,SI
        INC  BX        ;Номер элемента.
        CALL Vyvod     ;Вывод номера элемента.
        PUSH DX        ;Сохранить координаты курсора.
        LEA  DX,STR2
        CALL Write_Str ;Вывод строки.
        POP  DX        ;Восстановить координаты курсора.
        CALL Vvod      ;Ввод элемента массива.
        MOV  DI,SI
        ADD  DI,DI
        MOV  WORD PTR A[DI],BX  ;Сохранение элемента в массиве.
        INC  SI        ;Следующий элемент массива.
        CMP  DH,23     
        JNE  @B        ;Очистка экрана для вывода следующих значений.
        CALL Clear     ;Очистка экрана.
        MOV  DX,0000h
@B:
        LOOP @AA
        ;------------- Вывод введенного массива.
        CALL Clear     ;Очистка экрана.
        MOV  DX,0000h
        CALL Cursor    ;Установка курсора.
        LEA  DX,STR3
        CALL Write_Str ;Вывод строки.
        MOV  DX,0100h
        CALL Cursor    ;Установка курсора.
        MOV  CL,N      ;Количество повторений тела цикла.
        MOV  SI,0      ;Индекс массива.
@AB:
        MOV  BX,WORD PTR A[SI]
        CALL Vyvod
        LEA  DX,STR4
        CALL Write_Str ;Вывод строки.
        ADD  SI,2      ;Следующий элемент массива.
        LOOP @AB
        ;------------- Решение задачи.
        MOV  CL,N      ;Количество повторений тела цикла.
        MOV  SI,0      ;Индекс массива.
@AC:
        CMP  WORD PTR A[SI],0  ;Это отрицательное число?
        JGE  @AD       ;Нет - переход к следующему числу.
        CMP  REZ,1     ;Это первое отрицательное число?
        JNE  @AE       ;Нет - переход на сравнение.
        MOV  BX,WORD PTR A[SI] ;Берем первое отрицательное
        MOV  REZ,BX    ;число в качестве результата.
        JMP  @AD       ;Переход к следующему числу.
@AE:
        MOV  BX,WORD PTR A[SI] ;Текущее отрицательное число
        CMP  BX,REZ    ;меньше результата?
        JLE  @AD       ;Да - переход к следующему числу.
        MOV  REZ,BX    ;Взять текущее значение в качестве результата.
@AD:         
        ADD  SI,2
        LOOP @AC
        ;------------- Вывод результата.
        CMP  REZ,1     ;Изменилось значение - 
        JNE  @AF       ;были отрицательные элементы.
        LEA  DX,STR5   ;Нет отрицательных элементов!
        CALL Write_Str ;Вывод строки.
        JMP  @AG       ;Переход на выход.
@AF:
        LEA  DX,STR6   ;Вывод результата.
        CALL Write_Str ;Вывод строки.
        MOV  BX,REZ
        CALL Vyvod
@AG:                   
        MOV  AH,1      ;Задержка.
        INT  21H
        RET
Begin	ENDP
CodeSg  ENDS
        END Begin
Текст этой программы можно взять здесь.