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

📄 main.med

📁 calculator code ,use toshibaor nec LSI
💻 MED
📖 第 1 页 / 共 5 页
字号:
      917       		call	check_mdsw		;check OFF,NP,RATE key movement
      918       		j	cs,function_end9
      919       		ld	a,(KEY_CT)		;Any key in?
      920       		j	z,main_loop		; no-> loop
      921       
      922       ;V4.04		ld	wa,AUTOOFFTIME		
      923       ;V4.04		ld	(AUTO_OFF_TIM),wa	
      924       		call	update_md		;MDFLG update from MDFLG_RT
      925       ;V2.03main_loop_ignore_dp_update:		
      926       ;V4.11		@BBS	(F_OFF,no_operation)		;if OFF mode?  yes->ignore key entry
      927       		call	key_get				;reg.a <- key code
      928       		j	cc,no_operation			;illegal key code?  yes-> ignore
      930 +1    	ld	wa,P_ERR
      931 +1    	test	(P_ERR>>4).a		;bit -reverse-> jump status
      932 +1    	j	f,error_recov		;if jump status is 0 -> branch
      933       		call	check_perexe_flag_clearornot
      934       		cmp	(KEYIN),K_IC	
      935       		j	eq,not_ic_key	
      937 +1    	ld	wa,IC_PROG
      938 +1    	test	(IC_PROG>>4).a		;bit -reverse-> jump status
      939 +1    	j	t,relate_to_icx		;if jump status is 1 -> branch
      940       		cmp	(KEYIN),K_PLS		
      941       		j	eq,relate_to_ic		
      942       		cmp	(KEYIN),K_MIN		
      943       		j	eq,relate_to_ic		
      944       		cmp	(KEYIN),K_CEC		
      945       		j	eq,relate_to_ic		
      946       		cmp	(KEYIN),K_CE		
      947       		j	eq,relate_to_ic		
      949 +1    	ld	wa,IC_PROG
      950 +1    	clr	(IC_PROG>>4).a
      951       
      952       relate_to_ic:				
      953       		ld	hl,TENKEY	
      954       		call	edit_disp	
      955       		call	disp_to_dbr	
      956       relate_to_icx:
      958 +1    	ld	wa,F_ICPN
      959 +1    	clr	(F_ICPN>>4).a
      960       ;V4.13		@CLB	(F_ICDSP)
      961       not_ic_key:				
      962       main_loop_no_check_rt:
      964 +1    	ld	wa,F_CALER
      965 +1    	test	(F_CALER>>4).a		;bit -reverse-> jump status
      966 +1    	j	f,error_recov		;if jump status is 0 -> branch
      967       ;V3.00		@BBS	(RTC_ON,rtc_key)		;RTC display mode?  yes ->check entry key code and jump to each function
      969 +1    	ld	wa,F_RATE
      970 +1    	test	(F_RATE>>4).a		;bit -reverse-> jump status
      971 +1    	j	t,main_kj0		;if jump status is 1 -> branch
      972       		call	obs_key_check
      973       		j	cs,main_loop
      974       ;calculate each key function routin jump address.....
      975       main_kj0:		
      976       		ld	a,(KEYIN)
      977       		ld	c,0
      978       		cmp	a,K_TEN				;if key code is Tenkey,00 or 000?
      979       		j	le,main_kj2			;yes ->
      980       		sub	a,K_TEN				;for get function routine jump address
      981       		shlc	a
      982       		ld	c,a				;reg.c <- table offset
      983       main_kj2:
      984       		ld	hl,tbl_function			;get jump address
      985       		j	(hl+c)				;jump to each function routine
      986       
      987       ;===============================================================================
      988       ;		Exit of function routine
      989       ;===============================================================================
      990       function_end:
      991       		cmp	(KEYIN),K_RATE		;V1.04
      992       		j	eq,function_end_0	;V1.04
      994 +1    	ld	wa,F_RATE
      995 +1    	clr	(F_RATE>>4).a
      997 +1    	ld	wa,RATE_PROG
      998 +1    	clr	(RATE_PROG>>4).a
     1000 +1    	ld	wa,EURO_PROG
     1001 +1    	clr	(EURO_PROG>>4).a
     1002       function_end_0:					;V1.04
     1003       		ld	(TEN_CT),0	;
     1004       		ld	(DT_CT),0	;#/D entry counter
     1005       		ld	(DT_DOT_CNT),0	;
     1006       		ld	(DT_CHR_CNT),0	;
     1008 +1    	ld	wa,F_DPIN
     1009 +1    	clr	(F_DPIN>>4).a
     1011 +1    	ld	wa,F_MIN_TRA
     1012 +1    	clr	(F_MIN_TRA>>4).a
     1013       
     1014       ;entry point for tenkey.................................
     1015       tenkey_end:
     1016       		ld	a,(KEYIN)
     1017       		ld	(PRE_KEY),a			;save current key code -> PRE_KEY
     1018       		cmp	(KEYIN),K_RATE		;V1.13
     1019       		j	eq,shp_sgn_end		;V1.13
     1021 +1    	ld	wa,RATE_PROG
     1022 +1    	test	(RATE_PROG>>4).a		;bit -reverse-> jump status
     1023 +1    	j	f,shp_sgn_end		;if jump status is 0 -> branch
     1025 +1    	ld	wa,F_RATE
     1026 +1    	clr	(F_RATE>>4).a
     1027       ;entry point for # key and +/- key......................
     1028       shp_sgn_end:
     1029       		call	kychk_clcsm			;check function key whether clear C-S-M flags
     1030       		cmp	(KEYIN),K_DP			;V1.07
     1031       		j	le,functionnoclearftenkey	;V1.07
     1032       		cmp	(KEYIN),K_BS				;V1.24
     1033       		j	eq,functionnoclearftenkey		;V1.24
     1034       		cmp	(KEYIN),K_SGN				;V1.36
     1035       		j	eq,functionnoclearftenkey		;V1.36
     1037 +1    	ld	wa,F_TNKEY
     1038 +1    	clr	(F_TNKEY>>4).a
     1039       functionnoclearftenkey:					;V1.07
     1040       ;/TEST		call	keychk_amortize		;V1.09
     1042 +1    	ld	wa,EURO_DISPLY
     1043 +1    	clr	(EURO_DISPLY>>4).a
     1044       ;entry point for FEED key(just check printer error)......................
     1045       feed_key_end:
     1047 +1    	ld	wa,P_ERR
     1048 +1    	test	(P_ERR>>4).a		;bit -reverse-> jump status
     1049 +1    	j	f,sys_error		;if jump status is 0 -> branch
     1051 +1    	ld	wa,F_CALER
     1052 +1    	test	(F_CALER>>4).a		;bit -reverse-> jump status
     1053 +1    	j	f,sys_error		;if jump status is 0 -> branch
     1054       function_end9:
     1056 +1    	ld	wa,F_TNKEY
     1057 +1    	test	(F_TNKEY>>4).a		;bit -reverse-> jump status
     1058 +1    	j	f,function_end91		;if jump status is 0 -> branch
     1059       ;V3.00		@BBS	(RTC_ON,no_operation)
     1060       function_end91:						;V1.23
     1061       		ld	hl,TENKEY
     1062       ;V4.13		@BBC	(F_ICDSP,function_not_isdsp)	;V1.23
     1063       ;V4.13		call	ic_display			;V1.23
     1064       ;V4.13		jp	function_end99
     1065       function_not_isdsp:					;V1.23
     1066       		call	vft_disable		;V2.10
     1067       		call	edit_disp
     1068       function_end99:
     1069       		call	disp_to_dbr			;DBR update (DISP -> DBR)
     1070       		cmp	(KEYIN),K_TAX		;V2.07
     1071       		j	eq,no_operation		;V2.07
     1072       ;V4.13		@CLB	(M_TX1)			;V2.07
     1073       ;V4.13		@CLB	(M_TX2)			;V2.07
     1074       no_operation:					;V2.07
     1075       ;V2.05		call	vft_enable		;V2.01
     1077 +1    	ld	wa,F_DOFF
     1078 +1    	clr	(F_DOFF>>4).a
     1080 +1    	ld	wa,F_REVCAN
     1081 +1    	clr	(F_REVCAN>>4).a
     1082       		j	main_loop
     1083       ;==============================================================================
     1084       ic_display:	;--------V1.23
     1085       ;V4.13	call	spc_disp
     1086       ;V4.13	@CLB	(ICON_MIN)	;V1.48
     1087       ;V1.39c	ld	a,(IC_BK)
     1088       ;V4.13	ld	a,(IC_BK+1)	;V1.39c
     1089       ;V4.13	and	a,0x0f
     1090       ;V4.13	ld	(DISP_LSD),a
     1091       ;V1.39c	ld	a,(IC_BK)
     1092       ;V4.13	ld	a,(IC_BK+1)	;V1.39c
     1093       ;V4.03	shrc	a
     1094       ;V4.03	shrc	a
     1095       ;V4.03	shrc	a
     1096       ;V4.03	shrc	a
     1097       ;V4.13	swap	a		;V4.03
     1098       ;V4.13	and	a,0x0f		;V4.03
     1099       ;V4.13	ld	(DISP_LSD-1),a
     1100       ;V1.39c	ld	a,(IC_BK+1)
     1101       ;V4.13	ld	a,(IC_BK)	;V1.39c
     1102       ;V4.13	and	a,0x0f
     1103       ;V4.13	ld	(DISP_LSD-2),a
     1104       ;V4.13	ld	(DISP_LSD-3),D_Uo
     1105       ;V4.13	@BBC	(SW_ICPM_RT,icp_disp)
     1106       ;V4.13	ld	(DISP_LSD-3),D_Lo
     1107       icp_disp:
     1108       	ret
     1109       ;-------------------------------------------
     1110       ;==========================================
     1111       model_select:
     1112       	ld	a,(P0DR)
     1113       	and	a,0y00000011
     1114       	nop	;V4.02
     1115       	nop	
     1116       	nop
     1117       	nop
     1118       	nop
     1119       	nop
     1120       	nop
     1121       	ld	b,(P0DR)
     1122       	and	b,0y00000011
     1123       	cmp	a,b
     1124       	j	ne,model_select
     1125       	ld	(FLG_MODE),a
     1126       model_select_1:				;V4.02
     1127       	ld	a,(P3PRD)		;V4.02
     1128       	and	a,0y00000010		;V4.02
     1129       	nop				;V4.02
     1130       	nop				;V4.02
     1131       	nop				;V4.02
     1132       	nop				;V4.02
     1133       	nop				;V4.02
     1134       	ld	b,(P3PRD)		;V4.02
     1135       	and	b,0y00000010		;V4.02
     1136       	cmp	a,b			;V4.02
     1137       	j	ne,model_select_1	;V4.02
     1138       	shlc	a			;V4.02
     1139       	or	a,(FLG_MODE)		;V4.02
     1140       	ld	(FLG_MODE),a		;V4.02
     1141       	test	a.2
     1142       	j	t,model_select_2
     1144 +1    	ld	wa,M_FX_M14
     1145 +1    	set	(M_FX_M14>>4).a
     1146       model_select_2:
     1148 +1    	ld	wa,M_FX_SGM
     1149 +1    	set	(M_FX_SGM>>4).a
     1151 +1    	ld	wa,M_FX_AC
     1152 +1    	set	(M_FX_AC>>4).a
     1153       	ret
     1154       
     1155       ;===============================================================================
     1156       init_all_rate:
     1157       	call	ee_to_tax
     1158       	call	tax_to_w2
     1159       	call	w2_to_ten
     1160       	call	keep_ten_6dig
     1161       	call	ten_to_w2
     1162       	call	w2_to_tax
     1163       	call	ee_to_tax2
     1164       	call	tax2_to_w2
     1165       	call	w2_to_ten
     1166       	call	keep_ten_6dig
     1167       	call	ten_to_w2
     1168       	call	w2_to_tax2
     1169       	call	ee_country_read
     1170       	ld	a,(COUNTRY1)
     1171       	cmp	a,12
     1172       	j	lt,init_all_rate_1
     1173       	clr	cf
     1174       	sub	a,12
     1175       	call	ee_to_euro1
     1176       	jp	init_all_rate_10
     1177       init_all_rate_1:
     1178       	ld	(COUNTRY_TEN),a
     1179       	call	fix_euro_to_ten
     1180       	call	ten_to_euro1
     1181       init_all_rate_10:
     1182       	ld	a,(COUNTRY2)
     1183       	cmp	a,12
     1184       	j	lt,init_all_rate_2
     1185       	clr	cf
     1186       	sub	a,12
     1187       	call	ee_to_euro2
     1188       	jp	init_all_rate_20
     1189       init_all_rate_2:
     1190       	ld	(COUNTRY_TEN),a
     1191       	call	fix_euro_to_ten
     1192       	call	ten_to_euro2
     1193       init_all_rate_20:
     1194       	call	ten_clear
     1195       	ret
     1196       
     1197       ;===============================================================================
     1198       check_perexe_flag_clearornot:
     1199       		cmp	(KEYIN),K_DP
     1200       		j	le,check_perexe_flag_clearornot_end
     1201       		cmp	(KEYIN),K_BS
     1202       		j	eq,check_perexe_flag_clearornot_end
     1203       		cmp	(KEYIN),K_SGN
     1204       		j	eq,check_perexe_flag_clearornot_end
     1205       		cmp	(KEYIN),K_TL
     1206       		j	eq,check_perexe_flag_clearornot_end

⌨️ 快捷键说明

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