qintangtao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

;编程
;接收用户的键盘输入, 输入'r',将屏幕上的字符设置为红色
; 输入'g',将屏幕上的字符设置为绿色
; 输入'b',将屏幕上的字符设置为蓝色
assume cs:code

code segment
start:
mov ah, 0
int 16h ;从键盘缓冲区中读取数据[ah:扫描码、al:ASCII]

mov ah, 1 ;初始化 颜色 1111 1000 or [ah=0000 0001] 蓝色

cmp al, 'r'
je red
cmp al, 'g'
je green
cmp al, 'b'
je blue
jmp short sret

red:
shl ah, 1
green:
shl ah, 1
blue:
mov bx, 0b800h
mov es, bx
mov bx, 1
mov cx, 2000
s:
and byte ptr es:[bx], 11111000b
or es:[bx], ah
add bx, 2
loop s

sret:
mov ax, 4c00h
int 21h

code ends
end start

posted on 2013-01-20 22:50  qintangtao  阅读(442)  评论(0编辑  收藏  举报