📄 calcedit.asl
字号:
01C6 06 01 E0 301 brz Insdelgo
01C9 A7 00 302 cmpe #C_ZERO
01CB 06 03 40 303 brz Insetmodeend
01CE A7 61 304 cmpe #INSKEY
01D0 06 03 40 305 brz Insetmodeend
01D3 A7 61 306 cmpe #INSKEY
01D5 06 03 40 307 brz Insetmodeend
01D8 A7 6A 308 cmpe #LOGICKEY
01DA 06 03 40 309 brz Insetmodeend
01DD 02 02 B2 310 br Inswordgo
+ 311
01E0 312 Insdelgo:
01E0 313 PP2One()
01E4 F5 00 314 lda0 .SFDP
01E6 FD 00 315 sta cmpDP
01E8 F3 02 316 lda #C_TWO
01EA FD 00 317 sta cmpPP
01EC 20 00 00 318 call Decplace
01EF F1 00 319 lda cmpDP
01F1 A7 00 320 cmpe #C_ZERO
01F3 07 01 F9 321 brnz Delfront
01F6 02 02 5A 322 br Delback
+ 323
+ 324
01F9 325 Delfront:
+ 326
01F9 20 03 80 327 call ClrPP3
01FC 20 00 D4 328 call Movepage
+ 329
01FF 330 PP2One()
0203 F5 00 331 lda0 .SFDP
0205 FD 00 332 sta cmpDP
0207 F3 02 333 lda #C_TWO
0209 FD 00 334 sta cmpPP
020B 20 00 00 335 call Decplace
020E 336 PP2One()
0212 F1 00 337 lda cmpDP
0214 FD 19 338 sta editDP
0216 20 00 00 339 call Decplace
0219 340 PP2One()
021D F1 00 341 lda cmpDP
021F FD 17 342 sta chkDP
0221 F9 00 343 sta0 .SFDP
+ 344
0223 20 03 41 345 call clrp2back
0226 346 PP2One()
022A F1 19 347 lda editDP
022C FD 00 348 sta cmpDP
022E 349 frontloop:
022E 20 01 16 350 call movebehind
0231 351 PP2One()
0235 F5 00 352 lda0 .DataDP
0237 A5 00 353 cmpe cmpDP
0239 07 02 2E 354 brnz frontloop
023C 355 PP2One()
0240 F1 17 356 lda chkDP
0242 F9 00 357 sta0 .DataDP
+ 358
0244 359 PP2One()
0248 F5 00 360 lda0 .SFDP
024A FD 00 361 sta cmpDP
024C F3 02 362 lda #C_TWO
024E FD 00 363 sta cmpPP
0250 20 00 00 364 call Addplace
0253 F1 00 365 lda cmpDP
0255 F9 00 366 sta0 .SFDP
0257 02 03 3A 367 br Insetmodeend1
+ 368
+ 369
+ 370
+ 371
025A 372 Delback:
+ 373
025A 20 03 80 374 call ClrPP3
025D 20 00 D4 375 call Movepage
0260 20 03 71 376 call ClrPP2
0263 377 PP2One()
+ 378
0267 F5 00 379 lda0 .DataDP
0269 FD 00 380 sta cmpDP
026B F3 02 381 lda #C_TWO
026D FD 00 382 sta cmpPP
026F 20 00 00 383 call Decplace
0272 F1 00 384 lda cmpDP
0274 A7 00 385 cmpe #C_ZERO
0276 07 02 87 386 brnz keepDelback
0279 387 PP2One()
027D F1 00 388 lda cmpDP
027F F9 00 389 sta0 .DataDP
0281 20 00 00 390 call .DispInitial
0284 02 03 40 391 br Insetmodeend
0287 392 keepDelback:
0287 F3 00 393 lda #C_ZERO
0289 FD 17 394 sta chkDP
+ 395
028B 20 03 41 396 call clrp2back
028E F3 00 397 lda #C_ZERO
0290 FD 00 398 sta cmpDP
0292 F3 02 399 lda #C_TWO
0294 FD 00 400 sta cmpPP
0296 20 00 00 401 call Addplace
0299 402 backloop:
0299 20 01 16 403 call movebehind
029C 404 PP2One()
02A0 F5 00 405 lda0 .DataDP
02A2 A5 00 406 cmpe cmpDP
02A4 07 02 99 407 brnz backloop
02A7 408 PP2One()
02AB F1 17 409 lda chkDP
02AD F9 00 410 sta0 .DataDP
02AF 02 03 3A 411 br Insetmodeend1
+ 412
+ 413
+ 414
+ 415
+ 416
02B2 417 Inswordgo:
02B2 418 PP2One()
02B6 F5 00 419 lda0 .DataDP
02B8 A7 4F 420 cmpe #STEPCHK
02BA 04 03 40 421 brc Insetmodeend
+ 422
02BD 20 03 80 423 call ClrPP3
02C0 20 00 D4 424 call Movepage
+ 425
02C3 426 PP2One()
02C7 F5 00 427 lda0 .SFDP
02C9 FD 00 428 sta cmpDP
02CB F3 02 429 lda #C_TWO
02CD FD 00 430 sta cmpPP
02CF 20 00 00 431 call Decplace
02D2 F1 00 432 lda cmpDP
02D4 A7 00 433 cmpe #C_ZERO
02D6 07 02 E0 434 brnz nothead
02D9 F3 00 435 lda #C_ZERO
02DB F9 00 436 sta0 .SFDP
02DD 437 Inswordclrp2:
+ 438
+ 439
+ 440
02DD 20 03 71 441 call ClrPP2
+ 442
02E0 443 nothead:
02E0 444 PP2One()
02E4 F1 00 445 lda cmpDP
02E6 FD 19 446 sta editDP
02E8 F9 00 447 sta0 .SFDP
02EA 20 03 41 448 call clrp2back
02ED 449 setbyte:
02ED F5 00 450 lda0 .SFDP
02EF FC 21 451 sta DP
02F1 1F 452 inca
02F2 F9 00 453 sta0 .SFDP
02F4 F3 02 454 lda #C_TWO
02F6 FC 28 455 sta PP
02F8 F5 00 456 lda0 .KeyPos
02FA A7 10 457 cmpe #TENCODE
02FC 07 03 01 458 brnz 0$
02FF F3 00 459 lda #C_ZERO
0301 FE 460 0$: sta I
+ 461
+ 462
0302 463 PP2One()
0306 F5 00 464 lda0 .SFDP
0308 FD 17 465 sta chkDP
030A F1 19 466 lda editDP
030C FD 00 467 sta cmpDP
+ 468
030E 469 wordloop:
030E 20 01 16 470 call movebehind
0311 471 PP2One()
0315 F5 00 472 lda0 .DataDP
0317 A5 00 473 cmpe cmpDP
0319 07 03 0E 474 brnz wordloop
+ 475
031C 476 PP2One()
0320 F5 00 477 lda0 .SFDP
0322 FD 00 478 sta cmpDP
0324 F3 02 479 lda #C_TWO
0326 FD 00 480 sta cmpPP
0328 20 00 00 481 call Addplace
032B F1 00 482 lda cmpDP
032D F9 00 483 sta0 .SFDP
+ 484
032F 485 PP2One()
0333 F1 17 486 lda chkDP
0335 F9 00 487 sta0 .DataDP
0337 02 03 3A 488 br Insetmodeend1
+ 489
033A 490 Insetmodeend1:
033A 20 03 80 491 call ClrPP3
033D 02 00 00 492 br Rightchk
0340 493 Insetmodeend:
0340 24 494 ret
+ 495 ;------------------------------------------------------------------------
+ 496 ;------------------------------------------------------------------------
0341 497 clrp2back:
0341 498 PP2One()
0345 F5 00 499 lda0 .SFDP
0347 FD 00 500 sta cmpDP
+ 501
0349 F1 00 502 lda cmpDP
034B FC 21 503 sta DP
034D F3 02 504 lda #C_TWO
034F FC 28 505 sta PP
0351 F3 00 506 lda #C_ZERO
0353 FE 507 sta I
+ 508
0354 509 nextclr:
0354 510 PP2One()
0358 F5 00 511 lda0 .DataDP
035A A5 00 512 cmpe cmpDP
035C 06 03 70 513 brz clrp2backend
035F F1 00 514 lda cmpDP
0361 1F 515 inca
0362 FD 00 516 sta cmpDP
0364 FC 21 517 sta DP
0366 F3 02 518 lda #C_TWO
0368 FC 28 519 sta PP
036A F3 00 520 lda #C_ZERO
036C FE 521 sta I
036D 02 03 54 522 br nextclr
0370 523 clrp2backend:
0370 24 524 ret
+ 525
+ 526
+ 527
+ 528
+ 529 ;------------------------------------------------------------------------
+ 530 ;------------------------------------------------------------------------
0371 531 ClrPP2::
0371 F3 4F 532 lda #04fh
0373 F9 00 533 sta0 Temp4
0375 F3 00 534 lda #00h
0377 FC 21 535 sta DP
0379 F3 02 536 lda #02h
037B FC 28 537 sta PP
037D 02 03 8C 538 br Clear_MemAll
+ 539 ;------------------------------------------------------------------------
+ 540 ;------------------------------------------------------------------------
0380 541 ClrPP3::
0380 F3 4F 542 lda #04fh
0382 F9 00 543 sta0 Temp4
0384 F3 00 544 lda #00h
0386 FC 21 545 sta DP
0388 F3 03 546 lda #03h
038A FC 28 547 sta PP
+ 548 ;------------------------------------------------------------------------
+ 549 ;------------------------------------------------------------------------
038C 550 Clear_MemAll::
+ 551 1$:
038C F3 00 552 lda #C_ZERO
038E FE 553 sta i
038F 18 554 incdp ;Clear any page at 00h-ffh
0390 F5 00 555 lda0 Temp4
0392 A4 21 556 cmpe DP
0394 07 03 8C 557 brnz 1$
0397 24 558 ret
+ 559 ;------------------------------------------------------------------------
+ 560 ;------------------------------------------------------------------------
+ 561
+ 562
+ 563
+ 564 .include "caldisp.inc"
+
+Symbol Table
+
+ .DataBuf **** GX
+ .DataDP **** GX
+ .DispInitial **** GX
+ .KeyPos **** GX
+ .SFDP **** GX
+ .SFlag **** GX
+ .SetFlag **** GX
+ ACCHK = 0040
+ ACHKADD = 0000
+ ADDDISP = 002B
+ ADISP = 0041
+ AFADD = 0041
+ AKEYCHK = 00E3
+ ALPICOM = 0002
+ AND1 = 0061
+ AND2 = 006E
+ AND3 = 0064
+ ANDKEY = 0020
+ ANS1 = 0041
+ ANS2 = 006E
+ ANS3 = 0073
+ ARGERDISP1 = 0041
+ ARGERDISP2 = 0072
+ ARGERDISP3 = 0067
+ ARGERDISP4 = 0000
+ ARGERDISP5 = 0045
+ ARGERDISP6 = 0052
+ ARGERDISP7 = 0052
+ ARGERDISP8 = 004F
+ ARGERDISP9 = 0052
+ ARGSTART = 001B
+ AXHCODE = 00A0
+ Addplace **** GX
+ BASE5X7MODE1 = 0078
+ BASE5X7MODE2 = 0084
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -