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

📄 nec_ir.lis

📁 sunplus spca514 cdmp3 源码
💻 LIS
📖 第 1 页 / 共 3 页
字号:
                       ;                 //ir_interrupt_set_edge(FALLING_EDGE);
                       ;                 state = IDLE;
 01B4 2224              clr R2
 01B6 20920100          sts L9,R2
 01BA                   .dbline 152
                       ;                 valid_repeat = 0;
 01BA 20920200          sts L13,R2
 01BE                   .dbline 153
                       ;                 break;
 01BE 7AC0              xjmp L15
 01C0                 L39:
 01C0                   .dbline 155
                       ;             }
                       ;             state = DATA1;
 01C0 84E0              ldi R24,4
 01C2 80930100          sts L9,R24
 01C6                   .dbline 157
                       ; /* TP0713, timer optimization */
                       ;             count = 0;
 01C6 2224              clr R2
 01C8 20920500          sts L10,R2
 01CC                   .dbline 158
                       ;             data1 = 0;
 01CC 20920600          sts L11,R2
 01D0                   .dbline 159
                       ;         }
 01D0                   .dbline 160
                       ;         break;
 01D0 71C0              xjmp L15
 01D2                 L41:
 01D2                   .dbline 163
                       ;     case DATA1:
                       ; /* TP0713, timer optimization */
                       ;         count++;
 01D2 80910500          lds R24,L10
 01D6 8F5F              subi R24,255    ; addi 1
 01D8 80930500          sts L10,R24
 01DC                   .dbline 164
                       ;         if (t0 > time_1125_usl&& t0 < time_1125_ush) 
 01DC 8DE0              ldi R24,13
 01DE 8417              cp R24,R20
 01E0 40F4              brsh L42
 01E2 4131              cpi R20,17
 01E4 30F4              brsh L42
 01E6                   .dbline 165
                       ;         {
 01E6                   .dbline 166
                       ;             data1 <<= 1;    /* a zero bit */
 01E6 20900600          lds R2,L11
 01EA 220C              lsl R2
 01EC 20920600          sts L11,R2
 01F0                   .dbline 167
                       ;         } 
 01F0 15C0              xjmp L43
 01F2                 L42:
 01F2                   .dbline 169
                       ;         else 
                       ;         {
 01F2                   .dbline 170
                       ;             if (t0 > time_2250_usl && t0 < time_2250_ush) 
 01F2 8AE1              ldi R24,26
 01F4 8417              cp R24,R20
 01F6 60F4              brsh L44
 01F8 4232              cpi R20,34
 01FA 50F4              brsh L44
 01FC                   .dbline 171
                       ;             {
 01FC                   .dbline 172
                       ;                 data1 = (data1 << 1) ;
 01FC 20900600          lds R2,L11
 0200 220C              lsl R2
 0202 20920600          sts L11,R2
 0206                   .dbline 173
                       ;                 data1++;   //| 1;   /* a one bit */
 0206 822D              mov R24,R2
 0208 8F5F              subi R24,255    ; addi 1
 020A 80930600          sts L11,R24
 020E                   .dbline 174
                       ;             } 
 020E 06C0              xjmp L45
 0210                 L44:
 0210                   .dbline 176
                       ;             else 
                       ;             {
 0210                   .dbline 178
                       ;                 //ir_interrupt_set_edge(FALLING_EDGE);
                       ;                 state = IDLE;
 0210 2224              clr R2
 0212 20920100          sts L9,R2
 0216                   .dbline 179
                       ;                 valid_repeat = 0;
 0216 20920200          sts L13,R2
 021A                   .dbline 180
                       ;                 break;
 021A 4CC0              xjmp L15
 021C                 L45:
 021C                   .dbline 182
                       ;             }
                       ;         }
 021C                 L43:
 021C                   .dbline 183
                       ;         if (count == 8) {
 021C 80910500          lds R24,L10
 0220 8830              cpi R24,8
 0222 09F0              breq X5
 0224 47C0              xjmp L15
 0226                 X5:
 0226                   .dbline 183
 0226                   .dbline 184
                       ;             state = DATA2;
 0226 85E0              ldi R24,5
 0228 80930100          sts L9,R24
 022C                   .dbline 185
                       ;             count = 0;
 022C 2224              clr R2
 022E 20920500          sts L10,R2
 0232                   .dbline 186
                       ;             data2 = 0;
 0232 20920700          sts L12,R2
 0236                   .dbline 187
                       ;         }
 0236                   .dbline 188
                       ;         break;
 0236 3EC0              xjmp L15
 0238                 L48:
 0238                   .dbline 191
                       ;     case DATA2:
                       ; /* TP0713, timer optimization */
                       ;         count++;
 0238 80910500          lds R24,L10
 023C 8F5F              subi R24,255    ; addi 1
 023E 80930500          sts L10,R24
 0242                   .dbline 192
                       ;         if (t0 > time_1125_usl && t0 < time_1125_ush) 
 0242 8DE0              ldi R24,13
 0244 8417              cp R24,R20
 0246 40F4              brsh L49
 0248 4131              cpi R20,17
 024A 30F4              brsh L49
 024C                   .dbline 193
                       ;         {
 024C                   .dbline 194
                       ;             data2 <<= 1;    /* a zero bit */
 024C 20900700          lds R2,L12
 0250 220C              lsl R2
 0252 20920700          sts L12,R2
 0256                   .dbline 195
                       ;         } 
 0256 15C0              xjmp L50
 0258                 L49:
 0258                   .dbline 197
                       ;         else 
                       ;         { 
 0258                   .dbline 198
                       ;             if (t0 > time_2250_usl && t0 < time_2250_ush) 
 0258 8AE1              ldi R24,26
 025A 8417              cp R24,R20
 025C 60F4              brsh L51
 025E 4232              cpi R20,34
 0260 50F4              brsh L51
 0262                   .dbline 199
                       ;             {
 0262                   .dbline 200
                       ;                 data2 = (data2 << 1);
 0262 20900700          lds R2,L12
 0266 220C              lsl R2
 0268 20920700          sts L12,R2
 026C                   .dbline 201
                       ;                 data2++;// | 1; /* a one bit */
 026C 822D              mov R24,R2
 026E 8F5F              subi R24,255    ; addi 1
 0270 80930700          sts L12,R24
 0274                   .dbline 202
                       ;             } 
 0274 06C0              xjmp L52
 0276                 L51:
 0276                   .dbline 204
                       ;             else 
                       ;             {
 0276                   .dbline 206
                       ;                 //ir_interrupt_set_edge(FALLING_EDGE);
                       ;                 state = IDLE;
 0276 2224              clr R2
 0278 20920100          sts L9,R2
 027C                   .dbline 207
                       ;                 valid_repeat = 0;
 027C 20920200          sts L13,R2
 0280                   .dbline 208
                       ;                 break;
 0280 19C0              xjmp L15
 0282                 L52:
 0282                   .dbline 210
                       ;             }
                       ;         }
 0282                 L50:
 0282                   .dbline 211
                       ;         if (count == 8) 
 0282 80910500          lds R24,L10
 0286 8830              cpi R24,8
 0288 A9F4              brne L15
 028A                   .dbline 212
                       ;         {
 028A                   .dbline 214
                       ;             //ir_interrupt_set_edge(FALLING_EDGE);
                       ;             state = IDLE;
 028A 2224              clr R2
 028C 20920100          sts L9,R2
 0290                   .dbline 215
                       ;             if (data1 == (~data2 )) 
 0290 20900700          lds R2,L12
 0294 2094              com R2
 0296 30900600          lds R3,L11
 029A 3214              cp R3,R2
 029C 59F4              brne L15
 029E                   .dbline 216
                       ;             { // Check if data is valid
 029E                   .dbline 217
                       ;                 key = data1;
 029E 232C              mov R2,R3
 02A0 20920200          sts L6,R2
 02A4                   .dbline 219
                       ;                 //dvd_key = data1;
                       ;                 key_buff = data1;
 02A4 3324              clr R3
 02A6 30920100          sts _key_buff+1,R3
 02AA 20920000          sts _key_buff,R2
 02AE                   .dbline 220
                       ;                 valid_repeat = 1;
 02AE 81E0              ldi R24,1
 02B0 80930200          sts L13,R24
 02B4                   .dbline 222
                       ;                     
                       ;             }
 02B4                   .dbline 223
                       ;         }
 02B4                   .dbline 224
                       ;         break;
 02B4                 L14:
 02B4                 L15:
 02B4                   .dbline -2
 02B4                   .dbline 226
                       ;     }
                       ; }
 02B4                 L5:
 02B4 0E940000          xcall pop_gset2
 02B8 0E940000          xcall pop_lset
 02BC                   .dbline 0 ; func end
 02BC 1895              reti
 02BE                   .dbsym r t0 20 c

⌨️ 快捷键说明

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