简化段定义2 过程定义

;简化段定义模板   
title 简化段定义
.model small    ;定义存储类型
.data     ;数据段    要进行段装入,不用assume声明了
mess1 db 'fenglei'

extra segment    ;简化段定义的缺陷,没有附加段
mess db 7 dup(?)   ;定义一个数组
extra ends

.stack 100h   ;堆栈段  格式: .stack [<堆栈字节数>]  堆栈字节数可以省略不写,默认值是1024B

.code     ;代码段
main proc far
       
push ds     ;用于ret返回dos,类似于start    没有start 在用主过程时
sub ax,ax
push ax


mov ax,@data     ;段装入
mov ds,ax
mov ax,extra
mov es,ax

;示例,串传送指令   把数据段的字符串送到附加段里面
lea si,mess1
lea di,mess
mov cx,7
cld     
rep movsb

;输出附加段里面的字符串
mov cx,7
mov bx,0
t:
mov al,es:mess[bx]
inc bx
mov dl,al
mov ah,2
int 21h
loop t


ret      ;返回dos
main endp
end main      ;汇编结束,程序·起始点为main   必须有end结束伪指令  end [标号|过程名]

posted @ 2020-10-26 15:45  nanfengnan  阅读(109)  评论(0)    收藏  举报