📄 output.lis
字号:
01DA AA20 tst R10
01DC 11F4 brne L20
01DE 6623 tst R22
01E0 89F0 breq L18
01E2 L20:
01E2 .dbline 169
01E2 ; j=i/1000;i%=1000;if(j||head){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
01E2 .dbline 169
01E2 20900001 lds R2,_TxOperateSp0
01E6 3324 clr R3
01E8 822D mov R24,R2
01EA 8F5F subi R24,255 ; addi 1
01EC 80930001 sts _TxOperateSp0,R24
01F0 80E0 ldi R24,<_TxBuffer0
01F2 90E0 ldi R25,>_TxBuffer0
01F4 E22D mov R30,R2
01F6 FF27 clr R31
01F8 E80F add R30,R24
01FA F91F adc R31,R25
01FC 8A2D mov R24,R10
01FE 805D subi R24,208 ; addi 48
0200 8083 std z+0,R24
0202 .dbline 169
0202 61E0 ldi R22,1
0204 .dbline 169
0204 L18:
0204 .dbline 170
0204 24E6 ldi R18,100
0206 30E0 ldi R19,0
0208 8A01 movw R16,R20
020A 0E940000 xcall div16s
020E A02E mov R10,R16
0210 .dbline 170
0210 24E6 ldi R18,100
0212 30E0 ldi R19,0
0214 8A01 movw R16,R20
0216 0E940000 xcall mod16s
021A A801 movw R20,R16
021C .dbline 170
021C AA20 tst R10
021E 11F4 brne L23
0220 6623 tst R22
0222 89F0 breq L21
0224 L23:
0224 .dbline 170
0224 ; j=i/100;i%=100;if(j||head){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
0224 .dbline 170
0224 20900001 lds R2,_TxOperateSp0
0228 3324 clr R3
022A 822D mov R24,R2
022C 8F5F subi R24,255 ; addi 1
022E 80930001 sts _TxOperateSp0,R24
0232 80E0 ldi R24,<_TxBuffer0
0234 90E0 ldi R25,>_TxBuffer0
0236 E22D mov R30,R2
0238 FF27 clr R31
023A E80F add R30,R24
023C F91F adc R31,R25
023E 8A2D mov R24,R10
0240 805D subi R24,208 ; addi 48
0242 8083 std z+0,R24
0244 .dbline 170
0244 61E0 ldi R22,1
0246 .dbline 170
0246 L21:
0246 .dbline 171
0246 2AE0 ldi R18,10
0248 30E0 ldi R19,0
024A 8A01 movw R16,R20
024C 0E940000 xcall div16s
0250 A02E mov R10,R16
0252 .dbline 171
0252 2AE0 ldi R18,10
0254 30E0 ldi R19,0
0256 8A01 movw R16,R20
0258 0E940000 xcall mod16s
025C A801 movw R20,R16
025E .dbline 171
025E AA20 tst R10
0260 11F4 brne L26
0262 6623 tst R22
0264 89F0 breq L24
0266 L26:
0266 .dbline 171
0266 ; j=i/10;i%=10;if(j||head){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
0266 .dbline 171
0266 20900001 lds R2,_TxOperateSp0
026A 3324 clr R3
026C 822D mov R24,R2
026E 8F5F subi R24,255 ; addi 1
0270 80930001 sts _TxOperateSp0,R24
0274 80E0 ldi R24,<_TxBuffer0
0276 90E0 ldi R25,>_TxBuffer0
0278 E22D mov R30,R2
027A FF27 clr R31
027C E80F add R30,R24
027E F91F adc R31,R25
0280 8A2D mov R24,R10
0282 805D subi R24,208 ; addi 48
0284 8083 std z+0,R24
0286 .dbline 171
0286 61E0 ldi R22,1
0288 .dbline 171
0288 L24:
0288 .dbline 172
0288 ; TxBuffer0[TxOperateSp0++]=i+0x30;
0288 20900001 lds R2,_TxOperateSp0
028C 3324 clr R3
028E 822D mov R24,R2
0290 8F5F subi R24,255 ; addi 1
0292 80930001 sts _TxOperateSp0,R24
0296 80E0 ldi R24,<_TxBuffer0
0298 90E0 ldi R25,>_TxBuffer0
029A E22D mov R30,R2
029C FF27 clr R31
029E E80F add R30,R24
02A0 F91F adc R31,R25
02A2 CA01 movw R24,R20
02A4 C096 adiw R24,48
02A6 8083 std z+0,R24
02A8 .dbline -2
02A8 L13:
02A8 0E940000 xcall pop_gset3
02AC .dbline 0 ; func end
02AC 0895 ret
02AE .dbsym r head 22 c
02AE .dbsym r j 10 c
02AE .dbsym r i 20 I
02AE .dbend
02AE .dbfunc e tx0_uc_to_bcd _tx0_uc_to_bcd fV
02AE ; head -> R22
02AE ; j -> R10
02AE ; i -> R20
.even
02AE _tx0_uc_to_bcd::
02AE 0E940000 xcall push_gset3
02B2 402F mov R20,R16
02B4 .dbline -1
02B4 .dbline 178
02B4 ; }
02B4 ; /*******************************************************************************
02B4 ; 将uc型变量转换为bcd码,并填充到TxBuffer0[]中
02B4 ; ********************************************************************************/
02B4 ; void tx0_uc_to_bcd(UC i)
02B4 ; {
02B4 .dbline 179
02B4 ; UC j,head=0;
02B4 6627 clr R22
02B6 .dbline 180
02B6 ; j=i/100;i%=100;if(j){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
02B6 14E6 ldi R17,100
02B8 042F mov R16,R20
02BA 0E940000 xcall div8u
02BE A02E mov R10,R16
02C0 .dbline 180
02C0 14E6 ldi R17,100
02C2 042F mov R16,R20
02C4 0E940000 xcall mod8u
02C8 402F mov R20,R16
02CA .dbline 180
02CA AA20 tst R10
02CC 89F0 breq L28
02CE .dbline 180
02CE .dbline 180
02CE 20900001 lds R2,_TxOperateSp0
02D2 3324 clr R3
02D4 822D mov R24,R2
02D6 8F5F subi R24,255 ; addi 1
02D8 80930001 sts _TxOperateSp0,R24
02DC 80E0 ldi R24,<_TxBuffer0
02DE 90E0 ldi R25,>_TxBuffer0
02E0 E22D mov R30,R2
02E2 FF27 clr R31
02E4 E80F add R30,R24
02E6 F91F adc R31,R25
02E8 8A2D mov R24,R10
02EA 805D subi R24,208 ; addi 48
02EC 8083 std z+0,R24
02EE .dbline 180
02EE 61E0 ldi R22,1
02F0 .dbline 180
02F0 L28:
02F0 .dbline 181
02F0 1AE0 ldi R17,10
02F2 042F mov R16,R20
02F4 0E940000 xcall div8u
02F8 A02E mov R10,R16
02FA .dbline 181
02FA 1AE0 ldi R17,10
02FC 042F mov R16,R20
02FE 0E940000 xcall mod8u
0302 402F mov R20,R16
0304 .dbline 181
0304 AA20 tst R10
0306 11F4 brne L32
0308 6623 tst R22
030A 89F0 breq L30
030C L32:
030C .dbline 181
030C ; j=i/10;i%=10;if(j||head){TxBuffer0[TxOperateSp0++]=j+0x30;head=1;}
030C .dbline 181
030C 20900001 lds R2,_TxOperateSp0
0310 3324 clr R3
0312 822D mov R24,R2
0314 8F5F subi R24,255 ; addi 1
0316 80930001 sts _TxOperateSp0,R24
031A 80E0 ldi R24,<_TxBuffer0
031C 90E0 ldi R25,>_TxBuffer0
031E E22D mov R30,R2
0320 FF27 clr R31
0322 E80F add R30,R24
0324 F91F adc R31,R25
0326 8A2D mov R24,R10
0328 805D subi R24,208 ; addi 48
032A 8083 std z+0,R24
032C .dbline 181
032C 61E0 ldi R22,1
032E .dbline 181
032E L30:
032E .dbline 182
032E ; TxBuffer0[TxOperateSp0++]=i+0x30;
032E 20900001 lds R2,_TxOperateSp0
0332 3324 clr R3
0334 822D mov R24,R2
0336 8F5F subi R24,255 ; addi 1
0338 80930001 sts _TxOperateSp0,R24
033C 80E0 ldi R24,<_TxBuffer0
033E 90E0 ldi R25,>_TxBuffer0
0340 E22D mov R30,R2
0342 FF27 clr R31
0344 E80F add R30,R24
0346 F91F adc R31,R25
0348 842F mov R24,R20
034A 805D subi R24,208 ; addi 48
034C 8083 std z+0,R24
034E .dbline -2
034E L27:
034E 0E940000 xcall pop_gset3
0352 .dbline 0 ; func end
0352 0895 ret
0354 .dbsym r head 22 c
0354 .dbsym r j 10 c
0354 .dbsym r i 20 c
0354 .dbend
0354 .dbfunc e io_test _io_test fV
0354 ; Delay -> R20,R21
0354 ; i -> R22
.even
0354 _io_test::
0354 0E940000 xcall push_gset2
0358 .dbline -1
0358 .dbline 187
0358 ; }
0358 ;
0358 ;
0358 ;
0358 ; void io_test(void){
0358 .dbline 188
0358 ; UC i=0;
0358 6627 clr R22
035A .dbline 190
035A ; UI Delay;
035A ; if(T0Count0>500){//||(RxFlag==ON)){
035A 84EF ldi R24,500
035C 91E0 ldi R25,1
035E 20907500 lds R2,_T0Count0
0362 30907600 lds R3,_T0Count0+1
0366 8215 cp R24,R2
0368 9305 cpc R25,R3
036A 08F0 brlo X0
036C EBC1 xjmp L34
036E X0:
036E .dbline 190
036E .dbline 191
036E ; T0Count0=0;
036E 2224 clr R2
0370 3324 clr R3
0372 30927600 sts _T0Count0+1,R3
0376 20927500 sts _T0Count0,R2
037A .dbline 193
037A ; // RxFlag=OFF;
037A ; OutputByte0Reg=OutputTable[TestIOSp][0];
037A 20907400 lds R2,_TestIOSp
037E 83E0 ldi R24,3
0380 829D mul R24,R2
0382 F001 movw R30,R0
0384 80E0 ldi R24,<_OutputTable
0386 90E0 ldi R25,>_OutputTable
0388 E80F add R30,R24
038A F91F adc R31,R25
038C 2080 ldd R2,z+0
038E 20920402 sts _OutputByte0Reg,R2
0392 .dbline 194
0392 ; OutputByte1Reg=OutputTable[TestIOSp][1];
0392 20907400 lds R2,_TestIOSp
0396 83E0 ldi R24,3
0398 829D mul R24,R2
039A F001 movw R30,R0
039C 80E0 ldi R24,<_OutputTable+1
039E 90E0 ldi R25,>_OutputTable+1
03A0 E80F add R30,R24
03A2 F91F adc R31,R25
03A4 2080 ldd R2,z+0
03A6 20920302 sts _OutputByte1Reg,R2
03AA .dbline 195
03AA ; OutputByte2Reg=OutputTable[TestIOSp][2];
03AA 20907400 lds R2,_TestIOSp
03AE 83E0 ldi R24,3
03B0 829D mul R24,R2
03B2 F001 movw R30,R0
03B4 80E0 ldi R24,<_OutputTable+2
03B6 90E0 ldi R25,>_OutputTable+2
03B8 E80F add R30,R24
03BA F91F adc R31,R25
03BC 2080 ldd R2,z+0
03BE 20920202 sts _OutputByte2Reg,R2
03C2 .dbline 197
03C2 ;
03C2 ; IOAddr[OutputByte0]=OutputByte0Reg;
03C2 20900402 lds R2,_OutputByte0Reg
03C6 209204F0 sts _IOAddr+4,R2
03CA .dbline 198
03CA ; IOAddr[OutputByte1]=OutputByte1Reg;
03CA 20900302 lds R2,_OutputByte1Reg
03CE 209205F0 sts _IOAddr+5,R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -