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

📄 tijpeg.asm

📁 用于DSP下摄像机的图像抓取、图像处理和传输、以及与上位机TCP/IP通信的工程文件。基于Texas Instruments Code Composer Studio实现。
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Tue Apr 14 17:53:24 2009                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C64xx                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : 100                                                  *
;*   Memory Model      : Large                                                *
;*   Calls to RTS      : Far                                                  *
;*   Pipelining        : Enabled                                              *
;*   Speculative Load  : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : No Debug Info                                        *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

_inputIcc:	.usect	".far",4,4
_outputIcc:	.usect	".far",4,4

	.sect	".cinit"
	.align	8
	.field  	IR_1,32
	.field  	_cell+0,32
	.field  	48,32			; _cell._size @ 0
	.field  	SL1,32		; _cell._name @ 32
	.field  	0,32			; _cell._cellFxns @ 64
	.field  	0,32			; _cell._cellEnv @ 96
	.field  	0,32			; _cell._algFxns @ 128
	.field  	0,32			; _cell._algParams @ 160
	.field  	0,32			; _cell._algHandle @ 192
	.field  	0,32			; _cell._scrBucketIndex @ 224
	.field  	0,32			; _cell._inputIcc @ 256
	.field  	0,32			; _cell._inputIccCnt @ 288
	.field  	0,32			; _cell._outputIcc @ 320
	.field  	0,32			; _cell._outputIccCnt @ 352
IR_1:	.set	48

	.sect	".text"
_cell:	.usect	".far",48,4
_chan:	.usect	".far",16,4
_s_nWidth:	.usect	".far",4,4
_s_nHeight:	.usect	".far",4,4
_s_nOutHeight:	.usect	".far",4,4

	.sect	".cinit"
	.align	8
	.field  	IR_2,32
	.field  	_IJPEGENC_PARAMS+0,32
	.field  	68,32			; _IJPEGENC_PARAMS._size @ 0
	.field  	8,32			; _IJPEGENC_PARAMS._samplePrec @ 32
	.field  	3,32			; _IJPEGENC_PARAMS._numComps @ 64
	.field  	2,32			; _IJPEGENC_PARAMS._numQtables @ 96
	.field  	0,32			; _IJPEGENC_PARAMS._interleaved @ 128
	.field  	17957138,32			; _IJPEGENC_PARAMS._format @ 160
	.field  	100,32			; _IJPEGENC_PARAMS._quality @ 192
	.field  	1200,32			; _IJPEGENC_PARAMS._numLines[0] @ 224
	.field  	600,32			; _IJPEGENC_PARAMS._numLines[1] @ 256
	.field  	600,32			; _IJPEGENC_PARAMS._numLines[2] @ 288
	.field  	1600,32			; _IJPEGENC_PARAMS._numSamples[0] @ 320
	.field  	800,32			; _IJPEGENC_PARAMS._numSamples[1] @ 352
	.field  	800,32			; _IJPEGENC_PARAMS._numSamples[2] @ 384
	.field  	1600,32			; _IJPEGENC_PARAMS._pitch[0] @ 416
	.field  	800,32			; _IJPEGENC_PARAMS._pitch[1] @ 448
	.field  	800,32			; _IJPEGENC_PARAMS._pitch[2] @ 480
IR_2:	.set	64

	.sect	".text"
	.global	_IJPEGENC_PARAMS
_IJPEGENC_PARAMS:	.usect	".far",68,4

	.sect	".cinit"
	.align	8
	.field  	IR_3,32
	.field  	_IJPEGDEC_PARAMS+0,32
	.field  	16,32			; _IJPEGDEC_PARAMS._size @ 0
	.field  	1600,32			; _IJPEGDEC_PARAMS._pitch[0] @ 32
	.field  	800,32			; _IJPEGDEC_PARAMS._pitch[1] @ 64
	.field  	800,32			; _IJPEGDEC_PARAMS._pitch[2] @ 96
IR_3:	.set	16

	.sect	".text"
	.global	_IJPEGDEC_PARAMS
_IJPEGDEC_PARAMS:	.usect	".far",16,4

	.sect	".cinit"
	.align	8
	.field  	4,32
	.field  	_framenum$1+0,32
	.field  	0,32			; _framenum$1 @ 0

	.sect	".text"
_framenum$1:	.usect	".far",4,4
;	c:\ti\c6000\cgtools\bin\opt6x.exe -a -DI100 -v6400 -q -O3 C:\DOCUME~1\yn\LOCALS~1\Temp\TI440_2 C:\DOCUME~1\yn\LOCALS~1\Temp\TI440_5 -w ../TMP 

	.sect	".text"
	.global	_JPEG_init

