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

📄 m16_t1_compare.lis

📁 我最近使用的一些程序代码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module M16_T1_Compare.c
                        .area data(ram, con, rel)
 0000           _Table::
 0000                   .blkb 2
                        .area idata
 0000 3F06              .byte 63,6
                        .area data(ram, con, rel)
 0002                   .blkb 2
                        .area idata
 0002 5B4F              .byte 91,'O
                        .area data(ram, con, rel)
 0004                   .blkb 2
                        .area idata
 0004 666D              .byte 'f,'m
                        .area data(ram, con, rel)
 0006                   .blkb 2
                        .area idata
 0006 7D07              .byte 125,7
                        .area data(ram, con, rel)
 0008                   .blkb 2
                        .area idata
 0008 7F6F              .byte 127,'o
                        .area data(ram, con, rel)
 000A                   .dbfile F:\myavr\temp\M16_T1_Compare\M16_T1_Compare.c
 000A                   .dbsym e Table _Table A[10:10]c
 000A           _Data::
 000A                   .blkb 2
                        .area idata
 000A 0000              .byte 0,0
                        .area data(ram, con, rel)
 000C                   .dbfile F:\myavr\temp\M16_T1_Compare\M16_T1_Compare.c
 000C                   .blkb 2
                        .area idata
 000C 0001              .byte 0,1
                        .area data(ram, con, rel)
 000E                   .dbfile F:\myavr\temp\M16_T1_Compare\M16_T1_Compare.c
 000E                   .dbsym e Data _Data A[4:4]c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\myavr\temp\M16_T1_Compare\M16_T1_Compare.c
 0000                   .dbfunc e DelayMs _DelayMs fV
 0000           ;              j -> R20
 0000           ;              i -> R16
                        .even
 0000           _DelayMs::
 0000 0E940000          xcall push_gset1
 0004                   .dbline -1
 0004                   .dbline 10
 0004           ; #include<iom16v.h>
 0004           ; #define uchar unsigned char
 0004           ; #define uint unsigned int
 0004           ; 
 0004           ; uchar Table[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
 0004           ; uchar Data[4]={0,0,0,1};
 0004           ; uchar Key1,Key2,Key3;
 0004           ; 
 0004           ; void DelayMs(uchar i)
 0004           ; {
 0004                   .dbline 12
 0004           ;  uchar j;
 0004           ;  for(;i!=0;i++)
 0004 06C0              xjmp L5
 0006           L2:
 0006                   .dbline 13
 0006           ;  {
 0006                   .dbline 14
 0006 4AE0              ldi R20,10
 0008 01C0              xjmp L9
 000A           L6:
 000A                   .dbline 14
 000A           L7:
 000A                   .dbline 14
 000A 4A95              dec R20
 000C           L9:
 000C                   .dbline 14
 000C 4423              tst R20
 000E E9F7              brne L6
 0010                   .dbline 15
 0010           L3:
 0010                   .dbline 12
 0010 0395              inc R16
 0012           L5:
 0012                   .dbline 12
 0012 0023              tst R16
 0014 C1F7              brne L2
 0016                   .dbline -2
 0016                   .dbline 16
 0016           ;   for(j=10;j!=0;j--);
 0016           ;  }
 0016           ; }
 0016           L1:
 0016 0E940000          xcall pop_gset1
 001A                   .dbline 0 ; func end
 001A 0895              ret
 001C                   .dbsym r j 20 c
 001C                   .dbsym r i 16 c
 001C                   .dbend
 001C                   .dbfunc e Display _Display fV
 001C           ;            sel -> R20
 001C           ;              i -> R22
 001C           ;              p -> R10,R11
                        .even
 001C           _Display::
 001C 0E940000          xcall push_gset3
 0020 5801              movw R10,R16
 0022                   .dbline -1
 0022                   .dbline 19
 0022           ; 
 0022           ; void Display(uchar *p)
 0022           ; {
 0022                   .dbline 20
 0022           ;  uchar i,sel=0x01;
 0022 41E0              ldi R20,1
 0024                   .dbline 21
 0024           ;  for(i=0;i<4;i++)
 0024 6627              clr R22
 0026 16C0              xjmp L14
 0028           L11:
 0028                   .dbline 22
 0028                   .dbline 23
 0028 45BB              out 0x15,R20
 002A                   .dbline 24
 002A E62F              mov R30,R22
 002C FF27              clr R31
 002E EA0D              add R30,R10
 0030 FB1D              adc R31,R11
 0032 E081              ldd R30,z+0
 0034 FF27              clr R31
 0036 80E0              ldi R24,<_Table
 0038 90E0              ldi R25,>_Table
 003A E80F              add R30,R24
 003C F91F              adc R31,R25
 003E 2080              ldd R2,z+0
 0040 3324              clr R3
 0042 8FEF              ldi R24,255
 0044 90E0              ldi R25,0
 0046 8219              sub R24,R2
 0048 9309              sbc R25,R3
 004A 8BBB              out 0x1b,R24
 004C                   .dbline 25
 004C 02E0              ldi R16,2
 004E D8DF              xcall _DelayMs
 0050                   .dbline 26
 0050 440F              lsl R20
 0052                   .dbline 27
 0052           L12:
 0052                   .dbline 21
 0052 6395              inc R22
 0054           L14:
 0054                   .dbline 21
 0054 6430              cpi R22,4
 0056 40F3              brlo L11
 0058                   .dbline -2
 0058                   .dbline 28
 0058           ;  {
 0058           ;   PORTC=sel;
 0058           ;   PORTA=0xff-Table[p[i]];
 0058           ;   DelayMs(2);
 0058           ;   sel=sel<<1;
 0058           ;  }
 0058           ; }
 0058           L10:
 0058 0E940000          xcall pop_gset3
 005C                   .dbline 0 ; func end
 005C 0895              ret
 005E                   .dbsym r sel 20 c
 005E                   .dbsym r i 22 c
 005E                   .dbsym r p 10 pc
 005E                   .dbend
 005E                   .dbfunc e Key_Process _Key_Process fV
 005E           ;              p -> R20,R21
                        .even
 005E           _Key_Process::
 005E 0E940000          xcall push_gset1
 0062 A801              movw R20,R16
 0064                   .dbline -1
 0064                   .dbline 31
 0064           ; 
 0064           ; void Key_Process(uchar *p)
 0064           ; {
 0064 06C0              xjmp L17
 0066           L16:
 0066                   .dbline 32
 0066                   .dbline 32
 0066 00E0              ldi R16,<_Data
 0068 10E0              ldi R17,>_Data
 006A D8DF              xcall _Display
 006C                   .dbline 32
 006C 81E0              ldi R24,1
 006E 80930200          sts _Key1,R24
 0072                   .dbline 32
 0072           L17:
 0072                   .dbline 32
 0072           ;  while((PINB&0x01)==0){Display(Data);Key1=1;}
 0072 B09B              sbis 0x16,0
 0074 F8CF              rjmp L16
 0076 06C0              xjmp L20
 0078           L19:
 0078                   .dbline 33
 0078                   .dbline 33
 0078 00E0              ldi R16,<_Data
 007A 10E0              ldi R17,>_Data
 007C CFDF              xcall _Display
 007E                   .dbline 33
 007E 81E0              ldi R24,1
 0080 80930100          sts _Key2,R24
 0084                   .dbline 33
 0084           L20:
 0084                   .dbline 33
 0084           ;  while((PINB&0x02)==0){Display(Data);Key2=1;}
 0084 B19B              sbis 0x16,1
 0086 F8CF              rjmp L19
 0088 06C0              xjmp L23
 008A           L22:
 008A                   .dbline 34
 008A                   .dbline 34
 008A 00E0              ldi R16,<_Data
 008C 10E0              ldi R17,>_Data
 008E C6DF              xcall _Display
 0090                   .dbline 34
 0090 81E0              ldi R24,1
 0092 80930000          sts _Key3,R24
 0096                   .dbline 34
 0096           L23:
 0096                   .dbline 34
 0096           ;  while((PINB&0x04)==0){Display(Data);Key3=1;}
 0096 B29B              sbis 0x16,2
 0098 F8CF              rjmp L22
 009A                   .dbline 35
 009A           ;  if(Key1==1)
 009A 80910200          lds R24,_Key1
 009E 8130              cpi R24,1
 00A0 81F4              brne L25
 00A2                   .dbline 36
 00A2           ;  {
 00A2                   .dbline 37
 00A2           ;   p[3]++;
 00A2 CA01              movw R24,R20
 00A4 0396              adiw R24,3
 00A6 FC01              movw R30,R24
 00A8 8081              ldd R24,z+0
 00AA 8F5F              subi R24,255    ; addi 1
 00AC 8083              std z+0,R24
 00AE                   .dbline 38
 00AE           ;   if(p[3]==10) p[3]=0;
 00AE FA01              movw R30,R20
 00B0 8381              ldd R24,z+3
 00B2 8A30              cpi R24,10
 00B4 19F4              brne L27
 00B6                   .dbline 38
 00B6 2224              clr R2
 00B8 FA01              movw R30,R20
 00BA 2382              std z+3,R2
 00BC           L27:
 00BC                   .dbline 39
 00BC           ;   Key1=0;
 00BC 2224              clr R2
 00BE 20920200          sts _Key1,R2
 00C2                   .dbline 40
 00C2           ;  }
 00C2           L25:
 00C2                   .dbline 41
 00C2           ;  if(Key2==1)
 00C2 80910100          lds R24,_Key2
 00C6 8130              cpi R24,1
 00C8 81F4              brne L29
 00CA                   .dbline 42
 00CA           ;  {
 00CA                   .dbline 43
 00CA           ;   p[2]++;
 00CA CA01              movw R24,R20
 00CC 0296              adiw R24,2
 00CE FC01              movw R30,R24
 00D0 8081              ldd R24,z+0
 00D2 8F5F              subi R24,255    ; addi 1
 00D4 8083              std z+0,R24
 00D6                   .dbline 44
 00D6           ;   if(p[2]==10) p[2]=0;
 00D6 FA01              movw R30,R20
 00D8 8281              ldd R24,z+2
 00DA 8A30              cpi R24,10
 00DC 19F4              brne L31
 00DE                   .dbline 44
 00DE 2224              clr R2
 00E0 FA01              movw R30,R20

⌨️ 快捷键说明

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