Вы находитесь на странице: 1из 8

;��������� ��������� ���������������

;���� P2-����� ������ ��������,�����������


;������ ������,������ CS
;p2.2---RES video cpu
;P0.0-P0.1-P0.2=����� ��������
;p2.3=������ CS
;p2.4=������ RD/WR

setb p3.2

call reset ;������������ RESET �� ����������

mov r3,#01h ;�p�����p�


pause: mov r4,#10h ;�p������� ����p���
rep9: mov r6,#30h
rep10: mov r5,#50h
rep11: djnz r5,rep11
djnz r6,rep10
djnz r4,rep9
djnz r3,pause

mov p0,#00h ;����� �������� 0 ���������������


mov p1,#08h ;08������ ������ � ������� 0
clr p2.4 ;������������ ������� WR
call cs ;������������ ������� CS

; �������� ��������������� ��������

mov p0,#06h
mov p1,#10h
call cs
mov p1,#00h
call cs

mov p0,#07h
mov dptr,#sprite
mov r1,#4
zs1: mov r2,#98h
zs: movc A,@A+DPTR
mov P1,A
call cs
mov a,#00h
inc dptr
djnz r2,zs
djnz r1,zs1
; �������� ��������������� �������

mov p0,#06h ;����� �������� 6


mov p1,#00h ;������ �������� ����� ������ ����� ����� 0000h
call cs ;������ CS

mov p1,#00h ;������ �������� ����� ������ ����� ����� 0000h


call cs ;������ CS
mov p0,#07h ;����� �������� 7
mov dptr,#fon
mov r1,#80h
zf: movc A,@A+DPTR
mov p1,A
call cs
mov a,#00h
inc dptr
djnz r1,zf

mov p0,#06h ;����� �������� 6


mov p1,#20h ;������ �������� ����� ���������� 2000h
call cs ;������ CS
mov p1,#00h ;������ �������� ����� ���������� 2000h
call cs ;������ cs

mov r1,#99
mov p0,#07h ;����� �������� 7 ����������
mov p1,#00h
st00: call cs
djnz r1,st00 ;���������� ��������

mov p1,#01h ;����� �� ����� ������� �


call cs ;������ CS

mov r1,#24
mov p1,#05h ;����� �� ����� ������� -
st01: call cs
djnz r1,st01

mov p1,#03h ;����� �� ����� ������� �


call cs
call cl3

mov r3,#22 ;���������� 22-� ����� �������� |


st44: call vrleft
call vrright
djnz r3,st44

call cl3
mov p1,#02h ;����� �� ����� ������� L
call cs
mov r1,#24
mov p1,#05h ;����� �� ����� ������� -
st001: call cs
djnz r1,st001

mov p1,#04h
call cs

call cl3

mov r1,#96
mov p1,#00h
st000: call cs
djnz r1,st000 ;���������� ��������

;���������� ����� �������� FF


scet1: mov r7,#00h

scet2: mov p0,#03h


mov p1,#00h
call cs
mov p1,#00h
call cs
mov r1,#FFh
mov p0,#04h
mov p1,#FFh
st002: call cs
djnz r1,st002

mov p0,#03h
mov p1,#00h
call cs
mov p1,#00h
call cs

;����� ��������
mov p0,#04h

mov p1,#32h ;���������� Y � �������


call cs
mov p1,#01h ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#32h ;���������� X � �������
call cs

mov p1,#32h ;���������� Y � �������


call cs
mov p1,#08h ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#3Ah ;���������� X � �������
call cs

mov p1,#32h ;���������� Y � �������


call cs
mov p1,#02h ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#A7h ;���������� X � �������
call cs

mov p1,#32h ;���������� Y � �������


call cs
mov p1,#01h ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#AFh ;���������� X � �������
call cs

mov p1,#32h ;���������� Y � �������


call cs
mov p1,#25h ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#B7h ;���������� X � �������
call cs

mov p1,#32h ;���������� Y � �������


call cs
mov p1,#02h ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#BFh ;���������� X � �������
call cs

mov p1,#32h ;���������� Y � �������


call cs
mov p1,r7 ;����� ������� � ���������������
call cs
mov p1,#01h ;������� �������
call cs
mov p1,#C7h ;���������� X � �������
call cs
inc r7
call vid

cjne r7,#09h,scet

ajmp scet1
scet: ajmp scet2
sta: ajmp sta ;������������

reset: clr p2.2 ;������������ reset


nop
nop
nop
nop
setb p2.2
ret

cs: clr p2.3 ;������������ CS


nop
nop
nop
nop
setb p2.3
ret

cl3: mov r1,#3


mov p1,#00h
st02: call cs
djnz r1,st02 ;���������� �������� � 3 ����������
ret

cl24: mov r2,#24 ;���������� �������� � 24 ����������


mov p1,#00h
st03: call cs
djnz r2,st03
ret

vrleft: call cl3


mov p1,#06h ;����� ������� |-���� �������
call cs
call cl24
ret

vrright: mov p1,#07h ;����� ������� |-����� �������


call cs
call cl3
ret
;������������ �����

vid: mov p0,#01h ;����� �������� 1 ���������������


mov p1,#1Eh ;������ ������ � ������� 1 0Eh
call cs ;������������ ������� CS
ret

;������������ �������

clr: mov p0,#01h ;����� �������� 1 ���������������


mov p1,#0Eh ;������ ������ � ������� 1 0Eh
call cs ;������������ ������� CS
ret

;������������ ��������

pause1: mov r3,#01h ;�p�����p�


pause2: mov r4,#10h ;�p������� ����p���
rep99: mov r6,#70h
rep100: mov r5,#FFh
rep111: djnz r5,rep111
djnz r6,rep100
djnz r4,rep99
djnz r3,pause2
ret

int: jb p3.2,int
int1 jnb p3.2,int1
reti

;������� ����

fon: .db
00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h,00h ;������������
.db
00h,00h,00h,3fh,3fh,30h,30h,30h,00h,00h,00h,3fh,3fh,30h,30h,30h ;�
.db
30h,30h,30h,3fh,3fh,00h,00h,00h,30h,30h,30h,3fh,3fh,00h,00h,00h ;L
.db
00h,00h,00h,fch,fch,0ch,0ch,0ch,00h,00h,00h,fch,fch,0ch,0ch,0ch ;������� �
.db
0ch,0ch,0ch,fch,fch,00h,00h,00h,0ch,0ch,0ch,fch,fch,00h,00h,00h ;������� L
.db
00h,00h,00h,ffh,ffh,00h,00h,00h,00h,00h,00h,ffh,ffh,00h,00h,00h ;-
.db
30h,30h,30h,30h,30h,30h,30h,30h,30h,30h,30h,30h,30h,30h,30h,30h ;|-�����
.db
0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch,0ch ;|-������

;������� ��������

sprite: .db
00h,7Ch,CEh,CEh,DEh,EEh,CEh,7Ch,00h,7Ch,CEh,CEh,DEh,EEh,CEh,7Ch ;0
.db
00h,38h,78h,38h,38h,38h,38h,7ch,00h,38h,78h,38h,38h,38h,38h,7ch ;1
.db
00h,7ch,ceh,ceh,0ch,18h,60h,7fh,00h,7ch,ceh,ceh,0ch,18h,60h,7fh ;2
.db
00h,7ch,ceh,ceh,1ch,ceh,ceh,7ch,00h,7ch,ceh,ceh,1ch,ceh,ceh,7ch ;3
.db
00h,3ch,5ch,5ch,dch,dch,feh,1ch,00h,3ch,5ch,5ch,dch,dch,feh,1ch ;4
.db
00h,feh,c0h,c0h,fch,0eh,ceh,7ch,00h,feh,c0h,c0h,fch,0eh,ceh,7ch ;5
.db
00h,7ch,ceh,c0h,fch,ceh,ceh,7ch,00h,7ch,ceh,c0h,fch,ceh,ceh,7ch ;6
.db
00h,feh,ceh,dch,18h,38h,38h,38h,00h,feh,ceh,dch,18h,38h,38h,38h ;7
.db
00h,7ch,ceh,ceh,7ch,ceh,ceh,7ch,00h,7ch,ceh,ceh,7ch,ceh,ceh,7ch ;8
.db
00h,7ch,ceh,ceh,7eh,0eh,ceh,7ch,00h,7ch,ceh,ceh,7eh,0eh,ceh,7ch ;9

