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

📄 reclama3.lst

📁 a ICCAVR source code for a small led matrix it uses atmega8 at 8 mhz
💻 LST
📖 第 1 页 / 共 3 页
字号:
__start:
__text_start:
      13 E5CF      LDI	R28,0x5F
      14 E0D4      LDI	R29,4
      15 BFCD      OUT	0x3D,R28
      16 BFDE      OUT	0x3E,R29
      17 51CE      SUBI	R28,0x1E
      18 40D0      SBCI	R29,0
      19 EA0A      LDI	R16,0xAA
      1A 8308      STD	Y+0,R16
      1B 2400      CLR	R0
      1C E6E0      LDI	R30,0x60
      1D E0F0      LDI	R31,0
      1E E010      LDI	R17,0
      1F 36E0      CPI	R30,0x60
      20 07F1      CPC	R31,R17
      21 F011      BEQ	0x0024
      22 9201      ST	R0,Z+
      23 CFFB      RJMP	0x001F
      24 8300      STD	Z+0,R16
      25 E2E6      LDI	R30,0x26
      26 E0F0      LDI	R31,0
      27 E6A0      LDI	R26,0x60
      28 E0B0      LDI	R27,0
      29 E010      LDI	R17,0
      2A E000      LDI	R16,0
      2B BF0B      OUT	0x3B,R16
      2C 32E6      CPI	R30,0x26
      2D 07F1      CPC	R31,R17
      2E F021      BEQ	0x0033
      2F 95C8      LPM
      30 9631      ADIW	R30,1
      31 920D      ST	R0,X+
      32 CFF9      RJMP	0x002C
      33 D082      RCALL	_main
_exit:
      34 CFFF      RJMP	_exit
FILE: C:\tempAVR\RECLAM~1\delay_fct3.c
(0001) #include <string.h>
(0002) #include <iom8v.h>
(0003) #include <EEPROM.h>
(0004) #include "delay_fct3.h"
(0005) #include "reclama_fct3.h"
(0006) 
(0007) 			  
(0008) void clock(void){
(0009) 	 PORTB|=(1<<PORTD2);
_clock:
      35 9AC2      SBI	0x18,2
(0010) 	 PORTB&=~(1<<PORTD2);
      36 98C2      CBI	0x18,2
      37 9508      RET
_delay8_us:
  k                    --> R20
  us                   --> R16
      38 934A      ST	R20,-Y
      39 935A      ST	R21,-Y
(0011) 	 }
(0012) /*  *********************  */	 
(0013) void delay8_us(int us){
(0014) 	 int k;
(0015) for(k=0;k<us;k++) asm( "   nop \n"
      3A 2744      CLR	R20
      3B 2755      CLR	R21
      3C C004      RJMP	0x0041
      3D 0000      NOP
      3E 0000      NOP
      3F 5F4F      SUBI	R20,0xFF
      40 4F5F      SBCI	R21,0xFF
      41 1740      CP	R20,R16
      42 0751      CPC	R21,R17
      43 F3CC      BLT	0x003D
      44 9159      LD	R21,Y+
      45 9149      LD	R20,Y+
      46 9508      RET
_delay8_ms:
  k                    --> R20
  ms                   --> R16
      47 934A      ST	R20,-Y
      48 935A      ST	R21,-Y
(0016) 					  "   nop ");
(0017) 	 }
(0018) /*  ********************  */	 
(0019) void delay8_ms(int ms){
(0020) 	 int k;
(0021) for(k=0;k<ms;k++){ asm( "ldi  R17, $0C \n"
      49 2744      CLR	R20
      4A 2755      CLR	R21
      4B C00A      RJMP	0x0056
      4C E01C      LDI	R17,0xC
      4D ED2D      LDI	R18,0xDD
      4E 952A      DEC	R18
      4F F7F1      BNE	0x004E
      50 951A      DEC	R17
      51 F7D9      BNE	0x004D
      52 0000      NOP
      53 0000      NOP
      54 5F4F      SUBI	R20,0xFF
      55 4F5F      SBCI	R21,0xFF
      56 1740      CP	R20,R16
      57 0751      CPC	R21,R17
      58 F39C      BLT	0x004C
      59 9159      LD	R21,Y+
      5A 9149      LD	R20,Y+
      5B 9508      RET
_fig_dec:
  col                  --> Y,+0
  fig                  --> R12
      5C D326      RCALL	push_xgset303C
      5D 2EC2      MOV	R12,R18
      5E 0158      MOVW	R10,R16
      5F 9725      SBIW	R28,5
FILE: C:\tempAVR\RECLAM~1\matrice_caractere3.c
(0001) #include "reclama_fct3.h"
(0002) 
(0003) struct coloana fig_dec (uc_8 fig){
(0004) struct	 coloana col;
(0005) switch(fig) {
      60 2D4C      MOV	R20,R12
      61 2755      CLR	R21
      62 3040      CPI	R20,0
      63 0745      CPC	R20,R21
      64 F089      BEQ	0x0076
      65 3041      CPI	R20,1
      66 E0E0      LDI	R30,0
      67 075E      CPC	R21,R30
      68 F0C1      BEQ	0x0081
      69 3042      CPI	R20,2
      6A E0E0      LDI	R30,0
      6B 075E      CPC	R21,R30
      6C F0F9      BEQ	0x008C
      6D 3043      CPI	R20,3
      6E E0E0      LDI	R30,0
      6F 075E      CPC	R21,R30
      70 F131      BEQ	0x0097
      71 3044      CPI	R20,4
      72 E0E0      LDI	R30,0
      73 075E      CPC	R21,R30
      74 F169      BEQ	0x00A2
      75 C036      RJMP	0x00AC
(0006) 	case 0: {col.c[0]=4;col.c[1]=58;col.c[2]=79;col.c[3]=58;col.c[4]=4;break;	}
      76 E084      LDI	R24,4
      77 8388      STD	Y+0,R24
      78 E38A      LDI	R24,0x3A
      79 8389      STD	Y+1,R24
      7A E48F      LDI	R24,0x4F
      7B 838A      STD	Y+2,R24
      7C E38A      LDI	R24,0x3A
      7D 838B      STD	Y+3,R24
      7E E084      LDI	R24,4
      7F 838C      STD	Y+4,R24
      80 C02B      RJMP	0x00AC
(0007) 	case 1: {col.c[0]=2;col.c[1]=58;col.c[2]=79;col.c[3]=58;col.c[4]=2;break;	}
      81 E082      LDI	R24,2
      82 8388      STD	Y+0,R24
      83 E38A      LDI	R24,0x3A
      84 8389      STD	Y+1,R24
      85 E48F      LDI	R24,0x4F
      86 838A      STD	Y+2,R24
      87 E38A      LDI	R24,0x3A
      88 838B      STD	Y+3,R24
      89 E082      LDI	R24,2
      8A 838C      STD	Y+4,R24
      8B C020      RJMP	0x00AC
(0008) 	case 2: {col.c[0]=1;col.c[1]=58;col.c[2]=79;col.c[3]=58;col.c[4]=1;break;	}
      8C E081      LDI	R24,1
      8D 8388      STD	Y+0,R24
      8E E38A      LDI	R24,0x3A
      8F 8389      STD	Y+1,R24
      90 E48F      LDI	R24,0x4F
      91 838A      STD	Y+2,R24
      92 E38A      LDI	R24,0x3A
      93 838B      STD	Y+3,R24
      94 E081      LDI	R24,1
      95 838C      STD	Y+4,R24
      96 C015      RJMP	0x00AC
(0009) 	case 3: {col.c[0]=4;col.c[1]=58;col.c[2]=79;col.c[3]=58;col.c[4]=1;break;	}	
      97 E084      LDI	R24,4
      98 8388      STD	Y+0,R24
      99 E38A      LDI	R24,0x3A
      9A 8389      STD	Y+1,R24
      9B E48F      LDI	R24,0x4F
      9C 838A      STD	Y+2,R24
      9D E38A      LDI	R24,0x3A
      9E 838B      STD	Y+3,R24
      9F E081      LDI	R24,1
      A0 838C      STD	Y+4,R24
      A1 C00A      RJMP	0x00AC
(0010) 	case 4: {col.c[0]=1;col.c[1]=58;col.c[2]=79;col.c[3]=58;col.c[4]=4;break;	}
      A2 E081      LDI	R24,1
      A3 8388      STD	Y+0,R24
      A4 E38A      LDI	R24,0x3A
      A5 8389      STD	Y+1,R24
      A6 E48F      LDI	R24,0x4F
      A7 838A      STD	Y+2,R24
      A8 E38A      LDI	R24,0x3A
      A9 838B      STD	Y+3,R24
      AA E084      LDI	R24,4
      AB 838C      STD	Y+4,R24
(0011) 	   
(0012) 	   }
(0013) 	   return col;
      AC 01CE      MOVW	R24,R28
      AD E005      LDI	R16,5
      AE E010      LDI	R17,0
      AF 92BA      ST	R11,-Y
      B0 92AA      ST	R10,-Y
      B1 939A      ST	R25,-Y
      B2 938A      ST	R24,-Y
      B3 D2EF      RCALL	asgnblk
      B4 9625      ADIW	R28,5
      B5 C2D4      RJMP	pop_xgset303C
_main:
  i                    --> Y,+1
  p1                   --> Y,+0
      B6 97EF      SBIW	R28,0x3F
      B7 97A5      SBIW	R28,0x25
FILE: C:\tempAVR\RECLAM~1\reclama3.c
(0001) #include <iom8v.h>
(0002) #include <string.h>
(0003) #include <stdlib.h>
(0004) #include <eeprom.h>
(0005) #include "delay_fct3.h"
(0006) #include "reclama_fct3.h"
(0007) 
(0008) 
(0009) void main(void){
(0010) 	 uc_8 i;
(0011) 	 struct poza p1;//,p2,p3,p4,p5;
(0012) 	 init_uc();
      B8 D21E      RCALL	_init_uc
(0013) 	p1.A[0]=49;p1.B[0]=0;
      B9 E381      LDI	R24,0x31
      BA 8388      STD	Y+0,R24
      BB 2422      CLR	R2
      BC 8E29      STD	Y+25,R2
(0014) 	p1.A[1]=2;p1.B[1]=8;
      BD E082      LDI	R24,2
      BE 8389      STD	Y+1,R24
      BF E088      LDI	R24,0x8
      C0 8F8A      STD	Y+26,R24
(0015) 	p1.A[2]=116;p1.B[2]=127;
      C1 E784      LDI	R24,0x74
      C2 838A      STD	Y+2,R24
      C3 E78F      LDI	R24,0x7F
      C4 8F8B      STD	Y+27,R24
(0016) 	p1.A[3]=16;p1.B[3]=127;
      C5 E180      LDI	R24,0x10
      C6 838B      STD	Y+3,R24
      C7 E78F      LDI	R24,0x7F
      C8 8F8C      STD	Y+28,R24
(0017) 	p1.A[4]=39;p1.B[4]=1;
      C9 E287      LDI	R24,0x27
      CA 838C      STD	Y+4,R24
      CB E081      LDI	R24,1
      CC 8F8D      STD	Y+29,R24
(0018) 	p1.A[5]=64;p1.B[5]=8;
      CD E480      LDI	R24,0x40
      CE 838D      STD	Y+5,R24
      CF E088      LDI	R24,0x8
      D0 8F8E      STD	Y+30,R24
(0019) 	p1.A[6]=4;p1.B[6]=0;
      D1 E084      LDI	R24,4
      D2 838E      STD	Y+6,R24
      D3 8E2F      STD	Y+31,R2
(0020) 	p1.A[7]=0;p1.B[7]=8;
      D4 822F      STD	Y+7,R2
      D5 E088      LDI	R24,0x8
      D6 A388      STD	Y+32,R24
(0021) 	p1.A[8]=16;p1.B[8]=8;
      D7 E180      LDI	R24,0x10
      D8 8788      STD	Y+8,R24
      D9 E088      LDI	R24,0x8
      DA A389      STD	Y+33,R24
(0022) 	p1.A[9]=32;p1.B[9]=8;
      DB E280      LDI	R24,0x20
      DC 8789      STD	Y+9,R24
      DD E088      LDI	R24,0x8
      DE A38A      STD	Y+34,R24
(0023) 	p1.A[10]=64;p1.B[10]=127;
      DF E480      LDI	R24,0x40
      E0 878A      STD	Y+10,R24
      E1 E78F      LDI	R24,0x7F
      E2 A38B      STD	Y+35,R24
(0024) 	p1.A[11]=4;p1.B[11]=28;
      E3 E084      LDI	R24,4
      E4 878B      STD	Y+11,R24
      E5 E18C      LDI	R24,0x1C
      E6 A38C      STD	Y+36,R24
(0025) 	p1.A[12]=4;p1.B[12]=28;
      E7 E084      LDI	R24,4
      E8 878C      STD	Y+12,R24
      E9 E18C      LDI	R24,0x1C
      EA A38D      STD	Y+37,R24
(0026) 	p1.A[13]=4;p1.B[13]=31;
      EB E084      LDI	R24,4
      EC 878D      STD	Y+13,R24
      ED E18F      LDI	R24,0x1F
      EE A38E      STD	Y+38,R24
(0027) 	p1.A[14]=4;p1.B[14]=24;
      EF E084      LDI	R24,4
      F0 878E      STD	Y+14,R24
      F1 E188      LDI	R24,0x18
      F2 A38F      STD	Y+39,R24
(0028) 	p1.A[15]=4;p1.B[15]=124;
      F3 E084      LDI	R24,4
      F4 878F      STD	Y+15,R24
      F5 E78C      LDI	R24,0x7C
      F6 A788      STD	Y+40,R24
(0029) 	p1.A[16]=4;p1.B[16]=26;
      F7 E084      LDI	R24,4
      F8 8B88      STD	Y+16,R24
      F9 E18A      LDI	R24,0x1A
      FA A789      STD	Y+41,R24
(0030) 	p1.A[17]=15;p1.B[17]=26;
      FB E08F      LDI	R24,0xF
      FC 8B89      STD	Y+17,R24
      FD E18A      LDI	R24,0x1A
      FE A78A      STD	Y+42,R24
(0031) 	p1.A[18]=4;p1.B[18]=124;
      FF E084      LDI	R24,4
     100 8B8A      STD	Y+18,R24
     101 E78C      LDI	R24,0x7C
     102 A78B      STD	Y+43,R24
(0032) 	p1.A[19]=15;p1.B[19]=24;
     103 E08F      LDI	R24,0xF
     104 8B8B      STD	Y+19,R24
     105 E188      LDI	R24,0x18
     106 A78C      STD	Y+44,R24
(0033) 	p1.A[20]=4;p1.B[20]=24;
     107 E084      LDI	R24,4
     108 8B8C      STD	Y+20,R24
     109 E188      LDI	R24,0x18
     10A A78D      STD	Y+45,R24
(0034) 	p1.A[21]=64;p1.B[21]=127;
     10B E480      LDI	R24,0x40
     10C 8B8D      STD	Y+21,R24
     10D E78F      LDI	R24,0x7F
     10E A78E      STD	Y+46,R24
(0035) 	p1.A[22]=32;p1.B[22]=8;
     10F E280      LDI	R24,0x20
     110 8B8E      STD	Y+22,R24
     111 E088      LDI	R24,0x8
     112 A78F      STD	Y+47,R24
(0036) 	p1.A[23]=16;p1.B[23]=8;
     113 E180      LDI	R24,0x10
     114 8B8F      STD	Y+23,R24
     115 E088      LDI	R24,0x8
     116 AB88      STD	Y+48,R24
(0037) 	p1.A[24]=0;p1.B[24]=8;
     117 8E28      STD	Y+24,R2
     118 AB89      STD	Y+49,R24
(0038) 	
(0039) 	
(0040) 	afisheaza_poza(p1);
     119 01CE      MOVW	R24,R28
     11A 01FE      MOVW	R30,R28
     11B 96F2      ADIW	R30,0x32
     11C E302      LDI	R16,0x32
     11D E010      LDI	R17,0
     11E 93FA      ST	R31,-Y
     11F 93EA      ST	R30,-Y
     120 939A      ST	R25,-Y
     121 938A      ST	R24,-Y
     122 D280      RCALL	asgnblk
     123 018E      MOVW	R16,R28
     124 5C0E      SUBI	R16,0xCE
     125 4F1F      SBCI	R17,0xFF
     126 D1DE      RCALL	_afisheaza_poza
     127 C002      RJMP	0x012A
(0041) 	 
(0042) 	 while(1) {clip(1);}
     128 E001      LDI	R16,1
     129 D1CD      RCALL	_clip
     12A CFFD      RJMP	0x0128
     12B 96EF      ADIW	R28,0x3F
     12C 96A5      ADIW	R28,0x25
     12D 9508      RET
_send_octetA:
  i                    --> R20
  oct                  --> R10
     12E D240      RCALL	push_xgset300C
     12F 0158      MOVW	R10,R16
FILE: C:\tempAVR\RECLAM~1\reclama_fct3.c
(0001) #include <string.h>
(0002) #include <iom8v.h>
(0003) #include <EEPROM.h>
(0004) #include "reclama_fct3.h"
(0005) #include "delay_fct3.h"
(0006) #define zero 0x00
(0007) #define unu 0x01
(0008) #define doi 0x02
(0009) #define trei 0x03
(0010) 
(0011) /* **********************  */	
(0012) void send_octetA(struct octet oct){
(0013) 	uc_8 i;
(0014) 	for(i=0;i<8;i++) send_bitA(oct.a[i]);
     130 2744      CLR	R20
     131 C007      RJMP	0x0139
     132 2FE4      MOV	R30,R20
     133 27FF      CLR	R31
     134 0DEA      ADD	R30,R10
     135 1DFB      ADC	R31,R11
     136 8100      LDD	R16,Z+0
     137 D053      RCALL	_send_bitA
     138 9543      INC	R20
     139 3048      CPI	R20,0x8
     13A F3B8      BCS	0x0132
     13B C238      RJMP	pop_xgset300C
_send_octetB:
  i                    --> R20
  oct                  --> R10
     13C D232      RCALL	push_xgset300C
     13D 0158      MOVW	R10,R16
(0015) 	}
(0016) /* **********************  */	
(0017) void send_octetB(struct octet oct){
(0018) 	uc_8 i;
(0019) 	for(i=0;i<8;i++) send_bitB(oct.a[i]);

⌨️ 快捷键说明

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