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

📄 cal_macro.h

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 H
字号:

        MACRO   OFFSET_TP(%1,%2)            ;1009
        adda     #<(%2)
        sta      %1+0
        lda      #@(%2)
        addc     #0           
        sta      %1+1
        ;lda      #^(%2)  
        ;addc     #0 
        ;sta      %1+2
        lda      #0
        sta      TPP
        lda      %1+1
        sta      TPH               
        lda      %1+0
        sta      TPL  
        ENDM
                
        MACRO   SET_TP(%1,%2)            ;1009
        lda      #<(%2)
        sta      %1+0
        lda      #@(%2)
        addc     #0           
        sta      %1+1
        ;lda      #^(%2)  
        ;addc     #0 
        ;sta      %1+2
        lda      #0
        sta      TPP
        lda      %1+1
        sta      TPH               
        lda      %1+0
        sta      TPL  
        ENDM
        
        MACRO   ADD_TP(%1,%2)            ;1009         
        lda     %1+0
        adda    #%2                        ;+1
        sta     %1+0
        lda     #00h
        addc    %1+1
        sta     %1+1
        ;lda	#00h
        ;addc	%1+2
        ;sta	%1+2
        
        ;lda	%1+2	 ;for intterrpt
        lda     #0
	sta	TPP
        lda     %1+1
        sta     TPH
        lda     %1+0
        sta     TPL                
        ENDM
          
        MACRO COPY_BUFDATA(%1,%2)
        
	lda	#%1
	sta	Addr1
	lda	#%2
	sta	Addr2

	call	CopyData
		
	ENDM







        MACRO      CHK_FLAG(%1,%2)        
        lda        %1                             ;High active
        anda       #%2
        ENDM  
        
        MACRO      SET_FLAG(%1,%2) 
        lda        %1
        ora        #%2
        sta        %1
        ENDM
        
        MACRO      CLR_FLAG(%1,%2)
        lda        %1
        anda       #~%2
        sta        %1
        ENDM 
                
        
        MACRO   LOAD_PTR()           
        lda	temp_Sphptr+2	 ;for intterrpt
	sta	TPP
        lda     temp_Sphptr+1
        sta     TPH
        lda     temp_Sphptr+0
        sta     TPL
        ENDM 
        
        MACRO   UPDATE_PTR()
                                 ;for main func
        lda     temp_Sphptr+0
        inca                         ;+1
        sta     temp_Sphptr+0
        lda     #00h
        addc    temp_Sphptr+1
        sta     temp_Sphptr+1
        lda	#00h
        addc	temp_Sphptr+2
        sta	temp_Sphptr+2
        ENDM 
        

        MACRO   SET_TABLE(%1,%2) 
       ;deca   
        adda       #<%1
        sta        %2+0
        lda        #>%1
        addc       #0         
        sta        %2+1
        lda        #^%1
        addc       #0
        sta        %2+2     
        sta        TPP
        lda        %2+1
        sta        TPH
        lda        %2+0
        sta        TPL          
        ENDM
;;;;;---------------------;;;;
MACRO	HIGHNIBBLE(%1,%2)
	lda	%1
	adda	#%2
	sta	r_dp
	lda	i
	rorc
	rorc
	rorc
	rorc
	anda	#0fh
	sta	Addr1
	ENDM
;;;;----------------------;;;;;
MACRO	HIGHNIBBLE2(%1,%2)
	lda	%1
	adda	%2
	sta	r_dp
	lda	i
	rorc
	rorc
	rorc
	rorc
	anda	#0fh
	sta	Addr1
	ENDM
;;;;---------------------;;;;
;MACRO	ADDTP()
;	adda	Table
;	sta	Table
;	lda	Table+1
;	addc	#0
;	sta	Table+1
;	lda	Table+2
;	addc	#0
;	sta	Table+2
;	ENDM
;;;;;---------------------;;;;
;MACRO	SETLCD(%1,%2)
;	lda	#%1
;	sta	FontHigh
;	lda	#%2
;	sta	FontWidth
;	ENDM
;;;;---------------------;;;;
;MACRO	PUTCOMSEG(%1,%2)
;	lda	#%1
;	sta	LcdCom
;	lda	#%2
;	sta	LcdSeg
;	ENDM
;;;;---------------------;;;;
;MACRO	LOADTPADDR(%1)
;	lda	#^%1
;	sta	Table+2
;	lda	#>%1
;	sta	Table+1
;	lda	#<%1
;	sta	Table
;	ENDM
;;;;---------------------;;;;
;MACRO	LOADTP()
;	lda	Table+2
;	sta	r_tpp
;	lda	Table+1
;	sta	r_tph
;	lda	Table
;	sta	r_tpl
;	ENDM
		     
        MACRO   SET_PORT(%1,%2,%3)
        lda     %3
        ora     #%2
        sta     %3
        sta     %1   
        ENDM      
        	
        MACRO   CLR_PORT(%1,%2,%3)
        lda     %3 
        anda    #~%2
        sta     %3
        sta     %1
        ENDM
        
        MACRO   CHK_PORT(%1,%2)
        lda     %1
        anda    #%2
        ENDM
        
;        MACRO   DELAY_US(%1)               ;;;Offset 1 Inst
;        lda     #%1    ;2
;        suba    #3     ;2
;        sta     temp   ;2 
;        brnc    126$           ;3     	 
;   127$:                           
;        suba    #3             ;2         ;8 insts = 3 us
;        sta     temp           ;2 
;        nop                    ;1
;      ;brz     126$
;        brc     127$           ;3 
;   126$:
;        ENDM  
                  


;[KEY DEFINITION]--------------------------------------------------------
Key_0		EQU	16                   ;璸衡诀

⌨️ 快捷键说明

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