题目:关于在指定位置,用指定的颜色,显示一个用0结束的字符串
--------------
assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:push ax
push dx
push es
push bx
push di
push si
push cx
mov al,0ah
dec dh
mul dh
add ax,0b800h
mov es,ax
mov al,2
dec dl
mul dl
mov ah,0
mov bx,ax
mov di,0
s:mov cl,[si]
mov ch,0
jcxz ok
pop cx
mov al,[si]
mov es:[bx+di],al
mov es:[bx+di+1],cl
add di,2
inc si
jmp short s
ok:pop cx
pop si
pop di
pop bx
pop es
pop dx
pop ax
ret
code ends
end start
-------------
就这个程序,另外有什么写汇编语言可以加注释的软件啊?我一直用的cmd edit 的命令,没发注释,有事总要看一会儿!
------解决方案--------------------------------------------------------
五颜六色的,你把字符同时也作为显示属性填入了显示缓冲区,当然就色彩缤纷了。将那个 mov es:[bx+di+1],cl 指令改为 mov byte ptr es:[bx+di+1], 7 就是通常的黑底白字了。