📄 main.asm
字号:
;*****************************************************
;
; This programme is for study Ver2.0.0 beta
; The main control programe
;This programme must be run in 12MHz standard settings
; Designer: Mr.Koii
; Copyright 2002 koiistudio
; 2003.04.04 at Changsha. H.N. P.R.China.
;
;*****************************************************
;*****************************************************
;参数定义
;*****************************************************
beep equ p1.5 ;Beep pin
keys_byte equ 08h
;*****************************************************
;主程序
;*****************************************************
org 0000h
jmp start
org 00013h
jmp keys_int ;键盘中断
org 0030h
start: mov p0,#0feh
mov p1,#0fh
mov p2,#0
mov p3,#0ffh
mov sp,#70h ;堆栈地址
mov r0,#07eh ;Clear the ram
mov r1,#2
clr a
main_clear0: mov @r1,a
inc r1
djnz r0,main_clear0
setb ex1
setb ea
mov r0,#0 ;方向标志
mov r1,#0feh ;亮点流动
mov r2,#25 ;延时
mov r3,#0 ;花样
mov r4,#25 ;延时
move: call time2_5ms
djnz r2,move
mov r2,04h
mov a,r3
cjne a,#0,move_0
mov a,r1 ;单亮点往左移
rl a
mov r1,a
mov p0,a
jmp move
move_0: cjne a,#1,move_1
mov a,r1 ;单亮点往右移
rr a
mov r1,a
mov p0,a
jmp move
move_1: cjne a,#2,move_2
mov a,r1 ;双亮点往中移
rl a
mov r1,a
jnb acc.0,move_10
jnb acc.1,move_11
jnb acc.2,move_12
jnb acc.3,move_13
jmp move
move_10: clr acc.7
mov p0,a
jmp move
move_11: clr acc.6
mov p0,a
jmp move
move_12: clr acc.5
mov p0,a
jmp move
move_13: clr acc.4
mov p0,a
jmp move
move_2: cjne a,#3,move_3
mov a,r0 ;左右往返移动
cjne a,#0,move_20
mov a,r1
rl a
mov r1,a
mov p0,a
jnb acc.7,move_21
jmp move
move_20: mov a,r1
rr a
mov r1,a
mov p0,a
jnb acc.0,move_22
move_3: jmp move
move_21: mov r0,#0ffh
jmp move
move_22: mov r0,#0
jmp move
;*****************************************************
;相关文件载入
;*****************************************************
include "timer.asm"
include "beep.asm"
include "keysmanagement.asm"
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -