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

📄 ram.asm

📁 calculator code ,use toshibaor nec LSI
💻 ASM
📖 第 1 页 / 共 3 页
字号:
RTC_INIT	equ	(FLG_ICON_1<<4)+0	

F_KON		equ	(FLG_K<<4)+0	;for key interrupt
F_KOFF		equ	(FLG_K<<4)+1	;for key interrupt
F_HLD_FED	equ	(FLG_K<<4)+2	;FEED key press and hold
F_HLD_SET	equ	(FLG_K<<4)+3	;SET key(share with = key) press and hold
F_WAKE		equ	(FLG_K<<4)+4	;
F_TNKEY		equ	(FLG_K<<4)+5	;indicate ten key or dot entry
F_ICPN		equ	(FLG_K<<4)+6	;indicate IC already printed
F_ICDSP		equ	(FLG_K<<4)+7	;
;-----------------------------------------
;
SW_DP0		equ	(MDFLG_0<<4)+0	;
SW_DP1		equ	(MDFLG_0<<4)+1	;
SW_DP2		equ	(MDFLG_0<<4)+2	;
SW_DP3		equ	(MDFLG_0<<4)+3	;
SW_DP4		equ	(MDFLG_0<<4)+4	;
SW_DP5		equ	(MDFLG_0<<4)+5	;
SW_DP6		equ	(MDFLG_0<<4)+6	;
SW_ADM		equ	(MDFLG_0<<4)+7	;
;-----------------------------------------
;
SW_SGT		equ	(MDFLG_1<<4)+0	;
SW_SGM		equ	(MDFLG_1<<4)+1	;
SW_SGG		equ	(MDFLG_1<<4)+2	;
SW_SGK		equ	(MDFLG_1<<4)+3	;
SW_GT		equ	(MDFLG_1<<4)+4	;
SW_MGT		equ	(MDFLG_1<<4)+5	;
SW_RNDUP	equ	(MDFLG_1<<4)+6	;
SW_RND54	equ	(MDFLG_1<<4)+7	;
;------------------------------------------
SW_SG		equ	(MDFLG_2<<4)+0	;
SW_ICPM		equ	(MDFLG_2<<4)+1	;
SW_IC		equ	(MDFLG_2<<4)+2	;
SW_NP		equ	(MDFLG_2<<4)+3	;
SW_OFF		equ	(MDFLG_2<<4)+4	;
SW_AC		equ	(MDFLG_2<<4)+5	;
SW_V15		equ	(MDFLG_2<<4)+6	;
SW_FEED		equ	(MDFLG_2<<4)+7	;
;-----------------------------------------
SW_DTST		equ	(MDFLG_3<<4)+0	;
SW_ADM12	equ	(MDFLG_3<<4)+1	;
SW_EUTX		equ	(MDFLG_3<<4)+2	;
M14		equ	(MDFLG_3<<4)+3	;
M10		equ	(MDFLG_3<<4)+4	;
SW_TA		equ	(MDFLG_3<<4)+5	;
SW_M2		equ	(MDFLG_3<<4)+6	;
SW_RATE		equ	(MDFLG_3<<4)+7	;
;----------------------------------------
FEED_REQ	equ	(MDFLG_01<<4)+0	;
SW_DMY		equ	(MDFLG_01<<4)+1	;
SW_24		equ	(MDFLG_01<<4)+2	;
SW_EUROS	equ	(MDFLG_01<<4)+3	;
SW_A		equ	(MDFLG_01<<4)+4	;
SW_FIN		equ	(MDFLG_01<<4)+5	;
;		equ	(MDFLG_01<<4)+6	;
;		equ	(MDFLG_01<<4)+7	;
;----------------------------------------
F_TX12		equ	(MDFLG_11<<4)+0	;temporary flag for tax12+/- for Victor
DP_UPDATE	equ	(MDFLG_11<<4)+1	;temporary flag
RATE_INI	equ	(MDFLG_11<<4)+2	;temporary flag for rate initial
F_24ON		equ	(MDFLG_11<<4)+3	;temporary flag for time setting
F_WAITP		equ	(MDFLG_11<<4)+4	;temporary flag for power failure happen with no real time
EURO_DISPLY	equ	(MDFLG_11<<4)+5	;temporary flag for eidt euro rate display
F_COUNTRY	equ	(MDFLG_11<<4)+6	;
;		equ	(MDFLG_11<<4)+7	;
;----------------------------------------
F_COUNTRY1		equ	(MDFLG_21<<4)+0	;
F_COUNTRY2		equ	(MDFLG_21<<4)+1	;
F_COUNTRY_EQU		equ	(MDFLG_21<<4)+2	;
;		equ	(MDFLG_21<<4)+3	;
;		equ	(MDFLG_21<<4)+4	;
;		equ	(MDFLG_21<<4)+5	;
;		equ	(MDFLG_21<<4)+6	;
;		equ	(MDFLG_21<<4)+7	;V2.13 
;-------------------------------------------
PAPER_FEED	equ	(MDSW_2<<4)+7	
NO_PRINT	equ	(MDSW_2<<4)+3	
;------mode slider flag------------------------------------
;DP0		equ	(MDFLG_RT0<<4)+0	;decimal0
;DP1		equ	(MDFLG_RT0<<4)+1	;decimal1
;DP2		equ	(MDFLG_RT0<<4)+2	;decimal2
;DP3		equ	(MDFLG_RT0<<4)+3	;decimal3
;DP4		equ	(MDFLG_RT0<<4)+4	;decimal4
;DP5		equ	(MDFLG_RT0<<4)+5	;decimal5
;DP6		equ	(MDFLG_RT0<<4)+6	;decimal6
SW_ADM_RT	equ	(MDFLG_RT0<<4)+7	;deciaml point ADM
;FLOAT

;SGT		equ	(MDFLG_RT1<<4)+0	;+,- is have the +=,-= function
;SGM		equ	(MDFLG_RT1<<4)+1	;M+,M- is have M+=,M-= function
;SGG		equ	(MDFLG_RT1<<4)+2	;M2+/M2- have the M2+=/M2-= function
;SGK		equ	(MDFLG_RT1<<4)+3	;+=,-=,M+=,M-=,M2+=,M2-= all have constant calculation
SW_GT_RT	equ	(MDFLG_RT1<<4)+4	;total key will add the result to GT memory
;MGT		equ	(MDFLG_RT1<<4)+5	;total key will add result to memory1
SW_RNDUP_RT	equ	(MDFLG_RT1<<4)+6	;round up while next digit of last is not 0
SW_RND54_RT	equ	(MDFLG_RT1<<4)+7	;round up while the next digit of last digit is more the 4


;SG=%		equ	(MDFLG_RT2<<4)+0	;=, % key will add the result to accumlator
SW_ICPM_RT	equ	(MDFLG_RT2<<4)+1	;-,M1,M2- will decreases item counter
SW_IC_RT	equ	(MDFLG_RT2<<4)+2	;item counter
SW_NP_RT	equ	(MDFLG_RT2<<4)+3	;non-print mode select
SW_OFF_RT	equ	(MDFLG_RT2<<4)+4	;off mode
;AC		equ	(MDFLG_RT2<<4)+5	;AC function is selected for the CE/C/AC key
;V15		equ	(MDFLG_RT2<<4)+6	;
SW_FEED_RT	equ	(MDFLG_RT2<<4)+7	;paper feed

;#/D		equ	(MDFLG_RT3<<4)+0	;rate slid
;ADM12		equ	(MDFLG_RT3<<4)+1	;mul and div also in add mode (when add on), 1st factor shif for mul, 2nd for div
;EUTX		equ	(MDFLG_RT3<<4)+2	;tax+/tax- key have euro/local function
;D14		equ	(MDFLG_RT3<<4)+3	;
;D10		equ	(MDFLG_RT3<<4)+4	;10 digit
;TA		equ	(MDFLG_RT3<<4)+5	;TA logic
;M2		equ	(MDFLG_RT3<<4)+6	;M2+/M2- is selected for euro/local, M2S/M2T have OFF/TIME functio
SW_RAT_RT	equ	(MDFLG_RT3<<4)+7	;financial calculation selected

;feed_req	equ	(MDFLG_RT01<<4)+0	;
SW_DMY_RT	equ	(MDFLG_RT01<<4)+1	;date format: dd--mm--yy
SW_24_RT	equ	(MDFLG_RT01<<4)+2	;military time selected
;EUROS		equ	(MDFLG_RT01<<4)+3	;select no euro symbol
;A		equ	(MDFLG_RT01<<4)+4	;the deciaml for tax,mu,d%,fin cal,c/s/m will be left 2 digit
SW_FIN_RT	equ	(MDFLG_RT01<<4)+5	;
F_ENLARG	equ	(MDFLG_RT01<<4)+6	;V4.03	enlarge the font for 5514T total print
F_LARGP		equ	(MDFLG_RT01<<4)+7	;V4.03 printing large font

F_INIREQ	equ	(MDFLG_RT11<<4)+0	;V4.08 for initial printer before printing.
;		equ	(MDFLG_RT11<<4)+1	;
;		equ	(MDFLG_RT11<<4)+2	;
;		equ	(MDFLG_RT11<<4)+3	;
;		equ	(MDFLG_RT11<<4)+4	;
;		equ	(MDFLG_RT11<<4)+5	;
;		equ	(MDFLG_RT11<<4)+6	;
;		equ	(MDFLG_RT11<<4)+7	;

;		equ	(MDFLG_RT21<<4)+0	;
;		equ	(MDFLG_RT21<<4)+1	;
;		equ	(MDFLG_RT21<<4)+2	;
;		equ	(MDFLG_RT21<<4)+3	;
;		equ	(MDFLG_RT21<<4)+4	;
;		equ	(MDFLG_RT21<<4)+5	;
;		equ	(MDFLG_RT21<<4)+6	;
;		equ	(MDFLG_RT21<<4)+7	;

;----------------------------------------------------------
;For Real Time Clock...................................................
RTC_ON		equ	(FLG_RTC<<4)+0		;1: RTC display mode  0: normal mode
RTC_TIM		equ	(FLG_RTC<<4)+1		;1: time display   0: date display
RTC_24		equ	(FLG_RTC<<4)+2		;1: 24h clock      0: 12h clock
RTC_DMY		equ	(FLG_RTC<<4)+3		;1: DMY format     0: <--|
RTC_YMD		equ	(FLG_RTC<<4)+4		;1: YMD format     0: <--| both 0: MDY format
RTC_SET		equ	(FLG_RTC<<4)+5		;1: RTC set mode   0: normal RTC mode
RTC_CHK		equ	(FLG_RTC<<4)+6		;1: RTC setting confirm
NO_CLK		equ	(FLG_RTC<<4)+7		;1: No sub clock   0: Mounted sub clock

;For printer controller.................................................
;F_INIT,F_FEED,F_PRINT,F_FDREQ,F_PRREQ,F_RUSH,F_REDBAK,P_MOVE
;F_EXFED,F_RVSE,F_RVREQ,F_STBDLY,F_CHPOFF,F_REVCAN,F_STBON
;F_SSTB,F_BHLD,F_ACC,P_ERR,P_RED
;-----------------------------------------------------------------------
F_INIT		equ	(F_PCONT<<4)+0		;
F_FEED		equ	(F_PCONT<<4)+1		;
F_PRINT		equ	(F_PCONT<<4)+2		;
F_FDREQ		equ	(F_PCONT<<4)+3		;
F_PRREQ		equ	(F_PCONT<<4)+4		;
F_RUSH		equ	(F_PCONT<<4)+5		;
F_REDBAK	equ	(F_PCONT<<4)+6		;
P_MOVE		equ	(F_PCONT<<4)+7		;=1 under printer moving

;F_PRSTB	equ	(F_PCONT+1<<4)+0		;
F_LPRN		equ	(F_PCONT+1<<4)+0		;
F_EXFED		equ	(F_PCONT+1<<4)+1		;
F_RVSE		equ	(F_PCONT+1<<4)+2		;
F_RVREQ		equ	(F_PCONT+1<<4)+3		;
F_STBDLY	equ	(F_PCONT+1<<4)+4		;
F_CHPOFF	equ	(F_PCONT+1<<4)+5		;
F_REVCAN	equ	(F_PCONT+1<<4)+6		;
F_STBON		equ	(F_PCONT+1<<4)+7		;

