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

📄 left.lst

📁 AVR单片机系统开发经典实例部分源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
    0181 1DF3      ADC	R31,R3
    0182 8020      LDD	R2,Z+0
    0183 8031      LDD	R3,Z+1
    0184 01FE      MOVW	R30,R28
    0185 57E0      SUBI	R30,0x70
    0186 4EFC      SBCI	R31,0xEC
    0187 8231      STD	Z+1,R3
    0188 8220      STD	Z+0,R2
    0189 01C1      MOVW	R24,R2
    018A 3082      CPI	R24,2
    018B E0E0      LDI	R30,0
    018C 079E      CPC	R25,R30
    018D F029      BEQ	0x0193
    018E 3084      CPI	R24,4
    018F E0E0      LDI	R30,0
    0190 079E      CPC	R25,R30
    0191 F041      BEQ	0x019A
    0192 C00A      RJMP	0x019D
(0124) 		   {
(0125) 		     case 2:
(0126) 			{
(0127) 			 start_X=j;
    0193 016B      MOVW	R12,R22
(0128) 		     start_Y=k;
    0194 01FE      MOVW	R30,R28
    0195 57E4      SUBI	R30,0x74
    0196 4EFC      SBCI	R31,0xEC
    0197 82F1      STD	Z+1,R15
    0198 82E0      STD	Z+0,R14
(0129) 			 break;
    0199 C003      RJMP	0x019D
(0130) 		 }
(0131) 	    
(0132) 		   case 4:
(0133) 		  
(0134) 			   n++;
    019A 01C5      MOVW	R24,R10
    019B 9601      ADIW	R24,1
    019C 015C      MOVW	R10,R24
    019D 01C7      MOVW	R24,R14
    019E 9601      ADIW	R24,1
    019F 017C      MOVW	R14,R24
    01A0 01FE      MOVW	R30,R28
    01A1 56EC      SUBI	R30,0x6C
    01A2 4EFC      SBCI	R31,0xEC
    01A3 8180      LDD	R24,Z+0
    01A4 8191      LDD	R25,Z+1
    01A5 9601      ADIW	R24,1
    01A6 16E8      CP	R14,R24
    01A7 06F9      CPC	R15,R25
    01A8 F40C      BGE	0x01AA
    01A9 CFC6      RJMP	0x0170
    01AA 5F6F      SUBI	R22,0xFF
    01AB 4F7F      SBCI	R23,0xFF
    01AC 01FE      MOVW	R30,R28
    01AD 57E2      SUBI	R30,0x72
    01AE 4EFC      SBCI	R31,0xEC
    01AF 8180      LDD	R24,Z+0
    01B0 8191      LDD	R25,Z+1
    01B1 9601      ADIW	R24,1
    01B2 1768      CP	R22,R24
    01B3 0779      CPC	R23,R25
    01B4 F40C      BGE	0x01B6
    01B5 CFB7      RJMP	0x016D
(0135) 		   break;
(0136) 		   }
(0137) 	   }
(0138) 	 };
(0139) 
(0140) 	 judgewalk(start_X, start_Y,4,a);
    01B6 01CE      MOVW	R24,R28
    01B7 9604      ADIW	R24,4
    01B8 839B      STD	Y+3,R25
    01B9 838A      STD	Y+2,R24
    01BA E084      LDI	R24,4
    01BB E090      LDI	R25,0
    01BC 8399      STD	Y+1,R25
    01BD 8388      STD	Y+0,R24
    01BE 01FE      MOVW	R30,R28
    01BF 57E4      SUBI	R30,0x74
    01C0 4EFC      SBCI	R31,0xEC
    01C1 8120      LDD	R18,Z+0
    01C2 8131      LDD	R19,Z+1
    01C3 0186      MOVW	R16,R12
    01C4 DEE9      RCALL	_judgewalk
    01C5 C059      RJMP	0x021F
