📄 music.lst
字号:
0112 3544 CPI R20,0x54
0113 E0E0 LDI R30,0
0114 075E CPC R21,R30
0115 F409 BNE 0x0117
0116 C077 RJMP 0x018E
0117 3546 CPI R20,0x56
0118 E0E0 LDI R30,0
0119 075E CPC R21,R30
011A F409 BNE 0x011C
011B C097 RJMP 0x01B3
011C C0AB RJMP 0x01C8
011D 364D CPI R20,0x6D
011E E0E0 LDI R30,0
011F 075E CPC R21,R30
0120 F409 BNE 0x0122
0121 C0A3 RJMP 0x01C5
0122 3740 CPI R20,0x70
0123 E0E0 LDI R30,0
0124 075E CPC R21,R30
0125 F409 BNE 0x0127
0126 C089 RJMP 0x01B0
0127 3743 CPI R20,0x73
0128 E0E0 LDI R30,0
0129 075E CPC R21,R30
012A F409 BNE 0x012C
012B C06E RJMP 0x019A
012C 3744 CPI R20,0x74
012D E0E0 LDI R30,0
012E 075E CPC R21,R30
012F F081 BEQ 0x0140
0130 3746 CPI R20,0x76
0131 E0E0 LDI R30,0
0132 075E CPC R21,R30
0133 F409 BNE 0x0135
0134 C083 RJMP 0x01B8
0135 3748 CPI R20,0x78
0136 E0E0 LDI R30,0
0137 075E CPC R21,R30
0138 F409 BNE 0x013A
0139 C083 RJMP 0x01BD
013A 3749 CPI R20,0x79
013B E0E0 LDI R30,0
013C 075E CPC R21,R30
013D F409 BNE 0x013F
013E C082 RJMP 0x01C1
013F C088 RJMP 0x01C8
(0041) {
(0042) case 0x1b:{
(0043) break;
(0044) }
(0045) case 't':{
(0046) putchar(device);
0140 E706 LDI R16,0x76
0141 DF87 RCALL _putchar
(0047) putchar(0x00);
0142 2700 CLR R16
0143 DF85 RCALL _putchar
(0048) break;
0144 C085 RJMP 0x01CA
(0049) }
(0050) case 'P':{
(0051) clr_bit(DDRC,0);
0145 98A0 CBI 0x14,0
(0052) CLI();
0146 94F8 BCLR 7
(0053) putchar(13);
0147 E00D LDI R16,0xD
0148 DF80 RCALL _putchar
(0054) break;
0149 C080 RJMP 0x01CA
(0055) }
(0056) case 'a':{
(0057) putchar('Y');
014A E509 LDI R16,0x59
014B DF7D RCALL _putchar
(0058) break;
014C C07D RJMP 0x01CA
(0059) }
(0060) case 'A':{
(0061) adder=(getchar()<<8);
014D DF7F RCALL _getchar
014E 2E20 MOV R2,R16
014F 2433 CLR R3
0150 2C32 MOV R3,R2
0151 2422 CLR R2
0152 92300063 STS _toneconst+3,R3
0154 92200062 STS _toneconst+2,R2
(0062) adder|=getchar();
0156 DF76 RCALL _getchar
0157 2E20 MOV R2,R16
0158 2433 CLR R3
0159 90400062 LDS R4,_toneconst+2
015B 90500063 LDS R5,_toneconst+3
015D 2842 OR R4,R2
015E 2853 OR R5,R3
015F 92500063 STS _toneconst+3,R5
0161 92400062 STS _toneconst+2,R4
(0063) putchar(13);
0163 E00D LDI R16,0xD
0164 DF64 RCALL _putchar
(0064) break;
0165 C064 RJMP 0x01CA
(0065) }
(0066) case 'D':{
(0067) EEPROMwrite(adder,getchar());
0166 DF66 RCALL _getchar
0167 2F20 MOV R18,R16
0168 91000062 LDS R16,_toneconst+2
016A 91100063 LDS R17,_toneconst+3
016C D0B9 RCALL _EEPROMwrite
(0068) putchar(13);
016D E00D LDI R16,0xD
016E DF5A RCALL _putchar
(0069) adder++;
016F 91800062 LDS R24,_toneconst+2
0171 91900063 LDS R25,_toneconst+3
0173 9601 ADIW R24,1
0174 93900063 STS _toneconst+3,R25
0176 93800062 STS _toneconst+2,R24
(0070) break;
0178 C051 RJMP 0x01CA
(0071) }
(0072) case 'd':{
(0073) putchar(EEPROMread(adder));
0179 91000062 LDS R16,_toneconst+2
017B 91100063 LDS R17,_toneconst+3
017D D0A1 RCALL _EEPROMread
017E DF4A RCALL _putchar
(0074) adder++;
017F 91800062 LDS R24,_toneconst+2
0181 91900063 LDS R25,_toneconst+3
0183 9601 ADIW R24,1
0184 93900063 STS _toneconst+3,R25
0186 93800062 STS _toneconst+2,R24
(0075) break;
0188 C041 RJMP 0x01CA
(0076) }
(0077) case 'L':{
(0078) set_bit(DDRC,0);
0189 9AA0 SBI 0x14,0
(0079) SEI();
018A 9478 BSET 7
(0080) putchar(13);
018B E00D LDI R16,0xD
018C DF3C RCALL _putchar
(0081) break;
018D C03C RJMP 0x01CA
(0082) }
(0083) case 'T':{
(0084) if(getchar()==0x38)
018E DF3E RCALL _getchar
018F 3308 CPI R16,0x38
0190 F419 BNE 0x0194
(0085) putchar(13);
0191 E00D LDI R16,0xD
0192 DF36 RCALL _putchar
0193 C036 RJMP 0x01CA
(0086) else
(0087) putchar('?');
0194 E30F LDI R16,0x3F
0195 DF33 RCALL _putchar
(0088) break;
0196 C033 RJMP 0x01CA
(0089) }
(0090) case 'F':{
(0091) putchar(00);
0197 2700 CLR R16
0198 DF30 RCALL _putchar
(0092) break;
0199 C030 RJMP 0x01CA
(0093) }
(0094) case 's':{
(0095) putchar(2);
019A E002 LDI R16,2
019B DF2D RCALL _putchar
(0096) putchar(1);
019C E001 LDI R16,1
019D DF2B RCALL _putchar
(0097) putchar(0);
019E 2700 CLR R16
019F DF29 RCALL _putchar
(0098) break;
01A0 C029 RJMP 0x01CA
(0099) }
(0100) case 'S':{
(0101) putchar('A');
01A1 E401 LDI R16,0x41
01A2 DF26 RCALL _putchar
(0102) putchar('V');
01A3 E506 LDI R16,0x56
01A4 DF24 RCALL _putchar
(0103) putchar('R');
01A5 E502 LDI R16,0x52
01A6 DF22 RCALL _putchar
(0104) putchar('B');
01A7 E402 LDI R16,0x42
01A8 DF20 RCALL _putchar
(0105) putchar('O');
01A9 E40F LDI R16,0x4F
01AA DF1E RCALL _putchar
(0106) putchar('O');
01AB E40F LDI R16,0x4F
01AC DF1C RCALL _putchar
(0107) putchar('T');
01AD E504 LDI R16,0x54
01AE DF1A RCALL _putchar
(0108) break;
01AF C01A RJMP 0x01CA
(0109) }
(0110) case 'p':{
(0111) putchar('S');
01B0 E503 LDI R16,0x53
01B1 DF17 RCALL _putchar
(0112) break;
01B2 C017 RJMP 0x01CA
(0113) }
(0114) case 'V':{
(0115) putchar('1');
01B3 E301 LDI R16,0x31
01B4 DF14 RCALL _putchar
(0116) putchar('0');
01B5 E300 LDI R16,0x30
01B6 DF12 RCALL _putchar
(0117) break;
01B7 C012 RJMP 0x01CA
(0118) }
(0119) case 'v':{
(0120) putchar('1');
01B8 E301 LDI R16,0x31
01B9 DF0F RCALL _putchar
(0121) putchar('0');
01BA E300 LDI R16,0x30
01BB DF0D RCALL _putchar
(0122) break;
01BC C00D RJMP 0x01CA
(0123) }
(0124) case 'x':{
(0125) getchar();
01BD DF0F RCALL _getchar
(0126) putchar(13);
01BE E00D LDI R16,0xD
01BF DF09 RCALL _putchar
(0127) break;
01C0 C009 RJMP 0x01CA
(0128) }
(0129) case 'y':{
(0130) getchar();
01C1 DF0B RCALL _getchar
(0131) putchar(13);
01C2 E00D LDI R16,0xD
01C3 DF05 RCALL _putchar
(0132) break;
01C4 C005 RJMP 0x01CA
(0133) }
(0134) case 'm':{
(0135) putchar(13);
01C5 E00D LDI R16,0xD
01C6 DF02 RCALL _putchar
(0136) break;
01C7 C002 RJMP 0x01CA
(0137) }
(0138) default:{
(0139) putchar('?');
01C8 E30F LDI R16,0x3F
01C9 DEFF RCALL _putchar
(0140) }
(0141) }
(0142) }
01CA D00C RCALL pop_gset1
01CB D03C RCALL pop_lset
01CC 9518 RETI
FILE: E:\icc\iccavr\mega8\mega8\music\read_flash.s
(0001) ;unsigned char read_flash(unsigned int add);
(0002) _read_flash::
(0003) mov r31,r17
_read_flash:
01CD 2FF1 MOV R31,R17
(0004) mov r30,r16
01CE 2FE0 MOV R30,R16
(0005) lpm r16,z
01CF 9104 LPM R16,0(Z)
(0006) clr r17
01D0 2711 CLR R17
(0007) ret
FILE: <library>
01D1 9508 RET
pop_gset3:
01D2 E0E4 LDI R30,4
01D3 C004 RJMP pop
push_gset1:
01D4 935A ST R21,-Y
01D5 934A ST R20,-Y
01D6 9508 RET
pop_gset1:
01D7 E0E1 LDI R30,1
pop:
01D8 9149 LD R20,Y+
01D9 9159 LD R21,Y+
01DA FDE0 SBRC R30,0
01DB 9508 RET
01DC 9169 LD R22,Y+
01DD 9179 LD R23,Y+
01DE FDE1 SBRC R30,1
01DF 9508 RET
01E0 90A9 LD R10,Y+
01E1 90B9 LD R11,Y+
01E2 FDE2 SBRC R30,2
01E3 9508 RET
01E4 90C9 LD R12,Y+
01E5 90D9 LD R13,Y+
01E6 FDE3 SBRC R30,3
01E7 9508 RET
01E8 90E9 LD R14,Y+
01E9 90F9 LD R15,Y+
01EA 9508 RET
push_gset2:
01EB 937A ST R23,-Y
01EC 936A ST R22,-Y
01ED CFE6 RJMP push_gset1
push_gset3:
01EE 92BA ST R11,-Y
01EF 92AA ST R10,-Y
01F0 CFFA RJMP push_gset2
push_lset:
01F1 93FA ST R31,-Y
01F2 93EA ST R30,-Y
01F3 93BA ST R27,-Y
01F4 93AA ST R26,-Y
01F5 939A ST R25,-Y
01F6 938A ST R24,-Y
01F7 933A ST R19,-Y
01F8 932A ST R18,-Y
01F9 931A ST R17,-Y
01FA 930A ST R16,-Y
01FB 929A ST R9,-Y
01FC 928A ST R8,-Y
01FD 927A ST R7,-Y
01FE 926A ST R6,-Y
01FF 925A ST R5,-Y
0200 924A ST R4,-Y
0201 923A ST R3,-Y
0202 922A ST R2,-Y
0203 921A ST R1,-Y
0204 920A ST R0,-Y
0205 B60F IN R0,0x3F
0206 920A ST R0,-Y
0207 9508 RET
pop_lset:
0208 9009 LD R0,Y+
0209 BE0F OUT 0x3F,R0
020A 9009 LD R0,Y+
020B 9019 LD R1,Y+
020C 9029 LD R2,Y+
020D 9039 LD R3,Y+
020E 9049 LD R4,Y+
020F 9059 LD R5,Y+
0210 9069 LD R6,Y+
0211 9079 LD R7,Y+
0212 9089 LD R8,Y+
0213 9099 LD R9,Y+
0214 9109 LD R16,Y+
0215 9119 LD R17,Y+
0216 9129 LD R18,Y+
0217 9139 LD R19,Y+
0218 9189 LD R24,Y+
0219 9199 LD R25,Y+
021A 91A9 LD R26,Y+
021B 91B9 LD R27,Y+
021C 91E9 LD R30,Y+
021D 91F9 LD R31,Y+
021E 9508 RET
_EEPROMread:
021F 99E1 SBIC 0x1C,1
0220 CFFE RJMP _EEPROMread
0221 BB0E OUT 0x1E,R16
0222 BB1F OUT 0x1F,R17
0223 9AE0 SBI 0x1C,0
0224 B30D IN R16,0x1D
0225 9508 RET
_EEPROMwrite:
0226 DFAD RCALL push_gset1
0227 99E1 SBIC 0x1C,1
0228 CFFE RJMP 0x0227
0229 BB0E OUT 0x1E,R16
022A BB1F OUT 0x1F,R17
022B BB2D OUT 0x1D,R18
022C B74F IN R20,0x3F
022D 94F8 BCLR 7
022E 9AE2 SBI 0x1C,2
022F 9AE1 SBI 0x1C,1
0230 BF4F OUT 0x3F,R20
0231 2700 CLR R16
0232 2711 CLR R17
0233 DFA3 RCALL pop_gset1
0234 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -