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

📄 console.lst

📁 msc1201 编程4
💻 LST
📖 第 1 页 / 共 3 页
字号:
RC51 COMPILER V03.03.29,  CONSOLE                 06/03/03  11:20:19  PAGE  1

QCW(0x00002F32)

WIN32 RC51 COMPILER V03.03.29, COMPILATION OF MODULE CONSOLE   
OBJECT MODULE PLACED IN d:\data\msc1210\ride\mvp\console.obj
COMPILER INVOKED BY: RC51.EXE D:\DATA\MSC1210\RIDE\MVP\CONSOLE.C OBJECT(D:\DATA\
            -MSC1210\RIDE\MVP\CONSOLE.OBJ) PIN(D:\RIDE\INC) PIN(D:\RIDE\INC\51\T
            -I\) NOAM SUE_OPT PR(D:\DATA\MSC1210\RIDE\MVP\CONSOLE.LST) CD SB OE(
            -1) SM FP(NOFLOAT) PW(80) MAXWAR(200) NOIS UNSIGNEDCHAR ET(CHAR) 

stmt level    source
   1          #include <REG1210.H>
   2          #include "mvp.h"

WARNING C179 IN LINE 183 OF mvp.h : 'msg' : mspace on parameter ignored
   3          //send FIFO when FIFO !MT (tail!=hd) and SBUF MT (TI==1)
   4          // FIFOMT--|__________xxx ____|----
   5          // txmt  -|______________ _________
   6          // TI    ___________|-|__ ____|-|__
   7          // TI-ISR            ^         ^
   8          //sbufmt=1 when FIFO MT (tail==hd) and SBUF MT (TI==1)
   9          // FIFOMT---------------- ------------
  10          // txmt  ------|______|-- _________|--
  11          // TI    ___________|-|__ _______|-|__
  12          // TI-ISR  frm start ^  last FIFO ^
  13          void serial0_isr(void) interrupt 4
  14          {
  15   1      	if (RI) {
  16   2      		*rx_hdptr=SBUF0;
  17   2      		if (!rxfull) rx_hdptr++; 
  18   2      		if (rx_hdptr==RX_END) rx_hdptr=RX_BEG;
  19   2      		if (rx_hdptr==rx_tailptr) {rxfull=1;}
  20   2      		rxmt=0; 
  21   2      		RI=0; 
  22   2      	}
  23   1      	if (TI) {
  24   2      		if (tx_tailptr!=tx_hdptr || txfull){ // Send FIFO
  25   3      			SBUF0=*tx_tailptr;
  26   3      			tx_tailptr++; 
  27   3      			if (tx_tailptr==TX_END) tx_tailptr=TX_BEG;
  28   3      			txfull=0;
  29   3      		} else txmt=1; // FIFO empty
  30   2      		TI=0;
  31   2      	}
  32   1      }

WARNING C233 IN LINE 32 OF console.c : using absolute registers together with i
            -nterrupts can cause register corruptions (mixup of register banks)

            -  33          unsigned char rx_byte(void)
  34          {	unsigned char c;
  35   1      	while (rxmt){;} // wait for a byte
  36   1      	ES0=0;	
  37   1      	c=*rx_tailptr;
  38   1      	rx_tailptr++;
  39   1      	rxfull=0; 
  40   1      	if (rx_tailptr==RX_END) rx_tailptr=RX_BEG;
  41   1      	if (rx_tailptr==rx_hdptr) {rxmt=1;}
  42   1      	ES0=1;
  43   1      	return(c);
  44   1      }
  45          void tx_byte(unsigned char c)
  46          {
  47   1      	while (txfull){;}
  48   1      	ES0=0;
  49   1      	if (txmt) {//fill sbuf before FIFO
  50   2      		txmt=0;
  51   2      		SBUF0=c;
  52   2      	} else {
  53   2      		*tx_hdptr=c;
  54   2      		tx_hdptr++;
  55   2      		if (tx_hdptr==TX_END) tx_hdptr=TX_BEG;		
  56   2      		if (tx_hdptr==tx_tailptr) txfull=1;
  57   2      	}
  58   1      	ES0=1;
  59   1      }
  60          void putok(char pass_fail)
  61          {
  62   1      	if (pass_fail){
  63   2          	putspace1();
  64   2      		tx_byte('x');
  65   2      	} else {
  66   2          	putspace1();
  67   2      		tx_byte('o');
  68   2      		tx_byte('k');
  69   2      	}
  70   1      }
  71          void putcr(void)
  72          {
  73   1      	tx_byte(0x0d);
  74   1      	tx_byte(0x0a);
  75   1      }
  76          void putprompt(void)
  77          {
  78   1      	putcr();
  79   1       	tx_byte('>');
  80   1      }
  81          void putstr(char code * data msg)

WARNING C179 IN LINE 81 OF console.c : 'msg' : mspace on parameter ignored
  82          {
  83   1      	while (*msg != 0) {
  84   2      		tx_byte((unsigned char) *msg);
  85   2      		if( *msg=='\n') tx_byte('\r');
  86   2      		msg++; 
  87   2      	}
  88   1      }
  89          void alarm(void)
  90          {
  91   1      		while(1){beep(500,100); beep(300,100);}
  92   1      }
  93          void beep(unsigned int i, unsigned int d)
  94          {
  95   1      	while (t1!=0){;} 	// wait until last tone is done
  96   1      	t1=d;
  97   1         PWMCON=0;		// select PWM Period
  98   1         PWM=i;			// Set TonePeriod 1us*i*2 
  99   1         PWMCON=0x10;	// select PWM Duty
 100   1         PWM=i>>1;
 101   1         PWMCON=0x11;	// PWM
 102   1      }
 103          void nokey(void)
 104          {
 105   1      		while(high(k1) || high(k2) || high(k3)){}
 106   1      }
 107          unsigned char high(unsigned char k)
 108          {
 109   1      	if (k & 0x80) return(0xff);
 110   1      	else return (0);           
 111   1      }
 112          // c=a display i, i->mem
 113          // c=r display mem
 114          // c=> display mem+pg, mem+pg->mem
 115          // c=< display mem-pg, mem-pg->mem
 116          void display(unsigned char cpu, unsigned char c,unsigned int input
            -)
 117          {	unsigned char j,k,h,l;
 118   1      	unsigned int i;
 119   1      	if (c=='I') {// Intel Hex dump
 120   2      //@@@		i=0; bytecount=0x10; linetype=0; checksum=0;
 121   2      		putcr();
 122   2      		for (j=0;j<8;j++){
 123   3      			tx_hex(i>>8); tx_hex(i);
 124   3      			for (k=0;k<16;k++) {
 125   4      				putspace1(); tx_hex(fpm(cpu|FRD,i,0)); 
 126   4      				i++;
 127   4      			}
 128   3      			putcr();
 129   3      		}		
 130   2      	}	
 131   1      	if (c=='a') {
 132   2      		i=input;// & 0xfff0;	
 133   2      		EAI=0; EA=0; write_flash_chk(&(nvnp->memaddrh),i>>8,FDM);

WARNING C207 IN LINE 133 OF console.c : suspicious pointer conversion
 134   2      		write_flash_chk(&(nvnp->memaddrl),i,FDM);EAI=1; EA=1;

WARNING C207 IN LINE 134 OF console.c : suspicious pointer conversion
 135   2      		updatenv();

WARNING C090 IN LINE 135 OF console.c : Call to function 'updatenv' without pro
            -totype
 136   2      	}	
 137   1      	if (c=='r') i=((unsigned int)nvcp->memaddrh)<<8 | nvcp->memaddrl;
            -
 138   1      	if (c=='>') {
 139   2      		i=(((unsigned int)nvcp->memaddrh)<<8 |nvcp->memaddrl)+128;
 140   2      		EA=0; EAI=0; write_flash_chk(&(nvnp->memaddrh),i>>8,FDM);

WARNING C207 IN LINE 140 OF console.c : suspicious pointer conversion
 141   2      		write_flash_chk(&(nvnp->memaddrl),i,FDM);EAI=1; EA=1;

WARNING C207 IN LINE 141 OF console.c : suspicious pointer conversion
 142   2      		updatenv();
 143   2      	}	
 144   1      	if (c=='<') {
 145   2      		i=(((unsigned int)nvcp->memaddrh)<<8 | nvcp->memaddrl)-128;
 146   2      		EA=0; EAI=0; write_flash_chk(&(nvnp->memaddrh),i>>8,FDM);

WARNING C207 IN LINE 146 OF console.c : suspicious pointer conversion
 147   2      		write_flash_chk(&(nvnp->memaddrl),i,FDM);EAI=1; EA=1;

WARNING C207 IN LINE 147 OF console.c : suspicious pointer conversion
 148   2      		updatenv();
 149   2      	}	
 150   1      	putcr();
 151   1      	for (j=0;j<8;j++){
 152   2      		tx_hex(i>>8); tx_hex(i);
 153   2      		for (k=0;k<16;k++) {
 154   3      			putspace1(); tx_hex(fpm(cpu|FRD,i,0)); 
 155   3      			i++;
 156   3      		}
 157   2      		putcr();
 158   2      	}		
 159   1      }

WARNING C092 IN LINE 117 OF console.c : 'h' is declared but not used

WARNING C092 IN LINE 117 OF console.c : 'l' is declared but not used
 160          void screen(void)
 161          { unsigned char i;
 162   1      	version();

WARNING C090 IN LINE 162 OF console.c : Call to function 'version' without prot
            -otype
 163   1      	putstr("Selection: A)Buffer S)Target\n"); 
 164   1      	putstr("Operation: <)PgUp   >)PgDwn  r)Refresh annnn)addr        
            -  I)Target Info\n"); 
 165   1      	putstr("           C)copy   B)blank  V)verify  K)erase X)secure  
            -  FWnnnnyy)flash write\n\n");
 166   1      	putstr("SC (AC):copy buffer to target (target to buffer)\n");
 167   1      	putstr("SK (AK):erase target (buffer)\n");
 168   1      	putstr("SX (AX):secure target (buffer)\n");
 169   1      	putstr("SB (AB):blank chk target (buffer)\n");
 170   1      	putstr("S  (A) :host download hex to target (buffer)\n\n");
 171   1      	putstr("<key1> :copy buffer to target\n");
 172   1      	putstr("<key2> :copy target to buffer\n");
 173   1      	putstr("<key3> :secure target\n");
 174   1      } 

WARNING C092 IN LINE 161 OF console.c : 'i' is declared but not used
 175          
RC51 COMPILER V03.03.29,  CONSOLE                 06/03/03  11:20:19  PAGE  2

ASSEMBLY LISTING OF GENERATED OBJECT CODE

            ; FUNCTION serial0_isr (BEGIN)
                                           ; SOURCE LINE # 30 
0000 C0E0           PUSH   ACC
0002 C0F0           PUSH   B
0004 C083           PUSH   DPH
0006 C082           PUSH   DPL
0008 C0D0           PUSH   PSW
                                           ; SOURCE LINE # 15 
000A 309831         JNB    RI,?NXT8
                                           ; SOURCE LINE # 16 
000D 850083  R      MOV    DPH,rx_hdptr
0010 850082  R      MOV    DPL,rx_hdptr+01H
0013 E599           MOV    A,SBUF0
0015 F0             MOVX   @DPTR,A
                                           ; SOURCE LINE # 17 
0016 200008  R      JB     rxfull,?NXT9
0019 0500    R      INC    rx_hdptr+01H
001B E500    R      MOV    A,rx_hdptr+01H
001D 7002           JNZ    ?NXT9
001F 0500    R      INC    rx_hdptr
0021         ?NXT9:
                                           ; SOURCE LINE # 18 
0021 E500    R      MOV    A,rx_hdptr+01H
0023 6410           XRL    A,#010H
0025 4500    R      ORL    A,rx_hdptr
0027 7005           JNZ    ?NXT10
0029 E4             CLR    A
002A F500    R      MOV    rx_hdptr,A
002C F500    R      MOV    rx_hdptr+01H,A
002E         ?NXT10:
                                           ; SOURCE LINE # 19 
002E E500    R      MOV    A,rx_hdptr
0030 B50007  R      CJNE   A,rx_tailptr,?NXT11
0033 E500    R      MOV    A,rx_hdptr+01H
0035 B50002  R      CJNE   A,rx_tailptr+01H,?NXT11
0038 D200    R      SETB   rxfull
003A         ?NXT11:
                                           ; SOURCE LINE # 20 
003A C200    R      CLR    rxmt
                                           ; SOURCE LINE # 21 
003C C298           CLR    RI
003E         ?NXT8:
                                           ; SOURCE LINE # 23 
003E 309932         JNB    TI,?NXT15
                                           ; SOURCE LINE # 24 
0041 E500    R      MOV    A,tx_tailptr
0043 B50008  R      CJNE   A,tx_hdptr,?LAB5
0046 E500    R      MOV    A,tx_tailptr+01H
0048 B50003  R      CJNE   A,tx_hdptr+01H,?LAB5
004B 300021  R      JNB    txfull,?ELSE12
004E         ?LAB5:
                                           ; SOURCE LINE # 25 
004E 850083  R      MOV    DPH,tx_tailptr
0051 850082  R      MOV    DPL,tx_tailptr+01H
0054 E0             MOVX   A,@DPTR
0055 F599           MOV    SBUF0,A
                                           ; SOURCE LINE # 26 
0057 0500    R      INC    tx_tailptr+01H
0059 E500    R      MOV    A,tx_tailptr+01H
005B 7002           JNZ    ?LAB6
005D 0500    R      INC    tx_tailptr
005F         ?LAB6:
                                           ; SOURCE LINE # 27 
005F 6420           XRL    A,#020H
0061 4500    R      ORL    A,tx_tailptr
0063 7006           JNZ    ?NXT14
0065 E4             CLR    A
0066 F500    R      MOV    tx_tailptr,A
0068 750010  R      MOV    tx_tailptr+01H,#010H
006B         ?NXT14:
                                           ; SOURCE LINE # 28 
006B C200    R      CLR    txfull
006D 8002           SJMP   ?NXT13
006F         ?ELSE12:
                                           ; SOURCE LINE # 29 
006F D200    R      SETB   txmt
0071         ?NXT13:
                                           ; SOURCE LINE # 30 
0071 C299           CLR    TI
0073         ?NXT15:
0073 D0D0           POP    PSW
0075 D082           POP    DPL
0077 D083           POP    DPH
0079 D0F0           POP    B
007B D0E0           POP    ACC
007D 32             RETI   

            ; FUNCTION serial0_isr (END)

            ; FUNCTION rx_byte (BEGIN)
0000         ?WHILE1:
                                           ; SOURCE LINE # 35 
0000 300002  R      JNB    rxmt,?NXT19
0003 80FB           SJMP   ?WHILE1
0005         ?NXT19:
                                           ; SOURCE LINE # 36 
0005 C2AC           CLR    ES0
              ; R7 is assigned to c
                                           ; SOURCE LINE # 37 
0007 850083  R      MOV    DPH,rx_tailptr

⌨️ 快捷键说明

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