📄 deque.lst
字号:
C51 COMPILER V6.23a DEQUE 05/22/2003 17:10:27 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE DEQUE
OBJECT MODULE PLACED IN deque.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe deque.c DB OE SMALL ROM(LARGE)
stmt level source
1 /*---------------------------------------------------------------
2 filename: deque.c
3 队列结构为顺序储存结构,
4 算法采用"The art of computer programming" P223.
5 ----------------------------------------------------------------*/
6
7 #include <string.h>
8 #include "d:\design\deque.h"
9
10 void DequeInit(struct Deque* p_deque)
11 {
12 1 if(!p_deque) return;//NULL Pointer
13 1 memset(p_deque->infobuf,0,SIZE*sizeof(unsigned char));
14 1 p_deque->size=SIZE;
15 1 p_deque->front=0;
16 1 p_deque->back=0;
17 1 return;
18 1 }
19
20 BOOL InsertMsg(struct Deque* p_deque,unsigned char info)
21 {
22 1 if(!p_deque) return 0;//NULL Pointer
23 1 if(p_deque->back==p_deque->size) p_deque->back=1;
24 1 else p_deque->back++;
25 1 if(p_deque->back==p_deque->front)
26 1 {
27 2 if(p_deque->back==1) p_deque->back=p_deque->size;
28 2 else p_deque->back--;
29 2 return 0;//OVERFLOW
30 2 }
31 1 *(p_deque->infobuf+p_deque->back-1)=info;
32 1 return 1;
33 1 }
34
35 BOOL GetMessage(struct Deque* p_deque,unsigned char* p_info)
36 {
37 1 if(!p_deque||!p_info) return 0;//NULL Pointer
38 1 if(p_deque->front==p_deque->back) return 0;//UNDERFLOW
39 1 if(p_deque->front==p_deque->size) p_deque->front=1;
40 1 else p_deque->front++;
41 1 *p_info=*(p_deque->infobuf+p_deque->front-1);
42 1 return 1;
43 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 324 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 10
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 + -