📄 basic_fn.lst
字号:
+0 496 496 ;V3.00S_PRM equ 0x11 ;- % percent minus
+0 497 497 ;V3.00S_PRP equ 0x12 ;+ % percent plus
+0 498 498 ;V3.00S_DLP equ 0x13 ;d + delta plus(for tax+)
+0 499 499 ;V3.00S_DLM equ 0x14 ;d - delta plus(for tax-)
+0 500 500 ;V3.00S_AM equ 0x15 ;A M time print
+0 501 501 ;V3.00S_PM equ 0x16 ;P M time print
+0 502 502 ;V3.00S_CST equ 0xb7;0x17 ;C * cost price
+0 503 503 ;V3.00S_SEL equ 0x26;0x18 ;S * selling price
+0 504 504 ;V3.00S_MAR equ 0xa1;0x19 ;M % margine %
+0 505 505 ;V3.00S_MU equ 0xa2;0x1a ;M _ mark up
+0 506 506 ;V3.00S_MUD equ 0x57;0x1b ;d * delta of mark up
+0 507 507 ;V3.00S_SET equ 0x27;0x1d ;_ * for rate,time set(* only)
+0 508 508 ;V3.00S_SHD equ 0x22;0x1c ;_ _ for #/D print(space)
+0 509 509 ;V3.00S_TLG equ 0x93;0x0a ;G + total key with GT position
+0 510 510 ;==============================================================================
+0 511 511 ;V3.00S_FED equ 0x00 ;fh+' '
+0 512 512 ;V3.00S_PWR equ 0x17 ;'C*'
+0 513 513 ;V3.00S_PLS equ 0x01 ;' +'
+0 514 514 ;V3.00S_MIN equ 0x02 ;' -'
+0 515 515 ;V3.00S_SPC equ 0x00 ;' '
+0 516 516 ;V3.00S_SHP equ 0x26 ;' <>'
+0 517 517 ;V3.00S_TL equ 0x22 ;' *'
+0 518 518 ;V3.00S_TLGT equ 0x3c ;'*+'
+0 519 519 ;V3.00S_TLMGT equ 0x3d ;'*+'
+0 520 520 ;V3.00S_ST equ 0x08 ;' <>'
+0 521 521 ;V3.00S_MUL equ 0x03 ;' X'
+0 522 522 ;V3.00S_DIV equ 0x04 ;' /'
+0 523 523 ;V3.00S_EQU equ 0x05 ;' ='
+0 524 524 ;V3.00S_AST equ 0x22 ;' *'
+0 525 525 ;V3.00S_CLR equ 0x07 ;'c '
+0 526 526 ;V3.00S_MTL equ 0x0e ;'M*'
+0 527 527 ;V3.00S_MST equ 0x0d ;'M<>'
+0 528 528 ;V3.00S_MPL equ 0x0b ;'M+'
+0 529 529 ;V3.00S_MMI equ 0x0c ;'M-'
+0 530 530 ;V3.00S_M2TL equ 0x10 ;'G*'
+0 531 531 ;V3.00S_STASTA equ 0x77 ;'**'
+0 532 532 ;V3.00S_M2ST equ 0x0f ;'G<>'
+0 533 533 ;V3.00S_STAS equ 0x76 ;'*S'
+0 534 534 ;V3.00S_M2PL equ 0x3e ;'G+'
+0 535 535 ;V3.00S_STAPL equ 0x73 ;'*+'
+0 536 536 ;V3.00S_PLSTA equ 0x37 ;'+*'
+0 537 537 ;V3.00S_M2MI equ 0x3f ;'G-'
+0 538 538 ;V3.00S_STAMN equ 0x70 ;'*-'
+0 539 539 ;V3.00S_M2TLV equ 0x97 ;'G*'
+0 540 540 ;V3.00S_M2STV equ 0x96 ;'G<>'
+0 541 541 ;V3.00S_M2PLV equ 0x3e ;'G+'
+0 542 542 ;V3.00S_M2MIV equ 0x3f ;'G-'
+0 543 543 ;V3.00S_PER equ 0x06 ;' %'
+0 544 544 ;V3.00S_STAPER equ 0x71 ;'*%'
+0 545 545 ;V3.00S_PRDS equ 0x01 ;'-%'
+0 546 546 ;V3.00S_PRAD equ 0x31 ;'+%'
+0 547 547 ;V3.00S_DLTAL equ 0x82 ;delta+' '
+0 548 548 ;V3.00S_DLTA equ 0x28 ;' "+delta V1.26
+0 549 549 ;V3.00S_PRDL equ 0x81 ;delta+'%'
+0 550 550 ;V3.00S_DLAS equ 0x87 ;delta+'*'
+0 551 551 ;V3.00S_PRMU equ 0x21 ;' %'
+0 552 552 ;V3.00S_MKUP equ 0xa2 ;'M '
+0 553 553 ;V3.00S_RVS equ 0x22 ;' '
+0 554 554 ;V3.00S_AVR equ 0x27 ;' *'
+0 555 555 ;V3.00S_ROOT equ 0x22 ;' '
+0 556 556 ;V3.00S_TAX equ 0x12 ;'% '
+0 557 557 ;V3.00S_PRN equ 0x62 ;'<> '
+0 558 558 ;V3.00S_EUR equ 0x22 ;' '
+0 559 559 ;V3.00S_EUEQ equ 0xc2 ;'= '
+0 560 560 ;V3.00S_COST equ 0x2b ;' C'
+0 561 561 ;V3.00S_SELL equ 0x26 ;' <>'
+0 562 562 ;V3.00S_M equ 0x2a ;' M'
+0 563 563 ;V3.00S_MARG equ 0xa1 ;'M%'
+0 564 564 ;V3.00S_PERMARG equ 0x1a ;'%M'
+0 565 565 ;V3.00S_TAXA equ 0x27 ;' *'
+0 566 566 ;V3.00S_ICG equ 0x29 ;' G'
+0 567 567 ;V3.00S_ICGV equ 0x29 ;' G'
+0 568 568 ;V3.00S_ICM equ 0x2a ;' M'
+0 569 569 ;V3.00S_ASM equ 0x7a ;'*M'
+0 570 570 ;V3.00S_ASC equ 0x7b ;'*C'
+0 571 571 ;V3.00S_ASDL equ 0x78 ;'*'+delta
+0 572 572 ;V3.00S_MIPL equ 0x03 ;'-+'
+0 573 573 ;V3.00S_MIMI equ 0x00 ;'--'
+0 574 574 ;V3.00S_MIST equ 0x06 ;'-S'
+0 575 575 ;V3.00S_MITL equ 0x07 ;'-T'
+0 576 576 ;V3.00S_EUROS equ 0x29 ;' euro'
+0 577 577 ;V3.00S_G equ 0x9f ;'G '
+0 578 578 ;V3.00S_GPL equ 0x93 ;'G+'
+0 579 579 ;V3.00S_GAST equ 0x97 ;'G*'
+0 580 580 ;==============================================================================
00000020 +0 581 581 P_SPC equ 0x20 ;for print " "
+0 582 582 ;-----------------------------------------------------------
+0 583 583 ;interrupt enable flag set:
+0 584 584
00000004 +0 585 585 EF4 equ 4;(EIRL).4 /INT0
00000005 +0 586 586 EF5 equ 5;(EIRL).5 INTTC1
00000006 +0 587 587 EF6 equ 6;(EIRL).6 INT1
00000007 +0 588 588 EF7 equ 7;(EIRL).7 INTTBT
00000000 +0 589 589 EF8 equ 0;(EIRH).0 INTTC3
00000001 +0 590 590 EF9 equ 1;(EIRH).1 INTSIO(High speed SIO interrupt)
00000002 +0 591 591 EF10 equ 2;(EIRH).2 INTTC4
00000003 +0 592 592 EF11 equ 3;(EIRH).3 INT3
00000004 +0 593 593 EF12 equ 4;(EIRH).4 INT4
00000005 +0 594 594 EF13 equ 5;(EIRH).5 INTTC2
00000006 +0 595 595 EF14 equ 6;(EIRH).6 /INT5
00000007 +0 596 596 EF15 equ 7;(EIRH).7 INTADC or INT2
+0 597 597 ;interrupt request flag set:
00000002 +0 598 598 IL2 equ 2;(ILL).2 INTSWI
00000003 +0 599 599 IL3 equ 3;(ILL).3 INTATRAP
00000004 +0 600 600 IL4 equ 4;(ILL).4 /INT0
00000005 +0 601 601 IL5 equ 5;(ILL).5 INTTC1
00000006 +0 602 602 IL6 equ 6;(ILL).6 INT1
00000007 +0 603 603 IL7 equ 7;(ILL).7 INTTB
00000000 +0 604 604 IL8 equ 0;(ILH).0 INTTC3
00000001 +0 605 605 IL9 equ 1;(ILH).1 INTSIO
00000002 +0 606 606 IL10 equ 2;(ILH).2 INTTC4
00000003 +0 607 607 IL11 equ 3;(ILH).3 INT3
00000004 +0 608 608 IL12 equ 4;(ILH).4 INT4
00000005 +0 609 609 IL13 equ 5;(ILH).5 INTTC2
00000006 +0 610 610 IL14 equ 6;(ILH).6 /INT5
00000007 +0 611 611 IL15 equ 7;(ILH).7 INTADC or /INT2
+0 612 612 ; DBR_LCD_RATE equ (0x0f33<<4)+5 ;LCD DBR matrix point for "RATE"
+0 613 613 ; DBR_LCD1235_RATE equ (0x0f33<<4)+3 ;LCD DBR matrix point for "RATE"
+0 614 614 ; DBR_LCD1297_RATE equ (0x0f33<<4)+4 ;LCD DBR matrix point for "RATE"
+0 615 615 ; DBR_LCD120_RATE equ (0x0f33<<4)+4 ;LCD DBR matrix point for "RATE"
+0 616 616 ; DBR_LCD1297_GT equ (0x0f32<<4)+2 ;LCD DBR matrix point for "GT"
+0 617 617 ; ;LCD_PRN equ (0x0f31<<4)+3 ;LCD DBR matrix point for "PRINT"
+0 618 618 ; ;LCD_FIN equ (0x0f30<<4)+3 ;LCD DEB matrix point for "FIN"
+0 619 619
00007A12 +0 620 620 AUTOOFFTIME equ 31250;1500
+0 621 621 $list
+0 622 622
+0 623 623 public tenkey,dp_key,gt_key,cec_key,acc_plus,acc_minus,acc_subtl,acc_total
+0 624 624 public equal_key,percent_key,perplus_key,multi_key,divide_key,sharp_subtl ;V2.03feed_key,
+0 625 625 public markup_key,delta_percent,sign_change,back_space,sharp_date,all_clear,work_clear,work_clear_acc
+0 626 626 public mem_minus,mem_plus,mem_subtl,mem_total,mem2_minus,mem2_plus,mem2_subtl,mem2_total
+0 627 627 public ce_key,item_key,tenkey,enter_stop;V2.03prn_mode_key,off_key,fin_mode_key,decimal_set_key,
+0 628 628 public square_root,mem2_plus,mem2_minus,equal_sub
+0 629 629 extern function_end,tenkey_end,no_operation,shp_sgn_end ;V2.03,feed_key_end
+0 630 630 extern init_scan,init_io,function_end9,function_end_0;V2.00init_lcd,init_pf
+0 631 631 extern check_dp_over2 ;key_amount,key_interest,key_month,key_payment,
+0 632 632 extern eurate_minus_key,eurate_plus_key,resume,rate_ten_key;lcd_display_exp,
+0 633 633 ;V3.00 extern time_key,rtc_key_equ,rtc_key_mul,rtc_key_div
+0 634 634 extern tax2_plus,tax2_minus,tax_plus,tax_minus,tax_plus_a,tax12_plus,tax12_minus
+0 635 635 extern functionnoclearftenkey,lcd_display_exp,tax_minus_a,tax_plus_x,tax_minus_x
+0 636 636 extern keep_ten_6dig,rate_ten_key_01,fix_euro_to_ten,euro_print,euro_display
+0 637 637 extern euro_rate_recall_x,euro_set_sub
+0 638 638 extern wk_print9,edit_prn
+0 639 639 extern rate_ten_key_01 ;V4.12
+0 640 640 ROM section code
00000096 +0 641 641 IC_HOLD_TIM equ 150
00000096 +0 642 642 GT_HOLD_TIM equ 150
+0 643 643 ;===============================================================================
+0 644 644 ; Tenkey input
+0 645 645 ;===============================================================================
00000000 +0 646 646 tenkey:
00000000 480000 R +0 647 647 ld wa,F_RATE
00000003 E10000FC R +0 648 648 test (F_RATE>>4).a ;bit -reverse-> jump status
00000007 82FE0000 R +0 649 649 j f,rate_ten_key ;if jump status is 0 -> branch
0000000B 480000 R +0 650 650 ld wa,F_TNKEY
0000000E E10000FC R +0 651 651 test (F_TNKEY>>4).a ;bit -reverse-> jump status
00000012 DF17 +0 652 652 j f,tenkey_st ;if jump status is 0 -> branch
00000014 480000 R +0 653 653 ld wa,F_DPIN
00000017 E10000FC R +0 654 654 test (F_DPIN>>4).a ;bit -reverse-> jump status
0000001B AE +0 655 655 j f,tenkey_st ;if jump status is 0 -> branch
0000001C 0C00 R +0 656 656 ld a,(PRE_KEY) ;V1.52
0000001E 0E00 R +0 657 657 ld (PRE_KEY_BK),a ;V1.52 this only is used for [IC] after ten key entry
00000020 480000 R +0 658 658 ld wa,F_TNKEY
00000023 E10000F2 R +0 659 659 set (F_TNKEY>>4).a
00000027 0C00 R +0 660 660 ld a,(TEN_CT)
00000029 D82C +0 661 661 j z,tenkey_00 ;first tenkey entry?(TEN_CT=0) yes ->
0000002B +0 662 662 tenkey_st: ;V1.24
0000002B 0C00 R +0 663 663 ld a,(TEN_CT) ;v1.24
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -