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

📄 lesson10.lst

📁 It is a common usart pogrameer
💻 LST
字号:
FILE: <library>
__text_start:
__start:
    0047 EFCF      LDI	R28,0xFF
    0048 E1D0      LDI	R29,0x10
    0049 BFCD      OUT	0x3D,R28
    004A BFDE      OUT	0x3E,R29
    004B 51C0      SUBI	R28,0x10
    004C 40D0      SBCI	R29,0
    004D EA0A      LDI	R16,0xAA
    004E 8308      STD	Y+0,R16
    004F 2400      CLR	R0
    0050 E0E1      LDI	R30,1
    0051 E0F1      LDI	R31,1
    0052 E011      LDI	R17,1
    0053 30E2      CPI	R30,2
    0054 07F1      CPC	R31,R17
    0055 F011      BEQ	0x0058
    0056 9201      ST	R0,Z+
    0057 CFFB      RJMP	0x0053
    0058 8300      STD	Z+0,R16
    0059 E8EC      LDI	R30,0x8C
    005A E0F0      LDI	R31,0
    005B E0A0      LDI	R26,0
    005C E0B1      LDI	R27,1
    005D E010      LDI	R17,0
    005E 38ED      CPI	R30,0x8D
    005F 07F1      CPC	R31,R17
    0060 F021      BEQ	0x0065
    0061 95C8      LPM
    0062 9631      ADIW	R30,1
    0063 920D      ST	R0,X+
    0064 CFF9      RJMP	0x005E
    0065 940E00DF  CALL	_main
_exit:
    0067 CFFF      RJMP	_exit
_delay:
  i                    --> R20
  j                    --> R22
  ms                   --> R16
    0068 940E017D  CALL	push_gset2
    006A 2744      CLR	R20
    006B 2755      CLR	R21
    006C C00B      RJMP	0x0078
    006D 2766      CLR	R22
    006E 2777      CLR	R23
    006F C002      RJMP	0x0072
    0070 5F6F      SUBI	R22,0xFF
    0071 4F7F      SBCI	R23,0xFF
    0072 3362      CPI	R22,0x32
    0073 E0E2      LDI	R30,2
    0074 077E      CPC	R23,R30
    0075 F3D0      BCS	0x0070
    0076 5F4F      SUBI	R20,0xFF
    0077 4F5F      SBCI	R21,0xFF
    0078 1740      CP	R20,R16
    0079 0751      CPC	R21,R17
    007A F390      BCS	0x006D
    007B 940E0171  CALL	pop_gset2
    007D 9508      RET
_init_port:
    007E 9ABF      SBI	0x17,7
    007F 9AC7      SBI	0x18,7
    0080 9508      RET
_uart_init:
  baud                 --> R10
    0081 940E017B  CALL	push_gset3
    0083 0158      MOVW	R10,R16
    0084 2422      CLR	R2
    0085 9220009A  STS	0x9A,R2
    0087 9220009B  STS	0x9B,R2
    0089 E086      LDI	R24,6
    008A 9380009D  STS	0x9D,R24
    008C 0115      MOVW	R2,R10
    008D 2444      CLR	R4
    008E 2455      CLR	R5
    008F E040      LDI	R20,0
    0090 E058      LDI	R21,0x8
    0091 E067      LDI	R22,7
    0092 E070      LDI	R23,0
    0093 925A      ST	R5,-Y
    0094 924A      ST	R4,-Y
    0095 923A      ST	R3,-Y
    0096 922A      ST	R2,-Y
    0097 018A      MOVW	R16,R20
    0098 019B      MOVW	R18,R22
    0099 940E0106  CALL	div32s
    009B E041      LDI	R20,1
    009C E050      LDI	R21,0
    009D E060      LDI	R22,0
    009E E070      LDI	R23,0
    009F 0118      MOVW	R2,R16
    00A0 0129      MOVW	R4,R18
    00A1 1A24      SUB	R2,R20
    00A2 0A35      SBC	R3,R21
    00A3 0A46      SBC	R4,R22
    00A4 0A57      SBC	R5,R23
    00A5 0151      MOVW	R10,R2
    00A6 92A00099  STS	0x99,R10
    00A8 2C23      MOV	R2,R3
    00A9 2433      CLR	R3
    00AA 92200098  STS	0x98,R2
    00AC E988      LDI	R24,0x98
    00AD 9380009A  STS	0x9A,R24
    00AF E880      LDI	R24,0x80
    00B0 BF8F      OUT	0x3F,R24
    00B1 9A8B      SBI	0x11,3
    00B2 940E0174  CALL	pop_gset3
    00B4 9508      RET
_uart_sendB:
  data                 --> R16
    00B5 9020009B  LDS	R2,0x9B
    00B7 FE25      SBRS	R2,5
    00B8 CFFC      RJMP	_uart_sendB
    00B9 9300009C  STS	0x9C,R16
    00BB 9020009B  LDS	R2,0x9B
    00BD FE26      SBRS	R2,6
    00BE CFFC      RJMP	0x00BB
    00BF 9180009B  LDS	R24,0x9B
    00C1 6480      ORI	R24,0x40
    00C2 9380009B  STS	0x9B,R24
    00C4 9508      RET
_uart_rx:
    00C5 922A      ST	R2,-Y
    00C6 938A      ST	R24,-Y
    00C7 B62F      IN	R2,0x3F
    00C8 922A      ST	R2,-Y
    00C9 9180009A  LDS	R24,0x9A
    00CB 778F      ANDI	R24,0x7F
    00CC 9380009A  STS	0x9A,R24
    00CE 9020009C  LDS	R2,0x9C
    00D0 92200101  STS	rdata,R2
    00D2 E081      LDI	R24,1
    00D3 93800100  STS	flag,R24
    00D5 9180009A  LDS	R24,0x9A
    00D7 6880      ORI	R24,0x80
    00D8 9380009A  STS	0x9A,R24
    00DA 9029      LD	R2,Y+
    00DB BE2F      OUT	0x3F,R2
    00DC 9189      LD	R24,Y+
    00DD 9029      LD	R2,Y+
    00DE 9518      RETI
_main:
    00DF DF9E      RCALL	_init_port
    00E0 E000      LDI	R16,0
    00E1 E41B      LDI	R17,0x4B
    00E2 DF9E      RCALL	_uart_init
    00E3 E001      LDI	R16,1
    00E4 E010      LDI	R17,0
    00E5 DF82      RCALL	_delay
    00E6 C017      RJMP	0x00FE
    00E7 91800100  LDS	R24,flag
    00E9 3081      CPI	R24,1
    00EA F499      BNE	0x00FE
    00EB 91000101  LDS	R16,rdata
    00ED DFC7      RCALL	_uart_sendB
    00EE C00B      RJMP	0x00FA
    00EF 98C7      CBI	0x18,7
    00F0 E001      LDI	R16,1
    00F1 E010      LDI	R17,0
    00F2 DF75      RCALL	_delay
    00F3 9AC7      SBI	0x18,7
    00F4 E001      LDI	R16,1
    00F5 E010      LDI	R17,0
    00F6 DF71      RCALL	_delay
    00F7 2422      CLR	R2
    00F8 92200100  STS	flag,R2
    00FA CFF4      RJMP	0x00EF
    00FB 2422      CLR	R2
    00FC 92200100  STS	flag,R2
    00FE CFE8      RJMP	0x00E7
    00FF 9508      RET
div32u:
    0100 94E8      BCLR	6
    0101 C001      RJMP	0x0103
mod32u:
    0102 9468      BSET	6
    0103 D02F      RCALL	long_div_prolog
    0104 24CC      CLR	R12
    0105 C008      RJMP	0x010E
div32s:
    0106 94E8      BCLR	6
    0107 C001      RJMP	0x0109
mod32s:
    0108 9468      BSET	6
    0109 D029      RCALL	long_div_prolog
    010A FD37      SBRC	R19,7
    010B D053      RCALL	neg_R16_R19
    010C FDB7      SBRC	R27,7
    010D D05A      RCALL	neg_R24_R27
    010E 2477      CLR	R7
    010F 2488      CLR	R8
    0110 2499      CLR	R9
    0111 24AA      CLR	R10
    0112 24BB      CLR	R11
    0113 D041      RCALL	tst_R16_R19
    0114 F0C1      BEQ	0x012D
    0115 D044      RCALL	tst_R24_R27
    0116 F0B1      BEQ	0x012D
    0117 E2E8      LDI	R30,0x28
    0118 0F00      LSL	R16
    0119 1F11      ROL	R17
    011A 1F22      ROL	R18
    011B 1F33      ROL	R19
    011C 1C77      ROL	R7
    011D 1C88      ROL	R8
    011E 1C99      ROL	R9
    011F 1CAA      ROL	R10
    0120 1CBB      ROL	R11
    0121 1688      CP	R8,R24
    0122 0699      CPC	R9,R25
    0123 06AA      CPC	R10,R26
    0124 06BB      CPC	R11,R27
    0125 F028      BCS	0x012B
    0126 1A88      SUB	R8,R24
    0127 0A99      SBC	R9,R25
    0128 0AAA      SBC	R10,R26
    0129 0ABB      SBC	R11,R27
    012A 9503      INC	R16
    012B 95EA      DEC	R30
    012C F759      BNE	0x0118
    012D F426      BRTC	0x0132
    012E 2D08      MOV	R16,R8
    012F 2D19      MOV	R17,R9
    0130 2D2A      MOV	R18,R10
    0131 2D3B      MOV	R19,R11
    0132 C013      RJMP	long_div_epilog
long_div_prolog:
    0133 927A      ST	R7,-Y
    0134 928A      ST	R8,-Y
    0135 929A      ST	R9,-Y
    0136 92AA      ST	R10,-Y
    0137 92BA      ST	R11,-Y
    0138 92CA      ST	R12,-Y
    0139 93EA      ST	R30,-Y
    013A 938A      ST	R24,-Y
    013B 939A      ST	R25,-Y
    013C 93AA      ST	R26,-Y
    013D 93BA      ST	R27,-Y
    013E 858B      LDD	R24,Y+11
    013F 859C      LDD	R25,Y+12
    0140 85AD      LDD	R26,Y+13
    0141 85BE      LDD	R27,Y+14
    0142 2EC3      MOV	R12,R19
    0143 F00E      BRTS	0x0145
    0144 26CB      EOR	R12,R27
    0145 9508      RET
long_div_epilog:
    0146 FCC7      SBRC	R12,7
    0147 D017      RCALL	neg_R16_R19
    0148 91B9      LD	R27,Y+
    0149 91A9      LD	R26,Y+
    014A 9199      LD	R25,Y+
    014B 9189      LD	R24,Y+
    014C 91E9      LD	R30,Y+
    014D 90C9      LD	R12,Y+
    014E 90B9      LD	R11,Y+
    014F 90A9      LD	R10,Y+
    0150 9099      LD	R9,Y+
    0151 9089      LD	R8,Y+
    0152 9079      LD	R7,Y+
    0153 9624      ADIW	R28,4
    0154 9508      RET
tst_R16_R19:
    0155 2FE0      MOV	R30,R16
    0156 2BE1      OR	R30,R17
    0157 2BE2      OR	R30,R18
    0158 2BE3      OR	R30,R19
    0159 9508      RET
tst_R24_R27:
    015A 2FE8      MOV	R30,R24
    015B 2BE9      OR	R30,R25
    015C 2BEA      OR	R30,R26
    015D 2BEB      OR	R30,R27
    015E 9508      RET
neg_R16_R19:
    015F 9500      COM	R16
    0160 9510      COM	R17
    0161 9520      COM	R18
    0162 9530      COM	R19
    0163 5F0F      SUBI	R16,0xFF
    0164 4F1F      SBCI	R17,0xFF
    0165 4F2F      SBCI	R18,0xFF
    0166 4F3F      SBCI	R19,0xFF
    0167 9508      RET
neg_R24_R27:
    0168 9580      COM	R24
    0169 9590      COM	R25
    016A 95A0      COM	R26
    016B 95B0      COM	R27
    016C 5F8F      SUBI	R24,0xFF
    016D 4F9F      SBCI	R25,0xFF
    016E 4FAF      SBCI	R26,0xFF
    016F 4FBF      SBCI	R27,0xFF
    0170 9508      RET
pop_gset2:
    0171 E0E2      LDI	R30,2
    0172 940C0183  JMP	pop
pop_gset3:
    0174 E0E4      LDI	R30,4
    0175 940C0183  JMP	pop
push_gset5:
    0177 92FA      ST	R15,-Y
    0178 92EA      ST	R14,-Y
push_gset4:
    0179 92DA      ST	R13,-Y
    017A 92CA      ST	R12,-Y
push_gset3:
    017B 92BA      ST	R11,-Y
    017C 92AA      ST	R10,-Y
push_gset2:
    017D 937A      ST	R23,-Y
    017E 936A      ST	R22,-Y
push_gset1:
    017F 935A      ST	R21,-Y
    0180 934A      ST	R20,-Y
    0181 9508      RET
pop_gset1:
    0182 E0E1      LDI	R30,1
pop:
    0183 9149      LD	R20,Y+
    0184 9159      LD	R21,Y+
    0185 FDE0      SBRC	R30,0
    0186 9508      RET
    0187 9169      LD	R22,Y+
    0188 9179      LD	R23,Y+
    0189 FDE1      SBRC	R30,1
    018A 9508      RET
    018B 90A9      LD	R10,Y+
    018C 90B9      LD	R11,Y+
    018D FDE2      SBRC	R30,2
    018E 9508      RET
    018F 90C9      LD	R12,Y+
    0190 90D9      LD	R13,Y+
    0191 FDE3      SBRC	R30,3
    0192 9508      RET
    0193 90E9      LD	R14,Y+
    0194 90F9      LD	R15,Y+
    0195 9508      RET

⌨️ 快捷键说明

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