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

📄 copyblock.asm

📁 adi bf533视频编码程序
💻 ASM
字号:
.section L1_code;
.global _xhCopyBlock_8x8_8u;
.global _xhCopyBlock_16x16_8u;
/************************************************************************************
ippiCopyBlock_8x8_8u (const Ipp8u* pSrc, int srcStep, Ipp8u* pDst,
                        int dstStep);
          performance:
                                   ASM     C
                         cycle:    109   2659          

************************************************************************************/
_xhCopyBlock_8x8_8u:
     
                   [--sp]=(r7:4,p5:3);
                   [--sp]=i0;
                   [--sp]=l0;
                   [--sp]=i1;
                   [--sp]=l1;
                   [--sp]=i2;
                   [--sp]=l2;
                   [--sp]=i3;
                   [--sp]=l3;
                   [--sp]=rets;
                   
                   
                   l0=0;
                   l1=0;
                   l3=0;
                   i0=r0;
                   i1=r0;
                   b0=r1;//srcstep
                   r4=r1;
                   r1=[sp+64+12];
                   b1=r1;//dststep
                   r5=r1;
                   b3=r2;//pdst
                   i3=r2;// pdst
                   
                   p0=8;
                   r5+=-4;
                   r4+=-8;
                   m0=r4;
                   m1=r5;
                   i1=i0;
                   
                lsetup (copyblock_8_start,copyblock_8_end)lc0=p0;
                        disalgnexcpt||r0=[i0++]||r2=[i1++];
                        
                   copyblock_8_start:
                         disalgnexcpt||r1=[i0++]||r3=[i1++];
                         r6=byteop1p(r1:0,r3:2)||r0=[i0++m0]||r2=[i1++m0];
                         r7=byteop1p(r1:0,r3:2)(r)||[i3++]=r6||r0=[i0++];  
                     
                  copyblock_8_end:
                          
                         disalgnexcpt||[i3++m1]=r7||r2=[i1++];
                         
                          rets=[sp++];
                          l3=[sp++];
                          i3=[sp++];
                          l2=[sp++];
                          i2=[sp++];
                          l1=[sp++];
                          i1=[sp++];
                          l0=[sp++];
                          i0=[sp++];
                         (r7:4,p5:3)=[sp++];
                          rts;
_xhCopyBlock_8x8_8u.end:


/****************************************************************************
ippiCopyBlock_16x16_8u (const Ipp8u* pSrc, int srcStep, Ipp8u* pDst,
int dstStep);
    performance:
                         ASM      C
              cycle:     222     10011
  
*****************************************************************************/
_xhCopyBlock_16x16_8u:

                   [--sp]=(r7:4,p5:3);
                   [--sp]=i0;
                   [--sp]=l0;
                   [--sp]=i1;
                   [--sp]=l1;
                   [--sp]=i2;
                   [--sp]=l2;
                   [--sp]=i3;
                   [--sp]=l3;
                   [--sp]=rets; 
                   
                   
                   l0=0;
                   l1=0;
                   l3=0;
                   i0=r0;
                   i1=r0;
                   b0=r1;//srcstep
                   r4=r1;
                   r1=[sp+64+12];
                   b1=r1;//dststep
                   r5=r1;
                   b3=r2;//pdst
                   i3=r2;// pdst
                   
                   p0=16;
                   r5+=-12;
                   r4+=-16;
                   m0=r4;
                   m1=r5;
                   i1=i0;   
                   
            lsetup (copyblock_16_start,copyblock_16_end)lc0=p0;
                 disalgnexcpt||r0=[i0++]||r2=[i1++];
                        
             copyblock_16_start:  
                  disalgnexcpt||r1=[i0++]||r3=[i1++];
                   r6=byteop1p(r1:0,r3:2)||r0=[i0++]||r2=[i1++];
                   r7=byteop1p(r1:0,r3:2)(r)||r1=[i0++]||[i3++]=r6;  
                   disalgnexcpt||[i3++]=r7||r3=[i1++];
                   r6=byteop1p(r1:0,r3:2)||r0=[i0++m0]||r2=[i1++m0]; 
                   r7=byteop1p(r1:0,r3:2)(r)||r0=[i0++]||[i3++]=r6;  
              copyblock_16_end: 
                    disalgnexcpt||[i3++m1]=r7||r2=[i1++];   
                    
                    
                    
                          rets=[sp++];
                          l3=[sp++];
                          i3=[sp++];
                          l2=[sp++];
                          i2=[sp++];
                          l1=[sp++];
                          i1=[sp++];
                          l0=[sp++];
                          i0=[sp++];
                         (r7:4,p5:3)=[sp++];
                          rts;  
_xhCopyBlock_16x16_8u.end:       

⌨️ 快捷键说明

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