例1.完整段定义格式
; TITLE 文件名- 程序主要功能描述
;EQU 语句
;* * * * * * * * * * * * * * * * * * * * * * * * * *
datarea segment ;定义数据段
;数据定义语句
datarea ends
;* * * * * * * * * * * * * * * * * *
* * * * * * * *
prognam segment ;定义代码段
;---------------------------------------------------
main proc far ;主程序
assume cs:prognam,ds :datarea
start: ;程序起始执行地址
;为程序返回DOS设置堆栈值
push ds ;入栈保存原DS段址
sub ax,ax ;设置偏移地址为0
push ax ;入栈保存偏移地址
;置DS寄存器为当前数据段
mov ax,datarea ;datarea段地址
mov ds,ax ; 存入DS寄存器
;主程序部分
ret ;返回 DOS
main endp ;主程序结束
;----------------------------------------------------
sub1 proc near ;定义子程序
;子程序部分
sub1 endp ;子程序结束
;------------------------------------------------------------------------------
prognam ends ;代码段结束
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * *
end start ;汇编结束
例2.简化段定义格式
.model small ;定义存储器模型
.stack 100h ;定义堆栈段
.data ;定义数据段
; ;数据定义语句
.code ;定义代码段
main proc far
start:
mov ax,@data ;数据段地址
mov ds,ax ; 存入DS寄存器
;主程序部分
mov ax,4c00h
int 21h ;返回DOS
main endp ;主程序结束
end start ;汇编结束