cfile1.c

来自「用c和汇编实现相同的功能」· C语言 代码 · 共 35 行

C
35
字号
/* 用C语言实现的作业2的要求*/
#define PmPage(x) { asm ( "PMOVLAY=" #x ";" ); }
#define DmPage(x) { asm ( "DMOVLAY=" #x ";" ); }

extern int Add(int,int);
extern int Subtract(int,int);

section ("dm_ovly_1") int one =1,VAR1;

extern int VAR1,one;
											
void main(){

	DmPage(1); 
    VAR1=one;                              // read value of memory mapped variable that lives in external DM overlay region #1 into var1
	PmPage(4);										// switch to internal PM overlay #4
	VAR1 = Add(VAR1,one);						// call Add function from PM overlay #4

	DmPage(1);
	PmPage(5);										// switch to internal PM overlay #5
	VAR1 = Subtract(VAR1,one);						// call Subtract function from PM overlay #5 and store result in "VAR1"

	while(1){										// sit here forever
		asm("idle;");								// and do nothing until next interrupt
	}
}													// end of main

section ("pm_ovly_4") int Add(int val1,int val2){

	return(val1 +val2);                             //实现+1的功能
	
}


⌨️ 快捷键说明

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