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

📄 basic_fn.lst

📁 calculator code ,use toshibaor nec LSI
💻 LST
📖 第 1 页 / 共 5 页
字号:
                                 +0  832    832 ;V3.01		j	eq,dp_key_09	;V1.06
                                 +0  833    833 ;V3.01		cmp	(DT_DOT_CNT),4	;V1.06
                                 +0  834    834 ;V3.01		j	ge,dp_key_09	;V1.06
                                 +0  835    835 ;V3.01		cmp	(DT_CHR_CNT),2	;V1.06
                                 +0  836    836 ;V3.01		j	ge,dp_key_08	;V1.06
                                 +0  837    837 ;V3.01		ld	hl,DT_BUF	;V1.06
                                 +0  838    838 ;V3.01		call	stg_sfl49	;V1.06
                                 +0  839    839 ;V3.01		ld	a,(DT_BUF_LSD)	;V1.06
                                 +0  840    840 ;V3.01		swap	a		;V1.06
                                 +0  841    841 ;V3.01		cmp	(DT_DOT_CNT),0	;V1.06
                                 +0  842    842 ;V3.01		j	ne,dp_key_07	;V1.06
                                 +0  843    843 ;V3.01		or	a,0xc0		;V1.06	dot replace "0"
00000147                         +0  844    844 dp_key_07:					;V1.24
                                 +0  845    845 ;V3.01		or	a,0xd0			;V1.24 "D" replace "0", will be return to 0 when print
00000147                         +0  846    846 dp_key_071:					;V1.24		
                                 +0  847    847 ;V3.01		ld	(DT_BUF_LSD),a	;V1.06
                                 +0  848    848 ;V3.01		inc	(DT_CT)		;V1.06
00000147                         +0  849    849 dp_key_08:				;V1.06
00000147  E10000F0             R +0  850    850 		inc	(DT_DOT_CNT)	;V1.06
0000014B                         +0  851    851 dp_key_080:				;V1.07
0000014B  190C                   +0  852    852 		ld	w,C_DP			;w <- DP character
0000014D  FD0000               R +0  853    853 		call	dt_update		;DT_BUF update for #/D print
                                 +0  854    854 
00000150                         +0  855    855 dp_key_09:
00000150  F10000F900           R +0  856    856 		ld	(DT_CHR_CNT),0	;V1.06
00000155  FE0000               R +0  857    857 		j	tenkey_end
                                 +0  858    858 
                                 +0  859    859 ;===============================================================================
                                 +0  860    860 ;		GT
                                 +0  861    861 ;===============================================================================
00000158                         +0  862    862 gt_key:
                                 +0  863    863 					;V1.23
                                 +0  864    864 ;V3.14		ld	hl,IC_G
                                 +0  865    865 ;V3.14		call	ic_to_icbk		;V1.22
                                 +0  866    866 ;V3.14		ld	(SYM),S_SPC		;V1.26
                                 +0  867    867 ;V3.14gt_ic_print:					;V1.24
                                 +0  868    868 ;V3.14		call	ic_print
                                 +0  869    869 ;V3.14		call	gt_to_w2
                                 +0  870    870 ;V3.14		call	w2_to_w4	;V1.22	for average calc
                                 +0  871    871 ;V3.14		call	gt_clear		;yes -> GT function
                                 +0  872    872 ;V3.14		@CLB	(ICON_GT)		;V1.18
                                 +0  873    873 ;V3.14		ld	hl,W2
                                 +0  874    874 ;V3.14		call	wk_round		;W2(GT value) rounding
                                 +0  875    875 ;V3.14		ld	(SYM),S_GT
                                 +0  876    876 ;V3.14		@BBS	(SW_EUROS,gt_key_gt_to_stasta)	;V1.24
                                 +0  877    877 ;V3.14		ld	(SYM),S_STASTA			;V1.24
                                 +0  878    878 ;V3.14gt_key_gt_to_stasta:					;V1.24
                                 +0  879    879 ;V3.14		call	wk_print		;W2 print
                                 +0  880    880 ;V3.14		call	feed_1			;1 line feed
                                 +0  881    881 ;V3.14		j	gt_key_2
                                 +0  882    882 ;V3.14gt_key_0:
                                 +0  883    883 ;V3.14		ld	hl,W2
                                 +0  884    884 ;V3.14		ld	(SYM),S_GS
                                 +0  885    885 ;V3.14		call	wk_print		;W2 print
                                 +0  886    886 ;V3.14gt_key_2:
                                 +0  887    887 ;V3.14		call	w2_to_ten		;for display accumulator value(W2)
                                 +0  888    888 ;V3.14		@SEB	(F_FNEABL)	;V1.09
