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

📄 oput.lis

📁 avr单片机
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 028C 61E0              ldi R22,1
 028E                   .dbline 170
 028E           L21:
 028E                   .dbline 171
 028E 2AE0              ldi R18,10
 0290 30E0              ldi R19,0
 0292 8A01              movw R16,R20
 0294 0E940000          xcall div16s
 0298 A02E              mov R10,R16
 029A                   .dbline 171
 029A 2AE0              ldi R18,10
 029C 30E0              ldi R19,0
 029E 8A01              movw R16,R20
 02A0 0E940000          xcall mod16s
 02A4 A801              movw R20,R16
 02A6                   .dbline 171
 02A6 AA20              tst R10
 02A8 11F4              brne L26
 02AA 6623              tst R22
 02AC 89F0              breq L24
 02AE           L26:
 02AE                   .dbline 171
 02AE           ;    j=i/10;i%=10;if(j||head){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
 02AE                   .dbline 171
 02AE 20900100          lds R2,_TxOperateSp0
 02B2 3324              clr R3
 02B4 822D              mov R24,R2
 02B6 8F5F              subi R24,255    ; addi 1
 02B8 80930100          sts _TxOperateSp0,R24
 02BC 80E0              ldi R24,<_TxBuffer0
 02BE 90E0              ldi R25,>_TxBuffer0
 02C0 E22D              mov R30,R2
 02C2 FF27              clr R31
 02C4 E80F              add R30,R24
 02C6 F91F              adc R31,R25
 02C8 8A2D              mov R24,R10
 02CA 805D              subi R24,208    ; addi 48
 02CC 8083              std z+0,R24
 02CE                   .dbline 171
 02CE 61E0              ldi R22,1
 02D0                   .dbline 171
 02D0           L24:
 02D0                   .dbline 172
 02D0           ;    TxBuffer0[TxOperateSp0++]=i+0x30;
 02D0 20900100          lds R2,_TxOperateSp0
 02D4 3324              clr R3
 02D6 822D              mov R24,R2
 02D8 8F5F              subi R24,255    ; addi 1
 02DA 80930100          sts _TxOperateSp0,R24
 02DE 80E0              ldi R24,<_TxBuffer0
 02E0 90E0              ldi R25,>_TxBuffer0
 02E2 E22D              mov R30,R2
 02E4 FF27              clr R31
 02E6 E80F              add R30,R24
 02E8 F91F              adc R31,R25
 02EA CA01              movw R24,R20
 02EC C096              adiw R24,48
 02EE 8083              std z+0,R24
 02F0                   .dbline -2
 02F0           L13:
 02F0 0E940000          xcall pop_gset3
 02F4                   .dbline 0 ; func end
 02F4 0895              ret
 02F6                   .dbsym r head 22 c
 02F6                   .dbsym r j 10 c
 02F6                   .dbsym r i 20 I
 02F6                   .dbend
 02F6                   .dbfunc e tx0_uc_to_bcd _tx0_uc_to_bcd fV
 02F6           ;           head -> R22
 02F6           ;              j -> R10
 02F6           ;              i -> R20
                        .even
 02F6           _tx0_uc_to_bcd::
 02F6 0E940000          xcall push_gset3
 02FA 402F              mov R20,R16
 02FC                   .dbline -1
 02FC                   .dbline 178
 02FC           ; }
 02FC           ; /*******************************************************************************
 02FC           ; 将uc型变量转换为bcd码,并填充到TxBuffer0[]中
 02FC           ; ********************************************************************************/
 02FC           ; void tx0_uc_to_bcd(UC i)
 02FC           ; {  
 02FC                   .dbline 179
 02FC           ;    UC j,head=0;
 02FC 6627              clr R22
 02FE                   .dbline 180
 02FE           ;    j=i/100;i%=100;if(j){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
 02FE 14E6              ldi R17,100
 0300 042F              mov R16,R20
 0302 0E940000          xcall div8u
 0306 A02E              mov R10,R16
 0308                   .dbline 180
 0308 14E6              ldi R17,100
 030A 042F              mov R16,R20
 030C 0E940000          xcall mod8u
 0310 402F              mov R20,R16
 0312                   .dbline 180
 0312 AA20              tst R10
 0314 89F0              breq L28
 0316                   .dbline 180
 0316                   .dbline 180
 0316 20900100          lds R2,_TxOperateSp0
 031A 3324              clr R3
 031C 822D              mov R24,R2
 031E 8F5F              subi R24,255    ; addi 1
 0320 80930100          sts _TxOperateSp0,R24
 0324 80E0              ldi R24,<_TxBuffer0
 0326 90E0              ldi R25,>_TxBuffer0
 0328 E22D              mov R30,R2
 032A FF27              clr R31
 032C E80F              add R30,R24
 032E F91F              adc R31,R25
 0330 8A2D              mov R24,R10
 0332 805D              subi R24,208    ; addi 48
 0334 8083              std z+0,R24
 0336                   .dbline 180
 0336 61E0              ldi R22,1
 0338                   .dbline 180
 0338           L28:
 0338                   .dbline 181
 0338 1AE0              ldi R17,10
 033A 042F              mov R16,R20
 033C 0E940000          xcall div8u
 0340 A02E              mov R10,R16
 0342                   .dbline 181
 0342 1AE0              ldi R17,10
 0344 042F              mov R16,R20
 0346 0E940000          xcall mod8u
 034A 402F              mov R20,R16
 034C                   .dbline 181
 034C AA20              tst R10
 034E 11F4              brne L32
 0350 6623              tst R22
 0352 89F0              breq L30
 0354           L32:
 0354                   .dbline 181
 0354           ;    j=i/10;i%=10;if(j||head){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
 0354                   .dbline 181
 0354 20900100          lds R2,_TxOperateSp0
 0358 3324              clr R3
 035A 822D              mov R24,R2
 035C 8F5F              subi R24,255    ; addi 1
 035E 80930100          sts _TxOperateSp0,R24
 0362 80E0              ldi R24,<_TxBuffer0
 0364 90E0              ldi R25,>_TxBuffer0
 0366 E22D              mov R30,R2
 0368 FF27              clr R31
 036A E80F              add R30,R24
 036C F91F              adc R31,R25
 036E 8A2D              mov R24,R10
 0370 805D              subi R24,208    ; addi 48
 0372 8083              std z+0,R24
 0374                   .dbline 181
 0374 61E0              ldi R22,1
 0376                   .dbline 181
 0376           L30:
 0376                   .dbline 182
 0376           ;    TxBuffer0[TxOperateSp0++]=i+0x30;
 0376 20900100          lds R2,_TxOperateSp0
 037A 3324              clr R3
 037C 822D              mov R24,R2
 037E 8F5F              subi R24,255    ; addi 1
 0380 80930100          sts _TxOperateSp0,R24
 0384 80E0              ldi R24,<_TxBuffer0
 0386 90E0              ldi R25,>_TxBuffer0
 0388 E22D              mov R30,R2
 038A FF27              clr R31
 038C E80F              add R30,R24
 038E F91F              adc R31,R25
 0390 842F              mov R24,R20
 0392 805D              subi R24,208    ; addi 48
 0394 8083              std z+0,R24
 0396                   .dbline -2
 0396           L27:
 0396 0E940000          xcall pop_gset3
 039A                   .dbline 0 ; func end
 039A 0895              ret
 039C                   .dbsym r head 22 c
 039C                   .dbsym r j 10 c
 039C                   .dbsym r i 20 c
 039C                   .dbend
 039C                   .dbfunc e io_test _io_test fV
 039C           ;          Delay -> R20,R21
 039C           ;              i -> R22
                        .even
 039C           _io_test::
 039C 0E940000          xcall push_gset2
 03A0                   .dbline -1
 03A0                   .dbline 187
 03A0           ; }
 03A0           ; 
 03A0           ; 
 03A0           ;                                                                                                                                                                                                                                       
 03A0           ; void io_test(void){
 03A0                   .dbline 188
 03A0           ;    UC i=0;
 03A0 6627              clr R22
 03A2                   .dbline 190
 03A2           ;    UI Delay;
 03A2           ;    if(T0Count4>500){//||(RxFlag==ON)){
 03A2 84EF              ldi R24,500
 03A4 91E0              ldi R25,1
 03A6 20901300          lds R2,_T0Count4
 03AA 30901400          lds R3,_T0Count4+1
 03AE 8215              cp R24,R2
 03B0 9305              cpc R25,R3
 03B2 08F0              brlo X0
 03B4 EBC1              xjmp L34
 03B6           X0:
 03B6                   .dbline 190
 03B6                   .dbline 191
 03B6           ;       T0Count4=0;
 03B6 2224              clr R2
 03B8 3324              clr R3
 03BA 30921400          sts _T0Count4+1,R3
 03BE 20921300          sts _T0Count4,R2
 03C2                   .dbline 193
 03C2           ; //      RxFlag=OFF;  
 03C2           ;       OutputByte0Reg=OutputTable[TestIOSp][0];
 03C2 2090A700          lds R2,_TestIOSp
 03C6 83E0              ldi R24,3
 03C8 829D              mul R24,R2
 03CA F001              movw R30,R0
 03CC 80E0              ldi R24,<_OutputTable
 03CE 90E0              ldi R25,>_OutputTable
 03D0 E80F              add R30,R24
 03D2 F91F              adc R31,R25
 03D4 2080              ldd R2,z+0
 03D6 2092C901          sts _OutputByte0Reg,R2
 03DA                   .dbline 194
 03DA           ;       OutputByte1Reg=OutputTable[TestIOSp][1];
 03DA 2090A700          lds R2,_TestIOSp
 03DE 83E0              ldi R24,3
 03E0 829D              mul R24,R2
 03E2 F001              movw R30,R0
 03E4 80E0              ldi R24,<_OutputTable+1
 03E6 90E0              ldi R25,>_OutputTable+1
 03E8 E80F              add R30,R24
 03EA F91F              adc R31,R25
 03EC 2080              ldd R2,z+0
 03EE 2092C801          sts _OutputByte1Reg,R2
 03F2                   .dbline 195
 03F2           ;       OutputByte2Reg=OutputTable[TestIOSp][2];
 03F2 2090A700          lds R2,_TestIOSp
 03F6 83E0              ldi R24,3
 03F8 829D              mul R24,R2
 03FA F001              movw R30,R0
 03FC 80E0              ldi R24,<_OutputTable+2
 03FE 90E0              ldi R25,>_OutputTable+2
 0400 E80F              add R30,R24
 0402 F91F              adc R31,R25
 0404 2080              ldd R2,z+0
 0406 2092C701          sts _OutputByte2Reg,R2
 040A                   .dbline 197
 040A           ;    
 040A           ;       IOAddr[OutputByte0]=OutputByte0Reg;
 040A 2090C901          lds R2,_OutputByte0Reg
 040E 209204F0          sts _IOAddr+4,R2
 0412                   .dbline 198
 0412           ;       IOAddr[OutputByte1]=OutputByte1Reg;
 0412 2090C801          lds R2,_OutputByte1Reg
 0416 209205F0          sts _IOAddr+5,R2
 041A                   .dbline 199
 041A           ;       IOAddr[OutputByte2]=OutputByte2Reg;
 041A 2090C701          lds R2,_OutputByte2Reg
 041E 209206F0          sts _IOAddr+6,R2
 0422                   .dbline 201
 0422 4427              clr R20
 0424 5527              clr R21
 0426 02C0              xjmp L44
 0428           L41:
 0428                   .dbline 201
 0428           L42:
 0428                   .dbline 201
 0428 4F5F              subi R20,255  ; offset = 1
 042A 5F4F              sbci R21,255
 042C           L44:
 042C                   .dbline 201
 042C           ;    
 042C           ;       for(Delay=0;Delay<5000;Delay++);
 042C 4838              cpi R20,136
 042E E3E1              ldi R30,19
 0430 5E07              cpc R21,R30
 0432 D0F3              brlo L41
 0434 0DC0              xjmp L46
 0436           L45:
 0436                   .dbline 203
 0436           ;    
 0436           ;       while(i<5){
 0436                   .dbline 204
 0436           ;          if(InputByte0Reg==IOAddr[InputByte0])i++;
 0436 209000F0          lds R2,_IOAddr
 043A 30902400          lds R3,_InputByte0Reg
 043E 3214              cp R3,R2
 0440 11F4              brne L48
 0442                   .dbline 204
 0442 6395              inc R22
 0444 05C0              xjmp L49
 0446           L48:
 0446                   .dbline 205
 0446           ;          else {InputByte0Reg=IOAddr[InputByte0];i=0;}
 0446                   .dbline 205
 0446 209000F0          lds R2,_IOAddr
 044A 20922400          sts _InputByte0Reg,R2
 044E                   .dbline 205
 044E 6627              clr R22
 0450                   .dbline 205
 0450           L49:
 0450                   .dbline 206
 0450           L46:
 0450                   .dbline 203
 0450 6530              cpi R22,5
 0452 88F3              brlo L45
 0454                   .dbline 207
 0454           ;       }
 0454           ;       i=0;
 0454 6627              clr R22
 0456 0DC0              xjmp L51
 0458           L50:
 0458                   

⌨️ 快捷键说明

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