data segment '定义数据段
source db 40 dup('a') data ends |
extra segment '定义扩展段
target db 40 dup(?) extra ends |
code segment '定义代码段
main proc far '定义过程 ASSUME CS:code, DS:data, ES:extra start: PUSH DS '数据段地址及 0000 入栈, 用于远程返回 (这不是通用方法) SUB AX, AX PUSH AX MOV AX, data '系统自动填写段地址 MOV DS, AX MOV AX,extra '系统自动填写段地址 MOV ES, AX
LEA SI,source '取偏移地址 LEA DI,target '取偏移地址 CLD MOV CX, 40 REP MOVSB RET '系统自动根据 proc 识别是 far 还是 near 类型 main endp '过程结束
code ends '段结束
|
end start '标明整个程序的开始位置 |