c51无参数调用复件 asm1.c

来自「c51无参数调用asm」· C语言 代码 · 共 56 行

C
56
字号
#pragma code small
#include <absacc.h>
#include <math.h>
#include <reg51.h>
#define PI 3.1415926

#define NCIRCLE DBYTE[0x003a]//=10 //放置转速的绝对地址

#define DIRECT1 DBYTE[0x0070]//=9 //放置轮径千位的绝对地址mm
#define DIRECT2 DBYTE[0x0071]//=9 //放置轮径百位的绝对地址mm
#define DIRECT3 DBYTE[0x0072]//=0 //放置轮径十位的绝对地址mm
#define DIRECT4 DBYTE[0x0073]//=0 //放置轮径个位的绝对地址mm

#define VELOCITY1 DBYTE[0x0074]//=10 //返回车速千位的绝对地址
#define VELOCITY2 DBYTE[0x0075]//=10 //返回车速百位的绝对地址
#define VELOCITY3 DBYTE[0x0076]//=10 //返回车速十位的绝对地址
#define VELOCITY4 DBYTE[0x0077]//=10 //返回车速个位的绝对地址
//void call1();
extern OUTP();
extern INBYT();
extern OUTBYTE();
void call1()
{
	float data result;
	unsigned int  DIRECT=0;

	DIRECT=DIRECT1;
	DIRECT=DIRECT1*1000+DIRECT2*100+DIRECT3*10+DIRECT4;
	result=(float)(DIRECT/1000.0)*PI*NCIRCLE*3.6;
	
	VELOCITY1=result/100;
	result=result-VELOCITY1*100;

	VELOCITY2=result/10;
	result-=VELOCITY2*10;

	VELOCITY3=result;
	result-=VELOCITY3;
	VELOCITY4=result*10;
}
main()
{
	char i;
	OUTP();
	INBYT();// call asm
	i=ACC;

	ACC=0x10;
	OUTBYTE();

	call1();

}


⌨️ 快捷键说明

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