亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fppfnc4.s43

?? MSP430浮點庫
?? S43
?? 第 1 頁 / 共 2 頁
字號:
;============================================================================
;  MSP430 Floating Point Package   Version 4.10  IAR
;
;  Trigonometric and other Functions
;  Texas Instruments Deutschland
;  Date:    March  9   2000    4.07.1           IAR Version
;  Version: 4.02  12.3.97 LB   Sin X, Sinh X
;  Version: 4.03  18.3.97 LB   Cos X, Cosh X, FLT_RNG added
;  Version: 4.04  27.3.97 LB   Tan X, Cot X
;  Version: 4.05   7.8.97 LB   Ln X,  Exp X, A^B       tested
;  Version: 4.06 12.10.97 LB   X^0.5		   tested
;  Version: 4.07 14.10.97 LB   X^1/3	    tested
;  Version: 4.07.1 7.3.00 LB   Fehler: FLT1 enabled
;  Version: 4.10  23.7.02 LB   Error: square root
;==============================================================================
;  BEGIN OF THE TRIGONOMETRIC FUNCTIONS
;
; Sin, Cosine, Hyperbolic Sine, Hyperbolic Cosine of X (radians)
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_xxx		; Call the function
;	...			; RPARG, RPRES and SP point to result
;
; Range: -2xPi < X < +2xPi	for larger numbers FAST loss of accuracy
;
;   Initialization for the trigonometric functions
;  +--------------+-------+-------+--------+--------+
;  | INIT	  | sin X | cos X | sinh X | cosh X |
;  +--------------+-------+-------+--------+--------+
;  | Sign Mask	  | 080h  |  080h | 000h   |  000h  |
;  | n		  | 1.0   |  0.0  | 1.0    |  0.0   |
;  | Serial Term  |   X   |  0.0  |   X    |  0.0   |
;  | Result Area  |   X   |  0.0  |   X    |  0.0   |
;  +--------------+-------+-------+--------+--------+
;
FPL      EQU    (ML/8)+1        ; Length of FPP numbers (bytes)
;
; Floating Point Sine Function: Result on TOS = SIN(@RPARG)
; Prepare the stack with the initial constants
;
FLT_SIN PUSH	#80h		; Sign mask (toggle)
	JMP	SINc
;
; Hyperbolic Sine Function: Result on TOS = SINH(@RPARG)
;
FLT_SINH PUSH	#00h		; Sign mask (always pos.)
SINc	PUSH	#0		; n: 1
     IF DOUBLE=1
	PUSH	#0
     ENDIF
	PUSH	#08000h 	; .FLOAT 1.0
;
     IF DOUBLE=1
        PUSH    4(R5)        ; Series term: X
     ENDIF
        PUSH    2(R5)
        PUSH    @R5          ;
;
	JMP	TRIGCOM 	; To common part
;
; Floating Point Cosine Function: Result on TOS = COS(@RPARG)
; Prepare the stack with the initial constants
;
FLT_COS PUSH	#80h		; Sign mask (toggle)
	JMP	COSc
;
; Hyperbolic Cosine Function: Result on TOS = COSH(@RPARG)
;
FLT_COSH PUSH	#00h		; Sign mask (always pos.)
COSc	PUSH	#0		; n: 0
     IF DOUBLE=1
	PUSH	#0
     ENDIF
	PUSH	#00h		; .FLOAT 0.0
;
     IF DOUBLE=1
	PUSH	#0		; Series term: 1.0
     ENDIF
	PUSH	#0
	PUSH	#08000h 	; .FLOAT 1.0
;
; Common part for sin X, cos X, sinh X and cosh X
;
TRIGCOM  EQU    $
     IF DOUBLE=1
        PUSH    4(R5)        ; Push X onto stack (gets X^2)
     ENDIF
        PUSH    2(R5)        ;
        PUSH    @R5          ;
;
	MOV	RPARG,RPRES	; Both pointers to X
	CALL	#FLT_MUL	; X^2 to actual stack
;
	ADD	#FPL,RPARG	; Copy serial term to result space
        MOV     @R5+,3*FPL+4(SP)   ; is X or 1.0
        MOV     @R5+,3*FPL+6(SP)
     IF DOUBLE=1
        MOV     @R5+,3*FPL+8(SP)
     ENDIF
	SUB	#FPL,SP 	; Working area for calculations
	MOV	SP,RPRES
;
TRIGLOP MOV	#FLT2,RPARG	; Address of .FLOAT 2.0
	ADD	#3*FPL,RPRES	; Address n
	CALL	#FLT_ADD	; n + 2
        MOV     @R5+,3*FPL(SP)  ; (n+2) -> n
        MOV     @R5+,3*FPL+2(SP)
     IF DOUBLE=1
        MOV     @R5+,3*FPL+4(SP)
     ENDIF
;
; Build (n+1)x(n+2) for next term. (n+2)^2 - (n+2) = (n-1)x(n+2)
;
	MOV	RPRES,RPARG	; Both point to (n+2)
	CALL	#FLT_MUL	; (n+2)^2
	ADD	#3*FPL,RPARG	; Point to old n
	CALL	#FLT_SUB	; (n+2)^2 -(n+2) = (n+1)x(n+2)
;
; The serial term is divided by (n+1)x(n+2)
;
	ADD	#2*FPL,RPRES	; Point to serial term
	CALL	#FLT_DIV	; Serial term/(n+1)x(n+2)
	ADD	#FPL,RPARG	; Point to x^2
	CALL	#FLT_MUL	; ST x X^2/(n+1)x(n+2)
	JN	TRIGERR 	; Error, status in SR and HELP
	XOR	4*FPL(SP),0(SP) ; Modify sign of new serial term
        MOV     @R5+,2*FPL(SP)        ; save new serial term
        MOV     @R5+,2*FPL+2(SP)
      IF DOUBLE=1
        MOV     @R5+,2*FPL+4(SP)
      ENDIF
	ADD	#3*FPL+4,RPARG		; Point to result area
	CALL	#FLT_ADD		; Old sum + new serial term
        MOV     @R5+,4*FPL+4(SP)     ; New result to result area
        MOV     @R5+,4*FPL+6(SP)
     IF DOUBLE=1
        MOV     @R5+,4*FPL+8(SP)
     ENDIF
;
; Check if enough iterations are made
;
	CMP	Nmax,3*FPL(SP)	; Compare with nmax (2 x iterations)
	JLO	TRIGLOP
;
TRIGERR ADD	#4*FPL+2,SP	; Housekeeping: free stack
	BR	#FLT_END	; To completion part. Error in HELP
;
     IF DOUBLE=1
FLT2    DW      08100h,00000h,00000h ; .double 2.0
     ELSE
FLT2    DW      08100h,00000h   ; .float 2.0
     ENDIF
Nmax    DW      08470h,00000h   ; .FLOAT 30.0 (Iterations x 2)
;
;-----------------------------------------------------------------------
; Subroutine FLT_RNG moves angle X into the range -Pi < X < +Pi
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_RNG		; Call the function
;	...			; RPARG, RPRES and SP point to result on TOS
;
; Range: -100xPI < X < +100xPI	loss of accuracy increases with X
;
FLT_RNG PUSH    @R5          ; Save sign of X on stack
	AND	#080h,0(SP)	; Only sign remains
	SUB	#FPL,SP 	; Reserve space for 2^n x Pi
     IF DOUBLE=1
        PUSH    4(R5)        ; X on stack
     ENDIF
        PUSH    2(R5)
        PUSH    @R5
	BIC	#080h,0(SP)	; |X| remains
FR1	MOV	FLT2PI,FPL(SP)	; 2xPi to stack
	MOV	FLT2PI+2,FPL+2(SP)
     IF DOUBLE=1
	MOV	FLT2PI+4,FPL+4(SP)
     ENDIF
	CMP	@SP,FLTPI	; Pi - |X|
	JHS	FR2		; Pi > |X|: range process done
;
; Successive approximation by subtracting 2^n x2Pi
;
FR3	INC.B	FPL+1(SP)	; 2Pi x 2
	CMP	@SP,FPL(SP)	; 2^n x 2Pi - |X|
	JLO	FR3		; 2^n x 2Pi < |X|
	DEC.B	FPL+1(SP)	; 2^n x 2Pi > |X| divide by 2
	MOV	SP,RPRES	; Address |X|
	MOV	SP,RPARG
	ADD	#FPL,RPARG	; Address 2^n x 2Pi
	CALL	#FLT_SUB	; |X| - 2^n x 2Pi
	JMP	FR1		; Check if in range now
;
; Move X (now between -Pi and +Pi) to old working area
;
FR2	XOR	2*FPL(SP),0(SP) ; Correct sign of X
	MOV	@SP+,2*FPL+2(SP) ; Result to old WA
	MOV	@SP+,2*FPL+2(SP)
     IF DOUBLE=1
	MOV	@SP+,2*FPL+2(SP)
     ENDIF
	ADD	#FPL+2,SP	; To return address of FLT_RNG
	BR	#FLT_END	; To completion part
;
     IF DOUBLE=1
FLTPI   DW      08149h,0FDAh,0A221h ; .DOUBLE 3.141592653589793 Pi
FLT2PI  DW      08249h,0FDAh,0A221h ; .DOUBLE 3.141592653589793*2 2xPi
     ELSE
FLTPI   DW      08149h,0FDBh    ; .FLOAT  3.141592653589793 Pi
FLT2PI  DW      08249h,0FDBh    ; .FLOAT  3.141592653589793*2 2xPi
     ENDIF
;--------------------------------------------------------------------------
; Tangens of X (radians)
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_TAN		; Call the tangens function
;	...			; RPARG, RPRES and SP point to result
;
; Range: -2xPi < X < +2xPi	for larger numbers FAST loss of accuracy
;--------------------------------------------------------------------------
FLT_TAN CLR	R4		; Offset for tan X
	JMP	TRI_COM1	; Go to common handler
;
; Cotangens of X (radians)
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_COT		; Call the cotangens function
;	...			; RPARG, RPRES and SP point to result
;
; Range: -2xPi < X < +2xPi	for larger numbers FAST loss of accuracy
;--------------------------------------------------------------------------
FLT_COT MOV	#2,R4		; Offset for cot X
	JMP	TRI_COM1	; Go to common handler
;
; Hyperbolic Tangens of X (radians)
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_TANH 	; Call the hyperbolic tangens function
;	...			; RPARG, RPRES and SP point to result
;
; Range: -2xPi < X < +2xPi	for larger numbers FAST loss of accuracy
;--------------------------------------------------------------------------
FLT_TANH MOV	 #4,R4		 ; Offset for tanh X
	JMP	TRI_COM1	; Go to common handler
;
; Hyperbolic Cotangens of X (radians)
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_COTH 	; Call the hyperbolic cotangens function
;	...			; RPARG, RPRES and SP point to result
;
; Range: -2xPi < X < +2xPi	for larger numbers FAST loss of accuracy
;--------------------------------------------------------------------------
FLT_COTH MOV	 #6,R4		 ; Offset forcoth X
;
; Common Handler for tan, cot, tanh, coth and exponent function
;
TRI_COM1  EQU $                 ;
        MOV     @R5+,2(SP)   ; Copy X to result space
        MOV     @R5+,4(SP)
         IF     DOUBLE=1
        MOV     @R5,6(SP)
         ENDIF
	SUB	#FPL,SP 	; Allocate new result space
	SUB	#4,RPARG	; Point to X again
	CALL	FT1(R4) 	; Calculate 1st function
	JN	TERR2		; Error: error code in HELP
	SUB	#FPL,SP 	; Allocate cosine working area
	ADD	#FPL+2,RPARG	; Point to X
	CALL	FT2(R4) 	; Calculate 2nd function
	ADD	#FPL,RPRES	; Point to result of 1st function
	CALL	#FLT_DIV	; 1st result/2nd result
	MOV	@SP+,2*FPL(SP)	; Final result to working area
	MOV	@SP+,2*FPL(SP)
         IF     DOUBLE=1
	MOV	@SP+,2*FPL(SP)
         ENDIF