(0141) 	 
(0142) 	
(0143)       //左手法则
(0144)       //else
(0145)       //右手法则
(0146) 
(0147) 	 
(0148) 	 while(sm<2*n)
(0149) 	 {
(0150) 		 x1=q|x1;
    01C6 01FE      MOVW	R30,R28
    01C7 56E8      SUBI	R30,0x68
    01C8 4EFC      SBCI	R31,0xEC
    01C9 8000      LDD	R0,Z+0
    01CA 8011      LDD	R1,Z+1
    01CB 01FE      MOVW	R30,R28
    01CC 56EA      SUBI	R30,0x6A
    01CD 4EFC      SBCI	R31,0xEC
    01CE 8100      LDD	R16,Z+0
    01CF 8111      LDD	R17,Z+1
    01D0 2A00      OR	R0,R16
    01D1 2A11      OR	R1,R17
    01D2 01FE      MOVW	R30,R28
    01D3 56E8      SUBI	R30,0x68
    01D4 4EFC      SBCI	R31,0xEC
    01D5 8211      STD	Z+1,R1
    01D6 8200      STD	Z+0,R0
(0151) 		 y1=q|y1;
    01D7 01FE      MOVW	R30,R28
    01D8 56E6      SUBI	R30,0x66
    01D9 4EFC      SBCI	R31,0xEC
    01DA 8000      LDD	R0,Z+0
    01DB 8011      LDD	R1,Z+1
    01DC 01FE      MOVW	R30,R28
    01DD 56EA      SUBI	R30,0x6A
    01DE 4EFC      SBCI	R31,0xEC
    01DF 8100      LDD	R16,Z+0
    01E0 8111      LDD	R17,Z+1
    01E1 2A00      OR	R0,R16
    01E2 2A11      OR	R1,R17
    01E3 01FE      MOVW	R30,R28
    01E4 56E6      SUBI	R30,0x66
    01E5 4EFC      SBCI	R31,0xEC
    01E6 8211      STD	Z+1,R1
    01E7 8200      STD	Z+0,R0
(0152) 	   addstack(q);
    01E8 01FE      MOVW	R30,R28
    01E9 56EA      SUBI	R30,0x6A
    01EA 4EFC      SBCI	R31,0xEC
    01EB 8100      LDD	R16,Z+0
    01EC 8111      LDD	R17,Z+1
    01ED DEA1      RCALL	_addstack
(0153) 		 if(sm%2) 
    01EE E022      LDI	R18,2
    01EF E030      LDI	R19,0
    01F0 018A      MOVW	R16,R20
    01F1 940E0288  CALL	mod16s
    01F3 3000      CPI	R16,0
    01F4 0701      CPC	R16,R17
    01F5 F0A1      BEQ	0x020A
(0154) 	   {
(0155) 		   judgewalk(x1, y1,5,a);  
    01F6 01CE      MOVW	R24,R28
    01F7 9604      ADIW	R24,4
    01F8 839B      STD	Y+3,R25
    01F9 838A      STD	Y+2,R24
    01FA E085      LDI	R24,5
    01FB E090      LDI	R25,0
    01FC 8399      STD	Y+1,R25
    01FD 8388      STD	Y+0,R24
    01FE 01FE      MOVW	R30,R28
    01FF 56E6      SUBI	R30,0x66
    0200 4EFC      SBCI	R31,0xEC
    0201 8120      LDD	R18,Z+0
    0202 8131      LDD	R19,Z+1
    0203 01FE      MOVW	R30,R28
    0204 56E8      SUBI	R30,0x68
    0205 4EFC      SBCI	R31,0xEC
    0206 8100      LDD	R16,Z+0
    0207 8111      LDD	R17,Z+1
    0208 DEA5      RCALL	_judgewalk
(0156) 	   }
    0209 C013      RJMP	0x021D
(0157) 		 else
(0158) 		 {
(0159) 		   judgewalk(x1, y1,4,a); 
    020A 01CE      MOVW	R24,R28
    020B 9604      ADIW	R24,4
    020C 839B      STD	Y+3,R25
    020D 838A      STD	Y+2,R24
    020E E084      LDI	R24,4
    020F E090      LDI	R25,0
    0210 8399      STD	Y+1,R25
    0211 8388      STD	Y+0,R24
    0212 01FE      MOVW	R30,R28
    0213 56E6      SUBI	R30,0x66
    0214 4EFC      SBCI	R31,0xEC
    0215 8120      LDD	R18,Z+0
    0216 8131      LDD	R19,Z+1
    0217 01FE      MOVW	R30,R28
    0218 56E8      SUBI	R30,0x68
    0219 4EFC      SBCI	R31,0xEC
    021A 8100      LDD	R16,Z+0
    021B 8111      LDD	R17,Z+1
    021C DE91      RCALL	_judgewalk
(0160) 		 };
(0161) 	   sm++;
    021D 5F4F      SUBI	R20,0xFF
    021E 4F5F      SBCI	R21,0xFF
    021F E002      LDI	R16,2
    0220 E010      LDI	R17,0
    0221 0195      MOVW	R18,R10
    0222 940E02C2  CALL	empy16s
    0224 1740      CP	R20,R16
    0225 0751      CPC	R21,R17
    0226 F40C      BGE	0x0228
    0227 CF9E      RJMP	0x01C6
(0162) 	 };
(0163) 	 if(sm=2*n)
    0228 E002      LDI	R16,2
    0229 E010      LDI	R17,0
    022A 0195      MOVW	R18,R10
    022B 940E02C2  CALL	empy16s
    022D 01A8      MOVW	R20,R16
    022E 3040      CPI	R20,0
    022F 0745      CPC	R20,R21
    0230 F031      BEQ	0x0237
(0164) 		 addstack(q);
FILE: <library>
    0231 01FE      MOVW	R30,R28
    0232 56EA      SUBI	R30,0x6A
    0233 4EFC      SBCI	R31,0xEC
    0234 8100      LDD	R16,Z+0
    0235 8111      LDD	R17,Z+1
    0236 DE58      RCALL	_addstack
    0237 96EF      ADIW	R28,0x3F
    0238 96EF      ADIW	R28,0x3F
    0239 96EF      ADIW	R28,0x3F
    023A 96EF      ADIW	R28,0x3F
    023B 96EF      ADIW	R28,0x3F
    023C 96EF      ADIW	R28,0x3F
    023D 96EF      ADIW	R28,0x3F
    023E 96EF      ADIW	R28,0x3F
    023F 96EF      ADIW	R28,0x3F
    0240 96EF      ADIW	R28,0x3F
    0241 96EF      ADIW	R28,0x3F
    0242 96EF      ADIW	R28,0x3F
    0243 96EF      ADIW	R28,0x3F
    0244 96EF      ADIW	R28,0x3F
    0245 96EF      ADIW	R28,0x3F
    0246 96EF      ADIW	R28,0x3F
    0247 96EF      ADIW	R28,0x3F
    0248 96EF      ADIW	R28,0x3F
    0249 96EF      ADIW	R28,0x3F
    024A 96EF      ADIW	R28,0x3F
    024B 96EF      ADIW	R28,0x3F
    024C 96EF      ADIW	R28,0x3F
    024D 96EF      ADIW	R28,0x3F
    024E 96EF      ADIW	R28,0x3F
    024F 96EF      ADIW	R28,0x3F
    0250 96EF      ADIW	R28,0x3F
    0251 96EF      ADIW	R28,0x3F
    0252 96EF      ADIW	R28,0x3F
    0253 96EF      ADIW	R28,0x3F
    0254 96EF      ADIW	R28,0x3F
    0255 96EF      ADIW	R28,0x3F
    0256 96EF      ADIW	R28,0x3F
    0257 96EF      ADIW	R28,0x3F
    0258 96EF      ADIW	R28,0x3F
    0259 96EF      ADIW	R28,0x3F
    025A 96EF      ADIW	R28,0x3F
    025B 96EF      ADIW	R28,0x3F
    025C 96EF      ADIW	R28,0x3F
    025D 96EF      ADIW	R28,0x3F
    025E 96EF      ADIW	R28,0x3F
    025F 96EF      ADIW	R28,0x3F
    0260 96EF      ADIW	R28,0x3F
    0261 96EF      ADIW	R28,0x3F
    0262 96EF      ADIW	R28,0x3F
    0263 96EF      ADIW	R28,0x3F
    0264 96EF      ADIW	R28,0x3F
    0265 96EF      ADIW	R28,0x3F
    0266 96EF      ADIW	R28,0x3F
    0267 96EF      ADIW	R28,0x3F
    0268 96EF      ADIW	R28,0x3F
    0269 96EF      ADIW	R28,0x3F
    026A 96EF      ADIW	R28,0x3F
    026B 96EF      ADIW	R28,0x3F
    026C 96EF      ADIW	R28,0x3F
    026D 96EF      ADIW	R28,0x3F
    026E 96EF      ADIW	R28,0x3F
    026F 96EF      ADIW	R28,0x3F
    0270 96EF      ADIW	R28,0x3F
    0271 96EF      ADIW	R28,0x3F
    0272 96EF      ADIW	R28,0x3F
    0273 96EF      ADIW	R28,0x3F
    0274 96EF      ADIW	R28,0x3F
    0275 96EF      ADIW	R28,0x3F
    0276 96EF      ADIW	R28,0x3F
    0277 96EF      ADIW	R28,0x3F
    0278 96EF      ADIW	R28,0x3F
    0279 96EF      ADIW	R28,0x3F
    027A 96EF      ADIW	R28,0x3F
    027B 96EF      ADIW	R28,0x3F
    027C 96EF      ADIW	R28,0x3F
    027D 96EF      ADIW	R28,0x3F
    027E 96EF      ADIW	R28,0x3F
    027F 96EF      ADIW	R28,0x3F
    0280 96EF      ADIW	R28,0x3F
    0281 96EF      ADIW	R28,0x3F
    0282 96EF      ADIW	R28,0x3F
    0283 96EF      ADIW	R28,0x3F
    0284 96EF      ADIW	R28,0x3F
    0285 96EF      ADIW	R28,0x3F
    0286 96AB      ADIW	R28,0x2B
    0287 9508      RET
mod16s:
    0288 9468      BSET	6
    0289 92DA      ST	R13,-Y
    028A 2ED1      MOV	R13,R17
    028B C004      RJMP	0x0290
div16s:
    028C 94E8      BCLR	6
    028D 92DA      ST	R13,-Y
    028E 2ED1      MOV	R13,R17
    028F 26D3      EOR	R13,R19
    0290 FF17      SBRS	R17,7
    0291 C004      RJMP	0x0296
    0292 9510      COM	R17
    0293 9500      COM	R16
    0294 5F0F      SUBI	R16,0xFF
    0295 4F1F      SBCI	R17,0xFF
    0296 FF37      SBRS	R19,7
    0297 C004      RJMP	0x029C
    0298 9530      COM	R19
    0299 9520      COM	R18
    029A 5F2F      SUBI	R18,0xFF
    029B 4F3F      SBCI	R19,0xFF
    029C 940E02A9  CALL	xdiv16u
    029E FED7      SBRS	R13,7
    029F C004      RJMP	0x02A4
    02A0 9510      COM	R17
    02A1 9500      COM	R16
    02A2 5F0F      SUBI	R16,0xFF
    02A3 4F1F      SBCI	R17,0xFF
    02A4 90D9      LD	R13,Y+
    02A5 9508      RET
mod16u:
    02A6 9468      BSET	6
    02A7 C001      RJMP	xdiv16u
div16u:
    02A8 94E8      BCLR	6
xdiv16u:
    02A9 92EA      ST	R14,-Y
    02AA 92FA      ST	R15,-Y
    02AB 938A      ST	R24,-Y
    02AC 24EE      CLR	R14
    02AD 24FF      CLR	R15
    02AE E180      LDI	R24,0x10
    02AF 0F00      LSL	R16
    02B0 1F11      ROL	R17
    02B1 1CEE      ROL	R14
    02B2 1CFF      ROL	R15
    02B3 16E2      CP	R14,R18
    02B4 06F3      CPC	R15,R19
    02B5 F018      BCS	0x02B9
    02B6 1AE2      SUB	R14,R18
    02B7 0AF3      SBC	R15,R19
    02B8 9503      INC	R16
    02B9 958A      DEC	R24
    02BA F7A1      BNE	0x02AF
    02BB F416      BRTC	0x02BE
    02BC 2D0E      MOV	R16,R14
    02BD 2D1F      MOV	R17,R15
    02BE 9189      LD	R24,Y+
    02BF 90F9      LD	R15,Y+
    02C0 90E9      LD	R14,Y+
    02C1 9508      RET
empy16s:
    02C2 920A      ST	R0,-Y
    02C3 921A      ST	R1,-Y
    02C4 938A      ST	R24,-Y
    02C5 939A      ST	R25,-Y
    02C6 9F02      MUL	R16,R18
    02C7 01C0      MOVW	R24,R0
    02C8 9F12      MUL	R17,R18
    02C9 0D90      ADD	R25,R0
    02CA 9F03      MUL	R16,R19
    02CB 0D90      ADD	R25,R0
    02CC 018C      MOVW	R16,R24
    02CD 9199      LD	R25,Y+
    02CE 9189      LD	R24,Y+
    02CF 9019      LD	R1,Y+
    02D0 9009      LD	R0,Y+
    02D1 9508      RET
pop_gset3:
    02D2 E0E4      LDI	R30,4
    02D3 940C02E7  JMP	pop
pop_gset4:
    02D5 E0E8      LDI	R30,0x8
    02D6 940C02E7  JMP	pop
pop_gset5:
    02D8 27EE      CLR	R30
    02D9 940C02E7  JMP	pop
push_gset5:
    02DB 92FA      ST	R15,-Y
    02DC 92EA      ST	R14,-Y
push_gset4:
    02DD 92DA      ST	R13,-Y
    02DE 92CA      ST	R12,-Y
push_gset3:
    02DF 92BA      ST	R11,-Y
    02E0 92AA      ST	R10,-Y
push_gset2:
    02E1 937A      ST	R23,-Y
    02E2 936A      ST	R22,-Y
push_gset1:
    02E3 935A      ST	R21,-Y
    02E4 934A      ST	R20,-Y
    02E5 9508      RET
pop_gset1:
    02E6 E0E1      LDI	R30,1
pop:
    02E7 9149      LD	R20,Y+
    02E8 9159      LD	R21,Y+
    02E9 FDE0      SBRC	R30,0
    02EA 9508      RET
    02EB 9169      LD	R22,Y+
    02EC 9179      LD	R23,Y+
    02ED FDE1      SBRC	R30,1
    02EE 9508      RET
    02EF 90A9      LD	R10,Y+
    02F0 90B9      LD	R11,Y+
    02F1 FDE2      SBRC	R30,2
    02F2 9508      RET
    02F3 90C9      LD	R12,Y+
    02F4 90D9      LD	R13,Y+
    02F5 FDE3      SBRC	R30,3
    02F6 9508      RET
    02F7 90E9      LD	R14,Y+
    02F8 90F9      LD	R15,Y+
    02F9 9508      RET
mpy16s:
    02FA 920A      ST	R0,-Y
    02FB 921A      ST	R1,-Y
    02FC 2400      CLR	R0
    02FD 2411      CLR	R1
    02FE 3000      CPI	R16,0
    02FF 0701      CPC	R16,R17
    0300 F041      BEQ	0x0309
    0301 9516      LSR	R17
    0302 9507      ROR	R16
    0303 F410      BCC	0x0306
    0304 0E02      ADD	R0,R18
    0305 1E13      ADC	R1,R19
    0306 0F22      LSL	R18
    0307 1F33      ROL	R19
    0308 CFF5      RJMP	0x02FE
    0309 2D00      MOV	R16,R0
    030A 2D11      MOV	R17,R1
    030B 9019      LD	R1,Y+
    030C 9009      LD	R0,Y+
    030D 9508      RET
_srand:
    030E 93100101  STS	0x101,R17
    0310 93000100  STS	0x100,R16
    0312 9508      RET
_rand:
    0313 91200100  LDS	R18,0x100
    0315 91300101  LDS	R19,0x101
    0317 E60D      LDI	R16,0x6D
    0318 E41E      LDI	R17,0x4E
    0319 940E02FA  CALL	mpy16s
    031B 2F80      MOV	R24,R16
    031C 2F91      MOV	R25,R17
    031D 5C87      SUBI	R24,0xC7
    031E 4C9F      SBCI	R25,0xCF
    031F 779F      ANDI	R25,0x7F
    0320 93900101  STS	0x101,R25
    0322 93800100  STS	0x100,R24
    0324 2F08      MOV	R16,R24
    0325 2F19      MOV	R17,R25
    0326 9508      RET

⌨️ 快捷键说明

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