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

📄 c3.lst

📁 C language fast function point sample code example
💻 LST
字号:
C51 COMPILER V8.02   C3                                                                    09/10/2007 13:24:13 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE C3
OBJECT MODULE PLACED IN C3.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C3.c OBJECTADVANCED OPTIMIZE(SIZE) BROWSE NOINTVECTOR DEBUG

line level    source

   1          #include <stdio.h>
   2          #include <absacc.h>
   3          
   4          //代刚ノ fnct
   5          void fnct0(void)
   6          {
   7   1              volatile char i;
   8   1              i=0;
   9   1      }
  10          void fnct1(void)
  11          {
  12   1              volatile char i;
  13   1              i=1;
  14   1      }
  15          void fnct2(void)
  16          {
  17   1              volatile char i;
  18   1              i=2;
  19   1      }
  20          void JmpTable(void)
  21          {
  22   1              fnct0();
  23   1              fnct1();
  24   1              fnct2();
  25   1      }
  26          //ljmp instruction
  27          typedef struct {
  28                          unsigned char OpCode;
  29                          unsigned int  Addr;
  30                          }LJMP_INST;
  31          //                                                                                 
  32          // von Neumann memory
  33          // X: 0xE000~0xFFFF
  34          //
  35          // or  xdata LJMP_INST LjmpTable _at_ JmpTable;
  36          //              
  37          //
  38          xdata LJMP_INST LjmpTable _at_ 0xE000;
  39          
  40          #define XXXFnct ((void (code *) (void)) 0xE000)
  41          
  42          //
  43          // main()
  44          //
  45          void main(void)
  46          {
  47   1      
  48   1              // init
  49   1              LjmpTable.OpCode = 0x2;                 //ljmp-opcode
  50   1      
  51   1              LjmpTable.Addr   = (int)fnct2;  //switch2 fnct2
  52   1              XXXFnct();
  53   1      
  54   1              LjmpTable.Addr   = (int)fnct1;  //switch2 fnct1
  55   1              XXXFnct();
C51 COMPILER V8.02   C3                                                                    09/10/2007 13:24:13 PAGE 2   

  56   1      
  57   1              LjmpTable.Addr   = (int)fnct0;  //switch2 fnct0
  58   1              XXXFnct();
  59   1      
  60   1              JmpTable();                                             //

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -