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

📄 paldemo.lst

📁 Pal Signal generation with 8-Bit microcontroller. PIC18F4620
💻 LST
📖 第 1 页 / 共 5 页
字号:
;PAL_library.c,912 :: 			mx = size & 0x0f ;
$28DA	$0E0F	    			MOVLW	15
$28DC	$0108	    			MOVLB	8
$28DE	$15B3	    			ANDWF	FARG_PAL_char+3, 0, 1
$28E0	$6FBA	    			MOVWF	PAL_char_mx_L0, 1
;PAL_library.c,913 :: 			my = size >> 4 ;
$28E2	$C8B3	F8BB			MOVFF	FARG_PAL_char+3, PAL_char_my_L0
$28E6	$33BB	    			RRCF	PAL_char_my_L0, 1, 1
$28E8	$9FBB	    			BCF	PAL_char_my_L0, 7, 1
$28EA	$33BB	    			RRCF	PAL_char_my_L0, 1, 1
$28EC	$9FBB	    			BCF	PAL_char_my_L0, 7, 1
$28EE	$33BB	    			RRCF	PAL_char_my_L0, 1, 1
$28F0	$9FBB	    			BCF	PAL_char_my_L0, 7, 1
$28F2	$33BB	    			RRCF	PAL_char_my_L0, 1, 1
$28F4	$9FBB	    			BCF	PAL_char_my_L0, 7, 1
;PAL_library.c,918 :: 			ptr = PAL_charTable + c * 6 ;
$28F6	$0E06	    			MOVLW	6
$28F8	$03B2	    			MULWF	FARG_PAL_char+2, 1
$28FA	$CFF3	F000			MOVFF	PRODL, STACK_0
$28FE	$CFF4	F001			MOVFF	PRODH, STACK_0+1
$2902	$0EBC	    			MOVLW	#_PAL_charTable
$2904	$2400	    			ADDWF	STACK_0, 0, 0
$2906	$6FBC	    			MOVWF	PAL_char_ptr_L0, 1
$2908	$0E2F	    			MOVLW	@#_PAL_charTable
$290A	$2001	    			ADDWFC	STACK_0+1, 0, 0
$290C	$6FBD	    			MOVWF	PAL_char_ptr_L0+1, 1
$290E	$0E00	    			MOVLW	@@#_PAL_charTable
$2910	$6FBE	    			MOVWF	PAL_char_ptr_L0+2, 1
$2912	$0E00	    			MOVLW	0
$2914	$BE01	    			BTFSC	STACK_0+1, 7, 0
$2916	$0EFF	    			MOVLW	255
$2918	$23BE	    			ADDWFC	PAL_char_ptr_L0+2, 1, 1
$291A	$0E00	    			MOVLW	0
;PAL_library.c,923 :: 			for(i = 0 ; i < 6 ; i++)
$291C	$6BB4	    			CLRF	PAL_char_i_L0, 1
$291E	$	L_PAL_char_54:
$291E	$0E06	    			MOVLW	6
$2920	$5DB4	    			SUBWF	PAL_char_i_L0, 0, 1
$2922	$E23B	    			BC	L_PAL_char_55
;PAL_library.c,925 :: 			px = x + i * mx ;
$2924	$51B4	    			MOVF	PAL_char_i_L0, 0, 1
$2926	$03BA	    			MULWF	PAL_char_mx_L0, 1
$2928	$CFF3	F000			MOVFF	PRODL, STACK_0
$292C	$5000	    			MOVF	STACK_0, 0, 0
$292E	$25B0	    			ADDWF	FARG_PAL_char+0, 0, 1
$2930	$6FB6	    			MOVWF	PAL_char_px_L0, 1
;PAL_library.c,926 :: 			c = *ptr++ ;    // get byte pattern
$2932	$C8BC	FFF6			MOVFF	PAL_char_ptr_L0, TBLPTRL
$2936	$C8BD	FFF7			MOVFF	PAL_char_ptr_L0+1, TBLPTRH
$293A	$C8BE	FFF8			MOVFF	PAL_char_ptr_L0+2, TBLPTRU
$293E	$0009	    			TBLRD*+
$2940	$CFF5	F8B2			MOVFF	TABLAT, FARG_PAL_char+2
$2944	$0E01	    			MOVLW	1
$2946	$27BC	    			ADDWF	PAL_char_ptr_L0, 1, 1
$2948	$0E00	    			MOVLW	0
$294A	$23BD	    			ADDWFC	PAL_char_ptr_L0+1, 1, 1
$294C	$23BE	    			ADDWFC	PAL_char_ptr_L0+2, 1, 1
;PAL_library.c,927 :: 			py = y ;
$294E	$C8B1	F8B7			MOVFF	FARG_PAL_char+1, PAL_char_py_L0
;PAL_library.c,932 :: 			for(j = 0 ; j < 8 ; j++)
$2952	$6BB5	    			CLRF	PAL_char_j_L0, 1
$2954	$	L_PAL_char_57:
$2954	$0E08	    			MOVLW	8
$2956	$5DB5	    			SUBWF	PAL_char_j_L0, 0, 1
$2958	$E21E	    			BC	L_PAL_char_58
;PAL_library.c,934 :: 			for(sx = 0 ; sx < mx ; sx++)
$295A	$6BB8	    			CLRF	PAL_char_sx_L0, 1
$295C	$	L_PAL_char_60:
$295C	$51BA	    			MOVF	PAL_char_mx_L0, 0, 1
$295E	$5DB8	    			SUBWF	PAL_char_sx_L0, 0, 1
$2960	$E214	    			BC	L_PAL_char_61
;PAL_library.c,936 :: 			for(sy = 0 ; sy < my ; sy++)
$2962	$6BB9	    			CLRF	PAL_char_sy_L0, 1
$2964	$	L_PAL_char_63:
$2964	$51BB	    			MOVF	PAL_char_my_L0, 0, 1
$2966	$5DB9	    			SUBWF	PAL_char_sy_L0, 0, 1
$2968	$E20E	    			BC	L_PAL_char_64
;PAL_library.c,938 :: 			PAL_setPixel(px + sx, py + sy, c & 1) ;        // paint pixel
$296A	$51B8	    			MOVF	PAL_char_sx_L0, 0, 1
$296C	$25B6	    			ADDWF	PAL_char_px_L0, 0, 1
$296E	$6FC1	    			MOVWF	FARG_PAL_setPixel+0, 1
$2970	$51B9	    			MOVF	PAL_char_sy_L0, 0, 1
$2972	$25B7	    			ADDWF	PAL_char_py_L0, 0, 1
$2974	$6FC2	    			MOVWF	FARG_PAL_setPixel+1, 1
$2976	$0E01	    			MOVLW	1
$2978	$15B2	    			ANDWF	FARG_PAL_char+2, 0, 1
$297A	$6FC3	    			MOVWF	FARG_PAL_setPixel+2, 1
$297C	$ECBD	F012			CALL	_PAL_setPixel
;PAL_library.c,939 :: 			}
$2980	$	L_PAL_char_65:
;PAL_library.c,936 :: 			for(sy = 0 ; sy < my ; sy++)
$2980	$0108	    			MOVLB	8
$2982	$2BB9	    			INCF	PAL_char_sy_L0, 1, 1
;PAL_library.c,939 :: 			}
$2984	$D7EF	    			BRA	L_PAL_char_63
$2986	$	L_PAL_char_64:
;PAL_library.c,940 :: 			}
$2986	$	L_PAL_char_62:
;PAL_library.c,934 :: 			for(sx = 0 ; sx < mx ; sx++)
$2986	$2BB8	    			INCF	PAL_char_sx_L0, 1, 1
;PAL_library.c,940 :: 			}
$2988	$D7E9	    			BRA	L_PAL_char_60
$298A	$	L_PAL_char_61:
;PAL_library.c,941 :: 			c >>= 1 ;       // next one
$298A	$33B2	    			RRCF	FARG_PAL_char+2, 1, 1
$298C	$9FB2	    			BCF	FARG_PAL_char+2, 7, 1
;PAL_library.c,942 :: 			py += my ;
$298E	$51BB	    			MOVF	PAL_char_my_L0, 0, 1
$2990	$27B7	    			ADDWF	PAL_char_py_L0, 1, 1
;PAL_library.c,943 :: 			}
$2992	$	L_PAL_char_59:
;PAL_library.c,932 :: 			for(j = 0 ; j < 8 ; j++)
$2992	$2BB5	    			INCF	PAL_char_j_L0, 1, 1
;PAL_library.c,943 :: 			}
$2994	$D7DF	    			BRA	L_PAL_char_57
$2996	$	L_PAL_char_58:
;PAL_library.c,944 :: 			}
$2996	$	L_PAL_char_56:
;PAL_library.c,923 :: 			for(i = 0 ; i < 6 ; i++)
$2996	$2BB4	    			INCF	PAL_char_i_L0, 1, 1
;PAL_library.c,944 :: 			}
$2998	$D7C2	    			BRA	L_PAL_char_54
$299A	$	L_PAL_char_55:
;PAL_library.c,945 :: 			}
$299A	$0012	    			RETURN
$228C	$	_PAL_line:
;PAL_library.c,725 :: 			void PAL_line(char x0, char y0, char x1, char y1, unsigned char pcolor)
;PAL_library.c,731 :: 			dy = y1 - y0 ;
$228C	$0108	    			MOVLB	8
$228E	$51B1	    			MOVF	FARG_PAL_line+1, 0, 1
$2290	$5DB3	    			SUBWF	FARG_PAL_line+3, 0, 1
$2292	$6E02	    			MOVWF	STACK_2, 0
$2294	$6A03	    			CLRF	STACK_2+1, 0
$2296	$0E00	    			MOVLW	0
$2298	$5A03	    			SUBWFB	STACK_2+1, 1, 0
$229A	$C002	F8B9			MOVFF	STACK_2, PAL_line_dy_L0
$229E	$C003	F8BA			MOVFF	STACK_2+1, PAL_line_dy_L0+1
;PAL_library.c,732 :: 			dx = x1 - x0 ;
$22A2	$51B0	    			MOVF	FARG_PAL_line+0, 0, 1
$22A4	$5DB2	    			SUBWF	FARG_PAL_line+2, 0, 1
$22A6	$6FBB	    			MOVWF	PAL_line_dx_L0, 1
$22A8	$6BBC	    			CLRF	PAL_line_dx_L0+1, 1
$22AA	$0E00	    			MOVLW	0
$22AC	$5BBC	    			SUBWFB	PAL_line_dx_L0+1, 1, 1
;PAL_library.c,734 :: 			if(dy < 0)
$22AE	$0E80	    			MOVLW	128
$22B0	$1803	    			XORWF	STACK_2+1, 0, 0
$22B2	$6E00	    			MOVWF	STACK_0, 0
$22B4	$0E80	    			MOVLW	128
$22B6	$5C00	    			SUBWF	STACK_0, 0, 0
$22B8	$E102	    			BNZ	L_PAL_line_86
$22BA	$0E00	    			MOVLW	0
$22BC	$5C02	    			SUBWF	STACK_2, 0, 0
$22BE	$	L_PAL_line_86:
$22BE	$E20C	    			BC	L_PAL_line_36
;PAL_library.c,736 :: 			dy = -dy ;
$22C0	$51B9	    			MOVF	PAL_line_dy_L0, 0, 1
$22C2	$0800	    			SUBLW	0
$22C4	$6FB9	    			MOVWF	PAL_line_dy_L0, 1
$22C6	$C8BA	F8BA			MOVFF	PAL_line_dy_L0+1, PAL_line_dy_L0+1
$22CA	$6AE8	    			CLRF	WREG, 0
$22CC	$57BA	    			SUBFWB	PAL_line_dy_L0+1, 1, 1
;PAL_library.c,737 :: 			stepy = -1 ;
$22CE	$0EFF	    			MOVLW	255
$22D0	$6FBF	    			MOVWF	PAL_line_stepy_L0, 1
$22D2	$0EFF	    			MOVLW	255
$22D4	$6FC0	    			MOVWF	PAL_line_stepy_L0+1, 1
;PAL_library.c,738 :: 			}
$22D6	$D005	    			BRA	L_PAL_line_37
$22D8	$	L_PAL_line_36:
;PAL_library.c,741 :: 			stepy = 1 ;
$22D8	$0108	    			MOVLB	8
$22DA	$0E01	    			MOVLW	1
$22DC	$6FBF	    			MOVWF	PAL_line_stepy_L0, 1
$22DE	$0E00	    			MOVLW	0
$22E0	$6FC0	    			MOVWF	PAL_line_stepy_L0+1, 1
;PAL_library.c,742 :: 			}
$22E2	$	L_PAL_line_37:
;PAL_library.c,744 :: 			if(dx < 0)
$22E2	$0E80	    			MOVLW	128
$22E4	$19BC	    			XORWF	PAL_line_dx_L0+1, 0, 1
$22E6	$6E00	    			MOVWF	STACK_0, 0
$22E8	$0E80	    			MOVLW	128
$22EA	$5C00	    			SUBWF	STACK_0, 0, 0
$22EC	$E102	    			BNZ	L_PAL_line_87
$22EE	$0E00	    			MOVLW	0
$22F0	$5DBB	    			SUBWF	PAL_line_dx_L0, 0, 1
$22F2	$	L_PAL_line_87:
$22F2	$E20C	    			BC	L_PAL_line_38
;PAL_library.c,746 :: 			dx = -dx ;
$22F4	$51BB	    			MOVF	PAL_line_dx_L0, 0, 1
$22F6	$0800	    			SUBLW	0
$22F8	$6FBB	    			MOVWF	PAL_line_dx_L0, 1
$22FA	$C8BC	F8BC			MOVFF	PAL_line_dx_L0+1, PAL_line_dx_L0+1
$22FE	$6AE8	    			CLRF	WREG, 0
$2300	$57BC	    			SUBFWB	PAL_line_dx_L0+1, 1, 1
;PAL_library.c,747 :: 			stepx = -1 ;
$2302	$0EFF	    			MOVLW	255
$2304	$6FBD	    			MOVWF	PAL_line_stepx_L0, 1
$2306	$0EFF	    			MOVLW	255
$2308	$6FBE	    			MOVWF	PAL_line_stepx_L0+1, 1
;PAL_library.c,748 :: 			}
$230A	$D005	    			BRA	L_PAL_line_39
$230C	$	L_PAL_line_38:
;PAL_library.c,751 :: 			stepx = 1 ;
$230C	$0108	    			MOVLB	8
$230E	$0E01	    			MOVLW	1
$2310	$6FBD	    			MOVWF	PAL_line_stepx_L0, 1
$2312	$0E00	    			MOVLW	0
$2314	$6FBE	    			MOVWF	PAL_line_stepx_L0+1, 1
;PAL_library.c,752 :: 			}
$2316	$	L_PAL_line_39:
;PAL_library.c,754 :: 			dy <<= 1 ;
$2316	$37B9	    			RLCF	PAL_line_dy_L0, 1, 1
$2318	$91B9	    			BCF	PAL_line_dy_L0, 0, 1
$231A	$37BA	    			RLCF	PAL_line_dy_L0+1, 1, 1
;PAL_library.c,755 :: 			dx <<= 1 ;
$231C	$37BB	    			RLCF	PAL_line_dx_L0, 1, 1
$231E	$91BB	    			BCF	PAL_line_dx_L0, 0, 1
$2320	$37BC	    			RLCF	PAL_line_dx_L0+1, 1, 1
;PAL_library.c,757 :: 			PAL_setPixel(x0, y0, pcolor) ;
$2322	$C8B0	F8C1			MOVFF	FARG_PAL_line+0, FARG_PAL_setPixel+0
$2326	$C8B1	F8C2			MOVFF	FARG_PAL_line+1, FARG_PAL_setPixel+1
$232A	$C8B4	F8C3			MOVFF	FARG_PAL_line+4, FARG_PAL_setPixel+2
$232E	$ECBD	F012			CALL	_PAL_setPixel
;PAL_library.c,759 :: 			if(dx > dy)
$2332	$0E80	    			MOVLW	128
$2334	$0108	    			MOVLB	8
$2336	$19BA	    			XORWF	PAL_line_dy_L0+1, 0, 1
$2338	$6E00	    			MOVWF	STACK_0, 0
$233A	$0E80	    			MOVLW	128
$233C	$19BC	    			XORWF	PAL_line_dx_L0+1, 0, 1
$233E	$5C00	    			SUBWF	STACK_0, 0, 0
$2340	$E102	    			BNZ	L_PAL_line_88
$2342	$51BB	    			MOVF	PAL_line_dx_L0, 0, 1
$2344	$5DB9	    			SUBWF	PAL_line_dy_L0, 0, 1
$2346	$	L_PAL_line_88:
$2346	$E236	    			BC	L_PAL_line_40
;PAL_library.c,761 :: 			int fraction = dy - (dx >> 1) ;
$2348	$C8BB	F000			MOVFF	PAL_line_dx_L0, STACK_0
$234C	$C8BC	F001			MOVFF	PAL_line_dx_L0+1, STACK_0+1
$2350	$3201	    			RRCF	STACK_0+1, 1, 0
$2352	$3200	    			RRCF	STACK_0, 1, 0
$2354	$9E01	    			BCF	STACK_0+1, 7, 0
$2356	$BC01	    			BTFSC	STACK_0+1, 6, 0
$2358	$8E01	    			BSF	STACK_0+1, 7, 0
$235A	$5000	    			MOVF	STACK_0, 0, 0
$235C	$5DB9	    			SUBWF	PAL_line_dy_L0, 0, 1
$235E	$6FB5	    			MOVWF	PAL_line_fraction_L1, 1
$2360	$5001	    			MOVF	STACK_0+1, 0, 0
$2362	$59BA	    			SUBWFB	PAL_line_dy_L0+1, 0, 1
$2364	$6FB6	    			MOVWF	PAL_line_fraction_L1+1, 1
;PAL_library.c,763 :: 			while(x0 != x1)
$2366	$	L_PAL_line_41:
$2366	$0108	    			MOVLB	8
$2368	$51B0	    			MOVF	FARG_PAL_line+0, 0, 1
$236A	$19B2	    			XORWF	FARG_PAL_line+2, 0, 1
$236C	$E022	    			BZ	L_PAL_line_42
;PAL_library.c,765 :: 			if(fraction >= 0)
$236E	$0E80	    			MOVLW	128
$2370	$19B6	    			XORWF	PAL_line_fraction_L1+1, 0, 1
$2372	$6E00	    			MOVWF	STACK_0, 0
$2374	$0E80	    			MOVLW	128
$2376	$5C00	    			SUBWF	STACK_0, 0, 0
$2378	$E102	    			BNZ	L_PAL_line_89
$237A	$0E00	    			MOVLW	0
$237C	$5DB5	    			SUBWF	PAL_line_fraction_L1, 0, 1
$237E	$	L_PAL_line_89:
$237E	$E306	    			BNC	L_PAL_line_43
;PAL_library.c,767 :: 			y0 += stepy ;
$2380	$51BF	    			MOVF	PAL_line_stepy_L0, 0, 1
$2382	$27B1	    			ADDWF	FARG_PAL_line+1, 1, 1
;PAL_library.c,768 :: 			fraction -= dx ;
$2384	$51BB	    			MOVF	PAL_line_dx_L0, 0, 1
$2386	$5FB5	    			SUBWF	PAL_line_fraction_L1, 1, 1
$2388	$51BC	    			MOVF	PAL_line_dx_L0+1, 0, 1
$238A	$5BB6	    			SUBWFB	PAL_line_fraction_L1+1, 1, 1
;PAL_library.c,769 :: 			}
$238C	$	L_PAL_line_43:
;PAL_library.c,770 :: 			x0 += stepx ;
$238C	$0108	    			MOVLB	8
$238E	$51BD	    			MOVF	PAL_line_stepx_L0, 0, 1
$2390	$25B0	    			ADDWF	FARG_PAL_line+0, 0, 1
$2392	$6E00	    			MOVWF	STACK_0, 0
$2394	$C000	F8B0			MOVFF	STACK_0, FARG_PAL_line+0
;PAL_library.c,771 :: 			fraction += dy ;
$2398	$51B9	    			MOVF	PAL_line_dy_L0, 0, 1
$239A	$27B5	    			ADDWF	PAL_line_fraction_L1, 1, 1
$239C	$51BA	    			MOVF	PAL_line_dy_L0+1, 0, 1
$239E	$23B6	    			ADDWFC	PAL_line_fraction_L1+1, 1, 1
;PAL_library.c,772 :: 			PAL_setPixel(x0, y0, pcolor) ;
$23A0	$C000	F8C1			MOVFF	STACK_0, FARG_PAL_setPixel+0
$23A4	$C8B1	F8C2			MOVFF	FARG_PAL_line+1, FARG_PAL_setPixel+1
$23A8	$C8B4	F8C3			MOVFF	FARG_PAL_line+4, FARG_PAL_setPixel+2
$23AC	$ECBD	F012			CALL	_PAL_setPixel
;PAL_library.c,773 :: 			}
$23B0	$D7DA	    			BRA	L_PAL_line_41
$23B2	$	L_PAL_line_42:
;PAL_library.c,774 :: 			}
$23B2	$D036	    			BRA	L_PAL_line_44
$23B4	$	L_PAL_line_40:
;PAL_library.c,777 :: 			int fraction = dx - (dy >> 1) ;
$23B4	$C8B9	F000			MOVFF	PAL_line_dy_L0, STACK_0
$23B8	$C8BA	F001			MOVFF	PAL_line_dy_L0+1, STACK_0+1
$23BC	$3201	    			RRCF	STACK_0+1, 1, 0
$23BE	$3200	    			RRCF	STACK_0, 1, 0
$23C0	$9E01	    			BCF	STACK_0+1, 7, 0
$23C2	$BC01	    			BTFSC	STACK_0+1, 6, 0
$23C4	$8E01	    			BSF	STACK_0+1, 7, 0
$23C6	$5000	    			MOVF	STACK_0, 0, 0
$23C8	$0108	    			MOVLB	8
$23CA	$5DBB	    			SUBWF	PAL_line_dx_L0, 0, 1
$23CC	$6FB5	    			MOVWF	PAL_line_fraction_L1, 1
$23CE	$5001	    			MOVF	STACK_0+1, 0, 0
$23D0	$59BC	    			SUBWFB	PAL_line_dx_L0+1, 0, 1
$23D2	$6FB6	    			MOVWF	PAL_line_fraction_L1+1, 1
;PAL_library.c,779 :: 			while(y0 != y1)
$23D4	$	L_PAL_line_45:
$23D4	$0108	    			MOVLB	8
$23D6	$51B1	    			MOVF	FARG_PAL_line+1, 0, 1
$23D8	$19B3	    			XORWF	FARG_PAL_line+3, 0, 1
$23DA	$E022	    			BZ	L_PAL_line_46
;PAL_library.c,781 :: 			if(fraction >= 0)
$23DC	$0E80	    			MOVLW	128
$23DE	$19B6	    			XORWF	PAL_line_fraction_L1+1, 0, 1
$23E0	$6E00	    			MOVWF	STACK_0, 0
$23E2	$0E80	    			MOVLW	128
$23E4	$5C00	    			SUBWF	STACK_0, 0, 0
$23E6	$E102	    			BNZ	L_PAL_line_90
$23E8	$0E00	    			MOVLW	0
$23EA	$5DB5	    			SUBWF	PAL_line_fraction_L1, 0, 1
$23EC	$	L_PAL_line_90:
$23EC	$E306	    			BNC	L_PAL_line_47
;PAL_libr

⌨️ 快捷键说明

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