📄 buzzer.asm
字号:
; 78K/0 Series C Compiler V4.00 Assembler Source
; Date:14 Feb 2008 Time:11:07:54
; Command : -fbuzzer.pcc
; In-file : source\buzzer.c
; Asm-file : buzzer.asm
; Para-file : -cF0495
; -y"C:\Program Files\NEC Electronics Tools\DEV"
; -_msgoff
; -iD:\78lx3seeitV1_1\inc
; -rd
; -a
; -zp
; -no
; source\buzzer.c
$PROCESSOR(F0495)
$DEBUG
$NODEBUGA
$KANJICODE SJIS
$TOL_INF 03FH, 0400H, 00H, 030H, 00H
$DGS FIL_NAM, .file, 02FH, 0FFFEH, 03FH, 067H, 01H, 00H
$DGS AUX_FIL, buzzer.c
$DGS MOD_NAM, buzzer, 00H, 0FFFEH, 00H, 077H, 00H, 00H
$DGS SEC_NAM, @@BITS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CNST, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATA, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@R_INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@INIS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@DATS, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALT, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CODE, U, U, 00H, 078H, 00H, 00H
$DGS SEC_NAM, @@CALF, U, U, 00H, 078H, 00H, 00H
$DGS STA_SYM, _s_song, U, U, 05002H, 03H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 0DH, 0DH, 00H, 00H, 00H
$DGS GLV_SYM, _play, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 01FH, 00H
$DGS BEG_FUN, ??bf_play, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 031H, 02H, 015H
$DGS REG_PAR, _point, 0103H, 0FFFFH, 010EH, 011H, 00H, 01H
$DGS BEG_BLK, ??bb00_play, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 03H, 00H, 017H
$DGS BEG_BLK, ??bb01_play, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 07H, 00H, 00H
$DGS END_BLK, ??eb01_play, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 0EH
$DGS END_BLK, ??eb00_play, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 013H
$DGS END_FUN, ??ef_play, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 014H
$DGS GLV_SYM, _Buzzer, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 029H, 00H
$DGS BEG_FUN, ??bf_Buzzer, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 04BH, 00H, 023H
$DGS BEG_BLK, ??bb00_Buzzer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_BEG, 04H, 00H, 00H
$DGS END_BLK, ??eb00_Buzzer, U, U, 00H, 064H, 01H, 00H
$DGS AUX_END, 06H
$DGS END_FUN, ??ef_Buzzer, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 0CH
$DGS GLV_SYM, _alarm, U, U, 08001H, 020H, 01H, 02H
$DGS AUX_FUN, 00H, U, U, 02FH, 00H
$DGS BEG_FUN, ??bf_alarm, U, U, 00H, 065H, 01H, 00H
$DGS AUX_BEG, 05DH, 00H, 02FH
$DGS END_FUN, ??ef_alarm, U, U, 00H, 065H, 01H, 00H
$DGS AUX_END, 06H
$DGS GLV_SYM, _song, U, U, 0500EH, 020H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 01B2H, 0D9H, 00H, 00H, 00H
$DGS GLV_SYM, _alarm_song, U, U, 0500EH, 020H, 01H, 03H
$DGS AUX_STR, 00H, 00H, 032H, 019H, 00H, 00H, 00H
$DGS GLV_SYM, ?LCD_string, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, ?ClrLcdString, U, U, 00H, 02H, 00H, 00H
$DGS GLV_SYM, _WaitBase50ms, U, U, 08001H, 02H, 00H, 02H
$DGS GLV_SYM, _sw3_in, U, U, 0130CH, 02H, 00H, 00H
$DGS GLV_SYM, _cRemCode, U, U, 0130CH, 02H, 00H, 00H
$DGS GLV_SYM, _AllKeyOff, U, U, 08001H, 02H, 00H, 02H
EXTRN _WaitBase50ms
EXTRN _sw3_in
EXTRN _cRemCode
EXTRN ?LCD_string
EXTRN _AllKeyOff
EXTRN ?ClrLcdString
PUBLIC _song
PUBLIC _alarm_song
PUBLIC _play
PUBLIC _Buzzer
PUBLIC _alarm
@@BITS BSEG
@@CNST CSEG UNITP
_song: DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 01FAH ; 506
DW 0CH ; 12
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 0CH ; 12
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 01FAH ; 506
DW 08H ; 8
DW 00H ; 0
DW 02H ; 2
DW 0238H ; 568
DW 03H ; 3
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 0CH ; 12
DW 00H ; 0
DW 02H ; 2
DW 03BCH ; 956
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 03BCH ; 956
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 03BCH ; 956
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 01FAH ; 506
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0238H ; 568
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 0CH ; 12
DW 00H ; 0
DW 08H ; 8
DW 00H ; 0
DW 08H ; 8
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 02A4H ; 676
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0238H ; 568
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0218H ; 536
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 0238H ; 568
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 0CH ; 12
DW 00H ; 0
DW 08H ; 8
DW 00H ; 0
DW 08H ; 8
DW 00H ; 0
DW 08H ; 8
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 01FAH ; 506
DW 08H ; 8
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 03H ; 3
DW 00H ; 0
DW 01H ; 1
DW 027EH ; 638
DW 0CH ; 12
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0353H ; 851
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 02F6H ; 758
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 01FAH ; 506
DW 08H ; 8
DW 00H ; 0
DW 02H ; 2
DW 0238H ; 568
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 027EH ; 638
DW 06H ; 6
DW 00H ; 0
DW 02H ; 2
DW 0FFFFH ; 65535
_alarm_song: DW 03BCH ; 956
DW 06H ; 6
DW 0353H ; 851
DW 06H ; 6
DW 02F6H ; 758
DW 0CH ; 12
DW 0353H ; 851
DW 06H ; 6
DW 03BCH ; 956
DW 06H ; 6
DW 00H ; 0
DW 06H ; 6
DW 03BCH ; 956
DW 06H ; 6
DW 0353H ; 851
DW 06H ; 6
DW 02F6H ; 758
DW 06H ; 6
DW 0353H ; 851
DW 06H ; 6
DW 03BCH ; 956
DW 06H ; 6
DW 0353H ; 851
DW 0CH ; 12
DW 0FFFFH ; 65535
_s_song: DB 'MELODY '
DB 00H
DB (1)
@@R_INIT CSEG UNITP
@@INIT DSEG UNITP
@@DATA DSEG UNITP
@@R_INIS CSEG UNITP
@@INIS DSEG SADDRP
@@DATS DSEG SADDRP
@@CALT CSEG CALLT0
; line 14
; line 26
; line 27
; line 28
; line 29
; line 30
; line 62
; line 63
; line 29
; line 32
; line 33
; line 34
; line 35
; line 36
; line 37
; line 38
; line 39
; line 40
; line 41
; line 42
; line 43
; line 44
; line 45
; line 46
; line 47
; line 48
; line 49
; line 50
; line 51
; line 52
; line 53
; line 54
; line 55
; line 56
; line 57
; line 58
; line 59
; line 60
; line 61
; line 62
; line 63
; line 64
; line 65
; line 66
; line 67
; line 68
; line 69
; line 70
; line 71
; line 72
; line 73
; line 74
; line 75
; line 76
; line 77
; line 78
; line 79
; line 80
; line 81
; line 82
; line 83
; line 84
; line 85
; line 86
; line 87
; line 88
; line 89
; line 90
; line 91
; line 92
; line 93
; line 94
; line 95
; line 96
; line 97
; line 98
; line 99
; line 100
; line 101
; line 102
; line 103
; line 104
; line 105
; line 106
; line 107
; line 108
; line 109
; line 110
; line 111
; line 112
; line 113
; line 114
; line 115
; line 116
; line 117
; line 118
; line 119
; line 120
; line 121
; line 122
; line 123
; line 124
; line 125
; line 126
; line 127
; line 128
; line 129
; line 130
; line 131
; line 132
; line 133
; line 134
; line 135
; line 136
; line 137
; line 138
; line 139
; line 140
; line 143
; line 146
; line 147
; line 148
; line 149
; line 150
; line 151
; line 152
; line 153
; line 154
; line 155
; line 156
; line 157
; line 158
; line 30
; line 31
; line 36
; line 37
; line 42
; line 49
@@CODE CSEG
_play:
$DGL 1,16
push hl ;[INF] 1, 4
movw hl,ax ;[INF] 1, 4
??bf_play:
; line 50
$DGL 0,2
?L0003:
movw ax,hl ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
incw de ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
cmpw ax,#0FFFFH ; -1 ;[INF] 3, 6
bz $?L0004 ;[INF] 2, 6
; line 51
??bb00_play:
; line 52
$DGL 0,4
mov TMC00,#00H ; 0 ;[INF] 3, 7
; line 53
$DGL 0,5
mov TOC00,#09H ; 9 ;[INF] 3, 7
; line 54
$DGL 0,6
movw ax,hl ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
incw de ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
or a,x ;[INF] 2, 4
bz $?L0005 ;[INF] 2, 6
; line 55
??bb01_play:
; line 56
$DGL 0,8
mov CRC00,#00H ; 0 ;[INF] 3, 7
; line 57
$DGL 0,9
movw ax,hl ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
incw de ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
movw CR000,ax ;[INF] 2, 8
; line 58
$DGL 0,10
movw ax,hl ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
xch a,x ;[INF] 1, 2
incw de ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
mov c,#04H ; 4 ;[INF] 2, 4
divuw c ;[INF] 2,25
movw CR010,ax ;[INF] 2, 8
; line 59
$DGL 0,11
mov TOC00,#01BH ; 27 ;[INF] 3, 7
; line 60
$DGL 0,12
mov PRM00,#03H ; 3 ;[INF] 3, 7
; line 61
$DGL 0,13
mov TMC00,#0CH ; 12 ;[INF] 3, 7
??eb01_play:
; line 62
?L0005:
; line 63
$DGL 0,15
incw hl ;[INF] 1, 4
incw hl ;[INF] 1, 4
movw ax,hl ;[INF] 1, 4
decw ax ;[INF] 1, 4
decw ax ;[INF] 1, 4
; line 64
$DGL 0,16
movw ax,hl ;[INF] 1, 4
movw de,ax ;[INF] 1, 4
mov a,[de] ;[INF] 1, 4/5
mov x,#00H ; 0 ;[INF] 2, 4
xch a,x ;[INF] 1, 2
call !_WaitBase50ms ;[INF] 3, 7
; line 65
$DGL 0,17
incw hl ;[INF] 1, 4
incw hl ;[INF] 1, 4
movw ax,hl ;[INF] 1, 4
decw ax ;[INF] 1, 4
decw ax ;[INF] 1, 4
; line 66
$DGL 0,18
cmp _sw3_in,#08H ; 8 ;[INF] 3, 6
bz $?L0004 ;[INF] 2, 6
cmp _cRemCode,#02H ; 2 ;[INF] 3, 6
bnz $?L0003 ;[INF] 2, 6
??eb00_play:
; line 67
?L0004:
; line 68
$DGL 0,20
??ef_play:
pop hl ;[INF] 1, 4
ret ;[INF] 1, 6
??ee_play:
; line 75
_Buzzer:
$DGL 1,31
??bf_Buzzer:
; line 76
$DGL 0,2
movw ax,#0DH ; 13 ;[INF] 3, 6
push ax ;[INF] 1, 4
movw ax,#_s_song ;[INF] 3, 6
callt [?LCD_string] ;[INF] 1, 6
pop ax ;[INF] 1, 4
; line 77
$DGL 0,3
?L0012:
cmp _sw3_in,#08H ; 8 ;[INF] 3, 6
bz $?L0013 ;[INF] 2, 6
cmp _cRemCode,#02H ; 2 ;[INF] 3, 6
bz $?L0013 ;[INF] 2, 6
; line 78
??bb00_Buzzer:
; line 79
$DGL 0,5
movw ax,#_song ;[INF] 3, 6
call !_play ;[INF] 3, 7
??eb00_Buzzer:
; line 80
$DGL 0,6
br $?L0012 ;[INF] 2, 6
?L0013:
; line 81
$DGL 0,7
call !_AllKeyOff ;[INF] 3, 7
; line 82
$DGL 0,8
callt [?ClrLcdString] ;[INF] 1, 6
; line 84
$DGL 0,10
mov TMC00,#00H ; 0 ;[INF] 3, 7
; line 85
$DGL 0,11
mov TOC00,#09H ; 9 ;[INF] 3, 7
; line 86
$DGL 0,12
??ef_Buzzer:
ret ;[INF] 1, 6
??ee_Buzzer:
; line 93
_alarm:
$DGL 1,41
??bf_alarm:
; line 94
$DGL 0,2
clr1 PM3.4 ;[INF] 3, 8
; line 95
$DGL 0,3
movw ax,#_alarm_song ;[INF] 3, 6
call !_play ;[INF] 3, 7
; line 96
$DGL 0,4
mov TMC00,#00H ; 0 ;[INF] 3, 7
; line 97
$DGL 0,5
mov TOC00,#09H ; 9 ;[INF] 3, 7
; line 98
$DGL 0,6
??ef_alarm:
ret ;[INF] 1, 6
??ee_alarm:
@@CALF CSEG FIXED
END
; *** Code Information ***
;
; $FILE D:\78lx3seeitV1_1\source\buzzer.c
;
; $FUNC play(49)
; void=(pointer point:ax)
; CODE SIZE= 92 bytes, CLOCK_SIZE= 313 clocks, STACK_SIZE= 4 bytes
;
; $CALL WaitBase50ms(64)
; void=(int:ax)
;
; $FUNC Buzzer(75)
; void=(void)
; CODE SIZE= 38 bytes, CLOCK_SIZE= 102 clocks, STACK_SIZE= 4 bytes
;
; $CALL LCD_string(76)
; void=(pointer:ax, unsigned short:[sp+2])
;
; $CALL play(79)
; void=(pointer:ax)
;
; $CALL AllKeyOff(81)
; void=(void)
;
; $CALL ClrLcdString(82)
; void=(void)
;
; $FUNC alarm(93)
; void=(void)
; CODE SIZE= 16 bytes, CLOCK_SIZE= 41 clocks, STACK_SIZE= 2 bytes
;
; $CALL play(95)
; void=(pointer:ax)
; Target chip : uPD78F0495
; Device file : V1.11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -