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

📄 hc595.lis

📁 ATMEGA128的EEPROM驱动程序
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0368 0E940000          xcall sub32f
 036C 0E940000          xcall fp2int
 0370 B801              movw R22,R16
 0372 6050              subi R22,0  ; offset = 32768
 0374 7048              sbci R23,128
 0376 08C0              xjmp L49
 0378           L48:
 0378 FE01              movw R30,R28
 037A 0081              ldd R16,z+0
 037C 1181              ldd R17,z+1
 037E 2281              ldd R18,z+2
 0380 3381              ldd R19,z+3
 0382 0E940000          xcall fp2int
 0386 B801              movw R22,R16
 0388           L49:
 0388 AB01              movw R20,R22
 038A                   .dbline 167
 038A           ;        point_pos=1;
 038A 81E0              ldi R24,1
 038C 80930100          sts _point_pos,R24
 0390                   .dbline 168
 0390           ;        Seg7_Led_Buf[3]=temp/1000;
 0390 28EE              ldi R18,1000
 0392 33E0              ldi R19,3
 0394 8A01              movw R16,R20
 0396 0E940000          xcall div16u
 039A 00930300          sts _Seg7_Led_Buf+3,R16
 039E                   .dbline 169
 039E           ;        Seg7_Led_Buf[2]=(temp%1000)/100;
 039E 28EE              ldi R18,1000
 03A0 33E0              ldi R19,3
 03A2 8A01              movw R16,R20
 03A4 0E940000          xcall mod16u
 03A8 24E6              ldi R18,100
 03AA 30E0              ldi R19,0
 03AC 0E940000          xcall div16u
 03B0 00930200          sts _Seg7_Led_Buf+2,R16
 03B4                   .dbline 170
 03B4           ;        Seg7_Led_Buf[1]=(temp%100)/10;
 03B4 24E6              ldi R18,100
 03B6 30E0              ldi R19,0
 03B8 8A01              movw R16,R20
 03BA 0E940000          xcall mod16u
 03BE 2AE0              ldi R18,10
 03C0 30E0              ldi R19,0
 03C2 0E940000          xcall div16u
 03C6 00930100          sts _Seg7_Led_Buf+1,R16
 03CA                   .dbline 171
 03CA           ;        Seg7_Led_Buf[0]=temp%10;
 03CA 2AE0              ldi R18,10
 03CC 30E0              ldi R19,0
 03CE 8A01              movw R16,R20
 03D0 0E940000          xcall mod16u
 03D4 00930000          sts _Seg7_Led_Buf,R16
 03D8                   .dbline 172
 03D8           ;        Seg7_Led_Update();
 03D8 30DE              xcall _Seg7_Led_Update
 03DA                   .dbline 173
 03DA           ;       }
 03DA 02C1              xjmp L46
 03DC           L45:
 03DC                   .dbline 174
 03DC           ;  else if(data>9)
 03DC 00E0              ldi R16,<L57
 03DE 10E0              ldi R17,>L57
 03E0 0E940000          xcall lpm32
 03E4 3A93              st -y,R19
 03E6 2A93              st -y,R18
 03E8 1A93              st -y,R17
 03EA 0A93              st -y,R16
 03EC FE01              movw R30,R28
 03EE            ; stack offset 4
 03EE 2484              ldd R2,z+12
 03F0 3584              ldd R3,z+13
 03F2 4684              ldd R4,z+14
 03F4 5784              ldd R5,z+15
 03F6 5A92              st -y,R5
 03F8 4A92              st -y,R4
 03FA 3A92              st -y,R3
 03FC 2A92              st -y,R2
 03FE 0E940000          xcall cmp32f
 0402 0CF0              brlt X1
 0404 77C0              xjmp L55
 0406           X1:
 0406                   .dbline 175
 0406           ;       {
 0406                   .dbline 176
 0406           ;        temp=data*100;
 0406 00E0              ldi R16,<L60
 0408 10E0              ldi R17,>L60
 040A 0E940000          xcall lpm32
 040E 3A93              st -y,R19
 0410 2A93              st -y,R18
 0412 1A93              st -y,R17
 0414 0A93              st -y,R16
 0416 FE01              movw R30,R28
 0418            ; stack offset 4
 0418 2484              ldd R2,z+12
 041A 3584              ldd R3,z+13
 041C 4684              ldd R4,z+14
 041E 5784              ldd R5,z+15
 0420 5A92              st -y,R5
 0422 4A92              st -y,R4
 0424 3A92              st -y,R3
 0426 2A92              st -y,R2
 0428 0E940000          xcall empy32f
 042C FE01              movw R30,R28
 042E 0083              std z+0,R16
 0430 1183              std z+1,R17
 0432 2283              std z+2,R18
 0434 3383              std z+3,R19
 0436 FE01              movw R30,R28
 0438 2080              ldd R2,z+0
 043A 3180              ldd R3,z+1
 043C 4280              ldd R4,z+2
 043E 5380              ldd R5,z+3
 0440 5A92              st -y,R5
 0442 4A92              st -y,R4
 0444 3A92              st -y,R3
 0446 2A92              st -y,R2
 0448 00E0              ldi R16,<L51
 044A 10E0              ldi R17,>L51
 044C 0E940000          xcall lpm32
 0450 3A93              st -y,R19
 0452 2A93              st -y,R18
 0454 1A93              st -y,R17
 0456 0A93              st -y,R16
 0458 0E940000          xcall cmp32f
 045C CCF0              brlt L58
 045E FE01              movw R30,R28
 0460 2080              ldd R2,z+0
 0462 3180              ldd R3,z+1
 0464 4280              ldd R4,z+2
 0466 5380              ldd R5,z+3
 0468 5A92              st -y,R5
 046A 4A92              st -y,R4
 046C 3A92              st -y,R3
 046E 2A92              st -y,R2
 0470 00E0              ldi R16,<L51
 0472 10E0              ldi R17,>L51
 0474 0E940000          xcall lpm32
 0478 3A93              st -y,R19
 047A 2A93              st -y,R18
 047C 1A93              st -y,R17
 047E 0A93              st -y,R16
 0480 0E940000          xcall sub32f
 0484 0E940000          xcall fp2int
 0488 B801              movw R22,R16
 048A 6050              subi R22,0  ; offset = 32768
 048C 7048              sbci R23,128
 048E 08C0              xjmp L59
 0490           L58:
 0490 FE01              movw R30,R28
 0492 0081              ldd R16,z+0
 0494 1181              ldd R17,z+1
 0496 2281              ldd R18,z+2
 0498 3381              ldd R19,z+3
 049A 0E940000          xcall fp2int
 049E B801              movw R22,R16
 04A0           L59:
 04A0 AB01              movw R20,R22
 04A2                   .dbline 177
 04A2           ;        point_pos=2;
 04A2 82E0              ldi R24,2
 04A4 80930100          sts _point_pos,R24
 04A8                   .dbline 178
 04A8           ;        Seg7_Led_Buf[3]=temp/1000;
 04A8 28EE              ldi R18,1000
 04AA 33E0              ldi R19,3
 04AC 8A01              movw R16,R20
 04AE 0E940000          xcall div16u
 04B2 00930300          sts _Seg7_Led_Buf+3,R16
 04B6                   .dbline 179
 04B6           ;        Seg7_Led_Buf[2]=(temp%1000)/100;
 04B6 28EE              ldi R18,1000
 04B8 33E0              ldi R19,3
 04BA 8A01              movw R16,R20
 04BC 0E940000          xcall mod16u
 04C0 24E6              ldi R18,100
 04C2 30E0              ldi R19,0
 04C4 0E940000          xcall div16u
 04C8 00930200          sts _Seg7_Led_Buf+2,R16
 04CC                   .dbline 180
 04CC           ;        Seg7_Led_Buf[1]=(temp%100)/10;
 04CC 24E6              ldi R18,100
 04CE 30E0              ldi R19,0
 04D0 8A01              movw R16,R20
 04D2 0E940000          xcall mod16u
 04D6 2AE0              ldi R18,10
 04D8 30E0              ldi R19,0
 04DA 0E940000          xcall div16u
 04DE 00930100          sts _Seg7_Led_Buf+1,R16
 04E2                   .dbline 181
 04E2           ;        Seg7_Led_Buf[0]=temp%10;
 04E2 2AE0              ldi R18,10
 04E4 30E0              ldi R19,0
 04E6 8A01              movw R16,R20
 04E8 0E940000          xcall mod16u
 04EC 00930000          sts _Seg7_Led_Buf,R16
 04F0                   .dbline 182
 04F0           ;        Seg7_Led_Update();
 04F0 A4DD              xcall _Seg7_Led_Update
 04F2                   .dbline 183
 04F2           ;       }
 04F2 76C0              xjmp L56
 04F4           L55:
 04F4                   .dbline 185
 04F4           ;  else
 04F4           ;       {
 04F4                   .dbline 186
 04F4           ;        temp=data*1000;
 04F4 00E0              ldi R16,<L66
 04F6 10E0              ldi R17,>L66
 04F8 0E940000          xcall lpm32
 04FC 3A93              st -y,R19
 04FE 2A93              st -y,R18
 0500 1A93              st -y,R17
 0502 0A93              st -y,R16
 0504 FE01              movw R30,R28
 0506            ; stack offset 4
 0506 2484              ldd R2,z+12
 0508 3584              ldd R3,z+13
 050A 4684              ldd R4,z+14
 050C 5784              ldd R5,z+15
 050E 5A92              st -y,R5
 0510 4A92              st -y,R4
 0512 3A92              st -y,R3
 0514 2A92              st -y,R2
 0516 0E940000          xcall empy32f
 051A FE01              movw R30,R28
 051C 0083              std z+0,R16
 051E 1183              std z+1,R17
 0520 2283              std z+2,R18
 0522 3383              std z+3,R19
 0524 FE01              movw R30,R28
 0526 2080              ldd R2,z+0
 0528 3180              ldd R3,z+1
 052A 4280              ldd R4,z+2
 052C 5380              ldd R5,z+3
 052E 5A92              st -y,R5
 0530 4A92              st -y,R4
 0532 3A92              st -y,R3
 0534 2A92              st -y,R2
 0536 00E0              ldi R16,<L51
 0538 10E0              ldi R17,>L51
 053A 0E940000          xcall lpm32
 053E 3A93              st -y,R19
 0540 2A93              st -y,R18
 0542 1A93              st -y,R17
 0544 0A93              st -y,R16
 0546 0E940000          xcall cmp32f
 054A CCF0              brlt L64
 054C FE01              movw R30,R28
 054E 2080              ldd R2,z+0
 0550 3180              ldd R3,z+1
 0552 4280              ldd R4,z+2
 0554 5380              ldd R5,z+3
 0556 5A92              st -y,R5
 0558 4A92              st -y,R4
 055A 3A92              st -y,R3
 055C 2A92              st -y,R2
 055E 00E0              ldi R16,<L51
 0560 10E0              ldi R17,>L51
 0562 0E940000          xcall lpm32
 0566 3A93              st -y,R19
 0568 2A93              st -y,R18
 056A 1A93              st -y,R17
 056C 0A93              st -y,R16
 056E 0E940000          xcall sub32f
 0572 0E940000          xcall fp2int
 0576 B801              movw R22,R16
 0578 6050              subi R22,0  ; offset = 32768
 057A 7048              sbci R23,128
 057C 08C0              xjmp L65
 057E           L64:
 057E FE01              movw R30,R28
 0580 0081              ldd R16,z+0
 0582 1181              ldd R17,z+1
 0584 2281              ldd R18,z+2
 0586 3381              ldd R19,z+3
 0588 0E940000          xcall fp2int
 058C B801              movw R22,R16
 058E           L65:
 058E AB01              movw R20,R22
 0590                   .dbline 187
 0590           ;        point_pos=3;
 0590 83E0              ldi R24,3
 0592 80930100          sts _point_pos,R24
 0596                   .dbline 188
 0596           ;        Seg7_Led_Buf[3]=temp/1000;
 0596 28EE              ldi R18,1000
 0598 33E0              ldi R19,3
 059A 8A01              movw R16,R20
 059C 0E940000          xcall div16u
 05A0 00930300          sts _Seg7_Led_Buf+3,R16
 05A4                   .dbline 189
 05A4           ;        Seg7_Led_Buf[2]=(temp%1000)/100;
 05A4 28EE              ldi R18,1000
 05A6 33E0              ldi R19,3
 05A8 8A01              movw R16,R20
 05AA 0E940000          xcall mod16u
 05AE 24E6              ldi R18,100
 05B0 30E0              ldi R19,0
 05B2 0E940000          xcall div16u
 05B6 00930200          sts _Seg7_Led_Buf+2,R16
 05BA                   .dbline 190
 05BA           ;        Seg7_Led_Buf[1]=(temp%100)/10;
 05BA 24E6              ldi R18,100
 05BC 30E0              ldi R19,0
 05BE 8A01              movw R16,R20
 05C0 0E940000          xcall mod16u
 05C4 2AE0              ldi R18,10
 05C6 30E0              ldi R19,0
 05C8 0E940000          xcall div16u
 05CC 00930100          sts _Seg7_Led_Buf+1,R16
 05D0                   .dbline 191
 05D0           ;        Seg7_Led_Buf[0]=temp%10;
 05D0 2AE0              ldi R18,10
 05D2 30E0              ldi R19,0
 05D4 8A01              movw R16,R20
 05D6 0E940000          xcall mod16u
 05DA 00930000          sts _Seg7_Led_Buf,R16
 05DE                   .dbline 192
 05DE           ;        Seg7_Led_Update();
 05DE 2DDD              xcall _Seg7_Led_Update
 05E0                   .dbline 193
 05E0           ;       }
 05E0           L56:
 05E0           L46:
 05E0           L43:
 05E0                   .dbline 194
 05E0           ;  point=0;
 05E0 2224              clr R2
 05E2 20920000          sts _point,R2
 05E6                   .dbline -2
 05E6           L40:
 05E6 2496              adiw R28,4
 05E8 0E940000          xcall pop_gset2
 05EC 2496              adiw R28,4
 05EE                   .dbline 0 ; func end
 05EE 0895              ret
 05F0                   .dbsym r temp 20 i
 05F0                   .dbsym l data 8 D
 05F0                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile D:\avrvi\AVRVi_m128_Starter_Kit\EEPROM_HC595\source\lib\hc595.c
 0000           _Seg7_Led_Buf::
 0000                   .blkb 4
 0004                   .dbsym e Seg7_Led_Buf _Seg7_Led_Buf A[4:4]c
                        .area lit(rom, con, rel)
 0011           L66:
 0011 00007A44          .word 0x0,0x447a
 0015           L60:
 0015 0000C842          .word 0x0,0x42c8
 0019           L57:
 0019 00001041          .word 0x0,0x4110
 001D           L51:
 001D 00000047          .word 0x0,0x4700
 0021           L50:
 0021 00002041          .word 0x0,0x4120
 0025           L47:
 0025 0000C642          .word 0x0,0x42c6
 0029           L44:
 0029 00C07944          .word 0xc000,0x4479
 002D           L41:
 002D ACC52737          .word 0xc5ac,0x3727

⌨️ 快捷键说明

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