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

📄 sobel1.asm

📁 基于VPM642开发板的sobel边缘检测程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Loop label : loop
;*      Loop source line                 : 111
;*      Loop closing brace source line   : 235
;*      Known Minimum Trip Count         : 4
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 0
;*      Unpartitioned Resource Bound     : 12
;*      Partitioned Resource Bound(*)    : 12
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     6        2     
;*      .S units                     2        1     
;*      .D units                     3        4     
;*      .M units                    11       11     
;*      .X cross paths               6        3     
;*      .T address paths             7        7     
;*      Long read paths              0        0     
;*      Long write paths             0        0     
;*      Logical  ops (.LS)          10       10     (.L or .S unit)
;*      Addition ops (.LSD)         15       14     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             9        7     
;*      Bound(.L .S .D .LS .LSD)    12*      11     
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 12 Schedule found with 4 iterations in parallel
;*
;*      Register Usage Table:
;*          +-----------------------------------------------------------------+
;*          |AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB|
;*          |00000000001111111111222222222233|00000000001111111111222222222233|
;*          |01234567890123456789012345678901|01234567890123456789012345678901|
;*          |--------------------------------+--------------------------------|
;*       0: |******  ***     ****************|* *******       ****************|
;*       1: |** ***  ** *    ****************|*  *******      ****************|
;*       2: |* ***** * **    ****************|**  ****        ****************|
;*       3: |***********     * **************|***** **        *********** ****|
;*       4: |************    ****************|********        ****************|
;*       5: |************    ****************|******* **      ****************|
;*       6: |** *********    ****************|**********      ****************|
;*       7: |** *********    ****************|***********     ****************|
;*       8: |**********      ****************|*** ******      ************** *|
;*       9: | **********     ****************|**********      ************* **|
;*      10: | **********     *************** |**********      ****************|
;*      11: | **********     ****************|**********      ****************|
;*          +-----------------------------------------------------------------+
;*
;*      Done
;*
;*      Epilog not removed
;*      Collapsed epilog stages     : 0
;*
;*      Prolog not removed
;*      Collapsed prolog stages     : 0
;*
;*      Minimum required memory pad : 0 bytes
;*
;*      For further improvement on this loop, try option -mh24
;*
;*      Minimum safe trip count     : 4
;*----------------------------------------------------------------------------*
;*        SINGLE SCHEDULED ITERATION
;*
;*        loop:
;*   0              LDNDW   .D1T1   *A24++(8),A5:A4   ; |111|  A load, line 3
;*   1              LDNDW   .D1T1   *A26++(8),A9:A8   ; |113|  A load, line 1
;*   2              NOP             1
;*   3              LDNDW   .D2T2   *B19++(8),B9:B8   ; |115|  B load, line 3
;*   4              LDNDW   .D2T2   *B18++(8),B7:B6   ; |116|  B load, line 2
;*   5              LDNDW   .D2T2   *B16++(8),B5:B4   ; |117|  B load, line 1
;*       ||         UNPKHU4 .L1     A4,A3             ; |183| 
;*   6              LDNDW   .D1T1   *A20++(8),A17:A16 ; |112|  A load, line 2
;*       ||         DOTPSU4 .M1     A22,A5,A31        ; |146| 
;*       ||         UNPKLU4 .S2X    A4,B27            ; |178| 
;*       ||         UNPKHU4 .L1     A5,A11            ; |201| 
;*   7              DOTPSU4 .M1     A28,A5,A30        ; |145| 
;*       ||         UNPKLU4 .S1     A8,A18            ; |176| 
;*   8              DOTPSU4 .M1     A22,A4,A16        ; |126| 
;*       ||         DOTPSU4 .M2     B25,B8,B6         ; |135| 
;*       ||         UNPKHU4 .S2     B9,B31            ; |209| 
;*   9              DOTPSU4 .M1     A28,A4,A27        ; |125| 
;*       ||         DOTPSU4 .M2     B17,B8,B29        ; |136| 
;*       ||         UNPKLU4 .S1X    B8,A19            ; |188| 
;*  10              MPYU4   .M2     B6,B26,B7:B6      ; |172| 
;*       ||         UNPKHU4 .L2     B8,B2             ; |193| 
;*       ||         MVD     .M1     A11,A31           ; |201| Split a long life
;*  11              DOTPSU4 .M2     B25,B9,B6         ; |155| 
;*       ||         MPYU4   .M1     A16,A29,A5:A4     ; |171| 
;*       ||         UNPKHU4 .S1     A8,A10            ; |181| 
;*       ||         UNPKLU4 .S2     B9,B30            ; |205| 
;*  12              PACK2   .S1     A30,A31,A30       ; |147| 
;*       ||         DOTPSU4 .M2     B17,B9,B7         ; |156| 
;*       ||         MPYU4   .M1     A17,A29,A19:A18   ; |169| 
;*       ||         UNPKLU4 .S2     B4,B9             ; |186| 
;*  13              DOTPSU4 .M1     A23,A8,A10        ; |121| 
;*       ||         PACK2   .S1     A27,A16,A27       ; |127| 
;*       ||         PACK2   .S2     B6,B29,B29        ; |137| 
;*       ||         MPYU4   .M2     B7,B26,B7:B6      ; |173| 
;*       ||         UNPKHU4 .L2     B4,B1             ; |191| 
;*  14              DOTPSU4 .M1     A23,A9,A1         ; |141| 
;*       ||         DOTPSU4 .M2     B22,B5,B2         ; |151| 
;*       ||         ADD2    .L2     B9,B6,B7          ; |187| 
;*       ||         ADD2    .S2     B1,B7,B8          ; |192| 
;*       ||         UNPKLU4 .S1     A5,A0             ; |197| 
;*  15              MPYU4   .M1     A9,A25,A17:A16    ; |170| 
;*       ||         MPYU4   .M2     B5,B24,B5:B4      ; |174| 
;*       ||         ADD2    .S1     A18,A4,A11        ; |177| 
;*       ||         ADD2    .D1     A10,A5,A4         ; |182| 
;*       ||         ADD2    .L2X    B7,A19,B8         ; |189| 
;*       ||         ADD2    .S2     B8,B2,B9          ; |194| 
;*  16              DOTPSU4 .M1     A21,A9,A16        ; |142| 
;*       ||         DOTPSU4 .M2     B21,B5,B5         ; |152| 
;*       ||         PACK2   .S2     B6,B7,B1          ; |157| 
;*       ||         ADD2    .S1     A4,A3,A2          ; |184| 
;*       ||         SUB2    .L2     B9,B8,B5          ; |215| 
;*  17              DOTPSU4 .M1     A21,A8,A17        ; |122| 
;*       ||         DOTPSU4 .M2     B21,B4,B3         ; |132| 
;*       ||         ADD2    .S2X    A11,B27,B3        ; |179| 
;*       ||         ABS2    .L2     B5,B28            ; |216| 
;*  18              DOTPSU4 .M2     B22,B4,B10        ; |131| 
;*  19              ADD2    .L1     A16,A18,A19       ; |196| 
;*       ||         ADD2    .D1     A17,A19,A17       ; |200| 
;*       ||         ADD2    .S2     B4,B6,B4          ; |204| 
;*       ||         ADD2    .D2     B5,B7,B6          ; |208| 
;*  20              PACK2   .S1     A1,A16,A1         ; |143| 
;*       ||         PACK2   .L2     B2,B5,B5          ; |153| 
;*       ||         ADD2    .L1     A17,A31,A16       ; |202| 
;*       ||         ADD2    .D2     B6,B31,B2         ; |210| 
;*       ||         SUB2    .D1X    A2,B3,A31         ; |212| 
;*  21              ADD2    .L2     B5,B1,B1          ; |159| 
;*       ||         ADD2    .D1     A19,A0,A0         ; |198| 
;*       ||         ADD2    .D2     B4,B30,B30        ; |206| 
;*       ||         ABS2    .L1     A31,A4            ; |213| 
;*  22              PACK2   .S1     A10,A17,A0        ; |123| 
;*       ||         PACK2   .S2     B10,B3,B6         ; |133| 
;*       ||         ADD2    .D1     A1,A30,A1         ; |149| 
;*       ||         SUB2    .L1     A16,A0,A2         ; |218| 
;*       ||         SUB2    .D2     B2,B30,B8         ; |221| 
;*  23              ADD2    .D1     A0,A27,A27        ; |129| 
;*       ||         ADD2    .D2     B6,B29,B3         ; |139| 
;*       ||         ABS2    .L1     A1,A1             ; |163| 
;*       ||         ABS2    .L2     B8,B8             ; |222| 
;*  24              ABS2    .L1     A27,A17           ; |161| 
;*  25              ABS2    .L1X    B1,A16            ; |164| 
;*  26              ADD2    .L1     A17,A4,A16        ; |224| 
;*       ||         ADD2    .D1X    A16,B8,A17        ; |227| 
;*  27              ABS2    .L1     A2,A5             ; |219| 
;*  28              ABS2    .L1X    B3,A6             ; |162| 
;*       ||         ADD2    .D1     A1,A5,A3          ; |226| 
;*  29              ADD2    .D1X    A6,B28,A6         ; |225| 
;*       ||         SPACKU4 .S1     A17,A3,A7         ; |230| 
;*  30              SPACKU4 .S1     A6,A16,A6         ; |229| 
;*  31              NOP             2
;*  33              BDEC    .S2     loop,B23          ; |235| 
;*  34              NOP             3
;*  37              ADD     .D2     0xffffffff,B0,B0  ; |232| 
;*  38      [ B0]   STNDW   .D2T1   A7:A6,*B20++(8)   ; |233| 
;*                  ; BRANCH OCCURS                   ; |235| 
;*----------------------------------------------------------------------------*
L1:    ; PIPED LOOP PROLOG

           MV      .D2X    A22,B17
||         DOTPSU4 .M1     A22,A4,A16        ; |126| (P) <0,8> 
||         UNPKHU4 .S2     B9,B2             ; |209| (P) <0,8> 
||         DOTPSU4 .M2     B25,B8,B6         ; |135| (P) <0,8> 

           MV      .D2X    A29,B26
||         UNPKHU4 .S1     A5,A11            ; |201| (P) <0,6> 
||         DOTPSU4 .M2     B17,B8,B8         ; |136| (P) <0,9> 
||         UNPKLU4 .L1X    B8,A19            ; |188| (P) <0,9> 
||         DOTPSU4 .M1     A28,A4,A4         ; |125| (P) <0,9> 

           MVD     .M1     A11,A27           ; |201| (P) <0,10> Split a long life
||         UNPKHU4 .S2     B8,B28            ; |193| (P) <0,10> 
||         MPYU4   .M2     B6,B26,B7:B6      ; |172| (P) <0,10> 

           UNPKHU4 .S1     A4,A3             ; |183| (P) <0,5> 
||         UNPKLU4 .S2X    A4,B27            ; |178| (P) <0,6> 
||         UNPKLU4 .L2     B9,B29            ; |205| (P) <0,11> 
||         UNPKHU4 .L1     A8,A10            ; |181| (P) <0,11> 
||         MPYU4   .M1     A16,A29,A5:A4     ; |171| (P) <0,11> 
||         DOTPSU4 .M2     B25,B9,B6         ; |155| (P) <0,11> 

           MV      .D2X    A21,B21
||         UNPKLU4 .S1     A8,A18            ; |176| (P) <0,7> 
||         PACK2   .L1     A7,A6,A0          ; |147| (P) <0,12> 
||         DOTPSU4 .M2     B17,B9,B7         ; |156| (P) <0,12> 
||         UNPKLU4 .S2     B4,B9             ; |186| (P) <0,12> 
||         LDNDW   .D1T1   *A24++(8),A5:A4   ; |111| (P) <1,0>  A load, line 3
||         MPYU4   .M1     A17,A29,A19:A18   ; |169| (P) <0,12> 

           MV      .D2X    A23,B22
||         PACK2   .S1     A4,A16,A6         ; |127| (P) <0,13> 
||         PACK2   .S2     B6,B8,B30         ; |137| (P) <0,13> 
||         MPYU4   .M2     B7,B26,B7:B6      ; |173| (P) <0,13> 
||         UNPKHU4 .L2     B4,B8             ; |191| (P) <0,13> 
||         LDNDW   .D1T1   *A26++(8),A9:A8   ; |113| (P) <1,1>  A load, line 1
||         DOTPSU4 .M1     A23,A8,A10        ; |121| (P) <0,13> 

           MV      .D2X    A25,B24
||         UNPKLU4 .S1     A5,A31            ; |197| (P) <0,14> 
||         ADD2    .S2     B8,B7,B8          ; |192| (P) <0,14> 
||         ADD2    .L2     B9,B6,B7          ; |187| (P) <0,14> 
||         DOTPSU4 .M2     B22,B5,B31        ; |151| (P) <0,14> 
||         DOTPSU4 .M1     A23,A9,A30        ; |141| (P) <0,14> 

           ADD2    .S2     B8,B28,B9         ; |194| (P) <0,15> 
||         ADD2    .L2X    B7,A19,B8         ; |189| (P) <0,15> 
||         ADD2    .D1     A10,A5,A4         ; |182| (P) <0,15> 
||         ADD2    .S1     A18,A4,A11        ; |177| (P) <0,15> 
||         MPYU4   .M1     A9,A25,A17:A16    ; |170| (P) <0,15> 
||         LDNDW   .D2T2   *B19++(8),B9:B8   ; |115| (P) <1,3>  B load, line 3
||         MPYU4   .M2     B5,B24,B5:B4      ; |174| (P) <0,15> 

           SUB2    .L2     B9,B8,B5          ; |215| (P) <0,16> 
||         PACK2   .S2     B6,B7,B3          ; |157| (P) <0,16> 
||         ADD2    .D1     A4,A3,A7          ; |184| (P) <0,16> 
||         DOTPSU4 .M1     A21,A9,A16        ; |142| (P) <0,16> 
||         LDNDW   .D2T2   *B18++(8),B7:B6   ; |116| (P) <1,4>  B load, line 2
||         DOTPSU4 .M2     B21,B5,B5         ; |152| (P) <0,16> 

           DOTPSU4 .M2     B21,B4,B2         ; |132| (P) <0,17> 
||         ADD2    .S2X    A11,B27,B1        ; |179| (P) <0,17> 
||         DOTPSU4 .M1     A21,A8,A17        ; |122| (P) <0,17> 
||         UNPKHU4 .S1     A4,A3             ; |183| (P) <1,5> 
||         LDNDW   .D2T2   *B16++(8),B5:B4   ; |117| (P) <1,5>  B load, line 1
||         ABS2    .L2     B5,B28            ; |216| (P) <0,17> 

           DOTPSU4 .M2     B22,B4,B10        ; |131| (P) <0,18> 
||         UNPKHU4 .S1     A5,A11            ; |201| (P) <1,6> 
||         UNPKLU4 .S2X    A4,B27            ; |178| (P) <1,6> 
||         LDNDW   .D1T1   *A20++(8),A17:A16 ; |112| (P) <1,6>  A load, line 2
||         DOTPSU4 .M1     A22,A5,A7         ; |146| (P) <1,6> 

           ADD2    .D2     B5,B7,B6          ; |208| (P) <0,19> 
||         ADD2    .S2     B4,B6,B4          ; |204| (P) <0,19> 
||         ADD2    .D1     A17,A19,A17       ; |200| (P) <0,19> 
||         ADD2    .L1     A16,A18,A19       ; |196| (P) <0,19> 
||         UNPKLU4 .S1     A8,A18            ; |176| (P) <1,7> 
||         DOTPSU4 .M1     A28,A5,A27        ; |145| (P) <1,7> 

           ADD2    .D2     B6,B2,B1          ; |210| (P) <0,20> 
||         PACK2   .S2     B31,B5,B5         ; |153| (P) <0,20> 
||         PACK2   .S1     A30,A16,A27       ; |143| (P) <0,20> 
||         SUB2    .D1X    A7,B1,A7          ; |212| (P) <0,20> 
||         ADD2    .L1     A17,A27,A16       ; |202| (P) <0,20> 
||         DOTPSU4 .M1     A22,A4,A16        ; |126| (P) <1,8> 
||         UNPKHU4 .L2     B9,B31            ; |209| (P) <1,8> 
||         DOTPSU4 .M2     B25,B8,B6         ; |135| (P) <1,8> 

           ADD2    .D2     B4,B29,B3         ; |206| (P) <0,21> 
||         ADD2    .S2     B5,B3,B29         ; |159| (P) <0,21> 
||         ADD2    .D1     A19,A31,A30       ; |198| (P) <0,21> 
||         DOTPSU4 .M1     A28,A4,A6         ; |125| (P) <1,9> 
||         DOTPSU4 .M2     B17,B8,B1         ; |136| (P) <1,9> 
||         UNPKLU4 .S1X    B8,A19            ; |188| (P) <1,9> 
||         ABS2    .L1     A7,A4             ; |213| (P) <0,21> 

           PACK2   .S2     B10,B2,B6         ; |133| (P) <0,22> 
||         SUB2    .D2     B1,B3,B8          ; |221| (P) <0,22> 
||         ADD2    .D1     A27,A0,A30        ; |149| (P) <0,22> 
||         SUB2    .L1     A16,A30,A2        ; |218| (P) <0,22> 
||         PACK2   .S1     A10,A17,A31       ; |123| (P) <0,22> 
||         MPYU4   .M2     B6,B26,B7:B6      ; |172| (P) <1,10> 
||         UNPKHU4 .L2     B8,B2             ; |193| (P) <1,10> 
||         MVD     .M1     A11,A31           ; |201| (P) <1,10> Split a long life

           ADD2    .D2     B6,B30,B3         ; |139| (P) <0,23> 
||         ABS2    .L2     B8,B8             ; |222| (P) <0,23> 
||         ADD2    .D1     A31,A6,A6         ; |129| (P) <0,23> 
||         UNPKLU4 .S2     B9,B30            ; |205| (P) <1,11> 
||         DOTPSU4 .M2     B25,B9,B6         ; |155| (P) <1,11> 
||         UNPKHU4 .S1     A8,A10            ; |181| (P) <1,11> 
||         MPYU4   .M1     A16,A29,A5:A4     ; |171| (P) <1,11> 
||         ABS2    .L1     A30,A1            ; |163| (P) <0,23> 

           PACK2   .S1     A27,A7,A30        ; |147| (P) <1,12> 
||         DOTPSU4 .M2     B17,B9,B7         ; |156| (P) <1,12> 
||         MPYU4   .M1     A17,A29,A19:A18   ; |169| (P) <1,12> 
||         UNPKLU4 .S2     B4,B9             ; |186| (P) <1,12> 
||         LDNDW   .D1T1   *A24++(8),A5:A4   ; |111| (P) <2,0>  A load, line 3
||         ABS2    .L1     A6,A17            ; |161| (P) <0,24> 

           ABS2    .L1X    B29,A16           ; |164| (P) <0,25> 
||         PACK2   .S1     A6,A16,A27        ; |127| (P) <1,13> 
||         PACK2   .S2     B6,B1,B29         ; |137| (P) <1,13> 
||         DOTPSU4 .M1     A23,A8,A10        ; |121| (P) <1,13> 
||         UNPKHU4 .L2     B4,B1             ; |191| (P) <1,13> 
||         LDNDW   .D1T1   *A26++(8),A9:A8   ; |113| (P) <2,1>  A load, line 1
||         MPYU4   .M2     B7,B26,B7:B6      ; |173| (P) <1,13> 

           ADD2    .D1X    A16,B8,A17        ; |227| (P) <0,26> 
||         ADD2    .L1     A17,A4,A16        ; |224| (P) <0,26> 
||         UNPKLU4 .S1     A5,A0             ; |197| (P) <1,14> 
||         ADD2    .D2     B1,B7,B8          ; |192| (P) <1,14> 
||         ADD2    .S2     B9,B6,B7          ; |187| (P) <1,14> 
||         DOTPSU4 .M1     A23,A9,A1         ; |141| (P) <1,14> 
||         DOTPSU4 .M2     B22,B5,B2         ; |151| (P) <1,14> 

;** --------------------------------------------------------------------------*
loop:    ; PIPED LOOP KERNEL

           ABS2    .L1     A2,A5             ; |219| <0,27> 

⌨️ 快捷键说明

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