F_SSTB		equ	(F_PCONT+2<<4)+0		;
F_BHLD		equ	(F_PCONT+2<<4)+1		;
F_ACC		equ	(F_PCONT+2<<4)+2		;accelaration phase LTP8235 only
P_ERR		equ	(F_PCONT+2<<4)+3		;
P_NP		equ	(F_PCONT+2<<4)+4		;
P_RED		equ	(F_PCONT+2<<4)+5		;
IO_MT		equ	(F_PCONT+2<<4)+6		;
F_TRAN		equ	(F_PCONT+2<<4)+7		;
;P0 bit assigment............................
;SW_LTP,STB2,STB1,LAT;EP_DIO,EP_SK,EP_CS
;SW_LTP		equ	(P0DR<<4)+0	;
;M_COM_SPACE	equ	(P0DR<<4)+1	;
STB2		equ	(P0DR<<4)+2	;
STB1		equ	(P0DR<<4)+3	;
LAT		equ	(P0DR<<4)+4	;
;EP_DIO		equ	(P0DR<<4)+5	;
;EP_SK		equ	(P0DR<<4)+6	;
;EP_CS		equ	(P0DR<<4)+7	;
;P1 bit assignment...........................
;key return0	equ	(P1PRD<<4)+0		
;key return1	equ	(P1PRD<<4)+1		
;key return2	equ	(P1PRD<<4)+2		
;key return3	equ	(P1PRD<<4)+3		
;key return4	equ	(P1PRD<<4)+4		
;key return5	equ	(P1PRD<<4)+5	
;key return6	equ	(P1PRD<<4)+6	
;key return7	equ	(P1PRD<<4)+7	
;P2 bit assignment...........................
IO_PF		equ	(P2PRD<<4)+0		;;power failure check
;		equ	(P2DR<<4)+1		;
;		equ	(P2DR<<4)+2		;

;P3 bit assignment...........................
;M_5514T		equ	(P3PRD<<4)+0	;P30 0:3212T, 1:5514T
;P31
;P4 bit assigment............................
;ENA2,ENA1,IN1,IN2
;		equ	(P4DR<<4)+0	;
;		equ	(P4DR<<4)+1	;
;		equ	(P4DR<<4)+2	;
ENA2		equ	(P4DR<<4)+3	;
ENA1		equ	(P4DR<<4)+4	;
IN1		equ	(P4DR<<4)+5	;
IN2		equ	(P4DR<<4)+6	;
;		equ	(P4DR<<4)+7
;P5 bit assignment...........................
;SLID_RT0,SLID_RT1,SLID_RT2,SLID_RT3
SLID_RT0	equ	(P5DR<<4)+0	;
SLID_RT1	equ	(P5DR<<4)+1	;
SLID_RT2	equ	(P5DR<<4)+2	;
SLID_RT3	equ	(P5DR<<4)+3	;

;P6 bit assignment...........................
;G1,G2,G3,G4,G5,G6,G7,G8
G1		equ	(P6DR<<4)+0
G2		equ	(P6DR<<4)+1
G3		equ	(P6DR<<4)+2
G4		equ	(P6DR<<4)+3
G5		equ	(P6DR<<4)+4
G6		equ	(P6DR<<4)+5
G7		equ	(P6DR<<4)+6
G8		equ	(P6DR<<4)+7
;P7 bit assignment...........................
;G9,G10,G11,G12,G13,G14,G15
G9		equ	(P7DR<<4)+0
G10		equ	(P7DR<<4)+1
G11		equ	(P7DR<<4)+2
G12		equ	(P7DR<<4)+3
G13		equ	(P7DR<<4)+4
G14		equ	(P7DR<<4)+5
G15		equ	(P7DR<<4)+6
SEG_dp		equ	(P7DR<<4)+7

