home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s270 / 1.ddi / PCKDD51B.EXE / A_INNER.LST < prev    next >
Encoding:
File List  |  1991-01-15  |  7.9 KB  |  165 lines

  1.                                             - a_inner -                                    Page    1
  2.  
  3. ####################################################################################################
  4. #                                                                                                  #
  5. #     Archimedes 8051 C-Compiler V2.00A/MD2                                02/Mar/89  04:12:38     #
  6. #                                                                                                  #
  7. #           Memory model  =  large static                                                          #
  8. #           Source file   =  a_inner.c                                                             #
  9. #           List file     =  a_inner.lst                                                           #
  10. #           Object file   =  a_inner.r03                                                           #
  11. #           ASM file      =  a_inner.s03                                                           #
  12. #           Command line  =  -o a_inner.r03 -l a_inner.lst -a a_inner.s03 -V -P -m1 -g -e -x -q    #
  13. #                            -j -p88 -I\c51v2\ a_inner.c                                           #
  14. #                                                                                                  #
  15. #                                                      (c) Copyright Archimedes Software Inc. 1987 #
  16. ####################################################################################################
  17.  
  18.    \   0000                    NAME    a_inner(16)
  19.    \   0000                    RSEG    CODE(0)
  20.    \   0000                    RSEG    UDATA(0)
  21.    \   0000                    RSEG    TEMP(0)
  22.    \   0000                    PUBLIC  innerloop(19,128)
  23.    \   0000                    EXTERN  state(2,128)
  24.    \   0000                    EXTERN  wastetime(19,32)
  25.    \   0000                    EXTERN  ?ENTER_L17
  26.    \   0000                    EXTERN  ?LEAVE_L17
  27.    \   0000                    EXTERN  ?LD_REL1_L11
  28.    \   0000                    EXTERN  ?UC_CMP_LT_L02
  29.    \   0000                    EXTERN  ?POINC1_L05
  30.    \   0000                    EXTERN  ?CL8051_2_00_L17
  31.    \   0000                    EXTERN  _R
  32.    \   0000                    RSEG    CODE
  33.       1          /* File:  a_inner.c */
  34.       2          
  35.       3          #include <io51.h>       /* MCS-51 SFR & bit definitions */
  36.       4          
  37.       5          /* external function prototypes (interface specifications) */
  38.       6          extern void     wastetime(void);
  39.       7          
  40.       8          /* external variables */
  41.       9          extern char             state;  /* 'state' reflects value in ACC (in original demo.asm) */
  42.      10          
  43.      11          void innerloop( char repeat_cnt )
  44.      12          {
  45.    \   0000            innerloop:
  46.    \   0000  7401              MOV     A,#1
  47.    \   0002  7800              MOV     R0,#0
  48.    \   0004  7904              MOV     R1,#4
  49.    \   0006  120000            LCALL   ?ENTER_L17
  50.    \   0009            ; #15
  51.      13                  static char     i;
  52.      14                  
  53.      15                  for ( i = 0;  i < repeat_cnt;  i++ ) {
  54.    \   0009  7B00              MOV     R3,#0
  55.    \   000B  900000            MOV     DPTR,#?0000
  56.    \   000E  EB                MOV     A,R3
  57.    \   000F  F0                MOVX    @DPTR,A
  58.    \   0010            ?0002:
  59.    \   0010  900000            MOV     DPTR,#?0000
  60.    \   0013  E0                MOVX    A,@DPTR
  61.    \   0014  FB                MOV     R3,A
  62.    \   0015  8B05              MOV     _R+5,R3
  63.    \   0017  120000            LCALL   ?LD_REL1_L11
  64.    \   001A  0400              DW      1024
  65.    \   001C  120000            LCALL   ?UC_CMP_LT_L02
  66.    \   001F  6043              JZ      ?0001
  67.    \   0021            ?0003:
  68.    \   0021            ; #16
  69.      16                          wastetime();
  70.    \   0021  900000            MOV     DPTR,#0
  71.    \   0024  120000            LCALL   wastetime
  72.    \   0027            ; #17
  73.      17                          if (read_bit(P1_0_bit))                 /* 'CPL P1.0':  */
  74.    \   0027  309004            JNB     P1.0,?0006
  75.    \   002A            ?0005:
  76.    \   002A            ; #18
  77.      18                                  clear_bit(P1_0_bit);                    /* if P1.0 on,  clear P1.0 */
  78.    \   002A  C290              CLR     P1.0
  79.      19                          else
  80.    \   002C  8002              SJMP    ?0007
  81.    \   002E            ?0006:
  82.    \   002E            ; #20
  83.      20                                  set_bit(  P1_0_bit );                   /* if P1.0 off, set   P1.0 */
  84.    \   002E  D290              SETB    P1.0
  85.    \   0030            ?0007:
  86.    \   0030            ; #21
  87.      21                          state = 0;
  88.    \   0030  7B00              MOV     R3,#0
  89.                                             - a_inner -                                    Page    2
  90.  
  91.    \   0032  900000            MOV     DPTR,#state
  92.    \   0035  EB                MOV     A,R3
  93.    \   0036  F0                MOVX    @DPTR,A
  94.    \   0037            ; #22
  95.      22                          if ( read_bit( P1_0_bit ) )
  96.    \   0037  309020            JNB     P1.0,?0009
  97.    \   003A            ?0008:
  98.    \   003A            ; #23
  99.      23                                  state = (state) ? 0 : 1;        /* 'CPL A' */
  100.    \   003A  900000            MOV     DPTR,#state
  101.    \   003D  E0                MOVX    A,@DPTR
  102.    \   003E  6009              JZ      ?0011
  103.    \   0040            ?0010:
  104.    \   0040  7B00              MOV     R3,#0
  105.    \   0042  900000            MOV     DPTR,#?temp
  106.    \   0045  EB                MOV     A,R3
  107.    \   0046  F0                MOVX    @DPTR,A
  108.    \   0047  8007              SJMP    ?0012
  109.    \   0049            ?0011:
  110.    \   0049  7B01              MOV     R3,#1
  111.    \   004B  900000            MOV     DPTR,#?temp
  112.    \   004E  EB                MOV     A,R3
  113.    \   004F  F0                MOVX    @DPTR,A
  114.    \   0050            ?0012:
  115.    \   0050  900000            MOV     DPTR,#?temp
  116.    \   0053  E0                MOVX    A,@DPTR
  117.    \   0054  FB                MOV     R3,A
  118.    \   0055  900000            MOV     DPTR,#state
  119.    \   0058  EB                MOV     A,R3
  120.    \   0059  F0                MOVX    @DPTR,A
  121.    \   005A            ?0009:
  122.    \   005A  7B00              MOV     R3,#LOW(?0000)
  123.    \   005C  7A00              MOV     R2,#HIGH(?0000)
  124.    \   005E  120000            LCALL   ?POINC1_L05
  125.    \   0061  01                DB      1
  126.      24                          } /* end of:  for 'i' */
  127.      25          
  128.      26          } /* end of function:  'innerloop( repeat_cnt )' */
  129.    \   0062  80AC              SJMP    ?0002
  130.    \   0064            ?0001:
  131.    \   0064            ; #26
  132.    \   0064            ?0013:
  133.    \   0064  020000            LJMP    ?LEAVE_L17
  134.    \   0000                    RSEG    UDATA
  135.    \   0000            ?0000:
  136.    \   0001                    DS      1
  137.    \   0000                    RSEG    TEMP
  138.    \   0000            ?temp:
  139.    \   0001                    DS      1
  140.    \   0001                    END
  141.                                             - a_inner -                                    Page    3
  142.  
  143.                                        S Y M B O L - T A B L E
  144.                                        =======================
  145.  
  146.  
  147.             #include file(s):
  148.  
  149.        [1]       \c51v2\io51.h
  150.  
  151.  
  152.             Symbol                    Type     Storage   Defline   Refline(s)
  153.             ------                    ----     -------   -------   ----------
  154.  
  155. P1_0_bit                            #define      ---      107:1         17       18       20       22
  156. innerloop                          function    ext/def       12  
  157. state                                  char    ext/ref        9         21       23       23
  158. wastetime                          function    ext/ref        6         16
  159.  
  160.  
  161. Errors: none
  162. Warnings: none
  163. Code size: 103
  164.  
  165.