📄 console.lst
字号:
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 + -