📄 ram2p_q.lst
字号:
C51 COMPILER V7.02b RAM2P_Q 01/18/2005 21:37:53 PAGE 1
C51 COMPILER V7.02b, COMPILATION OF MODULE RAM2P_Q
OBJECT MODULE PLACED IN RAM2P_Q.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE RAM2P_Q.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************/
2 /* Copyright (c) 2004, 通信工程学院戴佳 */
3 /* All rights reserved. */
4 /* 作 者:戴佳 */
5 /****************************************/
6
7 #include <other.h>
8 bit get_sem(uchar *sem_type);
9 struct instruction ProValue;
10 struct instruction AddrToStruct(uint excur_addr);
11 void ProvMap(struct instruction ProMapValue);
12 void ProvLoop(struct instruction ProLoopValue);
13 void ProvNoLoop(struct instruction ProNoLpVal);
14 void ProvPRBS(struct instruction ProValue);
15 void ProvRDI(struct instruction ProValue);
16 void ProvESVAL(struct instruction ProValue);
17 void ProvSESVAL(struct instruction ProValue);
18 void ProvUSVAL(struct instruction ProValue);
19 void ProvCLK(struct instruction ProValue);
20
21 //查询引起中断的双口ram内存储值并作配置
22 void Ram2p_q()
23 {
24 1 if (get_sem(&PRO_SEM)==1)
25 1 {
26 2 Pro_Rd=*(AddrDPR+13);
27 2 Pro_Wr=*(AddrDPR+14);
28 2 }
29 1 PRO_SEM=0xFF;
30 1 while(Pro_Rd!=Pro_Wr)
31 1 {
32 2 WDI=1;
33 2 WDI=0;
34 2 ProValue=AddrToStruct(PROQ_ST_ADDR_H*256+PROQ_ST_ADDR_L+Pro_Rd*LEN_INSTRUC);
35 2 switch (ProValue.oper_obj)
36 2 {
37 3 case PROMAP:
38 3 ProvMap(ProValue); break; //配置映射
39 3 case PROLOOP: //环回配置
40 3 if (ProValue.ObjVal[0]==0)
41 3 ProvNoLoop(ProValue);
42 3 else
43 3 ProvLoop(ProValue);
44 3 break;
45 3 case PROPRBS:
46 3 ProvPRBS(ProValue);
47 3 break;
48 3 case PRORDI:
49 3 ProvRDI(ProValue);
50 3 break;
51 3 case PROCLKSEL:
52 3 ProvCLK(ProValue);
53 3 break;
54 3 case PROESVAL:
55 3 ProvESVAL(ProValue);
C51 COMPILER V7.02b RAM2P_Q 01/18/2005 21:37:53 PAGE 2
56 3 break;
57 3 case PROSESVAL:
58 3 ProvSESVAL(ProValue);
59 3 break;
60 3 case PROUSVAL:
61 3 ProvUSVAL(ProValue);
62 3 break;
63 3 case PRORESET:
64 3 while (1)
65 3 {
66 4 };
67 3 break;
68 3 case PROPEREN:
69 3 FgPEREn[ProValue.ObjVal[2]]=ProValue.ObjVal[1];
70 3 break;
71 3 }
72 2 if (get_sem(&PRO_SEM)==1)
73 2 {
74 3 Pro_Wr=*(AddrDPR+14);
75 3 }
76 2 PRO_SEM=0xFF;
77 2 Pro_Rd++;
78 2 }
79 1 if (get_sem(&PRO_SEM)==1)
80 1 *(AddrDPR+13)=Pro_Rd;
81 1 PRO_SEM=0xFF;
82 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 432 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -