testocp.c

来自「cpu的源码」· C语言 代码 · 共 59 行

C
59
字号
#define OCP_MAP      0x7FFFFF00#define OCP_MAP_STOP 0x7FFFFFFCtypedef unsigned int address;typedef unsigned int value;#define ocpload(map, load) { \unsigned int *ctrlload = (unsigned int *) map; \load =  *ctrlload;}#define ocpstore(map,save) { \unsigned int *ctrlstore = (unsigned int *) map; \*ctrlstore = save;}int main(void){  address addrload1, addrload2, addrstore1;   value tempload1, tempload2, result;   //asm("nop");  //asm("nop");  asm("nop");    addrload1 = (address) 0x7FFFFF00;   ocpload(addrload1, tempload1);  //for(i = 0; i<5; i++);  //asm("nop");  //asm("nop");  addrstore1 = (address) 0x7FFFFF04;  ocpstore(addrstore1,tempload1+36);  //for(i = 0; i<5; i++);  //asm("nop");  //asm("nop");  addrload2 = (address) 0x7FFFFF14;  ocpload(addrload2, tempload2);    //for(i = 0; i<2; i++);  //asm("nop");  //asm("nop");  if(tempload2 == tempload1+36)      result = -1;  else    result = 0xFFFF;  return 0;}

⌨️ 快捷键说明

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