;******************************************************************************
;* FUNCTION NAME: _JPEG_init                                                  *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,B0,B1,B2,  *
;*                           B3,B4,B5,B6,B7,B8,B9,B13,SP,A16,A17,A18,A19,A20, *
;*                           A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;*                           B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;*                           B29,B30,B31                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,B0,B1,B2,  *
;*                           B3,B4,B5,B6,B7,B8,B9,B13,SP,A16,A17,A18,A19,A20, *
;*                           A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,B16, *
;*                           B17,B18,B19,B20,B21,B22,B23,B24,B25,B26,B27,B28, *
;*                           B29,B30,B31                                      *
;*   Local Frame Size  : 0 Args + 0 Auto + 16 Save = 16 byte                  *
;******************************************************************************
_JPEG_init:
;** --------------------------------------------------------------------------*
           MVKL    .S2     _s_nHeight,B8     ; |56| 

           MVKL    .S2     _IJPEGENC_PARAMS+24,B5 ; |59| 
||         STW     .D2T1   A12,*SP--(16)     ; |53| 

           STDW    .D2T1   A11:A10,*+SP(8)   ; |53| 
||         MVKH    .S2     _s_nHeight,B8     ; |56| 

           STW     .D2T2   B4,*B8            ; |56| 
||         MVKH    .S2     _IJPEGENC_PARAMS+24,B5 ; |59| 
||         MV      .L2X    A8,B9             ; |53| 

           STW     .D2T2   B9,*B5            ; |59| 
||         MVKL    .S1     _IJPEGENC_PARAMS,A10 ; |60| 

           STW     .D2T2   B13,*+SP(4)       ; |53| 
||         MVKH    .S1     _IJPEGENC_PARAMS,A10 ; |60| 
||         MV      .S2X    A4,B7             ; |53| 

           STW     .D1T2   B7,*+A10(40)      ; |63| 
||         MVKL    .S2     _s_nWidth,B8      ; |55| 
||         MVKL    .S1     _ACPY2_6X1X_init,A4 ; |70| 

           STW     .D1T2   B7,*+A10(52)      ; |66| 
||         SHR     .S2     B7,1,B5           ; |64| 
||         MVKH    .S1     _ACPY2_6X1X_init,A4 ; |70| 

           STW     .D1T2   B5,*+A10(60)      ; |68| 
||         MVKL    .S2     _s_nOutHeight,B9  ; |57| 
||         AND     .D2     -16,B4,B4         ; |57| 

           CALL    .S2X    A4                ; |70| 
||         STW     .D1T2   B5,*+A10(56)      ; |67| 

           STW     .D1T2   B4,*+A10(28)      ; |60| 
||         MVKH    .S2     _s_nWidth,B8      ; |55| 
||         SHR     .S1X    B4,1,A3           ; |61| 

           STW     .D1T1   A3,*+A10(32)      ; |61| 
||         STW     .D2T2   B7,*B8            ; |55| 
||         MVKH    .S2     _s_nOutHeight,B9  ; |57| 

           STW     .D1T1   A3,*+A10(36)      ; |62| 
||         STW     .D2T2   B4,*B9            ; |57| 

           STW     .D1T2   B5,*+A10(48)      ; |65| 

           ADDKPC  .S2     RL0,B3,0          ; |70| 
||         STW     .D1T2   B5,*+A10(44)      ; |64| 
||         MV      .D2     B3,B13            ; |53| 
||         MV      .S1     A6,A11            ; |53| 
||         MV      .L1X    B6,A12            ; |53| 

RL0:       ; CALL OCCURS                     ; |70| 
           MVKL    .S1     _DMAN_init,A3     ; |71| 
           MVKH    .S1     _DMAN_init,A3     ; |71| 
           NOP             1
           CALL    .S2X    A3                ; |71| 
           ADDKPC  .S2     RL1,B3,4          ; |71| 
RL1:       ; CALL OCCURS                     ; |71| 
           MVKL    .S2     _DMAN_setup,B4    ; |72| 
           MVKH    .S2     _DMAN_setup,B4    ; |72| 
           CALL    .S2     B4                ; |72| 
           MV      .D1     A11,A4            ; |72| 
           ADDKPC  .S2     RL2,B3,3          ; |72| 
RL2:       ; CALL OCCURS                     ; |72| 
           MVKL    .S1     _CHAN_init,A3     ; |75| 
           MVKH    .S1     _CHAN_init,A3     ; |75| 
           NOP             1
           CALL    .S2X    A3                ; |75| 
           ADDKPC  .S2     RL3,B3,4          ; |75| 
RL3:       ; CALL OCCURS                     ; |75| 
           MVKL    .S1     _ICC_init,A3      ; |76| 
           MVKH    .S1     _ICC_init,A3      ; |76| 
           NOP             1
           CALL    .S2X    A3                ; |76| 
           ADDKPC  .S2     RL4,B3,4          ; |76| 
RL4:       ; CALL OCCURS                     ; |76| 
           MVKL    .S1     _CHAN_setup,A3    ; |79| 
           MVKH    .S1     _CHAN_setup,A3    ; |79| 
           MVK     .D2     0x1,B6            ; |79| 
           CALL    .S2X    A3                ; |79| 
           MV      .L1     A11,A6            ; |79| 
           ZERO    .S1     A8                ; |79| 
           ZERO    .L2     B8                ; |79| 
           MV      .D1     A11,A4            ; |79| 

           MV      .D2X    A12,B4            ; |79| 
||         ADDKPC  .S2     RL5,B3,0          ; |79| 

