📄 main.lis
字号:
0018 .dbline 0 ; func end
0018 0895 ret
001A .dbend
.area vector(rom, abs)
.org 72
0048 0C940D00 jmp _uart0_rx_isr
.area text(rom, con, rel)
001A .dbfile F:\yyjapp\yymk\software\main.c
001A .dbfunc e uart0_rx_isr _uart0_rx_isr fV
001A ; lll -> <dead>
001A ; k -> <dead>
001A ; aa -> <dead>
001A ; s -> R16
.even
001A _uart0_rx_isr::
001A 2A92 st -y,R2
001C 3A92 st -y,R3
001E 0A93 st -y,R16
0020 8A93 st -y,R24
0022 9A93 st -y,R25
0024 EA93 st -y,R30
0026 FA93 st -y,R31
0028 2FB6 in R2,0x3f
002A 2A92 st -y,R2
002C .dbline -1
002C .dbline 111
002C ; }
002C ;
002C ; #pragma interrupt_handler uart0_rx_isr:19
002C ; void uart0_rx_isr(void)
002C ; {
002C .dbline 116
002C ; unsigned char s;
002C ; unsigned char aa;
002C ; unsigned int k;
002C ; unsigned char lll;
002C ; CLI();
002C F894 cli
002E .dbline 117
002E ; s = UDR0;
002E 0CB1 in R16,0xc
0030 .dbline 118
0030 ; if((RxHead0==0)&&(s!=2))
0030 2090D500 lds R2,_RxHead0
0034 2220 tst R2
0036 71F4 brne L3
0038 0230 cpi R16,2
003A 61F0 breq L3
003C .dbline 119
003C ; {
003C .dbline 120
003C ; sio_flag=0;
003C 2224 clr R2
003E 20927700 sts _sio_flag,R2
0042 .dbline 121
0042 ; RxHead0=0;
0042 2092D500 sts _RxHead0,R2
0046 .dbline 122
0046 ; commtimer=0;
0046 3324 clr R3
0048 30920100 sts _commtimer+1,R3
004C 20920000 sts _commtimer,R2
0050 .dbline 123
0050 ; SEI();
0050 7894 sei
0052 .dbline 124
0052 ; return;
0052 24C0 xjmp L2
0054 L3:
0054 .dbline 126
0054 ; }
0054 ; RX_BUF0[RxHead0++] = s; /* store received data in buffer */
0054 2090D500 lds R2,_RxHead0
0058 3324 clr R3
005A 822D mov R24,R2
005C 8F5F subi R24,255 ; addi 1
005E 8093D500 sts _RxHead0,R24
0062 80E0 ldi R24,<_RX_BUF0
0064 90E0 ldi R25,>_RX_BUF0
0066 E22D mov R30,R2
0068 FF27 clr R31
006A E80F add R30,R24
006C F91F adc R31,R25
006E 0083 std z+0,R16
0070 .dbline 127
0070 ; if(RxHead0==3)
0070 8091D500 lds R24,_RxHead0
0074 8330 cpi R24,3
0076 89F4 brne L5
0078 .dbline 128
0078 ; {
0078 .dbline 129
0078 ; if(s==0x03)
0078 0330 cpi R16,3
007A 41F4 brne L7
007C .dbline 130
007C ; {
007C .dbline 131
007C ; sio_flag = 1;
007C 81E0 ldi R24,1
007E 80937700 sts _sio_flag,R24
0082 .dbline 132
0082 ; RxHead0=0;
0082 2224 clr R2
0084 2092D500 sts _RxHead0,R2
0088 .dbline 133
0088 ; SEI();
0088 7894 sei
008A .dbline 134
008A ; return;
008A 08C0 xjmp L2
008C L7:
008C .dbline 137
008C ; }
008C ; else
008C ; {
008C .dbline 138
008C ; sio_flag=0;
008C 2224 clr R2
008E 20927700 sts _sio_flag,R2
0092 .dbline 139
0092 ; RxHead0=0;
0092 2092D500 sts _RxHead0,R2
0096 .dbline 140
0096 ; SEI();
0096 7894 sei
0098 .dbline 141
0098 ; return;
0098 01C0 xjmp L2
009A L5:
009A .dbline 144
009A ; }
009A ; }
009A ; SEI();
009A 7894 sei
009C .dbline -2
009C L2:
009C 2990 ld R2,y+
009E 2FBE out 0x3f,R2
00A0 F991 ld R31,y+
00A2 E991 ld R30,y+
00A4 9991 ld R25,y+
00A6 8991 ld R24,y+
00A8 0991 ld R16,y+
00AA 3990 ld R3,y+
00AC 2990 ld R2,y+
00AE .dbline 0 ; func end
00AE 1895 reti
00B0 .dbsym l lll 1 c
00B0 .dbsym l k 1 i
00B0 .dbsym l aa 1 c
00B0 .dbsym r s 16 c
00B0 .dbend
00B0 .dbfunc e TransmitByte0 _TransmitByte0 fV
00B0 ; ct -> R20
00B0 ; len -> R18
00B0 ; data -> R16,R17
.even
00B0 _TransmitByte0::
00B0 0E940000 xcall push_gset1
00B4 .dbline -1
00B4 .dbline 148
00B4 ;
00B4 ; }
00B4 ; void TransmitByte0( unsigned char *data,unsigned char len )
00B4 ; {
00B4 L10:
00B4 .dbline 150
00B4 L11:
00B4 .dbline 150
00B4 ; unsigned char ct;
00B4 ; while (!(UCSR0A & (1<<UDRE0)));
00B4 5D9B sbis 0xb,5
00B6 FECF rjmp L10
00B8 .dbline 151
00B8 ; UDR0=0xfe;
00B8 8EEF ldi R24,254
00BA 8CB9 out 0xc,R24
00BC .dbline 152
00BC ; for (ct=0;ct<len;ct++)
00BC 4427 clr R20
00BE 07C0 xjmp L16
00C0 X0:
00C0 .dbline 153
00C0 ; {
00C0 L17:
00C0 .dbline 154
00C0 L18:
00C0 .dbline 154
00C0 5D9B sbis 0xb,5
00C2 FECF rjmp L17
00C4 .dbline 155
00C4 F801 movw R30,R16
00C6 2190 ld R2,Z+
00C8 8F01 movw R16,R30
00CA 2CB8 out 0xc,R2
00CC .dbline 156
00CC L14:
00CC .dbline 152
00CC 4395 inc R20
00CE L16:
00CE .dbline 152
00CE 4217 cp R20,R18
00D0 B8F3 brlo L18
00D2 .dbline -2
00D2 L9:
00D2 0E940000 xcall pop_gset1
00D6 .dbline 0 ; func end
00D6 0895 ret
00D8 .dbsym r ct 20 c
00D8 .dbsym r len 18 c
00D8 .dbsym r data 16 pc
00D8 .dbend
00D8 .dbfunc e TransmitByte1 _TransmitByte1 fV
00D8 ; ct -> R20
00D8 ; len -> R18
00D8 ; data -> R16,R17
.even
00D8 _TransmitByte1::
00D8 0E940000 xcall push_gset1
00DC .dbline -1
00DC .dbline 159
00DC ; while (!(UCSR0A & (1<<UDRE0)));
00DC ; UDR0 = *data++;
00DC ; }
00DC ; }
00DC ; void TransmitByte1(unsigned char *data,unsigned char len )
00DC ; {
00DC .dbline 162
00DC ; unsigned char ct;
00DC ; // while (!(UCSR0A & (1<<UDRE0)));
00DC ; for (ct=0;ct<len;ct++)
00DC 4427 clr R20
00DE 07C0 xjmp L24
00E0 X1:
00E0 .dbline 163
00E0 ; {
00E0 L25:
00E0 .dbline 164
00E0 L26:
00E0 .dbline 164
00E0 5D9B sbis 0xb,5
00E2 FECF rjmp L25
00E4 .dbline 165
00E4 F801 movw R30,R16
00E6 2190 ld R2,Z+
00E8 8F01 movw R16,R30
00EA 2CB8 out 0xc,R2
00EC .dbline 166
00EC L22:
00EC .dbline 162
00EC 4395 inc R20
00EE L24:
00EE .dbline 162
00EE 4217 cp R20,R18
00F0 B8F3 brlo L26
00F2 .dbline -2
00F2 L20:
00F2 0E940000 xcall pop_gset1
00F6 .dbline 0 ; func end
00F6 0895 ret
00F8 .dbsym r ct 20 c
00F8 .dbsym r len 18 c
00F8 .dbsym r data 16 pc
00F8 .dbend
00F8 .dbfunc e TransmitByte_1 _TransmitByte_1 fV
00F8 ; ct -> R20
00F8 ; len -> R18
00F8 ; data -> R16,R17
.even
00F8 _TransmitByte_1::
00F8 0E940000 xcall push_gset1
00FC .dbline -1
00FC .dbline 169
00FC ; while (!(UCSR0A & (1<<UDRE0)));
00FC ; UDR0 = *data++;
00FC ; }
00FC ; }
00FC ; void TransmitByte_1(unsigned char *data,unsigned char len )
00FC ; {
00FC .dbline 172
00FC ; unsigned char ct;
00FC ; // while (!(UCSR0A & (1<<UDRE0)));
00FC ; for (ct=0;ct<len;ct++)
00FC 4427 clr R20
00FE 0AC0 xjmp L32
0100 X2:
0100 .dbline 173
0100 ; {
0100 L33:
0100 .dbline 174
0100 L34:
0100 .dbline 174
0100 20909B00 lds R2,155
0104 25FE sbrs R2,5
0106 FCCF rjmp L33
0108 .dbline 175
0108 F801 movw R30,R16
010A 2190 ld R2,Z+
010C 8F01 movw R16,R30
010E 20929C00 sts 156,R2
0112 .dbline 176
0112 L30:
0112 .dbline 172
0112 4395 inc R20
0114 L32:
0114 .dbline 172
0114 4217 cp R20,R18
0116 A0F3 brlo L34
0118 .dbline -2
0118 L28:
0118 0E940000 xcall pop_gset1
011C .dbline 0 ; func end
011C 0895 ret
011E .dbsym r ct 20 c
011E .dbsym r len 18 c
011E .dbsym r data 16 pc
011E .dbend
011E .dbfunc e init_par _init_par fV
011E ; tt -> R20
011E ; ll -> R20
011E ; i -> R20
.even
011E _init_par::
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -