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

📄 eeprom.lst

📁 ATmega16应用例子
💻 LST
📖 第 1 页 / 共 3 页
字号:
    01BE 858B      LDD	R24,Y+11
    01BF 859C      LDD	R25,Y+12
    01C0 85AD      LDD	R26,Y+13
    01C1 85BE      LDD	R27,Y+14
    01C2 2EC3      MOV	R12,R19
    01C3 F00E      BRTS	0x01C5
    01C4 26CB      EOR	R12,R27
    01C5 9508      RET
long_div_epilog:
    01C6 FCC7      SBRC	R12,7
    01C7 D017      RCALL	neg_R16_R19
    01C8 91B9      LD	R27,Y+
    01C9 91A9      LD	R26,Y+
    01CA 9199      LD	R25,Y+
    01CB 9189      LD	R24,Y+
    01CC 91E9      LD	R30,Y+
    01CD 90C9      LD	R12,Y+
    01CE 90B9      LD	R11,Y+
    01CF 90A9      LD	R10,Y+
    01D0 9099      LD	R9,Y+
    01D1 9089      LD	R8,Y+
    01D2 9079      LD	R7,Y+
    01D3 9624      ADIW	R28,4
    01D4 9508      RET
tst_R16_R19:
    01D5 2FE0      MOV	R30,R16
    01D6 2BE1      OR	R30,R17
    01D7 2BE2      OR	R30,R18
    01D8 2BE3      OR	R30,R19
    01D9 9508      RET
tst_R24_R27:
    01DA 2FE8      MOV	R30,R24
    01DB 2BE9      OR	R30,R25
    01DC 2BEA      OR	R30,R26
    01DD 2BEB      OR	R30,R27
    01DE 9508      RET
neg_R16_R19:
    01DF 9500      COM	R16
    01E0 9510      COM	R17
    01E1 9520      COM	R18
    01E2 9530      COM	R19
    01E3 5F0F      SUBI	R16,0xFF
    01E4 4F1F      SBCI	R17,0xFF
    01E5 4F2F      SBCI	R18,0xFF
    01E6 4F3F      SBCI	R19,0xFF
    01E7 9508      RET
neg_R24_R27:
    01E8 9580      COM	R24
    01E9 9590      COM	R25
    01EA 95A0      COM	R26
    01EB 95B0      COM	R27
    01EC 5F8F      SUBI	R24,0xFF
    01ED 4F9F      SBCI	R25,0xFF
    01EE 4FAF      SBCI	R26,0xFF
    01EF 4FBF      SBCI	R27,0xFF
    01F0 9508      RET
mod8u:
    01F1 9468      BSET	6
    01F2 C001      RJMP	xdiv8u
div8u:
    01F3 94E8      BCLR	6
xdiv8u:
    01F4 932A      ST	R18,-Y
    01F5 92FA      ST	R15,-Y
    01F6 92EA      ST	R14,-Y
    01F7 24FF      CLR	R15
    01F8 24EE      CLR	R14
    01F9 E120      LDI	R18,0x10
    01FA 0F00      LSL	R16
    01FB 1CFF      ROL	R15
    01FC 1CEE      ROL	R14
    01FD 16E1      CP	R14,R17
    01FE F010      BCS	0x0201
    01FF 1AE1      SUB	R14,R17
    0200 9503      INC	R16
    0201 952A      DEC	R18
    0202 F7B9      BNE	0x01FA
    0203 F40E      BRTC	0x0205
    0204 2D0E      MOV	R16,R14
    0205 90E9      LD	R14,Y+
    0206 90F9      LD	R15,Y+
    0207 9129      LD	R18,Y+
    0208 9508      RET
empy32u:
empy32s:
    0209 940E025F  CALL	long_prolog
    020B 927F      PUSH	R7
    020C 940E0278  CALL	tstzero1
    020E F139      BEQ	0x0236
    020F 2477      CLR	R7
    0210 940E027E  CALL	tstzero2
    0212 F419      BNE	0x0216
    0213 018C      MOVW	R16,R24
    0214 019D      MOVW	R18,R26
    0215 C020      RJMP	0x0236
    0216 9F08      MUL	R16,R24
    0217 2CB0      MOV	R11,R0
    0218 2CA1      MOV	R10,R1
    0219 9F28      MUL	R18,R24
    021A 2C90      MOV	R9,R0
    021B 2C81      MOV	R8,R1
    021C 9F18      MUL	R17,R24
    021D 0CA0      ADD	R10,R0
    021E 1C91      ADC	R9,R1
    021F 1C87      ADC	R8,R7
    0220 9F09      MUL	R16,R25
    0221 0CA0      ADD	R10,R0
    0222 1C91      ADC	R9,R1
    0223 1C87      ADC	R8,R7
    0224 9F19      MUL	R17,R25
    0225 0C90      ADD	R9,R0
    0226 1C81      ADC	R8,R1
    0227 9F0A      MUL	R16,R26
    0228 0C90      ADD	R9,R0
    0229 1C81      ADC	R8,R1
    022A 9F38      MUL	R19,R24
    022B 0C80      ADD	R8,R0
    022C 9F29      MUL	R18,R25
    022D 0C80      ADD	R8,R0
    022E 9F1A      MUL	R17,R26
    022F 0C80      ADD	R8,R0
    0230 9F0B      MUL	R16,R27
    0231 0C80      ADD	R8,R0
    0232 2D0B      MOV	R16,R11
    0233 2D1A      MOV	R17,R10
    0234 2D29      MOV	R18,R9
    0235 2D38      MOV	R19,R8
    0236 907F      POP	R7
    0237 940C026D  JMP	long_epilog
pop_gset4:
    0239 E0E8      LDI	R30,0x8
    023A 940C0240  JMP	pop
push_gset1:
    023C 935A      ST	R21,-Y
    023D 934A      ST	R20,-Y
    023E 9508      RET
pop_gset1:
    023F E0E1      LDI	R30,1
pop:
    0240 9149      LD	R20,Y+
    0241 9159      LD	R21,Y+
    0242 FDE0      SBRC	R30,0
    0243 9508      RET
    0244 9169      LD	R22,Y+
    0245 9179      LD	R23,Y+
    0246 FDE1      SBRC	R30,1
    0247 9508      RET
    0248 90A9      LD	R10,Y+
    0249 90B9      LD	R11,Y+
    024A FDE2      SBRC	R30,2
    024B 9508      RET
    024C 90C9      LD	R12,Y+
    024D 90D9      LD	R13,Y+
    024E FDE3      SBRC	R30,3
    024F 9508      RET
    0250 90E9      LD	R14,Y+
    0251 90F9      LD	R15,Y+
    0252 9508      RET
push_gset2:
    0253 937A      ST	R23,-Y
    0254 936A      ST	R22,-Y
    0255 940C023C  JMP	push_gset1
push_gset3:
    0257 92BA      ST	R11,-Y
    0258 92AA      ST	R10,-Y
    0259 940C0253  JMP	push_gset2
push_gset4:
    025B 92DA      ST	R13,-Y
    025C 92CA      ST	R12,-Y
    025D 940C0257  JMP	push_gset3
long_prolog:
    025F 928A      ST	R8,-Y
    0260 929A      ST	R9,-Y
    0261 92AA      ST	R10,-Y
    0262 92BA      ST	R11,-Y
    0263 93EA      ST	R30,-Y
    0264 938A      ST	R24,-Y
    0265 939A      ST	R25,-Y
    0266 93AA      ST	R26,-Y
    0267 93BA      ST	R27,-Y
    0268 8589      LDD	R24,Y+9
    0269 859A      LDD	R25,Y+10
    026A 85AB      LDD	R26,Y+11
    026B 85BC      LDD	R27,Y+12
    026C 9508      RET
long_epilog:
    026D 91B9      LD	R27,Y+
    026E 91A9      LD	R26,Y+
    026F 9199      LD	R25,Y+
    0270 9189      LD	R24,Y+
    0271 91E9      LD	R30,Y+
    0272 90B9      LD	R11,Y+
    0273 90A9      LD	R10,Y+
    0274 9099      LD	R9,Y+
    0275 9089      LD	R8,Y+
    0276 9624      ADIW	R28,4
    0277 9508      RET
tstzero1:
    0278 27EE      CLR	R30
    0279 2BE0      OR	R30,R16
    027A 2BE1      OR	R30,R17
    027B 2BE2      OR	R30,R18
    027C 2BE3      OR	R30,R19
    027D 9508      RET
tstzero2:
    027E 27EE      CLR	R30
    027F 2BE8      OR	R30,R24
    0280 2BE9      OR	R30,R25
    0281 2BEA      OR	R30,R26
    0282 2BEB      OR	R30,R27
    0283 9508      RET
asgncblk:
    0284 93AA      ST	R26,-Y
    0285 93BA      ST	R27,-Y
    0286 93EA      ST	R30,-Y
    0287 93FA      ST	R31,-Y
    0288 920A      ST	R0,-Y
    0289 81AF      LDD	R26,Y+7
    028A 85B8      LDD	R27,Y+8
    028B 81ED      LDD	R30,Y+5
    028C 81FE      LDD	R31,Y+6
    028D 3000      CPI	R16,0
    028E 0701      CPC	R16,R17
    028F F031      BEQ	0x0296
    0290 95C8      LPM
    0291 920D      ST	R0,X+
    0292 9631      ADIW	R30,1
    0293 5001      SUBI	R16,1
    0294 4010      SBCI	R17,0
    0295 CFF7      RJMP	0x028D
    0296 9009      LD	R0,Y+
    0297 91F9      LD	R31,Y+
    0298 91E9      LD	R30,Y+
    0299 91B9      LD	R27,Y+
    029A 91A9      LD	R26,Y+
    029B 9624      ADIW	R28,4
    029C 9508      RET
_EEPROMread:
    029D 99E1      SBIC	0x1C,1
    029E CFFE      RJMP	_EEPROMread
    029F BB1F      OUT	0x1F,R17
    02A0 BB0E      OUT	0x1E,R16
    02A1 9AE0      SBI	0x1C,0
    02A2 B30D      IN	R16,0x1D
    02A3 9508      RET
_EEPROMwrite:
    02A4 940E023C  CALL	push_gset1
    02A6 99E1      SBIC	0x1C,1
    02A7 CFFE      RJMP	0x02A6
    02A8 BB1F      OUT	0x1F,R17
    02A9 BB0E      OUT	0x1E,R16
    02AA BB2D      OUT	0x1D,R18
    02AB B74F      IN	R20,0x3F
    02AC 94F8      BCLR	7
    02AD 9AE2      SBI	0x1C,2
    02AE 9AE1      SBI	0x1C,1
    02AF BF4F      OUT	0x3F,R20
    02B0 2700      CLR	R16
    02B1 2711      CLR	R17
    02B2 940E023F  CALL	pop_gset1
    02B4 9508      RET
_EEPROMReadBytes:
    02B5 940E025B  CALL	push_gset4
    02B7 2EC2      MOV	R12,R18
    02B8 2ED3      MOV	R13,R19
    02B9 2EA0      MOV	R10,R16
    02BA 2EB1      MOV	R11,R17
    02BB 8568      LDD	R22,Y+8
    02BC 8579      LDD	R23,Y+9
    02BD 2D4C      MOV	R20,R12
    02BE 2D5D      MOV	R21,R13
    02BF C00E      RJMP	0x02CE
    02C0 2D0A      MOV	R16,R10
    02C1 2D1B      MOV	R17,R11
    02C2 940E029D  CALL	_EEPROMread
    02C4 2FE4      MOV	R30,R20
    02C5 2FF5      MOV	R31,R21
    02C6 8300      STD	Z+0,R16
    02C7 2D8A      MOV	R24,R10
    02C8 2D9B      MOV	R25,R11
    02C9 9601      ADIW	R24,1
    02CA 2EA8      MOV	R10,R24
    02CB 2EB9      MOV	R11,R25
    02CC 5F4F      SUBI	R20,0xFF
    02CD 4F5F      SBCI	R21,0xFF
    02CE 2E26      MOV	R2,R22
    02CF 2E37      MOV	R3,R23
    02D0 5061      SUBI	R22,1
    02D1 4070      SBCI	R23,0
    02D2 2022      TST	R2
    02D3 F761      BNE	0x02C0
    02D4 2033      TST	R3
    02D5 F751      BNE	0x02C0
    02D6 940E0239  CALL	pop_gset4
    02D8 9508      RET
_EEPROMWriteBytes:
    02D9 940E025B  CALL	push_gset4
    02DB 2EC2      MOV	R12,R18
    02DC 2ED3      MOV	R13,R19
    02DD 2EA0      MOV	R10,R16
    02DE 2EB1      MOV	R11,R17
    02DF 8568      LDD	R22,Y+8
    02E0 8579      LDD	R23,Y+9
    02E1 2D4C      MOV	R20,R12
    02E2 2D5D      MOV	R21,R13
    02E3 C00E      RJMP	0x02F2
    02E4 2FE4      MOV	R30,R20
    02E5 2FF5      MOV	R31,R21
    02E6 8120      LDD	R18,Z+0
    02E7 2D0A      MOV	R16,R10
    02E8 2D1B      MOV	R17,R11
    02E9 940E02A4  CALL	_EEPROMwrite
    02EB 2D8A      MOV	R24,R10
    02EC 2D9B      MOV	R25,R11
    02ED 9601      ADIW	R24,1
    02EE 2EA8      MOV	R10,R24
    02EF 2EB9      MOV	R11,R25
    02F0 5F4F      SUBI	R20,0xFF
    02F1 4F5F      SBCI	R21,0xFF
    02F2 2E26      MOV	R2,R22
    02F3 2E37      MOV	R3,R23
    02F4 5061      SUBI	R22,1
    02F5 4070      SBCI	R23,0
    02F6 2022      TST	R2
    02F7 F761      BNE	0x02E4
    02F8 2033      TST	R3
    02F9 F751      BNE	0x02E4
    02FA 940E0239  CALL	pop_gset4
    02FC 9508      RET

⌨️ 快捷键说明

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