assume cs:code
edate segment
db 'w e l c o m e t o m a s m ! '
dw 2h,24h,71h 将要变化的字体颜色提前放入ES
edate ends
stack segment
dd 0,0
stack ends
code segment
start:
mov ax,edate
mov es,ax
mov ax,stack
mov ss,ax
mov ax,0b87ch 屏幕中间段首地址
mov ds,ax 初始化各个寄存器
mov bx,0
mov si,0
mov cx,3
mov di,20h DI作为颜色偏移地址
s1:push cx
mov ax,0
mov al,es:[di]
mov cx,10h
s:
mov dx,es:[si]
mov ds:[bx+0],dx
mov ds:[bx+1],al
add si,2
add bx,2
loop s 内循环
add bx,80h
mov si,0
add di,2
pop cx
loop s1
mov ax,4c00h
int 21h
code ends
end start |