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

📄 baseposfix.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 3 页
字号:
01F4 A7 04          272 		cmpe	#04h
01F6 06 03 0C       273 		brz	.AddMulCls
01F9 A7 0D          274 		cmpe	#0dh
01FB 06 02 79       275 		brz	.PushStack
01FE A7 0C          276 		cmpe	#0ch
0200 06 02 79       277 		brz	.PushStack
0203 A7 09          278 		cmpe	#09h
0205 06 02 79       279 		brz	.PushStack
0208 A7 08          280 		cmpe	#08h
020A 06 02 79       281 		brz	.PushStack
020D A7 07          282 		cmpe	#07h
020F 06 02 79       283 		brz	.PushStack
0212 A7 0E          284 		cmpe	#0eh
0214 06 02 83       285 		brz	.TOStack
0217 A7 0F          286 		cmpe	#0fh
0219 06 00 29       287 		brz	.SynError
021C 02 00 21       288 		br	.NextDp	
+                   289 ;-------------------------------------------
021F                290 .AddBase:
021F 20 02 25       291 		call	.AddBaseUnit
0222 02 00 21       292 		br	.NextDp	
0225                293 .AddBaseUnit:		
0225 20 00 00       294 		call	.BaseModeChk
0228 F5 00          295 		lda0	.DataBuf
022A F9 00          296 		sta0	.Buf3
022C F5 01          297 		lda0	.DataBuf+1
022E F9 00          298 		sta0	.DataBuf
0230 20 00 00       299 		call	.CheckMem		
0233 20 04 36       300 		call	.Paricmp
0236 F5 00          301 		lda0	.AfterPari
0238 F9 00          302 		sta0	.BeforePari
023A 20 03 AE       303 		call	.Push2Stack
023D F5 00          304 		lda0	.Buf3 
023F F9 00          305 		sta0	.DataBuf
0241 20 00 00       306 		call	.StoFuncPS		
0244 F5 00          307 		lda0	.DataBuf 
0246 F9 00          308 		sta0	.Buf1
0248 24             309 		ret
+                   310 							 
+                   311 ;-------------------------------------------		
0249                312 .GetPari::	
+                   313 					
0249 F5 00          314 		lda0	.DataBuf
024B F9 00          315 		sta0	.Buf2
024D F5 00          316 		lda0	.INDP
024F A7 00          317 		cmpe	#0h
0251 06 02 58       318 		brz	.Firstdp
0254 F5 00          319 		lda0	.Buf1
0256 F9 00          320 		sta0	.DataBuf
0258                321 .Firstdp:						
0258 20 00 00       322 		call	.CheckMem
025B 20 04 36       323 		call	.Paricmp
025E F5 00          324 		lda0	.Buf2
0260 F9 00          325 		sta0	.DataBuf									
0262 24             326 		ret
+                   327 ;-------------------------------------------
0263                328 .Signal:
0263 F5 00          329 		lda0	.DataBuf
0265 A7 A4          330 		cmpe	#.ADD
0267 06 02 6F       331 		brz	.IsADD
026A F5 00          332 		lda0	.DecFlag
026C 1F             333 		inca
026D F9 00          334 		sta0	.DecFlag
026F                335 .IsADD:
026F F5 00          336 		lda0	.DataBuf
0271 F9 00          337 		sta0	.Buf1
0273 02 00 21       338 		br	.NextDp			
+                   339 ;-------------------------------------------
0276                340 .PushStackCls:
0276 20 00 00       341 		call	.ClosEndPS
0279                342 .PushStack:
0279 F5 00          343 		lda0	.DataBuf
027B F9 00          344 		sta0	.Buf1		
027D 20 03 AE       345 		call	.Push2Stack
0280 02 00 21       346 		br	.NextDp					
+                   347 ;-------------------------------------------		
0283                348 .TOStack:
0283 F5 00          349 		lda0	.DecFlag
0285 CB 01          350 		anda	#01h
0287 06 02 9D       351 		brz	1$
028A F5 00          352 		lda0	.DataBuf
028C F9 00          353 		sta0	.Buf3		
028E F3 A8          354 		lda	#0a8h
0290 F9 00          355 		sta0	.DataBuf
0292 F3 00          356 		lda	#0h
0294 F9 00          357 		sta0	.DecFlag
0296 20 00 00       358 		call	.StoStack
0299 F5 00          359 		lda0	.Buf3
029B F9 00          360 		sta0	.DataBuf	
+                   361 1$:		
029D 20 00 00       362 		call	.StoStack
02A0 F5 00          363 		lda0	.DataBuf
02A2 F9 00          364 		sta0	.Buf1
02A4 02 00 21       365 		br	.NextDp	
02A7                366 .LCAddMulCls:
02A7 20 04 14       367 		call	.Addnegtive
02AA 20 00 00       368 		call	.ClosEndPS
02AD                369 .LCAddMul:
02AD F3 03          370 		lda	#03h
02AF FC 28          371 		sta	PP
02B1 F5 00          372 		lda0	.STDP
02B3 FC 21          373 		sta	DP
02B5 F2             374 		lda	i
02B6 A7 2A          375 		cmpe	#2Ah
02B8 04 02 CD       376 		brc	11$
02BB A7 26          377 		cmpe	#26h
02BD 05 02 CD       378 		brnc	11$
02C0 F9 00          379 		sta0	.DataBuf	
02C2 F5 00          380 		lda0	.STDP
02C4 3F             381 		deca
02C5 F9 00          382 		sta0	.STDP
02C7 20 00 00       383 		call	.StoFuncPS
02CA 20 00 00       384 		call	.ClosEndPS
+                   385 11$:		
02CD F5 00          386 		lda0	.DataBuf		
02CF F9 00          387 		sta0	.Buf1
02D1 F3 A6          388 		lda	#.MUL
02D3 F9 00          389 		sta0	.DataBuf
02D5 20 00 00       390 		call	.StoStack
02D8 F3 B2          391 		lda 	#.LC
02DA F9 00          392 		sta0	.DataBuf
02DC 20 00 00       393 		call	.StoStack
02DF F5 00          394 		lda0	.DataBuf
02E1 F9 00          395 		sta0	.Buf1			
02E3 02 00 21       396 		br	.NextDp	
02E6                397 .RCAddMulCls:	
+                   398 			
02E6 20 00 00       399 		call	.ClosEndPS
02E9                400 .RCAddMul:
02E9 F5 00          401 		lda0	.DataBuf		
02EB F9 00          402 		sta0	.Buf1
02ED F3 A6          403 		lda	#.MUL
02EF F9 00          404 		sta0	.DataBuf
02F1 20 00 00       405 		call	.CheckMem		
02F4 20 04 36       406 		call	.Paricmp
02F7 F5 00          407 		lda0	.AfterPari
02F9 F9 00          408 		sta0	.BeforePari
02FB 20 00 00       409 		call	.StoStack
02FE F3 B2          410 		lda 	#.LC
0300 F9 00          411 		sta0	.DataBuf
0302 20 00 00       412 		call	.StoStack
0305 F5 00          413 		lda0	.DataBuf
0307 F9 00          414 		sta0	.Buf1
0309 02 00 21       415 		br	.NextDp		
+                   416 		
+                   417 		
+                   418 ;-------------------------------------------
030C                419 .AddMulCls: 		
030C 20 00 00       420 		call	.ClosEndPS
030F                421 .AddMul:
030F F5 00          422 		lda0	.DataBuf
0311 F9 00          423 		sta0	.Buf3
0313 F3 A6          424 		lda	#.MUL
0315 F9 00          425 		sta0	.DataBuf
0317 20 00 00       426 		call	.CheckMem		
031A 20 04 36       427 		call	.Paricmp
031D F5 00          428 		lda0	.AfterPari
031F F9 00          429 		sta0	.BeforePari
0321 20 03 AE       430 		call	.Push2Stack
0324 F5 00          431 		lda0	.Buf3
0326 F9 00          432 		sta0	.DataBuf
0328 20 00 00       433 		call	.CheckMem
032B 20 04 36       434 		call	.Paricmp
032E F5 00          435 		lda0	.AfterPari
0330 F9 00          436 		sta0	.BeforePari
0332 20 03 AE       437 		call	.Push2Stack		
0335 02 00 21       438 		br	.NextDp	
+                   439 ;-------------------------------------------		
0338                440 .MemAddMulCls:
0338 F5 00          441 		lda0	.DataBuf
033A F9 00          442 		sta0	.Buf3		 
033C 20 04 14       443 		call	.Addnegtive
033F 20 00 00       444 		call	.ClosEndPS
0342                445 .MemAddMul:		
0342 F3 03          446 		lda	#03h
0344 FC 28          447 		sta	PP
0346 F5 00          448 		lda0	.STDP
0348 FC 21          449 		sta	DP
034A F2             450 		lda	i
034B A7 2A          451 		cmpe	#2Ah
034D 04 03 62       452 		brc	12$
0350 A7 26          453 		cmpe	#26h
0352 05 03 62       454 		brnc	12$
0355 F9 00          455 		sta0	.DataBuf	
0357 F5 00          456 		lda0	.STDP
0359 3F             457 		deca
035A F9 00          458 		sta0	.STDP
035C 20 00 00       459 		call	.StoFuncPS
035F 20 00 00       460 		call	.ClosEndPS
+                   461 12$:		
0362 F5 00          462 		lda0	.DataBuf		
0364 F9 00          463 		sta0	.Buf1
0366 F3 A6          464 		lda	#.MUL
0368 F9 00          465 		sta0	.DataBuf
036A 20 00 00       466 		call	.StoStack
036D F5 00          467 		lda0	.Buf3
036F F9 00          468 		sta0	.DataBuf
0371 20 00 00       469 		call	.StoFuncPS
0374 F5 00          470 		lda0	.DataBuf
0376 F9 00          471 		sta0	.Buf1			
0378 02 00 21       472 		br	.NextDp	
+                   473 
+                   474 					
+                   475 ;-------------------------------------------		
037B                476 .PosFixSto:	
037B F5 00          477 		lda0	.DecFlag
037D CB 01          478 		anda	#01h
037F 06 03 99       479 		brz	.NotSign
0382 F3 00          480 		lda	#0h
0384 F9 00          481 		sta0	.DecFlag
0386 F5 00          482 		lda0	.DataBuf
0388 F9 00          483 		sta0	.Buf3		
038A F3 A8          484 		lda	#0a8h
038C F9 00          485 		sta0	.DataBuf
038E F3 00          486 		lda	#0h
0390 F9 00          487 		sta0	.DecFlag
0392 20 00 00       488 		call	.StoStack
0395 F5 00          489 		lda0	.Buf3
0397 F9 00          490 		sta0	.DataBuf					
0399                491 .NotSign:		
0399 F3 02          492 		lda	#02h
039B FC 28          493 		sta	PP
039D F5 00          494 		lda0	.PSDP
039F FC 21          495 		sta	DP
03A1 F5 00          496 		lda0	.DataBuf
03A3 FE             497 		sta	i
03A4 F5 00          498 		lda0	.PSDP
03A6 1F             499 		inca
03A7 F9 00          500 		sta0	.PSDP
03A9 F5 00          501 		lda0	.DataBuf
03AB F9 00          502 		sta0	.Buf1	 	
03AD 24             503 		ret	
+                   504 ;-------------------------------------------
03AE                505 .Push2Stack:
03AE F5 00          506 		lda0	.DataBuf
03B0 F9 00          507 		sta0	.Buf2
03B2 F3 03          508 		lda	#03h
03B4 FC 28          509 		sta	PP
03B6 F5 00          510 		lda0	.STDP
03B8 FC 21          511 		sta	DP				
03BA A7 FF          512 		cmpe	#0ffh
03BC 06 03 EE       513 		brz	.Fstdp			
03BF F2             514 		lda	i
03C0 A7 00          515 		cmpe	#0h
03C2 06 03 EE       516 		brz	.Fstdp
03C5 A7 B2          517 		cmpe	#.LC
03C7 06 03 EE       518 		brz	.Fstdp
03CA F9 00          519 		sta0	.DataBuf		
03CC 20 00 00       520 		call	.CheckMem
03CF 20 04 36       521 		call	.Paricmp
03D2 F3 00          522 		lda	#0h
03D4 FC 28          523 		sta	PP
03D6 F5 00          524 		lda0	.BeforePari
03D8 A9 00          525 		suba	.AfterPari
03DA 06 03 F8       526 		brz	.PopStk
03DD 05 03 F8       527 		brnc	.PopStk	
03E0 F5 00          528 		lda0	.Buf2
03E2 F9 00          529 		sta0	.DataBuf			
03E4 20 00 00       530 		call	.StoStack
03E7 F5 00          531 		lda0	.DataBuf
03E9 F9 00          532 		sta0	.Buf1
03EB 02 04 13       533 		br	.EndPushStk
03EE                534 .Fstdp:
03EE 20 00 00       535 		call	.StoStack
03F1 F5 00          536 		lda0	.DataBuf
03F3 F9 00          537 		sta0	.Buf1		
03F5 02 04 13       538 		br	.EndPushStk			
03F8                539 .PopStk:
+                   540 		
03F8 20 03 7B       541 		call	.PosFixSto
03FB 20 00 00       542 		call	.ClosEndPS
+                   543 		

⌨️ 快捷键说明

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