?? ram.asm
字號:
;*******************************************************************************
;*******************************************************************************
;* *
;* (C)Copyright, CLOVER China Electronics Co.,LTD. *
;* All Rigits Reserved *
;* add:No.58-F Yang Dong Road, LuoFeng Demonstrative Zone Suzhou, China *
;* Tel: 0512-67261886 Fax:0512-67261882 *
;* http://www.clover.co.jp *
;* *
;*******************************************************************************
;*******************************************************************************
;
; OBS CPD3212T source program
; CPU: TOSHIBA TLC-870/C series TMP86CM74A
; RAM: 2Kbytes(0040h - 083Fh)
; ROM: 32Kbytes(a000h - FFFFh)
;
;
;Memory assignment
;SFR................
public P0DR,P1DR,P2DR,P3DR,P4DR,P5DR,P6DR,P7DR,P8DR,P9DR
public P0CR,P1OUTCR,P4CR1,P5CR
public ADCCR1,ADCCR2
public TC3DRA,TC3DRB,TC3CR,TC2CR,TC4CR,P1PRD,P2PRD,P3PRD,TC4DR
public SIOCR1,SIOCR2,SIOSR,SIOBUF,PDDR
;---------0020h
public TC1DRAL,TC1DRAH,TC1DRBL,TC1DRBH,TC2DRL,TC2DRH
public ADCDR2,ADCDR1,P4CR2,TC3SEL,VFTCR1,VFTCR2,VFTCR3,VFTSR
;---------0031h
public STOPCR,TC1CR,WDTCR1,WDTCR2
public TBTCR,EINTCR,SYSCR1,SYSCR2,EIRL,EIRH,ILL,ILH,INTSEL,PSTW
;P0 bit arrangement
public SW_LTP,STB2,STB1,LAT;EP_DIO,EP_SK,EP_CS
public IO_PF
public ENA2,ENA1,IN1,IN2
public SLID_RT0,SLID_RT1,SLID_RT2,SLID_RT3
public G1,G2,G3,G4,G5,G6,G7,G8
public G9,G10,G11,G12,G13,G14,G15,SEG_dp
public SEGMENT
public SEG_g,SEG_f,SEG_e,SEG_d,SEG_c,SEG_b,SEG_a,SEG_COM,SEG_M,SEG_MIN,SEG_E
;RAM(40h - ffh)................
public W1,W2,W3,TENKEY,ACC,CONST,COST,SELL,MARG,IC_A
public FLG_1,FLG_2,FLG_E,FLG_C,FLG_K,MDCHK
public MDSW_0,MDSW_1,MDSW_2,MDSW_3,MDSW_01,MDSW_11,MDSW_21,MDSW,MDBK
public MDFLG,MDFLG_0,MDFLG_1,MDFLG_2,MDFLG_3,MDFLG_01,MDFLG_11,MDFLG_21
public MDFLG_RT,MDFLG_RT3,MDFLG_RT2,MDFLG_RT1,MDFLG_RT0,MDFLG_RT21,MDFLG_RT11,MDFLG_RT01
public TEN_CT,DP_POS_RT,DP_POS,DW_CT,PRE_KEY,PRE_KEY_BK
public TPSC,RP_TIM,TP_CNT,CL_CNT,TC1_COUNT,TC3_COUNT,TW1,F_PCONT,SYM
;RAM equation(40h - ffh)...........
public LENG_WK,OFF_S,OFF_MSD,OFF_MSD12,OFF_LSD,OFF_DP,OFF_MSD10
public D_PRN_MAX,PRN_MAX
public PRN_BUF_SYM_LTP,PRN_BUF_LSD_LTP ;V4.03D_PRN_MAX_LTP,
public W1_S,W1_LSD,W1_MSD,W1_DP,W2_S,W2_LSD,W2_MSD,W2_DP,W3_S,W3_LSD,W3_MSD,W3_DP
public TEN_S,TEN_LSD,TEN_DP,DT_BUF_MSD,DT_BUF_LSD,DT_DOT_CNT,DT_CHR_CNT
;RAM(100h -)................
public DISP,DISP_CT,DISP_TMP,FLG_2
public YEAR,MON,DAY,HOUR,MIN,SEC,BLK_CT,BLK_D,PTR,RTC_CK,COLOR_CT,DELAY_CT
public KEY_BUF,KEY_WPTR,KEY_RPTR,KEY_CT,KEYIN,SCAN_BK,KI_CT,RET_BK,SCAN_CT
public PRN_BUF,TAXRT,PF_CNT,DT_BUF,DT_CT,TEMP,WO_CLR,W1_CLR
public MEM1,MEMGT,IC_M,IC_G,FLG_ICON,TW1_BAK,IC_BK,FLG_RTC
;RAM equation(100h -)...........
public RAM_TOP,RAM_BOT,TO_DBR,TO_DBR_LSD
public DBR_TOP,DBR_SEG,DBR_BOT,DISP_MSD,DISP_LSD
public PRN_BUF_MSD,PRN_BUF_LSD,PRN_BUF_SYM,PRN_BUF_S,IC_SYM
public PRN_BUF_MSD_LTP
public AVR_ITEM,AVR_BUF
public T_YEAR,T_MON,T_DAY,T_HOUR,T_MIN,T_Y20,T_AMPM,BACKUP,BK_Y20,BK_HOUR,BK_AMPM
public FLG_MODE
;RAM equation(100h).............
public EP_ADDR,EP_TIM,FINANCE_1,FINANCE_0,OFF_CT
public F_PCONT_1,F_PCONT_2,F_PCONT_3
;RAM bit...........
public E_MUL,E_DIV,E_DLT,E_MUP,E_CST,E_SEL,E_MAR,F_M2CAL
public C_MUL,C_DIV,C_DLT,C_MUP,C_CST,C_SEL,C_MAR,CSM_RECALL
public F_CALER,F_ZDIVER,F_PERCAL
public ICON_MIN,ICON_M,ICON_E,ICON_GT,F_ICDSP,F_GTON,RTC_CHK
public F_KON,F_KOFF,F_TNKEY
public F_INIT,F_FEED,F_PRINT,F_FDREQ,F_PRREQ,F_RUSH,F_REDBAK,P_MOVE
public F_LPRN,F_EXFED,F_RVSE,F_RVREQ,F_STBDLY,F_CHPOFF,F_REVCAN,F_STBON
public F_SSTB,F_BHLD,F_ACC,P_ERR,P_NP,P_RED,IO_MT,F_TRAN
public F_MIN_TRA,F_DPIN,F_OFF,F_RATE,F_RTUPD
public SW_OFF_RT,SW_RAT_RT,SW_NP_RT,SW_FIN_RT,SW_FEED_RT,SW_DMY_RT,SW_24_RT,F_ENLARG,F_LARGP,F_INIREQ
public F_HLD_FED,F_HLD_SET,PAPER_FEED
public RTC_ON,RTC_TIM,RTC_24,RTC_DMY,RTC_YMD,RTC_SET,F_ICPN,NO_CLK,MEQ_ENB,ERR_MES,ERR_CLR
public EP_FAIL,EP_ACCES,RATE_PROG,IC_PROG,F_WAKE
public SW_DP0,SW_DP1,SW_DP2,SW_DP3,SW_DP4,SW_DP5,SW_DP6,SW_ADM,SW_ADM12,SW_DTST,M10,SW_SG;
public SW_RND54,SW_RNDUP,SW_GT,SW_NP,SW_EUTX,SW_MGT,SW_OFF,SW_IC,SW_ICPM,SW_SGT,SW_SGM,SW_SGG;
public SW_SGK,SW_EUROS,SW_FEED,SW_A,SW_M2,SW_AC,M14,SW_DMY,SW_TA,SW_V15,SW_24,SW_FIN,SW_RATE
public SW_IC_RT,SW_ICPM_RT,F_ICPM,F_EQU,SW_RND54_RT,SW_RNDUP_RT,SW_GT_RT,F_PEREXE,SW_ADM_RT
public FEED_REQ,DP_UPDATE,EURO_DISPLY,F_COUNTRY,F_COUNTRY1,F_COUNTRY2,F_COUNTRY_EQU,F_WAITP,F_TX12,RATE_INI,F_24ON
public M_FX_SD,M_FX_SGM,M_FX_TA,M_FX_54,M_FX_M14,M_FX_V15,F_POWER,F_BLINK,M_FX_AC,M_5514T
public RTC_INIT,NO_PRINT
;RAM equation(200).............
public FN_INTEREST,FN_AMOUNT,FN_MONTH,FN_PAYMENT,FN_MTHRATE,FN_TEMP,FN_TEMP1
public FN_MONTH_H,DEC_SET_CONT,AUTO_OFF_TIM
public FINANCE_0,FINANCE_1,W4,COUNTRY,COUNTRY1,COUNTRY2,COUNTRY_TEN
public TAX2RT,EURO_RATE1,EURO_RATE2
public VPRN,STB_BAK,PHASE_CT,STEP_CT,LINE_PTR,DOT_CT,DOT_LINE,DIGIT_CT,HD_TEMP,STEP_BAK,LINE_PTR_BK
;bit
public F_INTEREST,F_AMOUNT,F_MONTH,F_PAYMENT,F_MODIFIED,F_CAL_AMOUNT,F_CAL_MONTH,F_CAL_PAYMENT
public F_FNEABL,F_FINBUSY,F_FINAL,EURO_PROG,F_FINCAL,F_FNRECALL
;bit
public M_M2,M_FINANCE ,M_TX2,M_TX1,F_DOFF
;=====================================================
;==============================================================================
; RAM assign SFR
;==============================================================================
SFR section data abs=0x0000
P0DR dsb 1 ;0000h port0 output latch
P1DR dsb 1 ;0001h Port1 output latch
P2DR dsb 1 ;0002h Port2 output latch
P3DR dsb 1 ;0003h Port3 output latch
P4DR dsb 1 ;0004h port4 output latch
P5DR dsb 1 ;0005h Port5 output latch
P6DR dsb 1 ;0006h Port6 output latch
P7DR dsb 1 ;0007h Port7 output latch
P8DR dsb 1 ;0008h Port7 output latch
P9DR dsb 1 ;0009h Port7 output latch
P0CR dsb 1 ;000ah P0 port control register
P1OUTCR dsb 1 ;000bh PORT1 control register
P4CR1 dsb 1 ;000ch PORT4 control register1
P5CR dsb 1 ;000dh PORT5 control register
ADCCR1 dsb 1 ;000eh AD control register 1
ADCCR2 dsb 1 ;000fh AD control register 2
TC3DRA dsb 1 ;0010h Timer3 counter 3 data register A
TC3DRB dsb 1 ;0011h Timer Counter 3data register B (only read)
TC3CR dsb 1 ;0012h Timer Counter 3 control register
TC2CR dsb 1 ;0013h Timer Counter 2 control register
TC4CR dsb 1 ;0014h Timer Counter 4 control register
P1PRD dsb 1 ;0015h P1 port input data
P2PRD dsb 1 ;0016h P2 port input data
P3PRD dsb 1 ;0017h P3 port input data
TC4DR dsb 1 ;0018h Timer Counter4 data register
SIOCR1 dsb 1 ;0019h HSIO control register1
SIOCR2 dsb 1 ;001ah HSIO control register2
SIOSR dsb 1 ;001bh HSIO status register
SIOBUF dsb 1 ;001ch HSIO data buffer
PDDR dsb 1 ;001dh PD port output latch
Reserved1 dsb 2
TC1DRAL dsb 1 ;0020h Timer Counter 1 data register A"L"
TC1DRAH dsb 1 ;0021h Timer Counter 1 data register A"H"
TC1DRBL dsb 1 ;0022h Timer Counter 1 data register B"L"
TC1DRBH dsb 1 ;0023h Timer Counter 1 data register B"H"
TC2DRL dsb 1 ;0024h Timer Counter 2 data register "L"
TC2DRH dsb 1 ;0025h Timer Counter 2 data register "H"
ADCDR2 dsb 1 ;0026h AD converter register2
ADCDR1 dsb 1 ;0027h AD converter register1
P4CR2 dsb 1 ;0028h P4 port control register2
TC3SEL dsb 1 ;0029h Timer Counter 3 input register
VFTCR1 dsb 1 ;002ah VFT control register1
VFTCR2 dsb 1 ;002bh VFT control register2
VFTCR3 dsb 1 ;002ch VFT control register2
VFTSR dsb 1 ;002dh VFT control register3
Reserved2 dsb 3
STOPCR dsb 1 ;0031h Key on wake up control register (only write)
TC1CR dsb 1 ;0032h timer counter_1 control_1
Reserved3 dsb 1 ;0033h reserved by system
WDTCR1 dsb 1 ;0034h WDT control register 1 (Write only)
WDTCR2 dsb 1 ;0035h WDT control register 2 (Write only)
TBTCR dsb 1 ;0036h TBT/TG/DVO control register
EINTCR dsb 1 ;0037h External INT control register
SYSCR1 dsb 1 ;0038h System control register 1
SYSCR2 dsb 1 ;0039h System control register 2
EIRL dsb 1 ;003Ah Enable INT register low
EIRH dsb 1 ;003Bh Enable INT register high
ILL dsb 1 ;003Ch INT latch low
ILH dsb 1 ;003Dh INT latch high
INTSEL dsb 1 ;003Eh INT source selecter
PSTW dsb 1 ;003Fh Program status word
;==============================================================================
; I/O port bit assignment for reference
;==============================================================================
;------------------------------------------------
;port assigment (P0DR)
;P00 in NC
;P01 in NC
;P02 out P/H STB2
;P03 out P/H STB1
;P04 out P/H LTA
;P05 in/out EEPROM DI/O
;P06 out EEPROM SK
;P07 out EEPROM CS
;Port assignment (P1DR)
;------------------------------------------------
;P10 in key scan return0
;P11 in key scan return1
;P12 in key scan return2
;P13 in key scan return3
;P14 in key scan return4
;P15 in key scan return5
;P16 out P/H DI
;P17 out P/H SCK
;------------------------------------------------
;Port assignment (P2DR)
;------------------------------------------------
;P20 in NC
;P21 XTIN in (XTIN) ;data latch -> P2DR xxxx x111[default]
;P22 XTOUT out (XTOUT) ;if choose input port, should set data latch to '1'
; ; note: when read data latch -> read P2DR (bit 7~3 are unknown)
; ; when read port level -> read P2PRD( " )
;------------------------------------------------
;Port assignment (P3DR)
;-----------------------------------------------
;P30 model select in ;3212T/5514T
;P31 no use in ;data latch -> P3DR 11111111[default]
;-----------------------------------------------
;port assignment (P4DR)
;-----------------------------------------------
;P40 1 TM AD
;P41 1 VPR AD
;P42 out VPR CONTRAL
;P43 out ENA2
;P44 out ENA1
;P45 out IN1
;P46 out IN2
;P47 in NC
;-----------------------------------------------
;Port assignment (P5DR)
;-----------------------------------------------
;P50 in slid return0
;P51 in slid return1
;P52 in slid return2
;P53 in slid return3
;-----------------------------------------------
;Port assignment (P6DR)
;-----------------------------------------------
;P60 VFD-G1
;P61 VFD-G2
;P62 VFD-G3
;P63 VFD-G4
;P64 VFD-G5
;P65 VFD-G6
;P66 VFD-G7
;P67 VFD-G8
;-----------------------------------------------
;Port assignment (P7DR)
;-----------------------------------------------
;P70 VFD-G9
;P71 VFD-G10
;P72 VFD-G11
;P73 VFD-G12
;P74 VFD-G13
;P75
;P76
;P77 VFD seg0
;-----------------------------------------------
;Port assignment (P8DR)
;-----------------------------------------------
;P80 VFD seg1-a
;P81 VFD seg2-b
;P82 VFD seg3-c
;P83 VFD seg4-d
;P84 VFD seg5-e/II
;P85 VFD seg6-f
;P86 VFD seg7-g/,
;P87 VFD seg8-dp/M
;-----------------------------------------------
;port assignment (P9DR)
;-----------------------------------------------
;P90 key scan out0
;P91 key scan out1
;P92 key scan out2
;P93 key scan out3
;P94 key scan out4
;P95 key scan out5
;P96 key scan out6
;P97 key scan out7
;-----------------------------------------------
;port assignment (PDDR)
;PD0 \NC
;PD1 /
;PD2
;PD3
;PD4
;==============================================================================
; RAM assign (00-FFh)
;==============================================================================
RAM_0 section data abs=0x0040
RAM_TOP:
W1 dsb 9 ;
W2 dsb 9 ;
W3 dsb 9 ;
TENKEY dsb 9 ;
ACC dsb 9 ;Accumlator
CONST dsb 9 ;
COST dsb 9 ;
SELL dsb 9 ;
MARG dsb 9 ;
IC_A dsb 2 ;Item counter for Accumlator
FLG_E dsb 1 ;calculation instruct flag
FLG_C dsb 1 ;constant calculation instruct flag
FLG_1 dsb 1 ;system flag
FLG_2 dsb 1 ;system flag
FLG_ICON1 dsb 1 ;for icon display
FLG_ICON2 dsb 1 ;for icon display
FLG_ICON3 dsb 1 ;for icon display
FLG_ICON4 dsb 1 ;for icon display
FLG_K dsb 1 ;system flag for key interrupt
TEN_CT dsb 1 ;tenkey entry counter
PRE_KEY dsb 1 ;previouse key code
PRE_KEY_BK dsb 1 ;used to back previous key code
MDSW dsb 7 ;
MDBK dsb 7 ;
MDFLG_RT dsb 7 ;updated real time
MDFLG dsb 7 ;fixed mode flag
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -