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

📄 fract.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
字号:
+                     1 .include "CAL_MACRO.h"
+                     1 
0000                  1         MACRO   OFFSET_TP(%1,%2)            ;1009
+                     1         adda     #<(%2)
+                     1         sta      %1+0
+                     1         lda      #@(%2)
+                     1         addc     #0           
+                     1         sta      %1+1
+                     1         ;lda      #^(%2)  
+                     1         ;addc     #0 
+                     1         ;sta      %1+2
+                     1         lda      #0
+                     1         sta      TPP
+                     1         lda      %1+1
+                     1         sta      TPH               
+                     1         lda      %1+0
+                     1         sta      TPL  
+                     1         ENDM
+                     1                 
0000                  1         MACRO   SET_TP(%1,%2)            ;1009
+                     1         lda      #<(%2)
+                     1         sta      %1+0
+                     1         lda      #@(%2)
+                     1         addc     #0           
+                     1         sta      %1+1
+                     1         ;lda      #^(%2)  
+                     1         ;addc     #0 
+                     1         ;sta      %1+2
+                     1         lda      #0
+                     1         sta      TPP
+                     1         lda      %1+1
+                     1         sta      TPH               
+                     1         lda      %1+0
+                     1         sta      TPL  
+                     1         ENDM
+                     1         
0000                  1         MACRO   ADD_TP(%1,%2)            ;1009         
+                     1         lda     %1+0
+                     1         adda    #%2                        ;+1
+                     1         sta     %1+0
+                     1         lda     #00h
+                     1         addc    %1+1
+                     1         sta     %1+1
+                     1         ;lda	#00h
+                     1         ;addc	%1+2
+                     1         ;sta	%1+2
+                     1         
+                     1         ;lda	%1+2	 ;for intterrpt
+                     1         lda     #0
+                     1 	sta	TPP
+                     1         lda     %1+1
+                     1         sta     TPH
+                     1         lda     %1+0
+                     1         sta     TPL                
+                     1         ENDM
+                     1           
0000                  1         MACRO COPY_BUFDATA(%1,%2)
+                     1         
+                     1 	lda	#%1
+                     1 	sta	Addr1
+                     1 	lda	#%2
+                     1 	sta	Addr2
+                     1 
+                     1 	call	CopyData
+                     1 		
+                     1 	ENDM
+                     1 
+                     1 
+                     1 
+                     1 
+                     1 
+                     1 
+                     1 
0000                  1         MACRO      CHK_FLAG(%1,%2)        
+                     1         lda        %1                             ;High active
+                     1         anda       #%2
+                     1         ENDM  
+                     1         
0000                  1         MACRO      SET_FLAG(%1,%2) 
+                     1         lda        %1
+                     1         ora        #%2
+                     1         sta        %1
+                     1         ENDM
+                     1         
0000                  1         MACRO      CLR_FLAG(%1,%2)
+                     1         lda        %1
+                     1         anda       #~%2
+                     1         sta        %1
+                     1         ENDM 
+                     1                 
+                     1         
0000                  1         MACRO   LOAD_PTR()           
+                     1         lda	temp_Sphptr+2	 ;for intterrpt
+                     1 	sta	TPP
+                     1         lda     temp_Sphptr+1
+                     1         sta     TPH
+                     1         lda     temp_Sphptr+0
+                     1         sta     TPL
+                     1         ENDM 
+                     1         
0000                  1         MACRO   UPDATE_PTR()
+                     1                                  ;for main func
+                     1         lda     temp_Sphptr+0
+                     1         inca                         ;+1
+                     1         sta     temp_Sphptr+0
+                     1         lda     #00h
+                     1         addc    temp_Sphptr+1
+                     1         sta     temp_Sphptr+1
+                     1         lda	#00h
+                     1         addc	temp_Sphptr+2
+                     1         sta	temp_Sphptr+2
+                     1         ENDM 
+                     1         
+                     1 
0000                  1         MACRO   SET_TABLE(%1,%2) 
+                     1        ;deca   
+                     1         adda       #<%1
+                     1         sta        %2+0
+                     1         lda        #>%1
+                     1         addc       #0         
+                     1         sta        %2+1
+                     1         lda        #^%1
+                     1         addc       #0
+                     1         sta        %2+2     
+                     1         sta        TPP
+                     1         lda        %2+1
+                     1         sta        TPH
+                     1         lda        %2+0
+                     1         sta        TPL          
+                     1         ENDM
+                     1 ;;;;;---------------------;;;;
0000                  1 MACRO	HIGHNIBBLE(%1,%2)
+                     1 	lda	%1
+                     1 	adda	#%2
+                     1 	sta	r_dp
+                     1 	lda	i
+                     1 	rorc
+                     1 	rorc
+                     1 	rorc
+                     1 	rorc
+                     1 	anda	#0fh
+                     1 	sta	Addr1
+                     1 	ENDM
+                     1 ;;;;----------------------;;;;;
0000                  1 MACRO	HIGHNIBBLE2(%1,%2)
+                     1 	lda	%1
+                     1 	adda	%2
+                     1 	sta	r_dp
+                     1 	lda	i
+                     1 	rorc
+                     1 	rorc
+                     1 	rorc
+                     1 	rorc
+                     1 	anda	#0fh
+                     1 	sta	Addr1
+                     1 	ENDM
+                     1 ;;;;---------------------;;;;
+                     1 ;MACRO	ADDTP()
+                     1 ;	adda	Table
+                     1 ;	sta	Table
+                     1 ;	lda	Table+1
+                     1 ;	addc	#0
+                     1 ;	sta	Table+1
+                     1 ;	lda	Table+2
+                     1 ;	addc	#0
+                     1 ;	sta	Table+2
+                     1 ;	ENDM
+                     1 ;;;;;---------------------;;;;
+                     1 ;MACRO	SETLCD(%1,%2)
+                     1 ;	lda	#%1
+                     1 ;	sta	FontHigh
+                     1 ;	lda	#%2
+                     1 ;	sta	FontWidth
+                     1 ;	ENDM
+                     1 ;;;;---------------------;;;;
+                     1 ;MACRO	PUTCOMSEG(%1,%2)
+                     1 ;	lda	#%1
+                     1 ;	sta	LcdCom
+                     1 ;	lda	#%2
+                     1 ;	sta	LcdSeg
+                     1 ;	ENDM
+                     1 ;;;;---------------------;;;;
+                     1 ;MACRO	LOADTPADDR(%1)
+                     1 ;	lda	#^%1
+                     1 ;	sta	Table+2
+                     1 ;	lda	#>%1
+                     1 ;	sta	Table+1
+                     1 ;	lda	#<%1
+                     1 ;	sta	Table
+                     1 ;	ENDM
+                     1 ;;;;---------------------;;;;
+                     1 ;MACRO	LOADTP()
+                     1 ;	lda	Table+2
+                     1 ;	sta	r_tpp
+                     1 ;	lda	Table+1
+                     1 ;	sta	r_tph
+                     1 ;	lda	Table
+                     1 ;	sta	r_tpl
+                     1 ;	ENDM
+                     1 		     
0000                  1         MACRO   SET_PORT(%1,%2,%3)
+                     1         lda     %3
+                     1         ora     #%2
+                     1         sta     %3
+                     1         sta     %1   
+                     1         ENDM      
+                     1         	
0000                  1         MACRO   CLR_PORT(%1,%2,%3)
+                     1         lda     %3 
+                     1         anda    #~%2
+                     1         sta     %3
+                     1         sta     %1
+                     1         ENDM
+                     1         
0000                  1         MACRO   CHK_PORT(%1,%2)
+                     1         lda     %1
+                     1         anda    #%2
+                     1         ENDM
+                     1         
+                     1 ;        MACRO   DELAY_US(%1)               ;;;Offset 1 Inst
+                     1 ;        lda     #%1    ;2
+                     1 ;        suba    #3     ;2
+                     1 ;        sta     temp   ;2 
+                     1 ;        brnc    126$           ;3     	 
+                     1 ;   127$:                           
+                     1 ;        suba    #3             ;2         ;8 insts = 3 us
+                     1 ;        sta     temp           ;2 
+                     1 ;        nop                    ;1
+                     1 ;      ;brz     126$
+                     1 ;        brc     127$           ;3 
+                     1 ;   126$:
+                     1 ;        ENDM  
+                     1                   
+                     1 
+                     1 
+                     1 ;[KEY DEFINITION]--------------------------------------------------------
0010                  1 Key_0		EQU	16                   ;璸衡诀

⌨️ 快捷键说明

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