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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章