TERR2	ADD	#FPL,SP 	; Skip 1st result
	BR	#FLT_END
;
FT1     DW      FLT_SIN         ; tan = sin/cos    1st function
        DW      FLT_COS         ; cot = cos/sin
        DW      FLT_SINH        ; tanh = sinh/cosh
        DW      FLT_COSH        ; coth = cosh/sinh
;
FT2     DW      FLT_COS         ; tan = sin/cos    2nd function
        DW      FLT_SIN         ; cot = cos/sin
        DW      FLT_COSH        ; tanh = sinh/cosh
        DW      FLT_SINH        ; coth = cosh/sinh
;
;---------------------------------------------------------------------------
;  BEGIN OF OTHER FUNCTIONS
; Natural Logaritm Function:	Result on TOS = LN(@RPARG)
;
; Call: MOV   #addressX,RPARG	; RPARG points to the address of X
;	CALL  #FLT_LN		; Call the function
;	...			; RPARG, RPRES and SP point to result lnX
;
; Range: +2.9x10^-38 < X < +3.4x10^38
;
; Errors: X = 0:  N = 1, C = 1, Z = 0	Result: -3.4E38
;	  X < 0:  N = 1, C = 1, Z = 0	Result: -3.4E38
;
; Stack: 3 x FPL + 6
;
FLT_LN   EQU   $
	PUSH	#0		; N binary (divisor, power)
     IF DOUBLE=1
        PUSH    4(R5)        ; Push X onto stack
     ENDIF
        PUSH    2(R5)        ;
        PUSH    @R5          ;
;
; Check for the legal range of X: 0 < X
;
	MOV	#FLT0,RPRES	 ; Check valid range: 0 < X
	CALL	#FLT_CMP
	JHS	LNNEG		; X is negative
;
; If X = 1.0 the result is 0.0
;
 	MOV	#FLT1,RPRES	 ; Check if X= 1
	CALL	#FLT_CMP
	JEQ	LN1P0		; X is 1
;
; The exponent of X is multiplied with ln2. Then ln1.5 is added to correct
; the division by 1.5. Result is base for final result
;
	SUB	#FPL,SP 	; Reserve working space
        MOV.B   1(R5),HELP   ; Copy exponent of X
	XOR	#80h,HELP	; Correct sign of exponent
	SXT	HELP		;
	MOV	HELP,0(SP)
	MOV	SP,RPARG
	CALL	#CNV_BIN16	; Exponent to FP format
	MOV	#FLN2,RPARG	; To ln2
	CALL	#FLT_MUL	; exp x ln2
	MOV	#FLN1P5,RPARG	 ; To ln1.5
	CALL	#FLT_ADD	; exp x ln2 + ln1.5
        MOV     @R5+,2*FPL+4(SP)     ; To result area
        MOV     @R5+,2*FPL+6(SP)
     IF DOUBLE=1
        MOV     @R5+,2*FPL+8(SP)
     ENDIF
;
; The mantissa of X is converted into the range -0.33 to +0.33 to get
; fast convergion
;
	ADD	#FPL,SP 	; Back to X
	MOV	SP,RPRES	; RPRES points to X
	MOV.B	#80h,1(SP)	; 1.0 =< X < 2.0
	MOV	#FLT1P5,RPARG	; To .FLOAT 1.5
	CALL	#FLT_DIV	; 2/3 =< X < 4/3
	MOV	#FLT1,RPARG	; To .FLOAT 1.0
	CALL	#FLT_SUB	; -1/3 =< X < +1/3
;
     IF DOUBLE=1                ;
	PUSH	#0		; 1.0 to X^N area
     ENDIF
	PUSH	#0
	PUSH	FLT1
;
     IF DOUBLE=1                ; N (FLT1.0) on stack
	PUSH	#0
     ENDIF
	PUSH	#0
	PUSH	FLT1
	SUB	#FPL,SP 	; Working area
;
LNLOP    EQU $
	MOV	SP,RPRES
	ADD	#2*FPL,RPRES	; To X^N
	MOV	SP,RPARG
	ADD	#3*FPL,RPARG	; To X
	CALL	#FLT_MUL	; X^(N+1)
        MOV     @R5+,2*FPL(SP)     ; New X^(N+1) -> X^N
        MOV     @R5+,2*FPL+2(SP)
     IF DOUBLE=1
        MOV     @R5+,2*FPL+4(SP)     ; RPARG points to N
     ENDIF
	CALL	#FLT_DIV	; X^N/N
    INC	4*FPL(SP)	; Incr. binary N
	BIT	#1,4*FPL(SP)	; N even?
	JNZ	LN1
	XOR	#80h,0(SP)	; Yes, change sign of X^N/N
;
LN1	ADD	#4*FPL+4,RPARG		; Point to result area
	CALL	#FLT_ADD		; Old result + new one
        MOV     @R5+,4*FPL+4(SP)     ; New result to result area
        MOV     @R5+,4*FPL+6(SP)
     IF DOUBLE=1
        MOV     @R5+,4*FPL+8(SP)
     ENDIF
;
; Float N is incremented
;
	MOV	#FLT1,RPARG	; To .FLOAT 1.0
	ADD	#FPL,RPRES	; To N
	CALL	#FLT_ADD
        MOV     @R5+,FPL(SP)     ; N+1 to N area
        MOV     @R5+,FPL+2(SP)
     IF DOUBLE=1
        MOV     @R5+,FPL+4(SP)
     ENDIF
;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
青娱乐精品视频在线| 日韩一级黄色片| 精品少妇一区二区三区在线视频| 成人综合在线观看| 色综合久久中文字幕综合网| 91一区二区三区在线观看| av在线不卡网| 欧美日韩在线综合| 久久综合色婷婷| 中文字幕在线播放不卡一区| 亚洲欧美日韩在线不卡| 亚洲激情六月丁香| 国产在线视频不卡二| 不卡在线观看av| 欧美人伦禁忌dvd放荡欲情| 精品裸体舞一区二区三区| 国产精品家庭影院| 精品一区二区在线看| 色综合久久九月婷婷色综合| 精品国产免费人成电影在线观看四季| 国产午夜亚洲精品理论片色戒 | 日本欧美一区二区在线观看| 国产·精品毛片| 日韩一级视频免费观看在线| 国产精品久久久久三级| 天堂成人免费av电影一区| 免费三级欧美电影| 99亚偷拍自图区亚洲| 日韩情涩欧美日韩视频| 亚洲图片一区二区| 91麻豆文化传媒在线观看| 国产精品福利在线播放| 国产v综合v亚洲欧| 日本一区二区三区dvd视频在线| 日本欧美一区二区在线观看| 日韩欧美一区二区免费| 水野朝阳av一区二区三区| 欧美日韩久久久一区| 天堂精品中文字幕在线| 欧美xxxxx牲另类人与| 蜜桃视频在线一区| 国产香蕉久久精品综合网| 成人毛片视频在线观看| 日本一区二区免费在线观看视频 | 色一情一伦一子一伦一区| 国产精品电影一区二区| 91久久精品一区二区| 日韩黄色小视频| 国产欧美日韩不卡| 欧美嫩在线观看| 国产精品一级二级三级| 亚洲乱码国产乱码精品精的特点 | 色www精品视频在线观看| 亚洲一区电影777| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 欧美日本国产一区| 成人网在线播放| 亚洲人成网站精品片在线观看| 6080日韩午夜伦伦午夜伦| 国产大片一区二区| 亚洲日本丝袜连裤袜办公室| 欧美一区二区视频网站| kk眼镜猥琐国模调教系列一区二区 | 蜜乳av一区二区三区| 亚洲精品综合在线| 国产欧美日韩在线看| 日韩免费观看高清完整版 | 91极品美女在线| 成人av中文字幕| 国产不卡视频在线播放| 国产精品综合视频| 蜜桃在线一区二区三区| 日本中文字幕一区| 美女视频黄a大片欧美| 国产一区不卡在线| 国产精品综合久久| jizz一区二区| 在线免费视频一区二区| 欧美日韩精品是欧美日韩精品| 色婷婷av一区二区三区gif| 99这里只有精品| 欧美电影影音先锋| 精品久久久久久无| 欧美一卡二卡在线观看| 日韩欧美的一区| 亚洲欧洲99久久| 日日摸夜夜添夜夜添亚洲女人| 捆绑变态av一区二区三区| 国产高清亚洲一区| 色噜噜狠狠一区二区三区果冻| 欧美性生活久久| 国产欧美精品区一区二区三区| 亚洲三级电影网站| 国产麻豆成人精品| 91精品国产一区二区三区| 国产精品久久久久一区二区三区| 亚洲国产日韩一级| 国产精品18久久久| 884aa四虎影成人精品一区| 日本一二三不卡| 国产一区二区三区久久久| 欧美精选在线播放| 亚洲欧美另类小说视频| 成人av网站免费观看| 欧美tickling挠脚心丨vk| 五月天婷婷综合| 欧美性猛片xxxx免费看久爱| 中文字幕一区二区三区在线不卡| 毛片av中文字幕一区二区| 欧美视频在线播放| 亚洲高清一区二区三区| 欧美日韩亚洲综合| 亚洲成人免费在线观看| 欧美视频三区在线播放| 亚洲成av人片观看| 69精品人人人人| 久久国产精品露脸对白| 久久这里只有精品6| 国产经典欧美精品| 亚洲色图19p| 在线播放国产精品二区一二区四区 | 国产精品卡一卡二卡三| 91免费看`日韩一区二区| 一个色综合av| 99re在线视频这里只有精品| 午夜av一区二区| 免费在线观看不卡| 色综合久久久久久久| 18涩涩午夜精品.www| 欧美亚洲丝袜传媒另类| 国产精品亚洲视频| 一区二区三区四区在线免费观看 | 欧美日韩亚州综合| 国产真实乱偷精品视频免| 亚洲图片激情小说| 26uuu另类欧美| 欧美日韩五月天| 国产一区二区三区免费看| 欧美国产在线观看| 欧美欧美欧美欧美| 成人精品视频一区| 国产精品自在欧美一区| 亚洲成va人在线观看| 欧美色图在线观看| 亚洲视频免费看| 久久久久久免费毛片精品| 91国偷自产一区二区开放时间| 精品亚洲成a人在线观看| 亚洲精品第一国产综合野| 中文字幕第一页久久| 欧美日韩日本视频| 欧美一区二区三区色| 欧美日韩国产精品成人| 欧美在线一区二区三区| 欧美日本在线看| 日韩免费性生活视频播放| 久久九九全国免费| 国产精品污污网站在线观看| 亚洲欧美日韩人成在线播放| 一区二区三区四区不卡视频 | 亚洲人123区| 一个色在线综合| 日本特黄久久久高潮| 久久精品国产99| 成人app软件下载大全免费| 欧美视频中文字幕| 日韩免费高清视频| 国产精品福利一区二区| 亚洲资源在线观看| 午夜精品在线视频一区| 狠狠狠色丁香婷婷综合久久五月| 国产成人免费在线观看不卡| 欧美挠脚心视频网站| 国产精品毛片高清在线完整版| 亚洲综合成人在线视频| 美女一区二区视频| 91福利小视频| 亚洲手机成人高清视频| 精品亚洲porn| 日本道免费精品一区二区三区| 日韩欧美国产成人一区二区| 亚洲色图20p| 成人免费的视频| 久久久久久久久久久久久女国产乱| 日日夜夜精品免费视频| 欧美一a一片一级一片| 久久综合久久鬼色中文字| 免费高清视频精品| 日韩亚洲欧美中文三级| 亚洲成a人v欧美综合天堂下载| 欧美探花视频资源| 性做久久久久久免费观看| 欧美午夜一区二区| 亚洲成人久久影院| 91精品国产综合久久久久久久| 亚洲国产成人av网| 91精品国模一区二区三区| 五月天婷婷综合| 久久九九全国免费| 91伊人久久大香线蕉|