汇编实现简单动画

PDATA SEGMENT
	 X DB 10
	 Y DB 40
CHRTAB DW 5
	   DB 01,0,0,0DBH,1,0,13H,1,0
	   DB 2FH,-1,-1,5CH,0,2
CHRTAB2 DW 5
	   DB 00H,0,0,00H,1,0,00H,1,0
	   DB 00H,-1,-1,00H,0,2
PDATA ENDS
;-------------------------------------
STACKS SEGMENT PARA STACK'STACK'
    DB 100 DUP(?)
STACKS ENDS
;-------------------------------------
CODES SEGMENT
    ASSUME CS:CODES,DS:PDATA,SS:STACKS
START PROC FAR
	PUSH DS
	MOV AX,0
	PUSH AX	
    MOV AX,PDATA
    MOV DS,AX
;-------------------------------------
	STI
	MOV AL,02                    ;设置显示方式:80*25黑白
	MOV AH,0
	INT 10H
;-------------------------------------
	MOV DI,OFFSET CHRTAB
	MOV CX,[DI]
	MOV DH,X                     ;定参考点于X行Y列
	MOV DL,Y
	ADD DI,2
;-------------------------------------	
AGAIN:
NEXT:
	ADD DH,[DI+1]
	ADD DL,[DI+2]
	MOV AH,2                     ;显示字符图形
	INT 10H
	MOV AL,[DI]
	PUSH CX
	MOV CX,1
	MOV AH,10
	INT 10H
	POP CX
	ADD DI,3                      ;指向下一字符
	LOOP NEXT
	CALL SOFTDLY                  ;调用延时子程序
;-------------------------------------
	MOV DI,OFFSET CHRTAB2
	MOV CX,[DI]
	MOV DH,X
	MOV DL,Y
	ADD DI,2
NEXT2:                            ;清除原图形
	ADD DH,[DI+1]
	ADD DL,[DI+2]
	MOV AH,2
	INT 10H
	MOV AL,[DI]
	PUSH CX
	MOV CX,1
	MOV AH,10
	INT 10H
	POP CX
	ADD DI,3
	LOOP NEXT2
;-------------------------------------
	INC Y                          ;改变参考点,实现人像的移动
	MOV DI,OFFSET CHRTAB
	MOV CX,[DI]
	MOV DH,X
	MOV DL,Y
	ADD DI,2
	JMP AGAIN
	RET
START ENDP
;-------------------------------------
SOFTDLY PROC                      ;定义延时子程序
	MOV BL,100
DELAY:MOV CX,2801
WAITS:LOOP WAITS
      DEC BL
      JNZ DELAY
	  RET
SOFTDLY ENDP
;-------------------------------------
CODES ENDS
    END START

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值