00000158  FE0000               R +0  889    889 		j	function_end
                                 +0  890    890 
                                 +0  891    891 ;===============================================================================
                                 +0  892    892 ;		CE/C
                                 +0  893    893 ;===============================================================================
0000015B                         +0  894    894 ce_key:
0000015B  480000               R +0  895    895 	ld	wa,F_COUNTRY
0000015E  E10000FA             R +0  896    896 	clr	(F_COUNTRY>>4).a
00000162  480000               R +0  897    897 	ld	wa,EURO_PROG
00000165  E10000FA             R +0  898    898 	clr	(EURO_PROG>>4).a
00000169  480000               R +0  899    899 	ld	wa,RATE_PROG
0000016C  E10000FA             R +0  900    900 	clr	(RATE_PROG>>4).a
00000170  480000               R +0  901    901 	ld	wa,F_TNKEY
00000173  E10000FC             R +0  902    902 	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
00000177  DF1F                   +0  903    903 	j	f,ce_key_start		;if jump status is 0 -> branch
00000179  480000               R +0  904    904 	ld	wa,F_RATE
0000017C  E10000FC             R +0  905    905 	test	(F_RATE>>4).a		;bit -reverse-> jump status
00000180  DF16                   +0  906    906 	j	f,ce_key_start		;if jump status is 0 -> branch
00000182  E100005A             R +0  907    907         test	(FLG_MODE).2
00000186  87                     +0  908    908 	j	t,ce_key_x
00000187  FD0000               R +0  909    909 		call	ten_zerock	;V4.12
0000018A  D903                   +0  910    910 		j	nz,ce_key_x	;V4.12
0000018C  5800                 R +0  911    911 		test	(TEN_S).0	;V4.12
0000018E  A8                     +0  912    912 		j	f,ce_key_start	;V4.12
                                 +0  913    913 
0000018F                         +0  914    914 ce_key_x:				;V4.12
0000018F  0C00                 R +0  915    915 		ld	a,(PRE_KEY)		;V1.30
00000191  F1000078             R +0  916    916 		ld	(KEYIN),a		;V1.30
00000195  FE0000               R +0  917    917 		jp	no_operation		;V1.30
00000198                         +0  918    918 ce_key_start:
00000198  F10000F90D           R +0  919    919 		ld	(KEYIN),K_CE	;V1.13
0000019D  FE0000               R +0  920    920 		jp	cec_key_yyy	;V1.13
000001A0                         +0  921    921 cec_key:
000001A0  480000               R +0  922    922 	ld	wa,F_COUNTRY
000001A3  E10000FA             R +0  923    923 	clr	(F_COUNTRY>>4).a
000001A7  480000               R +0  924    924 	ld	wa,SW_AC
000001AA  E10000FC             R +0  925    925 	test	(SW_AC>>4).a		;bit -reverse-> jump status
000001AE  DF15                   +0  926    926 	j	f,cec_key_0		;if jump status is 0 -> branch
000001B0  480000               R +0  927    927 	ld	wa,F_TNKEY
000001B3  E10000FC             R +0  928    928 	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
000001B7  8C                     +0  929    929 	j	t,cec_key_0		;if jump status is 1 -> branch
000001B8                         +0  930    930 cec_key_yyy:				;V1.13
000001B8  F10000F900           R +0  931    931 		ld	(DT_CHR_CNT),0	;V1.31
000001BD  FD0000               R +0  932    932 		call	ten_clear		;clear key entry only
000001C0  FD0000               R +0  933    933 		call	spc_dt			;clear #/D key buffer
000001C3  FC19                   +0  934    934 		j	cec_key_2		;-> function_end
                                 +0  935    935 ;clear function.........
000001C5                         +0  936    936 cec_key_0:
                                 +0  937    937 
000001C5  FD0000               R +0  938    938 		call	work_clear_acc		; no h/w initialize
000001C8  4B0000               R +0  939    939 		ld	hl,ACC
000001CB  0A000D               R +0  940    940 		ld	(SYM),S_CLR
000001CE  FD0000               R +0  941    941 		call	wk_print		;accumulator value(zero) print
000001D1  FD0000               R +0  942    942 		call	feed_1			;1 line feed
000001D4  480000               R +0  943    943 	ld	wa,IC_PROG
000001D7  E10000FA             R +0  944    944 	clr	(IC_PROG>>4).a
000001DB  FE0000               R +0  945    945 		jp	function_end	;V1.10
000001DE                         +0  946    946 cec_key_2:
                                 +0  947    947 ;V4.01		@CLB	(IC_PROG)	;V1.23
000001DE  FE0000               R +0  948    948 		j	function_end_0
                                 +0  949    949 
000001E1                         +0  950    950 all_clear:
                                 +0  951    951 ;h/w initialize...........
000001E1  480000               R +0  952    952 	ld	wa,IO_MT
000001E4  E10000FC             R +0  953    953 	test	(IO_MT>>4).a		;bit -reverse-> jump status
000001E8  B7                     +0  954    954 	j	f,all_clear		;if jump status is 0 -> branch
                                 +0  955    955 ;V4.01		@CLB	(IC_PROG)		;V1.23
000001E9  FD0000               R +0  956    956 		call	init_vft	;V2.01
000001EC  C83A                   +0  957    957 		di
000001EE  FD0000               R +0  958    958 		call	init_io			;IO initialize
                                 +0  959    959 ;V3.00		call	init_pf			;initialize Timer3 for power failure detection
000001F1  FD0000               R +0  960    960 		call	init_scan		;initialize Timer4 for key scan
000001F4  C03A                   +0  961    961 		ei				;interrupt enable
                                 +0  962    962 
                                 +0  963    963 ;work area clear..........
000001F6                         +0  964    964 work_clear_acc:
000001F6  FD0000               R +0  965    965 		call	acc_clear
000001F9                         +0  966    966 work_clear:
000001F9  FD0000               R +0  967    967 		call	ten_clear
000001FC  FD0000               R +0  968    968 		call	spc_dt			;clear #/D key buffer
                                 +0  969    969 ;V3.00		call	fn_register_clear	;V1.13
                                 +0  970    970 ;V3.00		ld	(FINANCE_0),0	;V1.09
                                 +0  971    971 ;V3.00		ld	(FINANCE_1),0	;V1.09
000001FF  0A0000               R +0  972    972 		ld	(FLG_E),0y00000000	;clear calculate instruction flag
00000202  0A0000               R +0  973    973 		ld	(FLG_C),0y00000000	;clear constant calculation flag
                                 +0  974    974 
00000205  FA                     +0  975    975 		ret
                                 +0  976    976 
                                 +0  977    977 ;===============================================================================
                                 +0  978    978 ;		-
                                 +0  979    979 ;===============================================================================
00000206                         +0  980    980 acc_minus:
                                 +0  981    981 ;V4.01		@BBS	(IC_PROG,set_ic_minus_key)	;V1.23  for V15 logic
                                 +0  982    982 ;V4.01		cmp	(PRE_KEY),K_M2CAL	;V1.22\
                                 +0  983    983 ;V4.01		j	ne,acc_minus_start	;V1.22|for [M2-]
                                 +0  984    984 ;V4.01		ld	(KEYIN),K_M2MI		;V1.22|
                                 +0  985    985 ;V4.01		jp	mem2_minus		;v1.22/
00000206                         +0  986    986 acc_minus_start:				;V1.22
                                 +0  987    987 ;V3.00		@BBC	(SW_V15,acc_minus_x)	;V1.19\
                                 +0  988    988 ;V3.00		cmp	(PRE_KEY),K_TAX		;V1.19|	
                                 +0  989    989 ;V3.00		j	ne,acc_minus_x		;V1.19|
                                 +0  990    990 ;V3.00		@BBC	(M_TX2,acc_minus_tx1)	;V1.19|for V15 tax[-]
                                 +0  991    991 ;V3.00		@BBC	(M_TX1,acc_minus_tx0)	;V2.07
                                 +0  992    992 ;V3.00		ld	(KEYIN),K_TX12M		;V2.07
                                 +0  993    993 ;V3.00		jp	tax12_minus		;V2.07
                                 +0  994    994 ;V3.00acc_minus_tx0:
                                 +0  995    995 ;V3.00		ld	(KEYIN),K_TX2M		;V1.19|
                                 +0  996    996 ;V3.00		jp	tax_minus_a	;V2.18
                         

⌨️ 快捷键说明

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