代码格式

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 '标明整个程序的开始位置