📄 getkeycode.asl
字号:
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 + -