Приведем текст программы с комментариями.
        TITLE Задача 41_2.
        ;Программа сделана как 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  "Задайте значение x: $"
STR2    DB  "y = $"
KW      DW  ?  ;Квадрат введенного числа.
C       DW  ?  ;Введенное число.
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  C,BX      ;Сохранение введенного числа.
        MOV  AX,BX     ;Вычисление квадрата введенного числа.
        MUL  BL
        MOV  KW,AX     ;Сохранить квадрат числа.
        CMP  C,0       ;Сравнить число с нулем.
        JG   M1        ;Перейти на M1, если больше 0.
;---------------- Следующие действия будут выполнены,
;---------------- при значении, меньшем или равном 0.
        MOV  AX,KW
        MOV  AH,0
        DEC  AX
        MUL  AX
        MOV  BX,AX
        JMP  M2        ;Переход на вывод результата.
M1:
;---------------- Реализация второго случая.
        MOV  AX,KW
        SUB  AX,3
        CMP  AX,10
        JGE  M3
;---------------- Следующие действия будут выполнены,
;---------------- если x*x-3 меньше 10.
        MOV  BX,15
        JMP  M2        ;Переход на вывод результата.
M3:
;---------------- Следующие действия будут выполнены,
;---------------- если x*x-3 больше или равно 10.
        MOV  BX,20
;---------------- Вывод результата.
M2:
        MOV  DX,0100h
        CALL Cursor    ;Установка курсора.
        LEA  DX,STR2
        CALL Write_Str ;Вывод строки.
        CALL Vyvod 
        MOV AH,1       ;Задержка.
        INT 21h             
        RET
Begin	ENDP
CodeSg  ENDS
        END Begin
Текст этой программы можно взять здесь.