assume cs:ling
data segment
db 'Ling Love Masm!'
color db 8AH,0ACH,0F9H ;设置颜色
data ends
ling segment
start:
mov ax,data
mov ss,ax
mov bp,offset color
mov di,0
mov ax,0B800H
mov ds,ax
mov si,66 ;将第一句放于第10行,从第66个字节开始,二句在13行,三句16行
mov bx,160*9
mov cx,15 ;一句话中算上空格一共有15个字符,循环15次
s:
mov al,ss:[di]
mov ah,[bp].0
mov [bx][si],ax
add bx,160*3 ;将bx下移到13行
mov al,ss:[di]
mov ah,[bp].1
mov [bx][si],ax
add bx,160*3 ;将bx下移到16行
mov al,ss:[di]
mov ah,[bp].2
mov [bx][si],ax
add si,2
sub bx,160*6 ;重新将bx移动到10行
inc di
loop s
mov ax,4C00H
int 21H
ling ends
end start
上述程序中循环s中还可以加子循环 ,可以减少代码长度
经过努力终于写好了...一开始很困惑-_-程序一开始写好后,在win7下cmd中运行屏幕只是一闪 看不到任何结果,后来在虚拟机xp的全屏cmd下运行,显示正常
程序中 我将颜色都设置为闪烁,可是在xp的全屏cmd下 还是不闪-_- #83 不知道为何 |