;P8 bit assignment...........................
SEGMENT		equ	P8DR
SEG_a		equ	(P8DR<<4)+0
SEG_b		equ	(P8DR<<4)+1
SEG_f		equ	(P8DR<<4)+2
SEG_g		equ	(P8DR<<4)+3
SEG_c		equ	(P8DR<<4)+4
SEG_e		equ	(P8DR<<4)+5
SEG_d		equ	(P8DR<<4)+6
SEG_COM		equ	(P8DR<<4)+7
SEG_E		equ	(P8DR<<4)+2
SEG_MIN		equ	(P8DR<<4)+1
SEG_M		equ	(P8DR<<4)+0
;		equ	(P8DR<<4)+6

;P9 bit assignment...........................
;key_scan0		equ	(P9DR<<4)+0	;
;key_scan1		equ	(P9DR<<4)+1	;
;key_scan2		equ	(P9DR<<4)+2	;
;key_scan3		equ	(P9DR<<4)+2	;
;key_scan4		equ	(P9DR<<4)+4	;
;key_scan5		equ	(P9DR<<4)+5	;
;key_scan6		equ	(P9DR<<4)+6	;
;key_scan7		equ	(P9DR<<4)+7	;
;Pd bit assignment...........................
;
;=========================================================================
	F_INTEREST	equ	(FINANCE_0<<4)+0;F_INTEREST=1 when F_TNKY=1
	F_AMOUNT	equ	(FINANCE_0<<4)+1;F_AMOUNT=1 when F_TNKY=1
	F_MONTH		equ	(FINANCE_0<<4)+2;F_MONTH=1 when F_TNKY=1
	F_PAYMENT	equ	(FINANCE_0<<4)+3;F_PAYMENT=1 when F_TNKY=1
	F_MODIFIED	equ	(FINANCE_0<<4)+4;Flag showing it is any FN items have been modified in prior
	F_CAL_AMOUNT	equ	(FINANCE_0<<4)+5;Flag showing that need calculation on Loan Amount
	F_CAL_MONTH	equ	(FINANCE_0<<4)+6;Flag showing that need calculation on Month
	F_CAL_PAYMENT	equ	(FINANCE_0<<4)+7;Flag showing that need calculation on Monthly Payment

	F_FNEABL	equ	(FINANCE_1<<4)+0;finance calculate enable
	F_FINBUSY	equ	(FINANCE_1<<4)+1;in finance compute
	F_FINAL		equ	(FINANCE_1<<4)+2;indicate the latest compute, after this compute, finish calculation
	F_FINCAL	equ	(FINANCE_1<<4)+3;flag for amortize calcumate mode
	F_FNRECALL	equ	(FINANCE_1<<4)+4;flag for amortize recall after computed
;mode flag set:

	SW_LTP		equ	(FLG_MODE<<4)+0	
	M_COM_SPACE	equ	(FLG_MODE<<4)+1
	M_5514T		equ	(FLG_MODE<<4)+2		;V4.02 1:5514T model, 0:3212T model
;V4.02	M_FX_AC		equ	(FLG_MODE<<4)+2
	M_FX_AC		equ	(FLG_MODE<<4)+3		;V4.01
	M_FINANCE	equ	(FLG_MODE<<4)+3
	M_TX2		equ	(FLG_MODE<<4)+4
	M_M2		equ	(FLG_MODE<<4)+5
	F_DOFF		equ	(FLG_MODE<<4)+6	
	M_TX1		equ	(FLG_MODE<<4)+7	;used for [tx1][tx2][+]

	M_FX_M14	equ	(FLG_MODE+1<<4)+0	;V4.07 fix flag for M14
	M_FX_V15	equ	(FLG_MODE+1<<4)+1	;fixed flag for slid 'V15'
	M_FX_SD		equ	(FLG_MODE+1<<4)+2	;fixed flag for slid '#/D'
	M_FX_SGM	equ	(FLG_MODE+1<<4)+3	;fixed	flag for slid 'sgm' 
	M_FX_TA		equ	(FLG_MODE+1<<4)+4	;fixed flag for slid 'ta' logic
	M_FX_54		equ	(FLG_MODE+1<<4)+5	;fixed	flag for slid 'round5/4'
	F_POWER		equ	(FLG_MODE+1<<4)+6;temporary flag for AC power on
	F_BLINK		equ	(FLG_MODE+1<<4)+7	;for VFT blink

	end	;

⌨️ 快捷键说明

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