assume cs:dm,ds:sj
sj segment
db 'welcome to masm!'
sj ends
dm segment
yk:mov ax,sj
mov ds,ax
mov ax,0b800h
mov es,ax ;设置屏幕显示区的段地址
mov di,0
mov bx,0
mov si,0
mov cx,16
s:mov al,[di] ;将字符送入寄器AL中
mov byte ptr es:[bx+si+1984],al ;将字符在屏幕的第12行的中间位置显示
mov byte ptr es:[bx+si+1985],02h ;设置字符显示为绿色
add bx,0a0h ;换行设置
mov byte ptr es:[bx+si+1984],al ;将字符在屏幕的第13行的中间位置显示
mov byte ptr es:[bx+si+1985],24h ;设置字符显示为绿底红字字符
add bx,0a0h ;换行设置
mov byte ptr es:[bx+si+1984],al ;将字符在屏幕的第14行的中间位置显示
mov byte ptr es:[bx+si+1985],71h ;设置字符显示为白底蓝字字符
mov bx,0 ;设置行位倒回第12行
add si,2 ;设置要显示在屏幕中间的下一个字符的偏移地址
inc di ;设置要读取下一个字符的偏移地址
loop s
mov ax,4c00h
int 21h
dm ends
end yk |