完整段定义·2 使用标号

data segment     ;数据段    与段简化定义不同,除了代码段之外都要将相应段装入段寄存器
mess db 'fenglei'
lh equ $-mess   ;长度
data ends

extra segment   ;代码段
mess1 db 7 dup(?)
extra ends

stack segment stack    ;堆栈段   得给sp赋值
pe db 100 dup(?)
stack ends

code segment
assume cs:code,ds:data,es:extra,ss:stack    ;确定cs,ds,es,ss指向的逻辑段
start:


mov ax,data       ;段装入相应的段寄存器
mov ds,ax
mov ax,extra
mov es,ax
mov ax,stack
mov ss,ax
mov sp,8   ;设置sp,因为堆栈是字寻址的0,2,4,6。。。。。

mov bx,1   ;bx置标准设备号1
mov cx,lh   ;cx是输入串的长度
mov dx,offset mess
mov ah,40h
int 21h


mov ah,4ch
int 21h
code ends      ;代码段结束
    end start     ;汇编结束   end [标号|过程名]  必须有end ,如果是子过程,没有标号和过程名 只有end



posted @ 2020-10-26 16:14  nanfengnan  阅读(131)  评论(0)    收藏  举报