汇编语言实验九完整代码
建议先自己思考问题的答案,不懂则返回看书
显示绿色、红底绿色、白底蓝色的welcome to masm!
解析: 在显存中,一个dw 表示一个字符,dw的高字节表示颜色,低字节表示字符的ASCII。
eg. AH=0000 0010 AL= ‘a’,则在屏幕上显示为绿色的’a’ ,因为AH=02h,表示颜色是绿色,所以只是对颜色数据进行改动。
assume cs:code
data segment
db 'welcome to masm!'
db 2,36,113 ;颜色
data ends
code segment
start:
mov ax,data
mov ds,ax
mov bx,0
mov di,16
mov ax,0b800h
mov es,ax
mov si,160*12+35*2
mov cx,3
s:
mov ah,ds:[di]
push cx
mov cx,16
s1:
mov al,ds:[bx]
mov es:[si],ax
add si,2
inc bx
loop s1
pop cx
add si,128
inc di
mov bx,0
loop s
mov ax,4c00h
int 21h
code ends
end start
运行结果截图: