📄 sound.lst
字号:
.module sound.c
.area text
--- 0000 .dbfile E:\grc\licc\例子10.3.6\sound.c
--- 0000 .dbfunc s delay _delay fI
; i -> R20
; j -> R22
; t -> R16
.even
002A _delay::
002A D05E rcall push_gset2
002B .dbline 5{
; #include <io8515.h> /*预处理命令 */
; #define uchar unsigned char
; #define uint unsigned int
; void delay(uchar t)
; {
002B .dbline 7
; uchar i,j;
; for (i=0;i<t;i++)
002B 2744 clr R20
002C C006 rjmp L5
002D L2:
002D .dbline 8
002D E061 ldi R22,1
002E C001 rjmp L9
002F L6:
002F .dbline 8
002F L7:
002F .dbline 8
002F 9563 inc R22
0030 L9:
0030 .dbline 8
0030 3966 cpi R22,150
0031 F3E8 brlo L6
0032 L3:
0032 .dbline 7
0032 9543 inc R20
0033 L5:
0033 .dbline 7
0033 1740 cp R20,R16
0034 F3C0 brlo L2
0035 .dbline 9}
; for(j=1;j<150;j++);
; }
0035 L1:
0035 D056 rcall pop_gset2
0036 9508 ret
0037 .dbsym r i 20 c
0037 .dbsym r j 22 c
0037 .dbsym r t 16 c
0037 .dbfunc s sound_pc0 _sound_pc0 fI
; i -> R20,R21
; t -> R22
.even
0037 _sound_pc0::
0037 D051 rcall push_gset2
0038 2F60 mov R22,R16
0039 .dbline 11{
; void sound_pc0(uchar t)
; {
0039 .dbline 13
; uint i;
; DDRC=0xff;
0039 EF8F ldi R24,255
003A BB84 out 0x14,R24
003B .dbline 14
; PORTC=0xff;
003B BB85 out 0x15,R24
003C .dbline 15
; for (i=0;i<350-t*t;i++)
003C 2744 clr R20
003D 2755 clr R21
003E C008 rjmp L14
003F L11:
003F .dbline 16
003F .dbline 17
003F E081 ldi R24,1
0040 B225 in R2,0x15
0041 2628 eor R2,R24
0042 BA25 out 0x15,R2
0043 .dbline 18
0043 2F06 mov R16,R22
0044 DFE5 rcall _delay
0045 .dbline 19
0045 L12:
0045 .dbline 15
0045 5F4F subi R20,255 ; offset = 1
0046 4F5F sbci R21,255
0047 L14:
0047 .dbline 15
0047 2F26 mov R18,R22
0048 2733 clr R19
0049 2F06 mov R16,R22
004A 2711 clr R17
004B D012 rcall mpy16s
004C E58E ldi R24,94
004D E091 ldi R25,1
004E 1B80 sub R24,R16
004F 0B91 sbc R25,R17
0050 1748 cp R20,R24
0051 0759 cpc R21,R25
0052 F360 brlo L11
0053 .dbline 20}
; {
; PORTC^=0x01;
; delay(t);
; }
; }
0053 L10:
0053 D038 rcall pop_gset2
0054 9508 ret
0055 .dbsym r i 20 i
0055 .dbsym r t 22 c
0055 .dbfunc s main _main fI
; dt -> R20
.even
0055 _main::
0055 .dbline 22{
; void main (void)
; {
0055 .dbline 24
; uchar dt;
; for(;;)
0055 L16:
0055 .dbline 25
; {
0055 .dbline 26
; for(dt=1;dt<14;dt++)
0055 E041 ldi R20,1
0056 C003 rjmp L23
0057 L20:
0057 .dbline 27
0057 2F04 mov R16,R20
0058 DFDE rcall _sound_pc0
0059 L21:
0059 .dbline 26
0059 9543 inc R20
005A L23:
005A .dbline 26
005A 304E cpi R20,14
005B F3D8 brlo L20
005C .dbline 28
; sound_pc0(dt);
; }
005C .dbline 24
005C .dbline 24
005C CFF8 rjmp L16
005D X0:
005D L15:
005D 9508 ret
005E .dbline 25}
005E .dbsym r dt 20 c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -