?? 口字移動.asm
字號:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
key1 equ p1.0
key2 equ p1.1
key3 equ p1.2
key4 equ p1.3
key5 equ p1.4
key6 equ p1.5
key7 equ p1.6
key8 equ p1.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org 0000h
sjmp main
org 0030h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
main:
mov p0,#0ffh
mov p1,#0ffh
mov p2,#0ffh
mov p3,#0ffh
mov a,#0a3h
clr p2.7
key_up:
jb key3,key_down
call delay
call mov_up
jmp key_exit
key_down:
jb key4,key_left
call delay
call mov_down
jmp key_exit
key_left:
jb key2,key_right
call delay
call mov_left
jmp key_exit
key_right:
jb key6,key_exit
call delay
call mov_right
jmp key_exit
key_exit:
call num_display
jmp key_up
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_up:
xrl a,#0a3h
jnz mov_up_nomove
mov a,#09ch
jmp mov_up_exit
mov_up_nomove:
mov a,#9ch
mov_up_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_down:
xrl a,#09ch
jnz mov_down_nomove
mov a,#0a3h
jmp mov_down_exit
mov_down_nomove:
mov a,#0a3h
mov_down_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_left:
call changleft
mov_left_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
mov_right:
call changeright
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
delay:
mov r7,#200
delay_loop:
mov r6,#200
djnz r6,$
mov r6,#200
djnz r6,$
djnz r7,delay_loop
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
num_display:
mov p0,a
call DELAY_DISP
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY_DISP:
mov R7,#10
DELAY_DISP_LOOP:
mov R6,#200
djnz R6,$
mov R6,#200
djnz R6,$
djnz R7,DELAY_DISP_LOOP
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
changleft:
jnb p2.7,light_left1
jnb p2.6,light_left2
jnb p2.5,light_left3
jnb p2.4,light_left4
light_left1:
jmp changleft_exit
light_left2:
setb p2.6
clr p2.7
jmp changleft_exit
light_left3:
setb p2.5
clr p2.6
jmp changleft_exit
light_left4:
setb p2.4
clr p2.5
jmp changleft_exit
changleft_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
changeright:
jnb p2.7,light_right1
jnb p2.6,light_right2
jnb p2.5,light_right3
jnb p2.4,light_right4
light_right1:
clr p2.6
setb p2.7
jmp changright_exit
light_right2:
setb p2.6
clr p2.5
jmp changright_exit
light_right3:
setb p2.5
clr p2.4
jmp changright_exit
light_right4:
jmp changright_exit
changright_exit:
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -