通常段的程序 /
;通常段的程序 page 60,132 ;定义每页长度60行,每行宽度132字符 //可省略 title a05asm1 (EXE) ;产生一个标题 //没什么用 ;------------------------------------------- stack segment para stack 'stack' ;定义栈段 DW 32 DUP (0) STACK ENDS ;------------------------------------------- DATA SEGMENT PARA 'DATA' ;定义数据段 KING DW 215 ;初始化215 KING1 DW 125 ;初始化125 KING2 DW ? ;未初始化 DATA ENDS ;------------------------------------------- CODE SEGMENT PARA 'CODE' ;定义代码段 PARA<定位类型> MAIN PROC NEAR ;过程开始 过程名 PROC [NEAR或FAR] ASSUME SS:STACK,DS:DATA,CS:CODE MOV AX,DATA MOV DS,AX MOV AX,KING ;215送至AX中 ADD AX,KING1 ;125送至AX中 MOV KING2,AX ;KING+KING1 送至KING2 MOV AX,4C00H ;结束处理 INT 21H MAIN ENDP ;过程结束 CODE ENDS ;段结束 END MAIN ;程序结束 ;PROC NEAR和 PROC FAR ; 子程序和主程序在同一个代码段,则使用near,调用发生后,主程序堆栈中只压入ip值; ; 子程序和主程序不在一个代码段,则使用far,调用发生后,主程序堆栈中将压入cs、ip值;