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

📄 getkeycode.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 4 页
字号:
01F9 CB C8          313 		anda	#~37h
01FB DB 04          314 		ora	#04h
01FD FD 2D          315 		sta	.SFlag			
01FF F3 00          316 		lda	#0h
0201 F9 00          317 		sta0	.KeyPos
0203 02 04 1A       318 		br	.EndGetKeyCode
0206                319 .Sft:		
0206 F1 2D          320 		lda	.SFlag
0208 CB FB          321 		anda	#~04h		
020A FD 2D          322 		sta	.SFlag
020C F3 00          323 		lda	#0h
020E F9 00          324 		sta0	.KeyPos
0210 02 04 1A       325 		br	.EndGetKeyCode
0213                326 .ADDhpy:
0213 F1 2D          327 		lda	.SFlag
0215 CB C8          328 		anda	#~37h
0217 DB 05          329 		ora	#05h		
0219 FD 2D          330 		sta	.SFlag
021B F3 00          331 		lda	#0h
021D F9 00          332 		sta0	.KeyPos
021F 02 04 1A       333 		br	.EndGetKeyCode		
0222                334 .SetSF4:
0222 F1 2D          335 		lda	.SFlag	
0224 DB 04          336 		ora	#04h
0226 FD 2D          337 		sta	.SFlag
0228 F3 00          338 		lda	#0h
022A F9 00          339 		sta0	.KeyPos
022C 02 04 1A       340 		br	.EndGetKeyCode		
+                   341 ;-------------------------------------------			
022F                342 .SetAlpha:			
022F F1 2D          343 		lda	.SFlag
0231 CB C8          344 		anda	#~37h						
0233 DB 02          345 		ora	#02h
0235 FD 2D          346 		sta	.SFlag
0237 F3 00          347 		lda	#0h
0239 F9 00          348 		sta0	.KeyPos
023B 02 04 1A       349 		br	.EndGetKeyCode
+                   350 ;-------------------------------------------			
023E                351 .SetHyp:			
+                   352 							
023E F1 2D          353 		lda	.SFlag		
0240 CB 07          354 		anda	#07h
0242 A7 01          355 		cmpe	#01h
0244 06 02 54       356 		brz	.SetSftF
0247 A7 02          357 		cmpe	#02h
0249 06 02 6E       358 		brz	.ClrAF
024C A7 05          359 		cmpe	#05h
024E 06 02 54       360 		brz	.SetSftF
0251 02 02 61       361 		br	.NoClrhyp
0254                362 .SetSftF:		
0254 F1 2D          363 		lda	.SFlag
0256 CB FE          364 		anda	#~01h
0258 FD 2D          365 		sta	.SFlag
025A F3 00          366 		lda	#0h
025C F9 00          367 		sta0	.KeyPos
025E 02 04 1A       368 		br	.EndGetKeyCode	
0261                369 .NoClrhyp:		
0261 F1 2D          370 		lda	.SFlag		
0263 DB 01          371 		ora	#01h
0265 FD 2D          372 		sta	.SFlag
0267 F3 00          373 		lda	#0h
0269 F9 00          374 		sta0	.KeyPos
026B 02 04 1A       375 		br	.EndGetKeyCode	
026E                376 .ClrAF:
+                   377 			
026E F1 2D          378 		lda	.SFlag
0270 CB CC          379 		anda	#~33h		
0272 DB 01          380 		ora	#01h
0274 FD 2D          381 		sta	.SFlag
0276                382 .ClrKeyPos1:		
0276 F3 00          383 		lda	#0h
0278 F9 00          384 		sta0	.KeyPos
027A 02 04 1A       385 		br	.EndGetKeyCode	
+                   386 					
+                   387 ;-------------------------------------------		
027D                388 .SftAddNor:
027D F5 00          389 		lda0	.KeyPos	
027F A7 44          390 		cmpe	#.HYP
0281 06 02 3E       391 		brz	.SetHyp
0284 F5 00          392 		lda0	.KeyPos	
0286 A7 13          393 		cmpe	#.ALPHA
0288 06 02 2F       394 		brz	.SetAlpha
028B F5 00          395 		lda0	.KeyPos	
028D A7 12          396 		cmpe	#.SHIFT
028F 07 02 A3       397 		brnz	.GetShfKey
0292 F3 00          398 		lda	#0h
0294 F9 00          399 		sta0	.KeyPos
0296 F3 01          400 		lda	#01h
0298 FC 28          401 		sta	PP
029A F1 2D          402 		lda	.SFlag
029C CB FB          403 		anda	#~04h	;	#~44h				;12/30
029E FD 2D          404 		sta	.SFlag
02A0 02 04 1A       405 		br	.EndGetKeyCode
02A3                406 .GetShfKey:			
02A3 F5 00          407 		lda0	.KeyPos	
02A5 A7 FF          408 		cmpe	#0ffh
02A7 06 04 1A       409 		brz	.EndGetKeyCode
02AA F3 01          410 		lda	#01h
02AC FC 28          411 		sta	PP
02AE F5 00          412 		lda0	.KeyPos
02B0 FD 01          413 		sta 	.M_bcdbuf+1
02B2 F3 00          414 		lda	#0h
02B4 FD 00          415 		sta 	.M_bcdbuf
02B6 20 00 00       416 		call	.Bcd2Hex
02B9 F1 01          417 		lda 	.M_bcdbuf+1
02BB F9 00          418 		sta0	.KeyPos
02BD F3 01          419 		lda	#01h
02BF FC 28          420 		sta	PP
02C1 F3 00          421 		lda	#^(.ShiftKey)
02C3 FD 2A          422 		sta	.TPPTemp
02C5 F3 07          423 		lda	#@(.ShiftKey)
02C7 FD 2B          424 		sta	.TPHTemp
02C9 F3 73          425 		lda	#<(.ShiftKey)
02CB FD 2C          426 		sta	.TPLTemp
+                   427 						
02CD F5 00          428 		lda0	.KeyPos		
02CF 89 2C          429 		adda	.TPLTemp
02D1 FD 2C          430 		sta	.TPLTemp
02D3 05 02 DB       431 		brnc	.NoCarrySft
02D6 F1 2B          432 		lda	.TPHTemp	
02D8 1F             433 		inca
02D9 FD 2B          434 		sta	.TPHTemp
02DB                435 .NoCarrySft:
02DB F1 2A          436 		lda	.TPPTemp
02DD FC 54          437 		sta	TPP
02DF F1 2B          438 		lda	.TPHTemp
02E1 FC 02          439 		sta	TPH		
02E3 F1 2C          440 		lda	.TPLTemp
02E5 FC 01          441 		sta	TPL
02E7 F8             442 		ldv
02E8 F9 00          443 		sta0 	.KeyPos
02EA A7 60          444 		cmpe	#60h
02EC 06 02 FB       445 		brz	.IsRntCheck
02EF 20 05 2A       446 		call	.CheckClrData
02F2                447 .22$:		
02F2 F1 2D          448 		lda	.SFlag
02F4 CB FB          449 		anda	#~04h		
02F6 FD 2D          450 		sta	.SFlag
02F8 02 04 1A       451 		br	.EndGetKeyCode	
02FB                452 .IsRntCheck:		
02FB F1 2D          453 		lda	.SFlag
02FD CB 08          454 		anda	#08h
02FF 06 02 F2       455 		brz	.22$	
0302 F1 2D          456 		lda	.SFlag	
0304 CB BB          457 		anda	#~44h		
0306 FD 2D          458 		sta	.SFlag					
0308 02 04 1A       459 		br	.EndGetKeyCode		
+                   460 					
+                   461 ;-------------------------------------------		
030B                462 .AlfAddNor:
030B F5 00          463 		lda0	.KeyPos	
030D A7 12          464 		cmpe	#.SHIFT
030F 06 01 E4       465 		brz	.SetShift
+                   466 		;lda0	.KeyPos	
+                   467 		;cmpe	#.HYP
+                   468 		;brz	.SetHyp
0312 F5 00          469 		lda0	.KeyPos	
0314 A7 13          470 		cmpe	#.ALPHA
0316 07 03 26       471 		brnz	.GetAlfKey
0319 F3 00          472 		lda	#0h
031B F9 00          473 		sta0	.KeyPos
031D F1 2D          474 		lda	.SFlag
031F CB FD          475 		anda	#~02h
0321 FD 2D          476 		sta	.SFlag
0323 02 04 1A       477 		br	.EndGetKeyCode
0326                478 .GetAlfKey:				
0326 F3 01          479 		lda	#01h
0328 FC 28          480 		sta	PP					
032A F5 00          481 		lda0	.KeyPos
032C FD 01          482 		sta	.M_bcdbuf+1
032E F3 00          483 		lda	#0h
0330 FD 00          484 		sta 	.M_bcdbuf
0332 20 00 00       485 		call	.Bcd2Hex
0335 F1 01          486 		lda 	.M_bcdbuf+1
0337 F9 00          487 		sta0	.KeyPos		
0339 F3 00          488 		lda	#^(.AlphaKey)
033B FD 2A          489 		sta	.TPPTemp
033D F3 07          490 		lda	#@(.AlphaKey)
033F FD 2B          491 		sta	.TPHTemp
0341 F3 CD          492 		lda	#<(.AlphaKey)
0343 FD 2C          493 		sta	.TPLTemp						
0345 F5 00          494 		lda0	.KeyPos		
0347 89 2C          495 		adda	.TPLTemp
0349 FD 2C          496 		sta	.TPLTemp
034B 05 03 53       497 		brnc	.NoCarryAlf
034E F1 2B          498 		lda	.TPHTemp	
0350 1F             499 		inca
0351 FD 2B          500 		sta	.TPHTemp
0353                501 .NoCarryAlf:
0353 F1 2A          502 		lda	.TPPTemp
0355 FC 54          503 		sta	TPP
0357 F1 2B          504 		lda	.TPHTemp
0359 FC 02          505 		sta	TPH		
035B F1 2C          506 		lda	.TPLTemp
035D FC 01          507 		sta	TPL
035F F8             508 		ldv
0360 F9 00          509 		sta0 	.KeyPos	
0362 20 05 2A       510 		call	.CheckClrData
0365 F3 00          511 		lda	#>StateFlag
0367 FC 28          512 		sta	PP
0369 F1 00          513 		lda	StateFlag
036B CB 08          514 		anda	#08h
036D 06 03 7B       515 		brz	1$
0370 F5 00          516 		lda0	.KeyPos
0372 A7 7A          517 		cmpe	#7ah		;calc key
0374 07 03 7B       518 		brnz	1$
0377 F3 00          519 		lda	#0h
0379 F9 00          520 		sta0	.KeyPos		
+                   521 1$:		
037B F1 2D          522 		lda	.SFlag
037D CB FD          523 		anda	#~02h		
037F FD 2D          524 		sta	.SFlag		
0381 02 04 1A       525 		br	.EndGetKeyCode	
+                   526 		 	
+                   527 ;-------------------------------------------				
0384                528 .HypAddNor:	
0384 F5 00          529 		lda0	.KeyPos	
0386 A7 13          530 		cmpe	#.ALPHA
0388 06 02 2F       531 		brz	.SetAlpha
038B F5 00          532 		lda0	.KeyPos	
038D A7 12          533 		cmpe	#.SHIFT
038F 06 01 E4       534 		brz	.SetShift
0392 F5 00          535 		lda0	.KeyPos	
0394 A7 44          536 		cmpe	#.HYP
0396 06 02 3E       537 		brz	.SetHyp
0399 F5 00          538 		lda0	.KeyPos					
039B A7 45          539 		cmpe	#45h
039D 07 03 A7       540 		brnz	.ChkCosh
03A0 F3 E9          541 		lda	#.SinH
03A2 F9 00          542 		sta0 	.KeyPos
03A4 02 03 C3       543 		br	.EndHypAddNor
03A7                544 .ChkCosh:
03A7 A7 46          545 		cmpe	#46h
03A9 07 03 B3       546 		brnz	.ChkTanh
03AC F3 F0          547 		lda	#.CosH
03AE F9 00          548 		sta0 	.KeyPos
03B0 02 03 C3       549 		br	.EndHypAddNor
03B3                550 .ChkTanh:		
03B3 A7 47          551 		cmpe	#47h
03B5 07 03 BF       552 		brnz	.EndHypAddNor1
03B8 F3 F1          553 		lda	#.TanH
03BA F9 00          554 		sta0 	.KeyPos
03BC 02 03 C3       555 		br	.EndHypAddNor
03BF                556 .EndHypAddNor1:		
03BF F3 00          557 		lda	#0h
03C1 F9 00          558 		sta0	.KeyPos
03C3                559 .EndHypAddNor:	
03C3 20 05 2A       560 		call	.CheckClrData	
03C6 F1 2D          561 		lda	.SFlag
03C8 CB BE          562 		anda	#~41h		
03CA FD 2D          563 		sta	.SFlag
03CC 02 04 1A       564 		br	.EndGetKeyCode
+                   565 ;-------------------------------------------		
03CF                566 .HypAddSft:	
03CF F5 00          567 		lda0	.KeyPos	
03D1 A7 13          568 		cmpe	#.ALPHA
03D3 06 02 2F       569 		brz	.SetAlpha
03D6 F5 00          570 		lda0	.KeyPos	
03D8 A7 12          571 		cmpe	#.SHIFT
03DA 06 01 E4       572 		brz	.SetShift
03DD F5 00          573 		lda0	.KeyPos	
03DF A7 44          574 		cmpe	#.HYP
03E1 06 02 3E       575 		brz	.SetHyp
03E4 F5 00          576 		lda0	.KeyPos	
03E6 A7 45          577 		cmpe	#45h
03E8 07 03 F2       578 		brnz	.ChkACosh
03EB F3 F2          579 		lda	#.ASinH
03ED F9 00          580 		sta0 	.KeyPos
03EF 02 04 0E       581 		br	.EndHypAddSft
03F2                582 .ChkACosh:
03F2 A7 46          583 		cmpe	#46h
03F4 07 03 FE       584 		brnz	.ChkATanh
03F7 F3 F3          585 		lda	#.ACosH
03F9 F9 00          586 		sta0 	.KeyPos
03FB 02 04 0E       587 		br	.EndHypAddSft
03FE                588 .ChkATanh:		
03FE A7 47          589 		cmpe	#47h
0400 07 04 0A       590 		brnz	.EndHypAddSft1
0403 F3 F4          591 		lda	#.ATanH
0405 F9 00          592 		sta0 	.KeyPos
0407 02 04 0E       593 		br	.EndHypAddSft
040A                594 .EndHypAddSft1:
040A F3 00          595 		lda	#0h
040C F9 00          596 		sta0	.KeyPos		
+                   597 		
040E                598 .EndHypAddSft:		
040E 20 05 2A       599 		call	.CheckClrData
0411 F1 2D          600 		lda	.SFlag
0413 CB BA          601 		anda	#~45h		
0415 FD 2D          602 		sta	.SFlag		
0417 02 04 1A       603 		br	.EndGetKeyCode
+                   604 ;-------------------------------------------				
041A                605 .EndGetKeyCode:
041A F3 00          606 		lda	#>StateFlag
041C FC 28          607 		sta	PP
041E F1 00          608 		lda	StateFlag
0420 CB 80          609 		anda	#80h
0422 07 04 B0       610 		brnz	.CompMode		
0425 F1 00          611 		lda	StateFlag
0427 CB 40          612 		anda	#40h
0429 07 04 66       613 		brnz	.ReleaseSDkey
+                   614 		;lda	StateFlag
+                   615 		;anda	#08h
+                   616 		;brnz	.BaseNmode
042C F1 00          617 		lda	StateFlag
042E CB 07          618 		anda	#07h
0430 06 05 1E       619 		brz	.NotRegMode
+                   620 ;;LRmodeKeyLock						
0433 F5 00          621 		lda0	.KeyPos
0435 A7 D0          622 		cmpe	#0d0h
0437 06 05 10       623 		brz	.ClrKeyPos
043A A7 D6          624 		cmpe	#0d6h
043C 06 05 10       625 		brz	.ClrKeyPos
043F A7 7A          626 		cmpe	#07ah		;calc'='

⌨️ 快捷键说明

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