RL5:       ; CALL OCCURS                     ; |79| 
           MVKL    .S2     _JPEGENC_TI_init,B4 ; |81| 
           MVKH    .S2     _JPEGENC_TI_init,B4 ; |81| 
           CALL    .S2     B4                ; |81| 
           ADDKPC  .S2     RL6,B3,4          ; |81| 
RL6:       ; CALL OCCURS                     ; |81| 
           MVKL    .S1     SL2+0,A4          ; |85| 

           MVKL    .S2     _cell+4,B6        ; |85| 
||         MVKL    .S1     _JPEGENC_CELLFXNS,A6 ; |86| 

           MVKL    .S1     _ICC_linearCreate,A3 ; |94| 
||         MVKH    .S2     _cell+4,B6        ; |85| 

           MVKL    .S2     _cell+8,B7        ; |86| 
||         MVKH    .S1     _ICC_linearCreate,A3 ; |94| 

           MVKH    .S1     SL2+0,A4          ; |85| 
||         MVKH    .S2     _cell+8,B7        ; |86| 

           MVKH    .S1     _JPEGENC_CELLFXNS,A6 ; |86| 
||         CALL    .S2X    A3                ; |94| 

           MVKL    .S1     _cell+16,A7       ; |87| 
||         MVKL    .S2     _cell+20,B4       ; |88| 

           STW     .D2T1   A4,*B6            ; |85| 
||         MVKL    .S1     _JPEGENC_TI_IJPEGENC,A5 ; |87| 
||         MVKL    .S2     _cell+28,B5       ; |89| 

           STW     .D2T1   A6,*B7            ; |86| 
||         MVKH    .S2     _cell+20,B4       ; |88| 
||         MVKH    .S1     _cell+16,A7       ; |87| 

           ZERO    .L2     B6                ; |89| 
||         MVKH    .S1     _JPEGENC_TI_IJPEGENC,A5 ; |87| 
||         MVKH    .S2     _cell+28,B5       ; |89| 
||         STW     .D2T1   A10,*B4           ; |88| 

           ZERO    .L2     B4                ; |94| 
||         ZERO    .S1     A4                ; |94| 
||         STW     .D2T2   B6,*B5            ; |89| 
||         STW     .D1T1   A5,*A7            ; |87| 
||         ADDKPC  .S2     RL7,B3,0          ; |94| 

RL7:       ; CALL OCCURS                     ; |94| 
           MVKL    .S2     _ICC_linearCreate,B5 ; |98| 
           MVKH    .S2     _ICC_linearCreate,B5 ; |98| 
           CALL    .S2     B5                ; |98| 
           MVKL    .S1     _inputIcc,A3      ; |94| 
           MVKH    .S1     _inputIcc,A3      ; |94| 
           STW     .D1T1   A4,*A3            ; |94| 
           ZERO    .D1     A4                ; |98| 

           ZERO    .D2     B4                ; |98| 
||         ADDKPC  .S2     RL8,B3,0          ; |98| 

RL8:       ; CALL OCCURS                     ; |98| 
           MVKL    .S1     _CHAN_regCell,A3  ; |100| 
           MVKH    .S1     _CHAN_regCell,A3  ; |100| 
           MVKL    .S2     _inputIcc,B4      ; |100| 
           CALL    .S2X    A3                ; |100| 
           MVKL    .S1     _outputIcc,A5     ; |98| 

           MVKH    .S2     _inputIcc,B4      ; |100| 
||         MVKL    .S1     _cell,A11         ; |100| 

           MV      .D1     A4,A6             ; |98| 
||         MVKL    .S2     _outputIcc,B6     ; |100| 
||         MVKH    .S1     _outputIcc,A5     ; |98| 

           MVKH    .S1     _cell,A11         ; |100| 
||         STW     .D1T1   A6,*A5            ; |98| 
||         MVKH    .S2     _outputIcc,B6     ; |100| 

           MVK     .L1     0x1,A6            ; |100| 
||         MV      .S1     A11,A4            ; |100| 
||         MVK     .D1     0x1,A8            ; |100| 
||         ADDKPC  .S2     RL9,B3,0          ; |100| 

RL9:       ; CALL OCCURS                     ; |100| 
           MVKL    .S1     _CHAN_open,A3     ; |104| 
           MVKH    .S1     _CHAN_open,A3     ; |104| 
           MVKL    .S2     _chan,B5          ; |104| 
           CALL    .S2X    A3                ; |104| 
           MVKH    .S2     _chan,B5          ; |104| 
           MVKL    .S2     _cell+20,B4       ; |102| 
           MVKH    .S2     _cell+20,B4       ; |102| 
           STW     .D2T1   A10,*B4           ; |102| 

           MVK     .S1     0x1,A6            ; |104| 
||         ZERO    .L2     B6                ; |104| 
||         MV      .D1X    B5,A4             ; |104| 
||         MV      .D2X    A11,B4            ; |100| 
||         ADDKPC  .S2     RL10,B3,0         ; |104| 

RL10:      ; CALL OCCURS                     ; |104| 
;** --------------------------------------------------------------------------*

⌨️ 快捷键说明

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