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

📄 pyzc2.lst

📁 基于80196KB开发的C程序,在伟福和星研环境中编译通过,用于学习8096系列单片机的中断编程技术.并成功地用于某地机动车检测业务.
💻 LST
📖 第 1 页 / 共 4 页
字号:
          0264  61F7FF00           R         and     tmpreg,#0FFF7H
          0268  2000                         br      @003F
          026A                        @003F: 
          026A  B00000             E         ldb     int_mask,tmpreg
  3       1         _ClrSFR_bit (int_mask, SW_TIMER_INT);
          026D  2000                         br      @004
          026F                        @004: 
          026F  AC0000             E         ldbze   tmpreg,int_mask
          0272  61DFFF00           R         and     tmpreg,#0FFDFH
          0276  2000                         br      @0041
          0278                        @0041: 
          0278  B00000             E         ldb     int_mask,tmpreg
  3       1       }
          027B  F0                           ret     
                                      
                ; Function Statistics for: init_hso1_5
                ;    Code Size :   91     Parameter Count:   
                ;    Stack Size:         Parameter Size :   
                ;    OReg Size :         Stack Depth    :   

  3               
  3               void main(void)
  31              {
          027C                        main: 
          027C  C800               R         push    ?OVRBASE
  311     1        unsigned char i;
  312     1        init_serial();
          027E  2F06                         call    init_serial
  313     1        init_timer1();
          0280  2F5A                         call    init_timer1
  314     1        init_pwm0();
          0282  2F78                         call    init_pwm0
  315     1        init_hso1_5();
          0284  2F9B                         call    init_hso1_5
  316     1        enable();
          0286  EF0000             E         call    enable
  317     1       /*   The following line will loop until the letter 'Q' is 
  318     1            received.   */
C196  Compiler   pyzc2                                                                      13-Dec-106 22:07:20  Page  13
                 Assembly Listing of Object Code


  319     1        putchar('H');
          0289  C94800                       push    #48H
          028C  2D9E                         call    putchar
          028E  65020018                     add     SP,#2
  32      1        putchar('e');
          0292  C96500                       push    #65H
          0295  2D95                         call    putchar
          0297  65020018                     add     SP,#2
  321     1        putchar('l');
          029B  C96C00                       push    #6CH
          029E  2D8C                         call    putchar
          02A0  65020018                     add     SP,#2
  322     1        putchar('l');
          02A4  C96C00                       push    #6CH
          02A7  2D83                         call    putchar
          02A9  65020018                     add     SP,#2
  323     1        putchar('o');
          02AD  C96F00                       push    #6FH
          02B0  2D7A                         call    putchar
          02B2  65020018                     add     SP,#2
          02B6  2066                         br      @0044
          02B8                        @0043: 
  324     1        //while(getchar() != 'Q')
  325     1        while(1)
  326     1        {
  327     2         if(triggle_out==1)
          02B8  990101             R         cmpb    triggle_out,#1
          02BB  D730                         bne     @0046
  328     2         {
  329     3           triggle_out=0;
          02BD  1101               R         clrb    triggle_out
  33      3           wsr=0;
          02BF  1100               E         clrb    wsr
  331     3           wsr = 0x0;
          02C1  1100               E         clrb    wsr
  332     3           mess[5]= hsi_status;
          02C3  C701050000         E         stb     hsi_status,mess+5
  333     3           mess[6]=ioport0;
          02C8  C701060000         E         stb     ioport0,mess+6
  334     3           mess[7]=ioport2;
          02CD  C701070000         E         stb     ioport2,mess+7
  335     3           for(i=0;i<10;i++) putchar(mess[i]);
          02D2  1100               R         clrb    i
          02D4  2012                         br      @0049
          02D6                        @0047: 
          02D6  AC001C             R         ldbze   Tmp0,i
          02D9  AF1D00001C         R         ldbze   Tmp0,mess[Tmp0]
          02DE  C81C                         push    Tmp0
          02E0  2D4A                         call    putchar
          02E2  65020018                     add     SP,#2
          02E6  1700               R         incb    i
          02E8                        @0049: 
          02E8  990A00             R         cmpb    i,#0AH
          02EB  D3E9                         bnc     @0047
          02ED                        @0046: 
  336     3         }  
C196  Compiler   pyzc2                                                                      13-Dec-106 22:07:20  Page  14
                 Assembly Listing of Object Code


  337     2         if(triggle_in==1)
          02ED  990102             R         cmpb    triggle_in,#1
          02F0  D72C                         bne     @004B
  338     2         {
  339     3          triggle_in=0;
          02F2  1102               R         clrb    triggle_in
  34      3          pwm0_control=pwm0_byte; //receive_buff[(end_rec_buff+RECEIVE_BUF_SIZE-4)%RECEIVE_BUF_SIZE];
          02F4  B00700             E         ldb     pwm_control,pwm0_byte
  341     3          ioport1=ioport1_byte; //receive_buff[(end_rec_buff+RECEIVE_BUF_SIZE-3)%RECEIVE_BUF_SIZE];
          02F7  B00800             E         ldb     ioport1,ioport1_byte
  342     3          for(i=0;i<5;i++)
          02FA  1100               R         clrb    i
          02FC  201B                         br      @004E
          02FE                        @004C: 
  343     3          {
  344     4           hso_command=((hso_byte & (1<<i))>>i)*0x20+i;
          02FE  AD011C                       ldbze   Tmp0,#1
          0301  09001C             R         shl     Tmp0,i
          0304  AC091E             R         ldbze   Tmp2,hso_byte
          0307  601E1C                       and     Tmp0,Tmp2
          030A  0A001C             R         shra    Tmp0,i
          030D  19051C                       shlb    Tmp0,#5
          0310  541C0000           E         addb    hso_command,i,Tmp0
  345     4           hso_time=20;
          0314  AD1400             E         ldbze   hso_time,#14H
          0317  1700               R         incb    i
          0319                        @004E: 
          0319  990500             R         cmpb    i,#5
          031C  D3E0                         bnc     @004C
          031E                        @004B: 
  346     4          }
  347     3         }    
  348     2        }
          031E                        @0044: 
          031E  2798                         br      @0043
  349     1       /*   Example of sending out buffered data.    */
  35      1        //while(1);  
  351     1       }
          0320  CC00               R         pop     ?OVRBASE
          0322  F0                           ret     
                                      
                ; Function Statistics for: main
                ;    Code Size :  167     Parameter Count:   
                ;    Stack Size:         Parameter Size :   
                ;    OReg Size :    1     Stack Depth    :   8

                                             end
  352             
C196  Compiler   pyzc2                                                                      13-Dec-106 22:07:20  Page  15
                                   Symbol Table


  Name            Size    Class    Address    Attributes

  baud_rate       1       Extern               register volatile unsigned char
  begin_rec_buff  1       Static   6           register signed char
  begin_trans_buff
                  1       Static   3           register signed char
  c               2       Auto     4           int in function(putchar)
  c               1       Auto                 overlayable register unsigned char in function(receive)
  ccr             2       Public   8216        located const unsigned int
  enable                  Extern               VPL function returning void
  end_rec_buff    1       Static   5           register signed char
  end_trans_buff  1       Static   4           register signed char
  getchar                 Public               reentrant VPL function returning unsigned char
  hsi_status      1       Extern               register volatile unsigned char
  hso_byte        1       Static   9           register unsigned char
  hso_command     1       Extern               register volatile unsigned char
  hso_time        2       Extern               register volatile unsigned short
  i               1       Auto                 overlayable register unsigned char in function(main)
  imask1          1       Extern               register volatile unsigned char
  init_hso1_5             Public               reentrant VPL function returning void
  init_pwm0               Public               reentrant VPL function returning void
  init_serial             Public               reentrant VPL function returning void
  init_timer1             Public               reentrant VPL function returning void
  int_mask        1       Extern               register volatile unsigned char
  int_pending     1       Extern               register volatile unsigned char
  ioc1            1       Extern               register volatile unsigned char
  ioc2            1       Extern               register volatile unsigned char
  ioport0         1       Extern               register volatile unsigned char
  ioport1         1       Extern               register volatile unsigned char
  ioport1_byte    1       Static   8           register unsigned char
  ioport2         1       Extern               register volatile unsigned char
  main                    Public               reentrant VPL function returning void
  mess            1       Static               initialized array[1] of unsigned char
  putchar                 Public               reentrant VPL function returning int
  pwm0_byte       1       Static   7           register unsigned char
  pwm_control     1       Extern               register volatile unsigned char
  receive                 Public               reentrant VPL function returning void
  receive_buff    2       Static   2           array[2] of unsigned char
  sbuf            1       Extern               register volatile unsigned char
  serial_isr              Public               interrupt function returning void
  sp_con          1       Extern               register volatile unsigned char
  sp_stat         1       Extern               register volatile unsigned char
  sp_status_image 1       Static   2           register unsigned char
  timer1_count    1       Static               initialized register unsigned char
  tmpreg          2       Public               register unsigned int
  tovf_isr                Public               interrupt function returning void
  trans_buff      2       Static               array[2] of unsigned char
  transmit                Public               reentrant VPL function returning void
  triggle_in      1       Static   2           initialized register unsigned char
  triggle_out     1       Static   1           initialized register unsigned char
  wsr             1       Extern               register volatile unsigned char



Module Information:
C196  Compiler   pyzc2                                                                      13-Dec-106 22:07:20  Page  16
                                   Symbol Table


     Code Area Size             =   0323H       803D
     Constant Area Size         =   0002H         2D
     Data Area Size             =   0032H        50D
     Static Regs Area Size      =   000DH        13D
     Overlayable Regs Area Size =   0002H         2D
     Initial Data-Size          =   000DH        13D
     Maximum Stack Size         =   0012H        18D

C196 Compilation Complete.      0 Warnings,     0 Errors

⌨️ 快捷键说明

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