⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 remote.lis

📁 用ATmega128做的mp3播放器
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 016C 4130              cpi R20,1
 016E 11F0              breq L16
 0170                   .dbline 69
 0170 2224              clr R2
 0172 2A8A              std y+18,R2
 0174           L16:
 0174                   .dbline 70
 0174           ; SendRemote(&text[0]);
 0174 8E01              movw R16,R28
 0176 0C5F              subi R16,252  ; offset = 4
 0178 1F4F              sbci R17,255
 017A 6DD0              xcall _SendRemote
 017C                   .dbline 72
 017C           ; 
 017C           ; sprintf(&text[0],"%c%s\0",0x83,&RemoteTextLine[2][0]) ;
 017C 80E0              ldi R24,<_RemoteTextLine+80
 017E 90E0              ldi R25,>_RemoteTextLine+80
 0180 9B83              std y+3,R25
 0182 8A83              std y+2,R24
 0184 83E8              ldi R24,131
 0186 90E0              ldi R25,0
 0188 9983              std y+1,R25
 018A 8883              std y+0,R24
 018C 20E0              ldi R18,<L3
 018E 30E0              ldi R19,>L3
 0190 8E01              movw R16,R28
 0192 0C5F              subi R16,252  ; offset = 4
 0194 1F4F              sbci R17,255
 0196 0E940000          xcall _sprintf
 019A                   .dbline 73
 019A           ; if (LinePtr != 2) text[14] = 0x00;
 019A 4230              cpi R20,2
 019C 11F0              breq L20
 019E                   .dbline 73
 019E 2224              clr R2
 01A0 2A8A              std y+18,R2
 01A2           L20:
 01A2                   .dbline 74
 01A2           ; SendRemote(&text[0]);
 01A2 8E01              movw R16,R28
 01A4 0C5F              subi R16,252  ; offset = 4
 01A6 1F4F              sbci R17,255
 01A8 56D0              xcall _SendRemote
 01AA                   .dbline 76
 01AA           ; 
 01AA           ; sprintf(&text[0],"%c%s\0",0x84,&RemoteTextLine[3][0]);
 01AA 80E0              ldi R24,<_RemoteTextLine+120
 01AC 90E0              ldi R25,>_RemoteTextLine+120
 01AE 9B83              std y+3,R25
 01B0 8A83              std y+2,R24
 01B2 84E8              ldi R24,132
 01B4 90E0              ldi R25,0
 01B6 9983              std y+1,R25
 01B8 8883              std y+0,R24
 01BA 20E0              ldi R18,<L3
 01BC 30E0              ldi R19,>L3
 01BE 8E01              movw R16,R28
 01C0 0C5F              subi R16,252  ; offset = 4
 01C2 1F4F              sbci R17,255
 01C4 0E940000          xcall _sprintf
 01C8                   .dbline 77
 01C8           ; if (LinePtr != 3) text[14] = 0x00;
 01C8 4330              cpi R20,3
 01CA 11F0              breq L24
 01CC                   .dbline 77
 01CC 2224              clr R2
 01CE 2A8A              std y+18,R2
 01D0           L24:
 01D0                   .dbline 78
 01D0           ; SendRemote(&text[0]);
 01D0 8E01              movw R16,R28
 01D2 0C5F              subi R16,252  ; offset = 4
 01D4 1F4F              sbci R17,255
 01D6 3FD0              xcall _SendRemote
 01D8                   .dbline 80
 01D8           ; 
 01D8           ; sprintf(&text[0],"%c%s\0",0x85,&RemoteTextLine[4][0]) ;
 01D8 80E0              ldi R24,<_RemoteTextLine+160
 01DA 90E0              ldi R25,>_RemoteTextLine+160
 01DC 9B83              std y+3,R25
 01DE 8A83              std y+2,R24
 01E0 85E8              ldi R24,133
 01E2 90E0              ldi R25,0
 01E4 9983              std y+1,R25
 01E6 8883              std y+0,R24
 01E8 20E0              ldi R18,<L3
 01EA 30E0              ldi R19,>L3
 01EC 8E01              movw R16,R28
 01EE 0C5F              subi R16,252  ; offset = 4
 01F0 1F4F              sbci R17,255
 01F2 0E940000          xcall _sprintf
 01F6                   .dbline 81
 01F6           ; if (LinePtr != 4) text[14] = 0x00;
 01F6 4430              cpi R20,4
 01F8 11F0              breq L28
 01FA                   .dbline 81
 01FA 2224              clr R2
 01FC 2A8A              std y+18,R2
 01FE           L28:
 01FE                   .dbline 82
 01FE           ; SendRemote(&text[0]);
 01FE 8E01              movw R16,R28
 0200 0C5F              subi R16,252  ; offset = 4
 0202 1F4F              sbci R17,255
 0204 28D0              xcall _SendRemote
 0206                   .dbline 84
 0206           ; 
 0206           ; sprintf(&text[0],"%c\0",0xa1+LinePtr);
 0206 842F              mov R24,R20
 0208 9927              clr R25
 020A 8F55              subi R24,95  ; offset = 161
 020C 9F4F              sbci R25,255
 020E 9983              std y+1,R25
 0210 8883              std y+0,R24
 0212 20E0              ldi R18,<L4
 0214 30E0              ldi R19,>L4
 0216 8E01              movw R16,R28
 0218 0C5F              subi R16,252  ; offset = 4
 021A 1F4F              sbci R17,255
 021C 0E940000          xcall _sprintf
 0220                   .dbline 85
 0220           ; SendRemote(&text[0]);         
 0220 8E01              movw R16,R28
 0222 0C5F              subi R16,252  ; offset = 4
 0224 1F4F              sbci R17,255
 0226 17D0              xcall _SendRemote
 0228                   .dbline 87
 0228           ; 
 0228           ; sprintf(&text[0],"%c\0",0xb0);
 0228 80EB              ldi R24,176
 022A 90E0              ldi R25,0
 022C 9983              std y+1,R25
 022E 8883              std y+0,R24
 0230 20E0              ldi R18,<L4
 0232 30E0              ldi R19,>L4
 0234 8E01              movw R16,R28
 0236 0C5F              subi R16,252  ; offset = 4
 0238 1F4F              sbci R17,255
 023A 0E940000          xcall _sprintf
 023E                   .dbline 88
 023E           ; SendRemote(&text[0]);         
 023E 8E01              movw R16,R28
 0240 0C5F              subi R16,252  ; offset = 4
 0242 1F4F              sbci R17,255
 0244 08D0              xcall _SendRemote
 0246                   .dbline -2
 0246                   .dbline 89
 0246           ; }
 0246           L5:
 0246 EF96              adiw R28,63
 0248 EF96              adiw R28,63
 024A EF96              adiw R28,63
 024C EF96              adiw R28,63
 024E 2796              adiw R28,7  ; offset = 259
 0250 0E940000          xcall pop_gset2
 0254                   .dbline 0 ; func end
 0254 0895              ret
 0256                   .dbsym l text 4 A[255:255]c
 0256                   .dbsym r LinePtr 20 c
 0256                   .dbsym r Header 22 c
 0256                   .dbend
 0256                   .dbfunc e SendRemote _SendRemote fV
 0256           ;              i -> R22,R23
 0256           ;         buffer -> R20,R21
                        .even
 0256           _SendRemote::
 0256 0E940000          xcall push_gset2
 025A A801              movw R20,R16
 025C                   .dbline -1
 025C                   .dbline 97
 025C           ; 
 025C           ; //******************************************************************
 025C           ; //*   void SendRemote(char *buffer)
 025C           ; //*   
 025C           ; //* 
 025C           ; //******************************************************************
 025C           ; void SendRemote(char *buffer)
 025C           ; {
 025C                   .dbline 100
 025C           ; int i;
 025C           ; 
 025C           ; UCSR1B &= ~0x80; // Rx int disable
 025C 80919A00          lds R24,154
 0260 8F77              andi R24,127
 0262 80939A00          sts 154,R24
 0266                   .dbline 101
 0266           ; i = 0;
 0266 6627              clr R22
 0268 7727              clr R23
 026A                   .dbline 102
 026A           ; TxChar(0x55);
 026A 05E5              ldi R16,85
 026C 52D0              xcall _TxChar
 026E                   .dbline 103
 026E           ; TxChar(0x55);
 026E 05E5              ldi R16,85
 0270 50D0              xcall _TxChar
 0272                   .dbline 104
 0272           ; TxChar(0xf0);
 0272 00EF              ldi R16,240
 0274 4ED0              xcall _TxChar
 0276 08C0              xjmp L33
 0278           L32:
 0278                   .dbline 106
 0278                   .dbline 107
 0278 1B01              movw R2,R22
 027A 6F5F              subi R22,255  ; offset = 1
 027C 7F4F              sbci R23,255
 027E F101              movw R30,R2
 0280 E40F              add R30,R20
 0282 F51F              adc R31,R21
 0284 0081              ldd R16,z+0
 0286 20D0              xcall _SendByte
 0288                   .dbline 108
 0288           L33:
 0288                   .dbline 105
 0288           ; while (buffer[i] != 0x00)
 0288 FB01              movw R30,R22
 028A E40F              add R30,R20
 028C F51F              adc R31,R21
 028E 2080              ldd R2,z+0
 0290 2220              tst R2
 0292 91F7              brne L32
 0294                   .dbline 109
 0294           ;         {
 0294           ;         SendByte(buffer[i++]);
 0294           ;         }
 0294           ; TxChar(0x0f);
 0294 0FE0              ldi R16,15
 0296 3DD0              xcall _TxChar
 0298           L35:
 0298                   .dbline 111
 0298           L36:
 0298                   .dbline 111
 0298           ; 
 0298           ; while (!(UCSR1A & 0x40));       // Wait for the char to be cue off
 0298 20909B00          lds R2,155
 029C 26FE              sbrs R2,6
 029E FCCF              rjmp L35
 02A0                   .dbline 112
 02A0           ; delay_ms(50);
 02A0 02E3              ldi R16,50
 02A2 10E0              ldi R17,0
 02A4 0E940000          xcall _delay_ms
 02A8                   .dbline 114
 02A8           ; 
 02A8           ; i = UDR1;
 02A8 60919C00          lds R22,156
 02AC 7727              clr R23
 02AE                   .dbline 115
 02AE           ; UCSR1A |= 0x40;  
 02AE 80919B00          lds R24,155
 02B2 8064              ori R24,64
 02B4 80939B00          sts 155,R24
 02B8                   .dbline 116
 02B8           ; UCSR1B |= 0x80; // Rx int enable
 02B8 80919A00          lds R24,154
 02BC 8068              ori R24,128
 02BE 80939A00          sts 154,R24
 02C2                   .dbline -2
 02C2                   .dbline 117
 02C2           ; }
 02C2           L31:
 02C2 0E940000          xcall pop_gset2
 02C6                   .dbline 0 ; func end
 02C6 0895              ret
 02C8                   .dbsym r i 22 I
 02C8                   .dbsym r buffer 20 pc
 02C8                   .dbend
 02C8                   .dbfunc e SendByte _SendByte fV
 02C8           ;              i -> R22
 02C8           ;              j -> R10
 02C8           ;             me -> R12
 02C8           ;         TxByte -> R20
                        .even
 02C8           _SendByte::
 02C8 0E940000          xcall push_gset4
 02CC 402F              mov R20,R16
 02CE                   .dbline -1
 02CE                   .dbline 125
 02CE           ; 
 02CE           ; //******************************************************************
 02CE           ; //*   void SendByte(unsigned char TxByte)
 02CE           ; //*   
 02CE           ; //* Manchester encode byte and send it
 02CE           ; //******************************************************************
 02CE           ; void SendByte(unsigned char TxByte)
 02CE           ; {
 02CE                   .dbline 128
 02CE           ; unsigned char i,j,me;
 02CE           ; 
 02CE           ; for (i=0; i<2; i++)
 02CE 6627              clr R22
 02D0 17C0              xjmp L42
 02D2           L39:
 02D2                   .dbline 129
 02D2           ;     {
 02D2                   .dbline 130

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -