📄 avr320240.lis
字号:
037A 2A85 ldd R18,y+10
037C 3B85 ldd R19,y+11
037E 8501 movw R16,R10
0380 ACDF xcall _ShowHZ
0382 .dbline -2
0382 L49:
0382 .dbline 0 ; func end
0382 2296 adiw R28,2
0384 0C940000 xjmp pop_xgset30FC
0388 .dbsym r ImgData 12 pkc
0388 .dbsym r CodeID 12 i
0388 .dbsym r i 20 c
0388 .dbsym l Y 10 i
0388 .dbsym r X 10 i
0388 .dbsym r UniCode 14 i
0388 .dbend
0388 .dbfunc e Display_ASCII _Display_ASCII fV
0388 ; ImgData -> R12,R13
0388 ; Y -> y+10
0388 ; X -> R10
0388 ; Chr -> R12
.even
0388 _Display_ASCII::
0388 0E940000 xcall push_xgset003C
038C A22E mov R10,R18
038E C02E mov R12,R16
0390 2697 sbiw R28,6
0392 .dbline -1
0392 .dbline 470
0392 ;
0392 ; }
0392 ; //-------------------------------------------------------------------------------
0392 ; void Display_ASCII(Uchar Chr,Uchar X,Uint Y)
0392 ; {
0392 .dbline 472
0392 ; Uchar const * ImgData;
0392 ; {
0392 .dbline 474
0392 ; //ImgData=ASC_MSK+12*((Uchar)*Chr-1);
0392 ; ImgData=ASC_MSK+(12*(Chr-1));
0392 8CE0 ldi R24,12
0394 8C9D mul R24,R12
0396 6001 movw R12,R0
0398 80E0 ldi R24,<_ASC_MSK-12
039A 90E0 ldi R25,>_ASC_MSK-12
039C C80E add R12,R24
039E D91E adc R13,R25
03A0 .dbline 476
03A0 ;
03A0 ; ShowPicture(X,Y,8,12,ImgData);
03A0 DD82 std y+5,R13
03A2 CC82 std y+4,R12
03A4 8CE0 ldi R24,12
03A6 90E0 ldi R25,0
03A8 9B83 std y+3,R25
03AA 8A83 std y+2,R24
03AC 88E0 ldi R24,8
03AE 9983 std y+1,R25
03B0 8883 std y+0,R24
03B2 2A85 ldd R18,y+10
03B4 3B85 ldd R19,y+11
03B6 0A2D mov R16,R10
03B8 1127 clr R17
03BA 3CDF xcall _ShowPicture
03BC .dbline 478
03BC ;
03BC ; }
03BC .dbline -2
03BC L56:
03BC .dbline 0 ; func end
03BC 2696 adiw R28,6
03BE 0C940000 xjmp pop_xgset003C
03C2 .dbsym r ImgData 12 pkc
03C2 .dbsym l Y 10 i
03C2 .dbsym r X 10 c
03C2 .dbsym r Chr 12 c
03C2 .dbend
03C2 .dbfunc e DisTest _DisTest fV
.even
03C2 _DisTest::
03C2 2297 sbiw R28,2
03C4 .dbline -1
03C4 .dbline 482
03C4 ; }
03C4 ;
03C4 ; void DisTest(void)
03C4 ; {
03C4 .dbline 483
03C4 ; Display_ASCII(0x30,0,0); //0
03C4 2224 clr R2
03C6 3324 clr R3
03C8 3982 std y+1,R3
03CA 2882 std y+0,R2
03CC 2227 clr R18
03CE 00E3 ldi R16,48
03D0 DBDF xcall _Display_ASCII
03D2 .dbline 484
03D2 ; Display_ASCII(0x31,8,12); //1
03D2 8CE0 ldi R24,12
03D4 90E0 ldi R25,0
03D6 9983 std y+1,R25
03D8 8883 std y+0,R24
03DA 28E0 ldi R18,8
03DC 01E3 ldi R16,49
03DE D4DF xcall _Display_ASCII
03E0 .dbline 485
03E0 ; Display_ASCII(0x32,16,24);//2
03E0 88E1 ldi R24,24
03E2 90E0 ldi R25,0
03E4 9983 std y+1,R25
03E6 8883 std y+0,R24
03E8 20E1 ldi R18,16
03EA 02E3 ldi R16,50
03EC CDDF xcall _Display_ASCII
03EE .dbline 486
03EE ; Display_ASCII(0x33,24,36);//3
03EE 84E2 ldi R24,36
03F0 90E0 ldi R25,0
03F2 9983 std y+1,R25
03F4 8883 std y+0,R24
03F6 28E1 ldi R18,24
03F8 03E3 ldi R16,51
03FA C6DF xcall _Display_ASCII
03FC .dbline 487
03FC ; Display_ASCII(0x34,32,48);//4
03FC 80E3 ldi R24,48
03FE 90E0 ldi R25,0
0400 9983 std y+1,R25
0402 8883 std y+0,R24
0404 20E2 ldi R18,32
0406 04E3 ldi R16,52
0408 BFDF xcall _Display_ASCII
040A .dbline 488
040A ; Display_ASCII(0x35,40,60);//5
040A 8CE3 ldi R24,60
040C 90E0 ldi R25,0
040E 9983 std y+1,R25
0410 8883 std y+0,R24
0412 28E2 ldi R18,40
0414 05E3 ldi R16,53
0416 B8DF xcall _Display_ASCII
0418 .dbline -2
0418 L58:
0418 .dbline 0 ; func end
0418 2296 adiw R28,2
041A 0895 ret
041C .dbend
041C .dbfunc e Display_String _Display_String fV
041C ; i -> R10
041C ; lenth -> y+12
041C ; Y -> R22,R23
041C ; X -> R20,R21
041C ; p -> R12,R13
.even
041C _Display_String::
041C 0E940000 xcall push_xgsetF03C
0420 A901 movw R20,R18
0422 6801 movw R12,R16
0424 2297 sbiw R28,2
0426 6A85 ldd R22,y+10
0428 7B85 ldd R23,y+11
042A .dbline -1
042A .dbline 506
042A ;
042A ; }
042A ; //-------------------------------------------------------------------------------
042A ; /******************************************************************************
042A ; ** 函数名: void Display_String(Uchar code *p,Uint X,
042A ; Uint Y,Uint lenth)
042A ;
042A ; ** 描述: 显示一个字符串
042A ;
042A ; ** 修改的全局变量:
042A ;
042A ; ** 输入参数: Uint X,Uint Y :显示起始地址
042A ;
042A ; lenth :字符串长度
042A ; ** 返回值:
042A ; *******************************************************************************/
042A ; void Display_String(Uchar const *p,Uint X,Uint Y,Uint lenth)
042A ; { Uchar i;
042A .dbline 509
042A ; // Uchar const * chr;
042A ; // chr=p;
042A ; for(i=0;i<lenth;i++)
042A AA24 clr R10
042C 3CC0 xjmp L63
042E L60:
042E .dbline 510
042E ; {
042E .dbline 511
042E ; if(X>319){Y=Y+16;X=0;}
042E 8FE3 ldi R24,319
0430 91E0 ldi R25,1
0432 8417 cp R24,R20
0434 9507 cpc R25,R21
0436 20F4 brsh L64
0438 X14:
0438 .dbline 511
0438 .dbline 511
0438 605F subi R22,240 ; offset = 16
043A 7F4F sbci R23,255
043C .dbline 511
043C 4427 clr R20
043E 5527 clr R21
0440 .dbline 511
0440 L64:
0440 .dbline 513
0440 ;
0440 ; if(p[i]<0x80) {Display_ASCII(p[i],X,Y);X=X+8;/*chr++;*/} //ASCII
0440 EA2D mov R30,R10
0442 FF27 clr R31
0444 EC0D add R30,R12
0446 FD1D adc R31,R13
0448 8491 lpm R24,Z
044A 8038 cpi R24,128
044C 60F4 brsh L66
044E X15:
044E .dbline 513
044E .dbline 513
044E 7983 std y+1,R23
0450 6883 std y+0,R22
0452 242F mov R18,R20
0454 EA2D mov R30,R10
0456 FF27 clr R31
0458 EC0D add R30,R12
045A FD1D adc R31,R13
045C 0491 lpm R16,Z
045E 94DF xcall _Display_ASCII
0460 .dbline 513
0460 485F subi R20,248 ; offset = 8
0462 5F4F sbci R21,255
0464 .dbline 513
0464 1FC0 xjmp L67
0466 L66:
0466 .dbline 515
0466 ; else
0466 ; {
0466 .dbline 516
0466 ; Display_Chinese((p[i])*256+p[i+1],X,Y);//中文
0466 7983 std y+1,R23
0468 6883 std y+0,R22
046A 2A2C mov R2,R10
046C 3324 clr R3
046E 2C0C add R2,R12
0470 3D1C adc R3,R13
0472 2101 movw R4,R2
0474 F101 movw R30,R2
0476 2490 lpm R2,Z
0478 3324 clr R3
047A 00E0 ldi R16,256
047C 11E0 ldi R17,1
047E 4F93 push R20
0480 5F93 push R21
0482 9101 movw R18,R2
0484 0E940000 xcall empy16s
0488 1801 movw R2,R16
048A 3F91 pop R19
048C 2F91 pop R18
048E F201 movw R30,R4
0490 3196 adiw R30,1
0492 4490 lpm R4,Z
0494 5524 clr R5
0496 240C add R2,R4
0498 351C adc R3,R5
049A 8101 movw R16,R2
049C 33DF xcall _Display_Chinese
049E .dbline 518
049E ; // chr=chr+2;
049E ; i++;
049E A394 inc R10
04A0 .dbline 519
04A0 ; X=X+16;
04A0 405F subi R20,240 ; offset = 16
04A2 5F4F sbci R21,255
04A4 .dbline 520
04A4 ; }
04A4 L67:
04A4 .dbline 522
04A4 ;
04A4 ; }
04A4 L61:
04A4 .dbline 509
04A4 A394 inc R10
04A6 L63:
04A6 .dbline 509
04A6 2A2C mov R2,R10
04A8 3324 clr R3
04AA 0C84 ldd R0,y+12
04AC 1D84 ldd R1,y+13
04AE 2014 cp R2,R0
04B0 3104 cpc R3,R1
04B2 08F4 brsh X17
04B4 BCCF xjmp L60
04B6 X17:
04B6 X16:
04B6 .dbline -2
04B6 L59:
04B6 .dbline 0 ; func end
04B6 2296 adiw R28,2
04B8 0C940000 xjmp pop_xgsetF03C
04BC .dbsym r i 10 c
04BC .dbsym l lenth 12 i
04BC .dbsym r Y 22 i
04BC .dbsym r X 20 i
04BC .dbsym r p 12 pkc
04BC .dbend
.area bss(ram, con, rel)
0000 .dbfile D:\iccv7avr\AVR_C320240\avr320240.c
0000 _hzIndex::
0000 .blkb 2
0002 .dbsym e hzIndex _hzIndex A[2:1]ki
0002 _ASC_MSK::
0002 .blkb 1
0003 .dbsym e ASC_MSK _ASC_MSK A[1:1]kc
0003 _hzdot::
0003 .blkb 1
0004 .dbsym e hzdot _hzdot A[1:1]kc
0004 ;
0004 ; }
0004 ;
0004 ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -