北交微机原理课设-动画程序设计(小鸟和小车) - 图文 联系客服

发布时间 : 星期一 文章北交微机原理课设-动画程序设计(小鸟和小车) - 图文更新完毕开始阅读0c0aad4d19e8b8f67d1cb937

MOV BH,7 INT 10H RET QING ENDP

DLY PROC NEAR ;延时子程序 PUSH CX PUSH DX MOV DX,10000 DL1: MOV CX,6801

DL2: LOOP DL2 DEC DX JNZ DL1 POP DX

POP CX RET DLY ENDP

QICHE PROC NEAR ;汽车子程序 MOV AH,0 MOV AL,02 INT 10H

CLEAR 0,0,24,79,7 ;清屏宏调用 LEA DI,CAR ;DI指向字符图形表

MOV DH,5 ;从第5行0列位置开始显示汽车 MOV DL,0 CALL MOVE RET QICHE ENDP MOVE PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX PUSH DI

MOV AH,0FH ;取当前显示方式

INT 10H MOV CH,0

MOV CL,[DI] ;CL放字符个数 INC DI ;DI指向字符图形表 MOV CHAR,CX MOV POINTER,DI MOV LINE,DH MOV COL,DL PLOT_NEXT:

ADD DH,[DI+2] ;改变行列坐标 ADD DL,[DI+3]

CMP DL,80 ;是否出屏 JB MOV_CRSR POP DI POP DX POP CX POP BX POP AX RET MOV_CRSR:

MOV AH,2 INT 10H

MOV AL,[DI] ;取字符值 MOV BL,[DI+1] ;取字符属性 MOV AH,09 ;显示字符 INT 10H

ADD DI,4 ;DI指向下一个字符 LOOP PLOT_NEXT CALL DLY CALL ERASE

JMP SHORT PLOT_NEXT MOVE ENDP ERASE PROC NEAR MOV CX,CHAR

MOV DI,POINTER MOV DH,LINE MOV DL,COL ERASE_NEXT:

ADD DH,[DI+2] ;修改光标的行坐标 ADD DL,[DI+3] ;修改光标的列坐标 MOV AH,2

INT 10H ;设置光标位置 MOV AL,[DI]

MOV BL,0 ;设置字符属性为0,为黑色 PUSH CX

MOV CX,1 ;设置字符显示次数为1 MOV AH,9 INT 10H POP CX

ADD DI,4 ;指向下一个要用来擦除的字符 LOOP ERASE_NEXT MOV CX,CHAR MOV DI,POINTER MOV DH,LINE INC COL MOV DL,COL RET ERASE ENDP CODE ENDS END START

五、实施结果

1、初始界面,如图5-2所示:

图5-1

2、输入1,小鸟从屏幕飞过界面,如图5-2所示:

图5-2

3、输入2,汽车按水平方向从屏幕上开过去界面,如图5-3所示: