虫
CODE SEGMENT
ASSUME CS:CODE
START:MOV AX,0B800H ;显存的首地址
MOV DS,AX ;将AX放到DS数据断中
MOV BX,0 ;将0赋值到BX,因为虫子是从屏幕的最初位置开始
MOV CX,7 ;循环次数为7次,即虫身长度为7
L01:MOV BYTE PTR [BX],15 ;虫身的ASCII为15(这个循环初始化虫的形状)
MOV BYTE PTR [BX+1],0EH ;虫身的颜色,0为背景色,0对应的ASCII为0000即黑色;E为前景色,E对应的ASCII码为1110即黄色
INC BX ;增加虫身的长度,前面循环次数为7,所以虫身长度为7个ASCII码15
INC BX
LOOP L01
MOV BYTE PTR [BX],224 ;虫头的ASCII码为224
MOV BYTE PTR [BX+1],0AH ;虫身颜色,0为背景色,0对应的ASCII为0000即黑色;A为前景色,即文字的颜色,A对应的ASCII码为1010即浅绿色
MOV AH,0 ;int16中断调用,AH为扫描码,AL为字符码
INT 16H
MOV SI,0
MOV CX,200 ;虫总共行走的总长度为200
L02: MOV BX,0
MOV BYTE PTR [BX+SI],20H ;虫头的颜色,20H对应的10进制为14,即2进制的1110,对应的颜色为黄色
MOV BYTE PTR [BX+SI+1],0 ;背景色,0对应的IRGB颜色为黑色
MOV BX,14
MOV BYTE PTR [BX+SI],15 ;虫身的ASCII为15
MOV BYTE PTR [BX+SI+1],0EH ;虫身的颜色,0为背景色,0对应的ASCII为0000即黑色;E为前景色,E对应的ASCII码为1110即黄色
MOV BX,16
MOV BYTE PTR [BX+SI],224 ;虫头的ASCII码为224
MOV BYTE PTR [BX+SI+1],0AH ;虫身颜色,0为背景色,0对应的ASCII为0000即黑色;A为前景色,即文字的颜色,A对应的ASCII码为1010即浅绿色
INC SI ;SI自加,让虫自动向前走
INC SI
MOV AH,0 ;int16中断调用,AH为扫描码,AL为字符码
INT 16H
LOOP L02
MOV AH,0
INT 16H
MOV AH,4CH
INT 21H
CODE ENDS
END START
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.