📄 paldemo.lst
字号:
;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 + -