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

📄 debugprint.lst

📁 单片机源代码
💻 LST
字号:
   1               		.file	"debugprint.c"
   2               		.arch atmega8
   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:
  64               	.global	usart_putchar
  66               	usart_putchar:
   1:debugprint.c  **** /*
   2:debugprint.c  **** 	debugprint.c
   3:debugprint.c  **** 	UART初始化标准I/O
   4:debugprint.c  **** 	
   5:debugprint.c  **** 	外部4MHz晶振
   6:debugprint.c  **** 	
   7:debugprint.c  **** 	芯艺 2004-09-11
   8:debugprint.c  **** */
   9:debugprint.c  **** 
  10:debugprint.c  **** 
  11:debugprint.c  **** #include <avr/io.h>
  12:debugprint.c  **** 
  13:debugprint.c  **** #include <stdio.h>
  14:debugprint.c  **** 
  15:debugprint.c  **** //uart写一字节数据
  16:debugprint.c  **** int usart_putchar(char c)
  17:debugprint.c  **** {
  68               	.LM1:
  69               	/* prologue: frame size=0 */
  70 0000 CF93      		push r28
  71               	/* prologue end (size=1) */
  72 0002 C82F      		mov r28,r24
  18:debugprint.c  **** 	if(c=='\n')
  74               	.LM2:
  75 0004 8A30      		cpi r24,lo8(10)
  76 0006 11F4      		brne .L4
  19:debugprint.c  **** 		usart_putchar('\r');
  78               	.LM3:
  79 0008 8DE0      		ldi r24,lo8(13)
  80 000a FADF      		rcall usart_putchar
  20:debugprint.c  **** 	loop_until_bit_is_set(UCSRA,UDRE);
  82               	.LM4:
  83               	.L4:
  84 000c 5D9B      		sbis 43-0x20,5
  85 000e FECF      		rjmp .L4
  21:debugprint.c  **** 	UDR=c;
  87               	.LM5:
  88 0010 CCB9      		out 44-0x20,r28
  22:debugprint.c  **** 	return 0;
  23:debugprint.c  **** }
  90               	.LM6:
  91 0012 80E0      		ldi r24,lo8(0)
  92 0014 90E0      		ldi r25,hi8(0)
  93               	/* epilogue: frame size=0 */
  94 0016 CF91      		pop r28
  95 0018 0895      		ret
  96               	/* epilogue end (size=2) */
  97               	/* function usart_putchar size 13 (10) */
 100               	.global	usart_getchar
 102               	usart_getchar:
  24:debugprint.c  **** //uart读一字节数据
  25:debugprint.c  **** int usart_getchar(void)
  26:debugprint.c  **** {
 104               	.LM7:
 105               	/* prologue: frame size=0 */
 106               	/* prologue end (size=0) */
  27:debugprint.c  **** 	loop_until_bit_is_set(UCSRA,RXC);
 108               	.LM8:
 109               	.L9:
 110 001a 5F9B      		sbis 43-0x20,7
 111 001c FECF      		rjmp .L9
  28:debugprint.c  **** 	return UDR;
 113               	.LM9:
 114 001e 8CB1      		in r24,44-0x20
 115 0020 9927      		clr r25
  29:debugprint.c  **** }
 117               	.LM10:
 118               	/* epilogue: frame size=0 */
 119 0022 0895      		ret
 120               	/* epilogue end (size=1) */
 121               	/* function usart_getchar size 5 (4) */
 124               	.global	IoInit
 126               	IoInit:
  30:debugprint.c  **** 
  31:debugprint.c  **** void IoInit(void)
  32:debugprint.c  **** {
 128               	.LM11:
 129               	/* prologue: frame size=0 */
 130               	/* prologue end (size=0) */
  33:debugprint.c  **** 	//初始化uart
  34:debugprint.c  **** 	UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
 132               	.LM12:
 133 0024 88E1      		ldi r24,lo8(24)
 134 0026 8AB9      		out 42-0x20,r24
  35:debugprint.c  **** 	UBRRL=25;	//9600 baud 6MHz:38  4MHz:25	
 136               	.LM13:
 137 0028 89E1      		ldi r24,lo8(25)
 138 002a 89B9      		out 41-0x20,r24
  36:debugprint.c  **** 	
  37:debugprint.c  **** 	//打开标准I/O流
  38:debugprint.c  **** 	fdevopen(usart_putchar,usart_getchar,0);	
 140               	.LM14:
 141 002c 40E0      		ldi r20,lo8(0)
 142 002e 50E0      		ldi r21,hi8(0)
 143 0030 60E0      		ldi r22,lo8(pm(usart_getchar))
 144 0032 70E0      		ldi r23,hi8(pm(usart_getchar))
 145 0034 80E0      		ldi r24,lo8(pm(usart_putchar))
 146 0036 90E0      		ldi r25,hi8(pm(usart_putchar))
 147 0038 00D0      		rcall fdevopen
  39:debugprint.c  **** }
 149               	.LM15:
 150               	/* epilogue: frame size=0 */
 151 003a 0895      		ret
 152               	/* epilogue end (size=1) */
 153               	/* function IoInit size 12 (11) */
 155               		.text
 157               	Letext:
 158               	/* File "debugprint.c": code   30 = 0x001e (  25), prologues   1, epilogues   4 */
DEFINED SYMBOLS
                            *ABS*:00000000 debugprint.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0waaaa.s:66     .text:00000000 usart_putchar
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0waaaa.s:102    .text:0000001a usart_getchar
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0waaaa.s:126    .text:00000024 IoInit
G:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/cc0waaaa.s:157    .text:0000003c Letext
                            *ABS*:00000000 *ABS*

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
fdevopen

⌨️ 快捷键说明

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