assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start: mov ax,data
mov ds,ax ;数据段地址送ds
mov ax,0b800h
mov es,ax ;目的段地址送es
mov bx,780h ;第12行偏移地址送bx
mov ax,3ch
mov di,ax ;偏移地址送di
mov ax,0
mov si,ax
mov cx,16 ;循环数为16
s1: mov byte ptr es:[bx][di].1,02h ;颜色送目的地
mov al,ds:[si]
mov es:[bx][di],al ;字符串送目的地
inc si
add di,2
loop s1
add bx,0a0h
mov cx,16
mov ax,3ch
mov di,ax ;偏移地址送di
mov ax,0
mov si,ax
s2: mov byte ptr es:[bx][di].1,24h
mov al,ds:[si]
mov es:[bx][di],al
inc si
add di,2
loop s2
add bx,0a0h
mov cx,16
mov ax,3ch
mov di,ax
mov ax,0
mov si,ax
s3: mov byte ptr es:[bx][di].1,71h
mov al,ds:[si]
mov es:[bx][di],al
inc si
add di,2
loop s3
mov ax,4c00h
int 21h
code ends
end start