来源:互联网 发布:方知宇宙之浩瀚 编辑:程序博客网 时间:2024/05/16 01:49
 CODE SEGMENTASSUME CS:CODESTART:MOV AX,0B800H ;显存的首地址MOV DS,AX ;将AX放到DS数据断中MOV BX,0 ;将0赋值到BX,因为虫子是从屏幕的最初位置开始MOV CX,7 ;循环次数为7次,即虫身长度为7L01: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码15INC BXLOOP L01MOV BYTE PTR [BX],224 ;虫头的ASCII码为224MOV BYTE PTR [BX+1],0AH ;虫身颜色,0为背景色,0对应的ASCII为0000即黑色;A为前景色,即文字的颜色,A对应的ASCII码为1010即浅绿色MOV AH,0 ;int16中断调用,AH为扫描码,AL为字符码INT 16HMOV SI,0MOV CX,200 ;虫总共行走的总长度为200 L02: MOV BX,0MOV 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为15MOV BYTE PTR [BX+SI+1],0EH ;虫身的颜色,0为背景色,0对应的ASCII为0000即黑色;E为前景色,E对应的ASCII码为1110即黄色MOV BX,16 MOV BYTE PTR [BX+SI],224 ;虫头的ASCII码为224MOV BYTE PTR [BX+SI+1],0AH ;虫身颜色,0为背景色,0对应的ASCII为0000即黑色;A为前景色,即文字的颜色,A对应的ASCII码为1010即浅绿色INC SI ;SI自加,让虫自动向前走INC SIMOV AH,0 ;int16中断调用,AH为扫描码,AL为字符码INT 16HLOOP L02MOV AH,0INT 16HMOV AH,4CHINT 21HCODE ENDSEND START