📄 cpp_a1018v02.asm
字号:
mov r1,a
mov a,r2
jnb f0,view_in_17_1
swap a
view_in_17_1:
mov r2,a
mov a,@r1
jnb f0,view_in_17_2
anl a,#0fh
sjmp view_in_17_3
view_in_17_2:
anl a,#0f0h
view_in_17_3:
orl a,r2
mov @r1,a
inc r0
inc dial_pnt_in
mov a,dial_pnt_in
cjne a,#16,view_in_17_4
sjmp view_in_18
view_in_17_4:
ajmp view_in_16_0
view_in_18:
lcall del_0_of_013
mov rd_pnt_in,dial_pnt_in
mov r2,#0
mov disp_pnt,dial_pnt_in
mov a,dial_pnt_in
add a,#255-14
jnc view_in_19
mov disp_pnt,#14
mov a,dial_pnt_in
clr c
subb a,#14
mov r2,a
view_in_19:
mov r0,#disp_buf
view_in_19_0:
mov a,r2
rrc a
clr f0
jnc view_in_19_1
setb f0
view_in_19_1:
anl a,#0fh
add a,#rd_buf
mov r1,a
mov a,@r1
jnb f0,view_in_19_2
swap a
view_in_19_2:
anl a,#0fh
mov @r0,a
inc r0
inc r2
mov a,r2
cjne a,dial_pnt_in,view_in_19_0
lcall display_number
lcall display_date_and_clock
lcall clr_icon_going
lcall clr_icon_incoming
lcall clr_icon_missed
lcall set_icon_talking
lcall _write_1622_data
setb hf_flag.f_hf
mov b,#8
lcall get_send_mode
mov main_status,#7
clr f_del_hld
mov b,#12
lcall set_eepr_mode
mov built_time,#20
ret
;
view_in_20:
jnb key_flag.f_hld,view_in_22
mov a,key_hld_time
jz view_in_21
ret
view_in_21:
mov r0,#total_in
mov a,#0
movx @r0,a
mov b,#9
view_in_21_0:
lcall set_eepr_mode
clr f_del_hld
lcall get_key_tone
lcall display_total_missed
lcall display_date_and_clock
lcall clr_all_number
lcall _write_1622_data
mov main_status,#0
ret
;
view_in_22:
clr f_del_hld
mov r0,#total_in
movx a,@r0
cjne a,#1,view_in_23
sjmp view_in_21
view_in_23:
lcall get_key_tone
mov b,#7
lcall set_eepr_mode
ret
;
;
view_out_stu:
mov a,mobile_status
xrl a,#3
jnz view_out_0
ajmp view_to_ring
view_out_0:
jb hook_flag.f_hook_off,view_out_4
jnb f_del_hld,view_out_1
ljmp view_out_20
view_out_1:
jb key_flag.f_prs,view_out_3
mov a,out_of_time
jz view_out_2
ret
view_out_2:
lcall get_error_tone
ajmp view_out_6_1
view_out_3:
clr key_flag.f_prs
mov key_val1,key_val0
mov a,key_val1
cjne a,#80h,view_out_5
setb hf_flag.f_hf
view_out_4:
ajmp view_in_4
view_out_5:
cjne a,#43h,view_out_6
setb f_del_hld
ret
view_out_6:
cjne a,#83h,view_out_7
lcall get_key_tone
view_out_6_1:
ajmp view_in_6_1
view_out_7:
cjne a,#40h,view_out_8
lcall get_key_tone
inc view_nub
mov r0,#total_out
movx a,@r0
cjne a,view_nub,view_out_7_0
nop
view_out_7_0:
jnc view_out_7_1
mov view_nub,#1
view_out_7_1:
mov b,#11
lcall set_eepr_mode
ret
view_out_8:
cjne a,#41h,view_out_9
lcall get_key_tone
dec view_nub
mov a,view_nub
jnz view_out_8_0
mov r0,#total_out
movx a,@r0
mov view_nub,a
view_out_8_0:
sjmp view_out_7_1
view_out_9:
xrl a,#42h
jz view_out_10
ret
;
view_out_10:
ajmp view_in_10
;
view_out_20:
jnb key_flag.f_hld,view_out_22
mov a,key_hld_time
jz view_out_21
ret
view_out_21:
mov r0,#total_out
mov a,#0
movx @r0,a
mov b,#18
ajmp view_in_21_0
;
view_out_22:
clr f_del_hld
mov r0,#total_out
movx a,@r0
cjne a,#1,view_out_23
sjmp view_out_21
view_out_23:
lcall get_key_tone
mov b,#16
lcall set_eepr_mode
ret
;
;
view_missed_stu:
mov a,mobile_status
xrl a,#3
jnz view_missed_0
ajmp view_to_ring
view_missed_0:
jb hook_flag.f_hook_off,view_missed_4
jnb f_del_hld,view_missed_1
ljmp view_missed_20
view_missed_1:
jb key_flag.f_prs,view_missed_3
mov a,out_of_time
jz view_missed_2
ret
view_missed_2:
lcall get_error_tone
ajmp view_missed_6_1
view_missed_3:
clr key_flag.f_prs
mov key_val1,key_val0
mov a,key_val1
cjne a,#80h,view_missed_5
setb hf_flag.f_hf
view_missed_4:
ajmp view_in_4
view_missed_5:
cjne a,#43h,view_missed_6
setb f_del_hld
ret
view_missed_6:
cjne a,#84h,view_missed_7
lcall get_key_tone
view_missed_6_1:
ajmp view_in_6_1
view_missed_7:
cjne a,#40h,view_missed_8
lcall get_key_tone
inc view_nub
mov r0,#total_missed
movx a,@r0
cjne a,view_nub,view_missed_7_0
nop
view_missed_7_0:
jnc view_missed_7_1
mov view_nub,#1
view_missed_7_1:
mov b,#20
lcall set_eepr_mode
ret
view_missed_8:
cjne a,#41h,view_missed_9
lcall get_key_tone
dec view_nub
mov a,view_nub
jnz view_missed_8_0
mov r0,#total_missed
movx a,@r0
mov view_nub,a
view_missed_8_0:
sjmp view_missed_7_1
view_missed_9:
xrl a,#42h
jz view_missed_10
ret
;
view_missed_10:
ajmp view_in_10
;
view_missed_20:
jnb key_flag.f_hld,view_missed_22
mov a,key_hld_time
jz view_missed_21
ret
view_missed_21:
mov r0,#total_missed
mov a,#0
movx @r0,a
mov b,#27
ajmp view_in_21_0
;
view_missed_22:
clr f_del_hld
mov r0,#total_missed
movx a,@r0
cjne a,#1,view_missed_23
sjmp view_missed_21
view_missed_23:
lcall get_key_tone
mov b,#25
lcall set_eepr_mode
ret
;
;
;===========================================
; program process subroutine
;===========================================
;
program_stu:
mov a,mobile_status
xrl a,#3
jnz prog_stu_2
mov main_status,#1
mov a,set_mode
anl a,#0fh
cjne a,#5,prog_stu_0
mov r0,#volu_ix
movx a,@r0
mov melody_val,a
lcall _write_music_ic
prog_stu_0:
mov r0,#music_ix
movx a,@r0
mov melody_val,a
mov tone_mode,#music_tone
prog_stu_1:
lcall clr_icon_set
lcall display_total_missed
lcall display_date_and_clock
lcall clr_all_number
lcall _write_1622_data
ret
prog_stu_2:
jb hook_flag.f_hook_off,prog_stu_6
jb key_flag.f_prs,prog_stu_5
mov a,set_mode
cjne a,#70h,prog_stu_3
mov a,disp_ver_time
jnz prog_stu_3
lcall get_key_tone
mov main_status,#0
sjmp prog_stu_1
prog_stu_3:
mov a,out_of_time
jz prog_stu_4
ret
prog_stu_4:
mov a,set_mode
anl a,#0fh
cjne a,#5,prog_stu_4_0
mov r0,#volu_ix
movx a,@r0
mov melody_val,a
lcall _write_music_ic
prog_stu_4_0:
lcall get_error_tone
mov main_status,#0
ajmp prog_stu_1
;
prog_stu_5:
clr key_flag.f_prs
mov key_val1,key_val0
mov a,key_val1
cjne a,#80h,prog_stu_7
setb hf_flag.f_hf
prog_stu_6:
mov a,set_mode
anl a,#0fh
cjne a,#5,prog_stu_6_0
mov r0,#volu_ix
movx a,@r0
mov melody_val,a
lcall _write_music_ic
prog_stu_6_0:
lcall clr_icon_set
lcall display_total_missed
lcall display_date_and_clock
lcall clr_all_number
lcall set_icon_talking
lcall _write_1622_data
lcall get_dial_tone
mov dial_pnt_in,#0
mov disp_pnt,#0
mov main_status,#6
ret
prog_stu_7:
cjne a,#81h,prog_stu_10
mov a,set_mode
anl a,#0fh
cjne a,#5,prog_stu_7_0
mov r0,#volu_ix
movx a,@r0
mov melody_val,a
lcall _write_music_ic
prog_stu_7_0:
lcall get_key_tone
mov main_status,#0
ajmp prog_stu_1
;
prog_stu_10:
mov dptr,#prog_stu_jmp
mov a,set_mode
swap a
anl a,#0fh
mov r0,a
add a,r0
add a,r0
jmp @a+dptr
;
prog_stu_jmp:
ljmp prog_mod0
ljmp prog_mod1
ljmp prog_mod2
ljmp prog_mod3
ljmp prog_mod4
ljmp prog_mod5
ljmp prog_mod6
ljmp prog_mod7
;
prog_mod0:
mov a,key_val1
cjne a,#0ch,prog_mod0_0
lcall get_key_tone
mov set_mode,#10h
ret
prog_mod0_0:
cjne a,#0bh,prog_mod0_1
lcall get_key_tone
mov set_mode,#40h
ret
prog_mod0_1:
ajmp prog_stu_4_0
;
prog_mod1:
mov a,key_val1
cjne a,#0ah,prog_mod0_1
lcall get_key_or_play_tone
mov set_mode,#20h
ret
;
prog_mod2:
mov a,key_val1
cjne a,#0ah,prog_mod2_0
mov a,#0
mov key_val1,a
prog_mod2_0:
add a,#255-6
jnc prog_mod2_1
sjmp prog_mod0_1
prog_mod2_1:
lcall get_key_or_play_tone
lcall disp_char_set
lcall _write_1622_data
mov a,key_val1
orl a,#30h
mov set_mode,a
mov time_mode,#0
mov set_pnt,#0
mov disp_pnt,#0
mov a,set_mode
anl a,#0fh
jnz prog_mod2_2
mov buf_year0,buf_year
mov buf_month0,buf_month
mov buf_day0,buf_day
mov buf_hour0,buf_hour
mov buf_min0,buf_min
ret
prog_mod2_2:
cjne a,#3,prog_mod2_3
mov temp_val,#0
jnb f_play_nub,prog_mod2_2_0
mov temp_val,#1
prog_mod2_2_0:
ret
prog_mod2_3:
cjne a,#4,prog_mod2_4
mov r0,#music_ix
movx a,@r0
mov melody_val,a
mov temp_val,a
mov tone_mode,#music_tone
ret
prog_mod2_4:
cjne a,#5,prog_mod2_5
mov r0,#music_ix
movx a,@r0
mov melody_val,a
mov tone_mode,#music_tone
mov r0,#volu_ix
movx a,@r0
mov temp_val,a
prog_mod2_5:
cjne a,#6,prog_mod2_6
mov temp_val,#0
jnb f_del_0,prog_mod2_6
mov temp_val,#1
prog_mod2_6:
ret
;
prog_mod3:
mov dptr,#prog_mod3_jmp
mov a,set_mode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -