;编程,接收用户的键盘输入
;输入"r",将屏幕上的字符设置为红色
;输入"g",将屏幕上的字符设置为绿色
;输入"b",将屏幕上的字符设置为蓝色.
assume cs:code
code segment
start: mov ah,0 ;读取缓冲区,如果缓冲区没有,则等待用户按下键盘
int 16H
mov ah,1
cmp al,'r'
jz red
cmp al,'g'
jz green
cmp al,'b'
jz blue
jmp sret
red: shl ah,1
green: shl ah,1
blue:
mov bx,0b800h
mov es,bx
mov bx,1
mov cx,2000
r: and byte ptr es:[bx],11111000b
or es:[bx],ah
add bx,2
loop r
sret:
mov ah,4ch
int 21h
code ends
;输入"r",将屏幕上的字符设置为红色
;输入"g",将屏幕上的字符设置为绿色
;输入"b",将屏幕上的字符设置为蓝色.
assume cs:code
code segment
start: mov ah,0 ;读取缓冲区,如果缓冲区没有,则等待用户按下键盘
int 16H
mov ah,1
cmp al,'r'
jz red
cmp al,'g'
jz green
cmp al,'b'
jz blue
jmp sret
red: shl ah,1
green: shl ah,1
blue:
mov bx,0b800h
mov es,bx
mov bx,1
mov cx,2000
r: and byte ptr es:[bx],11111000b
or es:[bx],ah
add bx,2
loop r
sret:
mov ah,4ch
int 21h
code ends
end start
;代码参考《汇编语言》第三版,王爽
第303到304
;实现的原理是根据,
00000001显示蓝色
00000010显示绿色
00000100显示红色