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

📄 testgcdocp.c

📁 cpu的源码
💻 C
字号:
/*#define OCP_MAP      0x7FFFFF00#define OCP_MAP_STOP 0x7FFFFFFC*/#define ADDR_IN_RESET   0x7FFFFF00 #define ADDR_IN_X       0x7FFFFF04#define ADDR_IN_Y       0x7FFFFF08#define ADDR_IN_RUN     0x7FFFFF0C#define ADDR_OUT_DONE   0x7FFFFF10#define ADDR_OUT_RESULT 0x7FFFFF14typedef unsigned int address;typedef unsigned int value;#define ocpload(address, load) { \unsigned int *ctrlload = (unsigned int *) address; \load =  *ctrlload;}#define ocpstore(address,save) { \unsigned int *ctrlstore = (unsigned int *) address; \*ctrlstore = save;}int main(void){  int i;  value gcd_done, gcd_result, result;   //asm("nop");  //asm("nop");  asm("nop");  // reset gcd  ocpstore(ADDR_IN_RESET,1);    // stop reset gcd  ocpstore(ADDR_IN_RESET,0);  // save x=22  ocpstore(ADDR_IN_X,122);  // save y=20  ocpstore(ADDR_IN_Y,20);  // gcd run  ocpstore(ADDR_IN_RUN,1);  // stop run  ocpstore(ADDR_IN_RUN,0);  // test for gcd is done  ocpload(ADDR_OUT_DONE,gcd_done);  while(gcd_done != 1){    for(i = 0; i<4; i++);    ocpload(ADDR_OUT_DONE,gcd_done);  }  // get gcd result  ocpload(ADDR_OUT_RESULT,gcd_result);  if(2 == gcd_result)      result = -1;  else    result = 0xFFFF;  while(1);  return 0;}

⌨️ 快捷键说明

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