📄 prov.c
字号:
/****************************************/
/* Copyright (c) 2004, 通信工程学院戴佳 */
/* All rights reserved. */
/* 作 者:戴佳 */
/****************************************/
#include <other.h>
void ProvMap(struct instruction ProMapValue);
void ProvESVAL(struct instruction ProValue);
void ProvSESVAL(struct instruction ProValue);
void ProvUSVAL(struct instruction ProValue);
bit get_sem(uchar *sem_type);
struct instruction AddrToStruct(uint excur_addr);
void Provision()
{
struct instruction TmpStruct;
while(!FgProEd)
{
if (get_sem(&PRO_SEM)==1)
{
Pro_Rd=*(AddrDPR+13);
Pro_Wr=*(AddrDPR+14);
}
PRO_SEM=0xFF;
while(Pro_Rd!=Pro_Wr)
{
TmpStruct=AddrToStruct(PROQ_ST_ADDR_H*256+PROQ_ST_ADDR_L+Pro_Rd*LEN_INSTRUC);
switch (TmpStruct.oper_obj)
{
case PROMAP:
ProvMap(TmpStruct);
break; //配置映射
case PROESVAL:
ProvESVAL(TmpStruct);
break;
case PROSESVAL:
ProvSESVAL(TmpStruct);
break;
case PROUSVAL:
ProvUSVAL(TmpStruct);
break;
}
if (get_sem(&PRO_SEM)==1)
{
Pro_Wr=*(AddrDPR+14);
}
PRO_SEM=0xFF;
Pro_Rd++;
}
if (get_sem(&PRO_SEM)==1)
*(AddrDPR+13)=Pro_Rd;
PRO_SEM=0xFF;
if (TmpStruct.oper_obj==PROED)
FgProEd=1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -