assume cs:code,ss:stack,ds:data
data segment
db 'welcome to masm!'
db 02h,24h,71h ;三种属性
data ends
stack segment
db 16 dup (0)
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
mov ax,8000h
mov es,ax ;显存段地址
mov bx,0
mov si,16 ;属性数据地址
mov di,0b80h ;显存第一个字节位置
mov cx,3
s0: push cx
mov cx,16
s: mov ax,[bx]
mov es:[di],ax ;一个字节数据
mov ax,[si]
mov es:[di+1],ax ;一个字节属性
inc bx ;下一个数据
add di,2 ;下一个数据显存
loop s
inc si ;下一个属性
add di,160 ;下一行显存
pop cx
loop s0
mov ax,4c00h
int 21h
code ends
end start |