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

📄 idct.s

📁 这是H.264解码部分:4*4残差块的IDCTARM汇编代码部分.
💻 S
字号:
              AREA           Idct,CODE,READONLY
              
num           EQU            4
              
              ENTRY
              
              
START         LDR            R4,=data
              LDR            R5,=horizontal
              LDR            R6,=vertical
              
              MOV            R7,#0
              MOV            R12,R5
              MOV            R13,R6
              
Horizontal    LDRSH          R0,[R4],#4
              LDRSH          R1,[R4],#4
              LDRSH          R2,[R4],#4
              LDRSH          R3,[R4],#4
              
              ADD            R8,R0,R2
              SUB            R9,R0,R2
              RSB            R10,R3,R1,ASR #1
              ADD            R11,R1,R3,ASR #1
              
              ADD            R0,R8,R11
              ADD            R1,R9,R10
              SUB            R2,R9,R10
              SUB            R3,R8,R11
            
                        
              STRH           R0,[R5],#4
              STRH           R1,[R5],#4
              STRH           R2,[R5],#4
              STRH           R3,[R5],#4
              
              ADD            R7,R7,#1
              CMP            R7,#num
              BLT            Horizontal
              
              MOV            R7,#0
              LDR            R5,=horizontal            
              
Vertical      LDRSH          R0,[R5],#16
              LDRSH          R1,[R5],#16
              LDRSH          R2,[R5],#16
              LDRSH          R3,[R5]
              
              
              ADD            R8,R0,R2
              SUB            R9,R0,R2
              RSB            R10,R3,R1,ASR #1
              ADD            R11,R1,R3,ASR #1
              
              ADD            R0,R8,R11
              ADD            R1,R9,R10
              SUB            R2,R9,R10
              SUB            R3,R8,R11
              
              STRH           R0,[R6],#16
              STRH           R1,[R6],#16
              STRH           R2,[R6],#16
              STRH           R3,[R6]
              
              ADD            R12,R12,#4
              ADD            R13,R13,#4
              MOV            R5,R12
              MOV            R6,R13
              ADD            R7,R7,#1
              CMP            R7,#num
              BLT            Vertical
              
STOP          MOV            R0,#0x18
              LDR            R1,=0x20026
              SWI            0x123456
                                        
              AREA           Array,DATA,READWRITE
              
data          DCD            192,68,68,-56,14,34,38,12,64,-52,-4,-96,42,62,14,16

horizontal    DCD            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

vertical      DCD            0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

              END

⌨️ 快捷键说明

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