📄 sendrcvself.lis
字号:
.module SendRcvSelf.c
.area text(rom, con, rel)
0000 .dbfile E:\ICCAVR_H\CmmICC.H
0000 .dbfunc e delay50us _delay50us fV
0000 ; j -> R20
0000 ; t -> R16,R17
.even
0000 _delay50us::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 117
0004 ; //ICC-AVR application builder : 2005-6-30 17:44:36
0004 ; // Target : M16
0004 ; // Crystal: 7.3728Mhz
0004 ;
0004 ; #include <iom16v.h>
0004 ; #include "E:\ICCAVR_H\CmmICC.H"
0004 ;
0004 ; #define DISP_PORT PORTA
0004 ; #define DISP_DDR DDRA
0004 ;
0004 ; //UART0 initialisation
0004 ; // desired baud rate: 9600
0004 ; // actual: baud rate:9600 (0.0%)
0004 ; // char size: 8 bit
0004 ; // parity: Disabled
0004 ; void uart0_init(void)
0004 ; {
0004 ; UCSRB = 0x00; //disable while setting baud rate
0004 ; UCSRA = 0x00;
0004 ; UCSRC = 0x86;
0004 ; UBRRL = 47; //set baud rate lo
0004 ; UBRRH = 0x00; //set baud rate hi
0004 ; UCSRB = 0x98;
0004 ; }
0004 ;
0004 ; #pragma interrupt_handler uart0_rx_isr:12
0004 ; void uart0_rx_isr(void)
0004 ; {
0004 ; //uart has received a character in UDR
0004 ; DISP_PORT = UDR;
0004 ; }
0004 ;
0004 ;
0004 ; //call this routine to initialise all peripherals
0004 ; void mcu_init(void)
0004 ; {
0004 ; //stop errant interrupts until set up
0004 ; CLI(); //disable all interrupts
0004 ; uart0_init();
0004 ; MCUCR = 0x00;
0004 ; GICR = 0x00;
0004 ; TIMSK = 0x00; //timer interrupt sources
0004 ; SEI(); //re-enable interrupts
0004 ; //all peripherals are now initialised
0004 ; }
0004 ;
0004 ; void main()
0004 ; {
0004 ; uint8 counter=0;
0004 ; mcu_init();
0004 ;
0004 ; DISP_DDR=0xFF;
0004 ;
0004 ; while(1)
0004 ; {
0004 ; UDR=counter++;
0004 ; while(!(UCSRA&0x40));
0004 ; UCSRA|=0x40;
0004 ; delay50ms(4);
0004 ; }
0004 ;
0004 ; }
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 ;
0004 .dbline 119
0004 ;
0004 ;
0004 07C0 xjmp L5
0006 L2:
0006 .dbline 120
0006 ;
0006 4427 clr R20
0008 01C0 xjmp L9
000A L6:
000A .dbline 121
000A L7:
000A .dbline 120
000A 4395 inc R20
000C L9:
000C .dbline 120
000C 4634 cpi R20,70
000E E8F3 brlo L6
0010 L3:
0010 .dbline 119
0010 0150 subi R16,1
0012 1040 sbci R17,0
0014 L5:
0014 .dbline 119
0014 2224 clr R2
0016 3324 clr R3
0018 2016 cp R2,R16
001A 3106 cpc R3,R17
001C A4F3 brlt L2
001E .dbline -2
001E .dbline 122
001E ;
001E ;
001E L1:
001E 0E940000 xcall pop_gset1
0022 .dbline 0 ; func end
0022 0895 ret
0024 .dbsym r j 20 c
0024 .dbsym r t 16 I
0024 .dbend
0024 .dbfunc e delay50ms _delay50ms fV
0024 ; i -> R20,R21
0024 ; t -> R16,R17
.even
0024 _delay50ms::
0024 0E940000 xcall push_gset1
0028 .dbline -1
0028 .dbline 132
0028 ;
0028 ;
0028 ;
0028 ;
0028 ;
0028 ;
0028 ;
0028 ;
0028 ;
0028 ;
0028 .dbline 134
0028 ;
0028 ;
0028 0BC0 xjmp L14
002A L11:
002A .dbline 135
002A ;
002A 4427 clr R20
002C 5527 clr R21
002E 02C0 xjmp L18
0030 L15:
0030 .dbline 136
0030 L16:
0030 .dbline 135
0030 4F5F subi R20,255 ; offset = 1
0032 5F4F sbci R21,255
0034 L18:
0034 .dbline 135
0034 423A cpi R20,162
0036 EDEC ldi R30,205
0038 5E07 cpc R21,R30
003A D0F3 brlo L15
003C L12:
003C .dbline 134
003C 0150 subi R16,1
003E 1040 sbci R17,0
0040 L14:
0040 .dbline 134
0040 2224 clr R2
0042 3324 clr R3
0044 2016 cp R2,R16
0046 3106 cpc R3,R17
0048 84F3 brlt L11
004A .dbline -2
004A .dbline 137
004A ;
004A ;
004A L10:
004A 0E940000 xcall pop_gset1
004E .dbline 0 ; func end
004E 0895 ret
0050 .dbsym r i 20 i
0050 .dbsym r t 16 I
0050 .dbend
0050 .dbfunc e speaData _speaData fV
0050 ; y -> y+4
0050 ; j -> y+0
0050 ; i -> R10
0050 ; C -> R12
0050 ; D -> y+16
.even
0050 _speaData::
0050 0E940000 xcall push_arg4
0054 0E940000 xcall push_gset4
0058 2897 sbiw R28,8
005A CC88 ldd R12,y+20
005C .dbline -1
005C .dbline 148
005C ;
005C ;
005C ;
005C ;
005C ;
005C ;
005C ;
005C ;
005C ;
005C ;
005C ;
005C .dbline 151
005C ;
005C ;
005C ;
005C AA24 clr R10
005E 41E0 ldi R20,1
0060 50E0 ldi R21,0
0062 60E0 ldi R22,0
0064 70E0 ldi R23,0
0066 FE01 movw R30,R28
0068 4083 std z+0,R20
006A 5183 std z+1,R21
006C 6283 std z+2,R22
006E 7383 std z+3,R23
0070 46C0 xjmp L23
0072 L20:
0072 .dbline 152
0072 .dbline 153
0072 FE01 movw R30,R28
0074 2080 ldd R2,z+0
0076 3180 ldd R3,z+1
0078 4280 ldd R4,z+2
007A 5380 ldd R5,z+3
007C FE01 movw R30,R28
007E 6088 ldd R6,z+16
0080 7188 ldd R7,z+17
0082 8288 ldd R8,z+18
0084 9388 ldd R9,z+19
0086 5A92 st -y,R5
0088 4A92 st -y,R4
008A 3A92 st -y,R3
008C 2A92 st -y,R2
008E 8301 movw R16,R6
0090 9401 movw R18,R8
0092 0E940000 xcall div32u
0096 FE01 movw R30,R28
0098 0483 std z+4,R16
009A 1583 std z+5,R17
009C 2683 std z+6,R18
009E 3783 std z+7,R19
00A0 .dbline 154
00A0 4AE0 ldi R20,10
00A2 50E0 ldi R21,0
00A4 60E0 ldi R22,0
00A6 70E0 ldi R23,0
00A8 FE01 movw R30,R28
00AA 2480 ldd R2,z+4
00AC 3580 ldd R3,z+5
00AE 4680 ldd R4,z+6
00B0 5780 ldd R5,z+7
00B2 7A93 st -y,R23
00B4 6A93 st -y,R22
00B6 5A93 st -y,R21
00B8 4A93 st -y,R20
00BA 8101 movw R16,R2
00BC 9201 movw R18,R4
00BE 0E940000 xcall mod32u
00C2 80E0 ldi R24,<_dataElem
00C4 90E0 ldi R25,>_dataElem
00C6 EA2D mov R30,R10
00C8 FF27 clr R31
00CA E80F add R30,R24
00CC F91F adc R31,R25
00CE 0083 std z+0,R16
00D0 .dbline 155
00D0 FE01 movw R30,R28
00D2 2080 ldd R2,z+0
00D4 3180 ldd R3,z+1
00D6 4280 ldd R4,z+2
00D8 5380 ldd R5,z+3
00DA 4AE0 ldi R20,10
00DC 50E0 ldi R21,0
00DE 60E0 ldi R22,0
00E0 70E0 ldi R23,0
00E2 5A92 st -y,R5
00E4 4A92 st -y,R4
00E6 3A92 st -y,R3
00E8 2A92 st -y,R2
00EA 8A01 movw R16,R20
00EC 9B01 movw R18,R22
00EE 0E940000 xcall empy32u
00F2 FE01 movw R30,R28
00F4 0083 std z+0,R16
00F6 1183 std z+1,R17
00F8 2283 std z+2,R18
00FA 3383 std z+3,R19
00FC .dbline 156
00FC L21:
00FC .dbline 151
00FC A394 inc R10
00FE L23:
00FE .dbline 151
00FE AC14 cp R10,R12
0100 08F4 brsh X0
0102 B7CF xjmp L20
0104 X0:
0104 .dbline -2
0104 .dbline 157
0104 ;
0104 ;
0104 ;
0104 ;
0104 ;
0104 ;
0104 L19:
0104 2896 adiw R28,8
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -