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

📄 exp1.lst

📁 有限状态机事件分发构件
💻 LST
字号:
C51 COMPILER V7.20   EXP1                                                                  10/09/2007 16:59:21 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE EXP1
OBJECT MODULE PLACED IN exp1.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE FsmSource\exp1.c BROWSE DEBUG OBJECTEXTEND CODE PRINT(.\exp1.lst) OBJECT(ex
                    -p1.obj)

line level    source

   1          /***************************************************************************
   2          **Filename   : exp1.c 状态转换例程文件
   3          * Programmer : Haven
   4          **Date       : 2007.9.24
   5          **DESCRIPTION: 定义了几个状态转换函数
   6          **************************************************************************
   7          */
   8          #include "FsmSmall.h" 
   9          #include "REG935.H"
  10          #define USER1_SIG  Q_USER_SIG
  11          /*--------------------------------------------------------------------------*/
  12          void EXP_ctor(void); 
  13          void EXP_initial(QFsm *me);
  14          void EXP_Stat1(QFsm *me);
  15          void EXP_Stat2(QFsm *me);
  16          void EXP_Stat1EntryAct(void);
  17          void EXP_Stat1ExitAct(void);
  18          void EXP_Stat2EntryAct(void);
  19          void EXP_Stat2ExitAct(void);
  20          
  21          /*..........................................................................*/
  22          static QFsm Qexp;
  23          
  24          void main(void)
  25          {    
  26   1          EXP_ctor();               //构造函数
  27   1          Q_SIG((QFsm *)&Qexp) = Q_TOP_INIT_SIG;
  28   1          EXP_initial(&Qexp);       //初始伪状态
  29   1          while(1){
  30   2              Q_SIG((QFsm *)&Qexp) = ((QSignal)USER1_SIG);
  31   2              //给一个事件,用于测试
  32   2                                    //接收事件
  33   2              QFsm_dispatch(&Qexp); //分发事件
  34   2          }
  35   1      }
  36          
  37          void EXP_ctor() 
  38          {
  39   1      }
  40          /*..........................................................................*/
  41          void EXP_initial(QFsm *me) 
  42          {
  43   1          switch (Q_SIG(me)) {
  44   2              case Q_TOP_INIT_SIG: {
  45   3                  Q_TRAN(&EXP_Stat1);
  46   3                  break;
  47   3              }
  48   2          }
  49   1      }
  50          /*..........................................................................*/
  51          
  52          void EXP_Stat1(QFsm *me) 
  53          {
  54   1          switch (Q_SIG(me)) {
C51 COMPILER V7.20   EXP1                                                                  10/09/2007 16:59:21 PAGE 2   

  55   2              case Q_ENTRY_SIG: {
  56   3                  EXP_Stat2EntryAct();
  57   3                  break;
  58   3              }
  59   2              case USER1_SIG: {
  60   3                  Q_TRAN(&EXP_Stat2);
  61   3                  break;
  62   3              }
  63   2              case Q_EXIT_SIG:{
  64   3                  EXP_Stat1ExitAct();
  65   3                  break;
  66   3              }
  67   2          }
  68   1      }
  69          /*..........................................................................*/
  70          /*..........................................................................*/
  71          void EXP_Stat2(QFsm *me) 
  72          {
  73   1          switch (Q_SIG(me)) {
  74   2              case Q_ENTRY_SIG: {
  75   3                  EXP_Stat1EntryAct();
  76   3                  break;
  77   3              }
  78   2              case USER1_SIG: {
  79   3                  Q_TRAN(&EXP_Stat1);
  80   3                  break;
  81   3              }
  82   2              case Q_EXIT_SIG:{
  83   3                  EXP_Stat2ExitAct();
  84   3                  break;
  85   3              }
  86   2          }
  87   1      }
  88          
  89          void EXP_Stat1EntryAct()
  90          {
  91   1      }
  92          void EXP_Stat1ExitAct()
  93          {
  94   1      }
  95          void EXP_Stat2EntryAct()
  96          {
  97   1      }
  98          void EXP_Stat2ExitAct()
  99          {
 100   1      }
C51 COMPILER V7.20   EXP1                                                                  10/09/2007 16:59:21 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 24
                                           ; SOURCE LINE # 25
                                           ; SOURCE LINE # 26
0000 120000      R     LCALL   EXP_ctor
                                           ; SOURCE LINE # 27
0003 750003      R     MOV     Qexp,#03H
                                           ; SOURCE LINE # 28
0006 7B00              MOV     R3,#00H
0008 7A00        R     MOV     R2,#HIGH Qexp
000A 7900        R     MOV     R1,#LOW Qexp
000C 120000      R     LCALL   _EXP_initial
000F         ?C0001:
                                           ; SOURCE LINE # 29
                                           ; SOURCE LINE # 30
000F 750005      R     MOV     Qexp,#05H
                                           ; SOURCE LINE # 33
0012 7B00              MOV     R3,#00H
0014 7A00        R     MOV     R2,#HIGH Qexp
0016 7900        R     MOV     R1,#LOW Qexp
0018 120000      E     LCALL   _?QFsm_dispatch
                                           ; SOURCE LINE # 34
001B 80F2              SJMP    ?C0001
             ; FUNCTION main (END)

             ; FUNCTION EXP_ctor (BEGIN)
                                           ; SOURCE LINE # 37
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
0000 22                RET     
             ; FUNCTION EXP_ctor (END)

             ; FUNCTION _EXP_initial (BEGIN)
                                           ; SOURCE LINE # 41
0000 8B00        R     MOV     me,R3
0002 8A00        R     MOV     me+01H,R2
0004 8900        R     MOV     me+02H,R1
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 43
0006 120000      E     LCALL   ?C?CLDPTR
0009 24FD              ADD     A,#0FDH
000B 7022              JNZ     ?C0007
                                           ; SOURCE LINE # 44
000D         ?C0006:
                                           ; SOURCE LINE # 45
000D 7BFF              MOV     R3,#0FFH
000F 7A00        R     MOV     R2,#HIGH _EXP_Stat1
0011 7900        R     MOV     R1,#LOW _EXP_Stat1
0013 C003              PUSH    AR3
0015 C002              PUSH    AR2
0017 C001              PUSH    AR1
0019 AB00        R     MOV     R3,me
001B AA00        R     MOV     R2,me+01H
001D A900        R     MOV     R1,me+02H
001F 900001            MOV     DPTR,#01H
0022 120000      E     LCALL   ?C?PSTOPTR
0025 AB00        R     MOV     R3,me
0027 AA00        R     MOV     R2,me+01H
0029 A900        R     MOV     R1,me+02H
C51 COMPILER V7.20   EXP1                                                                  10/09/2007 16:59:21 PAGE 4   

002B E4                CLR     A
002C 120000      E     LCALL   ?C?CSTPTR
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
                                           ; SOURCE LINE # 48
                                           ; SOURCE LINE # 49
002F         ?C0007:
002F 22                RET     
             ; FUNCTION _EXP_initial (END)

             ; FUNCTION _EXP_Stat1 (BEGIN)
                                           ; SOURCE LINE # 52
0000 8B00        R     MOV     me,R3
0002 8A00        R     MOV     me+01H,R2
0004 8900        R     MOV     me+02H,R1
                                           ; SOURCE LINE # 53
                                           ; SOURCE LINE # 54
0006 120000      E     LCALL   ?C?CLDPTR
0009 24FE              ADD     A,#0FEH
000B 602D              JZ      ?C0011
000D 24FD              ADD     A,#0FDH
000F 6007              JZ      ?C0010
0011 2404              ADD     A,#04H
0013 7028              JNZ     ?C0012
                                           ; SOURCE LINE # 55
0015         ?C0009:
                                           ; SOURCE LINE # 56
0015 020000      R     LJMP    EXP_Stat2EntryAct
                                           ; SOURCE LINE # 57
                                           ; SOURCE LINE # 58
                                           ; SOURCE LINE # 59
0018         ?C0010:
                                           ; SOURCE LINE # 60
0018 7BFF              MOV     R3,#0FFH
001A 7A00        R     MOV     R2,#HIGH _EXP_Stat2
001C 7900        R     MOV     R1,#LOW _EXP_Stat2
001E C003              PUSH    AR3
0020 C002              PUSH    AR2
0022 C001              PUSH    AR1
0024 AB00        R     MOV     R3,me
0026 AA00        R     MOV     R2,me+01H
0028 A900        R     MOV     R1,me+02H
002A 900001            MOV     DPTR,#01H
002D 120000      E     LCALL   ?C?PSTOPTR
0030 AB00        R     MOV     R3,me
0032 AA00        R     MOV     R2,me+01H
0034 A900        R     MOV     R1,me+02H
0036 E4                CLR     A
0037 020000      E     LJMP    ?C?CSTPTR
                                           ; SOURCE LINE # 61
                                           ; SOURCE LINE # 62
                                           ; SOURCE LINE # 63
003A         ?C0011:
                                           ; SOURCE LINE # 64
003A 120000      R     LCALL   EXP_Stat1ExitAct
                                           ; SOURCE LINE # 65
                                           ; SOURCE LINE # 66
                                           ; SOURCE LINE # 67
                                           ; SOURCE LINE # 68
003D         ?C0012:
003D 22                RET     
             ; FUNCTION _EXP_Stat1 (END)
C51 COMPILER V7.20   EXP1                                                                  10/09/2007 16:59:21 PAGE 5   


             ; FUNCTION _EXP_Stat2 (BEGIN)
                                           ; SOURCE LINE # 71
0000 8B00        R     MOV     me,R3
0002 8A00        R     MOV     me+01H,R2
0004 8900        R     MOV     me+02H,R1
                                           ; SOURCE LINE # 72
                                           ; SOURCE LINE # 73
0006 120000      E     LCALL   ?C?CLDPTR
0009 24FE              ADD     A,#0FEH
000B 602D              JZ      ?C0016
000D 24FD              ADD     A,#0FDH
000F 6007              JZ      ?C0015
0011 2404              ADD     A,#04H
0013 7028              JNZ     ?C0017
                                           ; SOURCE LINE # 74
0015         ?C0014:
                                           ; SOURCE LINE # 75
0015 020000      R     LJMP    EXP_Stat1EntryAct
                                           ; SOURCE LINE # 76
                                           ; SOURCE LINE # 77
                                           ; SOURCE LINE # 78
0018         ?C0015:
                                           ; SOURCE LINE # 79
0018 7BFF              MOV     R3,#0FFH
001A 7A00        R     MOV     R2,#HIGH _EXP_Stat1
001C 7900        R     MOV     R1,#LOW _EXP_Stat1
001E C003              PUSH    AR3
0020 C002              PUSH    AR2
0022 C001              PUSH    AR1
0024 AB00        R     MOV     R3,me
0026 AA00        R     MOV     R2,me+01H
0028 A900        R     MOV     R1,me+02H
002A 900001            MOV     DPTR,#01H
002D 120000      E     LCALL   ?C?PSTOPTR
0030 AB00        R     MOV     R3,me
0032 AA00        R     MOV     R2,me+01H
0034 A900        R     MOV     R1,me+02H
0036 E4                CLR     A
0037 020000      E     LJMP    ?C?CSTPTR
                                           ; SOURCE LINE # 80
                                           ; SOURCE LINE # 81
                                           ; SOURCE LINE # 82
003A         ?C0016:
                                           ; SOURCE LINE # 83
003A 120000      R     LCALL   EXP_Stat2ExitAct
                                           ; SOURCE LINE # 84
                                           ; SOURCE LINE # 85
                                           ; SOURCE LINE # 86
                                           ; SOURCE LINE # 87
003D         ?C0017:
003D 22                RET     
             ; FUNCTION _EXP_Stat2 (END)

             ; FUNCTION EXP_Stat1EntryAct (BEGIN)
                                           ; SOURCE LINE # 89
                                           ; SOURCE LINE # 90
                                           ; SOURCE LINE # 91
0000 22                RET     
             ; FUNCTION EXP_Stat1EntryAct (END)

             ; FUNCTION EXP_Stat1ExitAct (BEGIN)
C51 COMPILER V7.20   EXP1                                                                  10/09/2007 16:59:21 PAGE 6   

                                           ; SOURCE LINE # 92
                                           ; SOURCE LINE # 93
                                           ; SOURCE LINE # 94
0000 22                RET     
             ; FUNCTION EXP_Stat1ExitAct (END)

             ; FUNCTION EXP_Stat2EntryAct (BEGIN)
                                           ; SOURCE LINE # 95
                                           ; SOURCE LINE # 96
                                           ; SOURCE LINE # 97
0000 22                RET     
             ; FUNCTION EXP_Stat2EntryAct (END)

             ; FUNCTION EXP_Stat2ExitAct (BEGIN)
                                           ; SOURCE LINE # 98
                                           ; SOURCE LINE # 99
                                           ; SOURCE LINE # 100
0000 22                RET     
             ; FUNCTION EXP_Stat2ExitAct (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    206    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4       9
   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 + -