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

📄 usart.lst

📁 AVR单片机ATmega128的串口通讯程序
💻 LST
字号:
   1               		.file	"usart.c"
   2               		.arch atmega128
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  63               	.global	port_init
  65               	port_init:
   1:usart.c       **** #include<avr/io.h>
   2:usart.c       **** #include<stdio.h>
   3:usart.c       **** #include<avr/signal.h>
   4:usart.c       **** #include<avr/interrupt.h>
   5:usart.c       **** 
   6:usart.c       **** unsigned char j;
   7:usart.c       **** 
   8:usart.c       **** void port_init(void){
  67               	.LM1:
  68               	/* prologue: frame size=0 */
  69               	/* prologue end (size=0) */
   9:usart.c       ****      DDRA=0XFF;
  71               	.LM2:
  72 0000 8FEF      		ldi r24,lo8(-1)
  73 0002 8ABB      		out 58-0x20,r24
  10:usart.c       **** 	 PORTA=0XFF;
  75               	.LM3:
  76 0004 8BBB      		out 59-0x20,r24
  11:usart.c       **** 	 DDRC=0X00;
  78               	.LM4:
  79 0006 14BA      		out 52-0x20,__zero_reg__
  12:usart.c       **** 	 PORTC=0XFF;
  81               	.LM5:
  82 0008 85BB      		out 53-0x20,r24
  83               	/* epilogue: frame size=0 */
  84 000a 0895      		ret
  85               	/* epilogue end (size=1) */
  86               	/* function port_init size 6 (5) */
  88               	.Lscope0:
  90               	.global	usart0_init
  92               	usart0_init:
  13:usart.c       **** 	}
  14:usart.c       **** 	
  15:usart.c       **** void usart0_init(void){
  94               	.LM6:
  95               	/* prologue: frame size=0 */
  96               	/* prologue end (size=0) */
  16:usart.c       ****      UBRR0L=0X19;
  98               	.LM7:
  99 000c 89E1      		ldi r24,lo8(25)
 100 000e 89B9      		out 41-0x20,r24
  17:usart.c       **** 	 UBRR0H=0X00;
 102               	.LM8:
 103 0010 1092 9000 		sts 144,__zero_reg__
  18:usart.c       **** 	 UCSR0B=(1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0);
 105               	.LM9:
 106 0014 88E9      		ldi r24,lo8(-104)
 107 0016 8AB9      		out 42-0x20,r24
  19:usart.c       **** 	 UCSR0C=(1<<UCSZ01)|(1<<UCSZ00);
 109               	.LM10:
 110 0018 86E0      		ldi r24,lo8(6)
 111 001a 8093 9500 		sts 149,r24
 112               	/* epilogue: frame size=0 */
 113 001e 0895      		ret
 114               	/* epilogue end (size=1) */
 115               	/* function usart0_init size 10 (9) */
 117               	.Lscope1:
 120               	.global	usart0_transmit
 122               	usart0_transmit:
  20:usart.c       **** 	}
  21:usart.c       **** 	
  22:usart.c       **** void usart0_transmit(unsigned char data){
 124               	.LM11:
 125               	/* prologue: frame size=0 */
 126               	/* prologue end (size=0) */
 127               	.L4:
  23:usart.c       ****      while(!(UCSR0A&(1<<UDRE0)));
 129               	.LM12:
 130 0020 5D9B      		sbis 43-0x20,5
 131 0022 FECF      		rjmp .L4
  24:usart.c       **** 	 UDR0=data;
 133               	.LM13:
 134 0024 8CB9      		out 44-0x20,r24
 135               	/* epilogue: frame size=0 */
 136 0026 0895      		ret
 137               	/* epilogue end (size=1) */
 138               	/* function usart0_transmit size 4 (3) */
 140               	.Lscope2:
 142               	.global	__vector_18
 144               	__vector_18:
  25:usart.c       **** 	}
  26:usart.c       **** 	
  27:usart.c       **** SIGNAL(SIG_USART0_RECV){
 146               	.LM14:
 147               	/* prologue: frame size=0 */
 148 0028 1F92      		push __zero_reg__
 149 002a 0F92      		push __tmp_reg__
 150 002c 0FB6      		in __tmp_reg__,__SREG__
 151 002e 0F92      		push __tmp_reg__
 152 0030 1124      		clr __zero_reg__
 153 0032 8F93      		push r24
 154 0034 9F93      		push r25
 155               	/* prologue end (size=7) */
  28:usart.c       ****      j=UDR0;
 157               	.LM15:
 158 0036 8CB1      		in r24,44-0x20
 159 0038 8093 0000 		sts j,r24
  29:usart.c       **** 	 switch(j){
 161               	.LM16:
 162 003c 9927      		clr r25
 163 003e 8533      		cpi r24,53
 164 0040 9105      		cpc r25,__zero_reg__
 165 0042 31F1      		breq .L13
 167               	.LM17:
 168 0044 8633      		cpi r24,54
 169 0046 9105      		cpc r25,__zero_reg__
 170 0048 7CF4      		brge .L19
 171 004a 8233      		cpi r24,50
 172 004c 9105      		cpc r25,__zero_reg__
 173 004e D1F0      		breq .L10
 174 0050 8333      		cpi r24,51
 175 0052 9105      		cpc r25,__zero_reg__
 176 0054 1CF4      		brge .L20
 177 0056 C197      		sbiw r24,49
 178 0058 99F0      		breq .L9
 179 005a 24C0      		rjmp .L7
 180               	.L20:
 181 005c 8333      		cpi r24,51
 182 005e 9105      		cpc r25,__zero_reg__
 183 0060 99F0      		breq .L11
 184 0062 C497      		sbiw r24,52
 185 0064 99F0      		breq .L12
 186 0066 1EC0      		rjmp .L7
 187               	.L19:
 188 0068 8733      		cpi r24,55
 189 006a 9105      		cpc r25,__zero_reg__
 190 006c A9F0      		breq .L15
 191 006e 8733      		cpi r24,55
 192 0070 9105      		cpc r25,__zero_reg__
 193 0072 84F0      		brlt .L14
 194 0074 8833      		cpi r24,56
 195 0076 9105      		cpc r25,__zero_reg__
 196 0078 89F0      		breq .L16
 197 007a C997      		sbiw r24,57
 198 007c 91F0      		breq .L17
 199 007e 12C0      		rjmp .L7
 200               	.L9:
  30:usart.c       **** 	     case 0X31: PORTA=0B11111110; break;
 202               	.LM18:
 203 0080 8EEF      		ldi r24,lo8(-2)
 204 0082 0DC0      		rjmp .L21
 205               	.L10:
  31:usart.c       **** 		 case 0X32: PORTA=0B11111101; break;
 207               	.LM19:
 208 0084 8DEF      		ldi r24,lo8(-3)
 209 0086 0BC0      		rjmp .L21
 210               	.L11:
  32:usart.c       **** 		 case 0X33: PORTA=0B11111011; break;
 212               	.LM20:
 213 0088 8BEF      		ldi r24,lo8(-5)
 214 008a 09C0      		rjmp .L21
 215               	.L12:
  33:usart.c       **** 		 case 0X34: PORTA=0B11110111; break;
 217               	.LM21:
 218 008c 87EF      		ldi r24,lo8(-9)
 219 008e 07C0      		rjmp .L21
 220               	.L13:
  34:usart.c       **** 		 case 0X35: PORTA=0B11101111; break;
 222               	.LM22:
 223 0090 8FEE      		ldi r24,lo8(-17)
 224 0092 05C0      		rjmp .L21
 225               	.L14:
  35:usart.c       **** 		 case 0X36: PORTA=0B11011111; break;
 227               	.LM23:
 228 0094 8FED      		ldi r24,lo8(-33)
 229 0096 03C0      		rjmp .L21
 230               	.L15:
  36:usart.c       **** 		 case 0X37: PORTA=0B10111111; break;
 232               	.LM24:
 233 0098 8FEB      		ldi r24,lo8(-65)
 234 009a 01C0      		rjmp .L21
 235               	.L16:
  37:usart.c       **** 		 case 0X38: PORTA=0B01111111; break;
 237               	.LM25:
 238 009c 8FE7      		ldi r24,lo8(127)
 239               	.L21:
 240 009e 8BBB      		out 59-0x20,r24
 241 00a0 01C0      		rjmp .L7
 242               	.L17:
  38:usart.c       **** 		 case 0X39: PORTA=0B00000000; break;
 244               	.LM26:
 245 00a2 1BBA      		out 59-0x20,__zero_reg__
 246               	.L7:
 247               	/* epilogue: frame size=0 */
 248 00a4 9F91      		pop r25
 249 00a6 8F91      		pop r24
 250 00a8 0F90      		pop __tmp_reg__
 251 00aa 0FBE      		out __SREG__,__tmp_reg__
 252 00ac 0F90      		pop __tmp_reg__
 253 00ae 1F90      		pop __zero_reg__
 254 00b0 1895      		reti
 255               	/* epilogue end (size=7) */
 256               	/* function __vector_18 size 72 (58) */
 258               	.Lscope3:
 260               	.global	main
 262               	main:
  39:usart.c       **** 		 default: break;
  40:usart.c       **** 		}
  41:usart.c       **** 	}
  42:usart.c       **** 	
  43:usart.c       **** int main(void){
 264               	.LM27:
 265               	/* prologue: frame size=0 */
 266 00b2 C0E0      		ldi r28,lo8(__stack - 0)
 267 00b4 D0E0      		ldi r29,hi8(__stack - 0)
 268 00b6 DEBF      		out __SP_H__,r29
 269 00b8 CDBF      		out __SP_L__,r28
 270               	/* prologue end (size=4) */
  44:usart.c       ****      unsigned char i,m;
  45:usart.c       **** 	 cli();
 272               	.LM28:
 273               	/* #APP */
 274 00ba F894      		cli
  46:usart.c       ****      port_init();
 276               	.LM29:
 277               	/* #NOAPP */
 278 00bc 0E94 0000 		call port_init
  47:usart.c       **** 	 usart0_init();
 280               	.LM30:
 281 00c0 0E94 0000 		call usart0_init
  48:usart.c       **** 	 sei();
 283               	.LM31:
 284               	/* #APP */
 285 00c4 7894      		sei
 286               	/* #NOAPP */
 287 00c6 C9E0      		ldi r28,lo8(9)
 288               	.L26:
  49:usart.c       **** 	 for(m=0;m<10;m++){
  50:usart.c       **** 	     i=PINC;
 290               	.LM32:
 291 00c8 83B3      		in r24,51-0x20
  51:usart.c       **** 		 usart0_transmit(i);
 293               	.LM33:
 294 00ca 0E94 0000 		call usart0_transmit
 296               	.LM34:
 297 00ce C150      		subi r28,lo8(-(-1))
 298 00d0 C7FF      		sbrs r28,7
 299 00d2 FACF      		rjmp .L26
 300               	.L27:
  52:usart.c       **** 		}
  53:usart.c       **** 	 for(;;){
 302               	.LM35:
 303 00d4 FFCF      		rjmp .L27
 304               	/* epilogue: frame size=0 */
 305               	/* epilogue: noreturn */
 306               	/* epilogue end (size=0) */
 307               	/* function main size 20 (16) */
 313               	.Lscope4:
 314               		.comm j,1,1
 316               		.text
 318               	Letext:
 319               	/* File "usart.c": code  112 = 0x0070 (  91), prologues  11, epilogues  10 */
DEFINED SYMBOLS
                            *ABS*:00000000 usart.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:65     .text:00000000 port_init
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:92     .text:0000000c usart0_init
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:122    .text:00000020 usart0_transmit
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:144    .text:00000028 __vector_18
                            *COM*:00000001 j
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:262    .text:000000b2 main
C:\DOCUME~1\POLO\LOCALS~1\Temp/ccYVaaaa.s:318    .text:000000d6 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

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