我的只在屏幕中间显示了绿色的,绿底红色和白底蓝色本来应该也在中间显示出来,但现在却在绿色的"welcome to masm!"后面出现了绿底红色和白底蓝色的乱码,以下是我的程序,大家帮我看看有什么问题:
注:屏幕中间的16个字符的缓冲区是B87C0-B87DF对吧?
assume cs:code,ds:data
data segment
db 'welcome to masm!'
db 2,36,113,0,0
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0B87CH
mov ss,ax
mov bx,0
mov bp,0
mov si,0
mov cx,3
s0:mov ds:[13H],cx
mov cx,16
s1:mov al,[bx]
mov [bp],al
inc bp
mov al,[si+16]
mov [bp],al
inc bp
inc bx
loop s1
mov cx,ds:[13H]
inc si
loop s0
mov ax,4c00H
int 21H
code ends
end start |