.db
00h,38h,7ch,ceh,ceh,feh,ceh,ceh,00h,38h,7ch,ceh,ceh,feh,ceh,ceh ;A
.db
00h,fch,ceh,ceh,fch,ceh,ceh,fch,00h,fch,ceh,ceh,fch,ceh,ceh,fch ;B
.db
00h,7ch,ceh,ceh,c0h,ceh,ceh,7ch,00h,7ch,ceh,ceh,c0h,ceh,ceh,7ch ;C
.db
00h,fch,ceh,ceh,ceh,ceh,ceh,fch,00h,fch,ceh,ceh,ceh,ceh,ceh,fch ;D
.db
00h,feh,c0h,c0h,fch,c0h,c0h,feh,00h,feh,c0h,c0h,fch,c0h,c0h,feh ;E
.db
00h,feh,c0h,c0h,fch,c0h,c0h,c0h,00h,feh,c0h,c0h,fch,c0h,c0h,c0h ;F
.db
00h,7ch,ceh,c0h,deh,ceh,ceh,7ch,00h,7ch,ceh,c0h,deh,ceh,ceh,7ch ;G
.db
00h,ceh,ceh,ceh,feh,ceh,ceh,ceh,00h,ceh,ceh,ceh,feh,ceh,ceh,ceh ;H
.db
00h,7ch,38h,38h,38h,38h,38h,7ch,00h,7ch,38h,38h,38h,38h,38h,7ch ;I
.db
00h,3eh,1ch,1ch,1ch,dch,dch,78h,00h,3eh,1ch,1ch,1ch,dch,dch,78h ;J
.db
00h,ceh,dch,f8h,f0h,f8h,dch,ceh,00h,ceh,dch,f8h,f0h,f8h,dch,ceh ;K
.db
00h,c0h,c0h,c0h,c0h,c0h,c0h,feh,00h,c0h,c0h,c0h,c0h,c0h,c0h,feh ;L
.db
00h,82h,c6h,eeh,feh,deh,ceh,ceh,00h,82h,c6h,eeh,feh,deh,ceh,ceh ;M
.db
00h,ceh,eeh,feh,feh,feh,deh,ceh,00h,ceh,eeh,feh,feh,feh,deh,ceh ;N
.db
00h,7ch,ceh,ceh,ceh,ceh,ceh,7ch,00h,7ch,ceh,ceh,ceh,ceh,ceh,7ch ;O
.db
00h,fch,ceh,ceh,fch,c0h,c0h,c0h,00h,fch,ceh,ceh,fch,c0h,c0h,c0h ;P
.db
00h,7ch,ceh,ceh,ceh,feh,cch,7eh,00h,7ch,ceh,ceh,ceh,feh,cch,7eh ;Q
.db
00h,fch,ceh,ceh,fch,ceh,ceh,ceh,00h,fch,ceh,ceh,fch,ceh,ceh,ceh ;R
.db
00h,7ch,ceh,c0h,7ch,0eh,ceh,7ch,00h,7ch,ceh,c0h,7ch,0eh,ceh,7ch ;S
.db
00h,feh,38h,38h,38h,38h,38h,38h,00h,feh,38h,38h,38h,38h,38h,38h ;T
.db
00h,ceh,ceh,ceh,ceh,ceh,ceh,7ch,00h,ceh,ceh,ceh,ceh,ceh,ceh,7ch ;U
.db
00h,ceh,ceh,ceh,ceh,6ch,38h,10h,00h,ceh,ceh,ceh,ceh,6ch,38h,10h ;V
.db
00h,ceh,ceh,deh,feh,eeh,c6h,82h,00h,ceh,ceh,deh,feh,eeh,c6h,82h ;W
.db
00h,c6h,eeh,7ch,38h,7ch,eeh,c6h,00h,c6h,eeh,7ch,38h,7ch,eeh,c6h ;X
.db
00h,ceh,ceh,ceh,7ch,38h,38h,38h,00h,ceh,ceh,ceh,7ch,38h,38h,38h ;Y
.db
00h,feh,0eh,7ch,38h,7ch,e0h,feh,00h,feh,0eh,7ch,38h,7ch,e0h,feh ;Z
.db
00h,00h,00h,00h,00h,00h,38h,38h,00h,00h,00h,00h,00h,00h,38h,38h ;.
.db
00h,18h,18h,00h,00h,00h,18h,18h,00h,18h,18h,00h,00h,00h,18h,18h ;:

Вам также может понравиться