;计算1+2+3+...+100的和
DATA SEGMENT ;数据段开始
SUM DW ?
DATA ENDS

CODE SEGMENT ;代码段开始
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
XOR AX,AX
MOV CX,100
NEXT: ADD AX,CX
LOOP NEXT
MOV SUM,AX
MOV AH,4CH ;4C号功能调用:终止当前程序并返回调用程序
INT 21H
CODE ENDS ;代码段结束
END ;汇编程序结束

Windows是多线程系统,各调用中先后顺序互不影响,或者说不能互相影响,否则结果未知。

DOS单线程系统,任何调用步进式完成,即便并列,也必须挂起一个再运行另一个,所以同一程序(其实也是单进程,即不同程序亦是)中,每步几乎都是人为可控确定的结果

Windows更注重视觉,调用库(DLL)多,会有大量外部调用,且基本都需要是互不影响的调用。
可同时运行不同段,效率提高;但弊端是运行先后不确定,互相调用,必须检测完成情况才能调用,