⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menudrv.lst

📁 spce061A驱动的128*64点阵液晶程序
💻 LST
字号:
C51 COMPILER V6.02  MENUDRV                                                                08/30/2007 11:06:06 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE MENUDRV
OBJECT MODULE PLACED IN D:\原D\DOCUME~1\桌面\新建文~1\MENUDRV.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE D:\原D\DOCUME~1\桌面\新建文~1\MENUDRV.C DB SB OE

stmt level    source

   1          #include "menudrv.h"
   2          extern void functest();
   3          extern const menu code menu_table[] = {
   4               {"",null,0,0,0,0},//定义一个不存在的菜单
   5               {"文件",null,0,2,0,7},//1
   6               {"编辑",null,1,3,0,0},//2
   7               {"搜索",null,2,4,0,0},//3
   8               {"项目",null,3,5,0,0},//4
   9               {"执行",null,4,6,0,0},//5
  10               {"窗口",null,5,0,0,0},//6
  11               {"打开",null,0,8,1,0},//7
  12               {"关闭",functest,7,0,1,0},//8
  13          };
  14          
  15          unsigned char curr_pos;//光标位置行号
  16          unsigned char curr_menu_id;//当前菜单下标
  17          
  18          void menu_esc()//上一级 ,退出
  19          {
  20   1       if(menu_table[curr_menu_id].up != 0){
  21   2           cls();
  22   2           view_menu(menu_table[curr_menu_id].up);
  23   2       }//退出菜单的处理
  24   1      }
  25          void menu_ok()//确定
  26          {//有下一级菜单
  27   1       if(menu_table[curr_menu_id].down != 0){
  28   2           cls();
  29   2           view_menu(menu_table[curr_menu_id].down);
  30   2           return;
  31   2       }
  32   1       //有操作函数
  33   1       if(menu_table[curr_menu_id].oper != null){
  34   2           menu_table[curr_menu_id].oper();
  35   2           return;
  36   2       }
  37   1      }
  38          void view_menu(unsigned char i)//显示菜单
  39          {
  40   1        menu *p;
  41   1      
  42   1        curr_pos = 0;
  43   1        curr_menu_id = i;
  44   1        p = &menu_table[i];
  45   1        for(i = 0;i < 4;i++){
  46   2            location(0,i);
  47   2            print(p->str);
  48   2            if(p->next == 0) break;
  49   2            p = &menu_table[p->next];
  50   2        }
  51   1        inv_line(curr_pos,0xff);
  52   1      }
  53          void menu_up()//上一条
  54          {
  55   1       unsigned char p;
C51 COMPILER V6.02  MENUDRV                                                                08/30/2007 11:06:06 PAGE 2   

  56   1       unsigned char i;
  57   1      
  58   1       p = curr_menu_id;
  59   1       if(menu_table[p].prv == 0) return;//没上一条的情况
  60   1      
  61   1       if(curr_pos != 0){//当前光标不在最上
  62   2            inv_line(curr_pos,0x00);
  63   2            curr_pos--;
  64   2            inv_line(curr_pos,0xff);
  65   2            curr_menu_id = menu_table[p].prv;
  66   2       }else{
  67   2             //当前光标在最上,再写菜单项
  68   2             curr_menu_id = menu_table[p].prv;
  69   2             p = curr_menu_id;
  70   2             for(i = 0;i < 4;i++){
  71   3                   location(0,i);
  72   3                   print(menu_table[p].str);
  73   3                   if(menu_table[p].next == 0) break;
  74   3                   p = menu_table[p].next;
  75   3             }
  76   2       }
  77   1      }
  78          void menu_down()//下一条
  79          {
  80   1       unsigned char p;
  81   1       unsigned char i;
  82   1      
  83   1       p = curr_menu_id;
  84   1       if(menu_table[p].next == 0) return;//没下一条的情况
  85   1      
  86   1       if(curr_pos != 3){//当前光标不在最下
  87   2            inv_line(curr_pos,0x00);
  88   2            curr_pos++;
  89   2            inv_line(curr_pos,0xff);
  90   2            curr_menu_id = menu_table[p].next;
  91   2       }else{
  92   2             //当前光标在最下,再写菜单项
  93   2             curr_menu_id = menu_table[p].next;
  94   2             p = menu_table[p].prv;
  95   2             p = menu_table[p].prv;
  96   2             for(i = 0;i < 4;i++){
  97   3                   location(0,i);
  98   3                   print(menu_table[p].str);
  99   3                   if(menu_table[p].next == 0) break;
 100   3                   p = menu_table[p].next;
 101   3             }
 102   2       }
 103   1      }
C51 COMPILER V6.02  MENUDRV                                                                08/30/2007 11:06:06 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
curr_menu_id . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
_print . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
_menu. . . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  10
  str. . . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0000H  3
  oper . . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0003H  3
  prv. . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  next . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  up . . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  down . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0009H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
menu_table . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0029H  90
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
RS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A5H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
RW . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A6H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
_view_menu . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  p. . . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  3
menu . . . . . . . . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  10
  str. . . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0000H  3
  oper . . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0003H  3
  prv. . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  next . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  up . . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  down . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0009H  1
_inv_line. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_location. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
cls. . . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
E. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A7H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
TF1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008FH  1
RB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009AH  1
EX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A8H  1
IT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0088H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  1
IT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008AH  1
P. . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D0H  1
SM0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009FH  1
SM1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009EH  1
menu_down. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
C51 COMPILER V6.02  MENUDRV                                                                08/30/2007 11:06:06 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  p. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
SM2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009DH  1
menu_esc . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
PT0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B9H  1
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
functest . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
curr_pos . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
menu_ok. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
menu_up. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  p. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    592    ----
   CONSTANT SIZE    =    131    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       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 + -