clearblock_asm.c

来自「代码实现了基于ARM7的MPEG-4视频解码器」· C语言 代码 · 共 59 行

C
59
字号
//**********************************
//File Name: Clearblock.c
//Author:    Anna
//Date:
//***********************************
#include <stdio.h>
#include <stdlib.h>

void clearblock (short *psblock)
{
  int  esi;
  __asm
     {
		  MOV  R9,#4 
		  MOV  esi, psblock // capture block address

lq1:	
		LDMIA psblock,{R1-R8}
		MOV R1,0
		MOV R2,0
		MOV R3,0
		MOV R4,0
		MOV R5,0
		MOV R6,0
		MOV R7,0
		MOV R8,0
		STMIA psblock,{R1-R8}
		ADD psblock,psblock,#32
		SUBS R9,R9,#1
		BNE  lq1
     }
}
  
/*int main()
{
  int i,j;
  short blk[64]=
   {1216,18,6,0,0,1,2,1,
   8,9,8,0,1,0,2,1,
   16,13,6,3,1,1,0,2,
   29,9,5,1,2,2,1,2,
   15,19,0,12,4,1,2,2,
   7,1,12,3,0,4,3,0,
   11,18,6,17,13,3,4,2,
   9,26,5,15,6,6,4,7};
   
   clearblock(blk);
   
   for (i=0;i<8;i++)
	{
		for (j=0;j<8;j++)
		printf("%d,",blk[i*8+j]);
		printf("\n");
	}
   
 }*/
  
  
     

⌨️ 快捷键说明

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