Так как стек это некоторая память (подробнее читай "Шаг 12 - Что такое стек"), то она имеет размер. И этот размер определяется директивой STACK. Если программе понадобится больше стека чем Вы выделили, как в данном примере:
MODEL TINY STACK 1h DATASEG Hellostr DB 'Hello First Step Site ' CODESEG start: mov cx,10h w1: push cx dec cx jcxz endprog jmp w1 endprog: mov ah,04Ch mov al,1h int 21h end start
Все закончится плачевно:
Достаточно этот размер увеличить:
MODEL TINY STACK 100h DATASEG
Все будет нормально.