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

📄 uart.lst

📁 这是使用AVR GCC的读取DS18B20的代码。 代码功能很全
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"uart.c"
   2               		.arch atmega32
   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
  17               	.Ltext0:
  18               	.global	__vector_13
  20               	__vector_13:
  21               	.LFB4:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24 0000 1F92      		push __zero_reg__
  25 0002 0F92      		push __tmp_reg__
  26 0004 0FB6      		in __tmp_reg__,__SREG__
  27 0006 0F92      		push __tmp_reg__
  28 0008 1124      		clr __zero_reg__
  29 000a 2F93      		push r18
  30 000c 8F93      		push r24
  31 000e 9F93      		push r25
  32 0010 EF93      		push r30
  33 0012 FF93      		push r31
  34               	/* prologue end (size=10) */
  35               	.LM2:
  36 0014 9BB1      		in r25,43-0x20
  37               	.LM3:
  38 0016 2CB1      		in r18,44-0x20
  39               	.LM4:
  40 0018 9871      		andi r25,lo8(24)
  41               	.LM5:
  42 001a E091 0000 		lds r30,UART_RxHead
  43 001e EF5F      		subi r30,lo8(-(1))
  44 0020 EF71      		andi r30,lo8(31)
  45               	.LM6:
  46 0022 8091 0000 		lds r24,UART_RxTail
  47 0026 E817      		cp r30,r24
  48 0028 11F4      		brne .L2
  49               	.LM7:
  50 002a 92E0      		ldi r25,lo8(2)
  51 002c 06C0      		rjmp .L3
  52               	.L2:
  53               	.LM8:
  54 002e E093 0000 		sts UART_RxHead,r30
  55               	.LM9:
  56 0032 FF27      		clr r31
  57 0034 E050      		subi r30,lo8(-(UART_RxBuf))
  58 0036 F040      		sbci r31,hi8(-(UART_RxBuf))
  59 0038 2083      		st Z,r18
  60               	.L3:
  61               	.LM10:
  62 003a 9093 0000 		sts UART_LastRxError,r25
  63               	/* epilogue: frame size=0 */
  64 003e FF91      		pop r31
  65 0040 EF91      		pop r30
  66 0042 9F91      		pop r25
  67 0044 8F91      		pop r24
  68 0046 2F91      		pop r18
  69 0048 0F90      		pop __tmp_reg__
  70 004a 0FBE      		out __SREG__,__tmp_reg__
  71 004c 0F90      		pop __tmp_reg__
  72 004e 1F90      		pop __zero_reg__
  73 0050 1895      		reti
  74               	/* epilogue end (size=10) */
  75               	/* function __vector_13 size 41 (21) */
  76               	.LFE4:
  78               	.global	__vector_14
  80               	__vector_14:
  81               	.LFB5:
  82               	.LM11:
  83               	/* prologue: frame size=0 */
  84 0052 1F92      		push __zero_reg__
  85 0054 0F92      		push __tmp_reg__
  86 0056 0FB6      		in __tmp_reg__,__SREG__
  87 0058 0F92      		push __tmp_reg__
  88 005a 1124      		clr __zero_reg__
  89 005c 8F93      		push r24
  90 005e 9F93      		push r25
  91 0060 EF93      		push r30
  92 0062 FF93      		push r31
  93               	/* prologue end (size=9) */
  94               	.LM12:
  95 0064 9091 0000 		lds r25,UART_TxHead
  96 0068 8091 0000 		lds r24,UART_TxTail
  97 006c 9817      		cp r25,r24
  98 006e 69F0      		breq .L5
  99               	.LM13:
 100 0070 8091 0000 		lds r24,UART_TxTail
 101 0074 8F5F      		subi r24,lo8(-(1))
 102 0076 8F71      		andi r24,lo8(31)
 103               	.LM14:
 104 0078 8093 0000 		sts UART_TxTail,r24
 105               	.LM15:
 106 007c E82F      		mov r30,r24
 107 007e FF27      		clr r31
 108 0080 E050      		subi r30,lo8(-(UART_TxBuf))
 109 0082 F040      		sbci r31,hi8(-(UART_TxBuf))
 110 0084 8081      		ld r24,Z
 111 0086 8CB9      		out 44-0x20,r24
 112 0088 01C0      		rjmp .L4
 113               	.L5:
 114               	.LM16:
 115 008a 5598      		cbi 42-0x20,5
 116               	.L4:
 117               	/* epilogue: frame size=0 */
 118 008c FF91      		pop r31
 119 008e EF91      		pop r30
 120 0090 9F91      		pop r25
 121 0092 8F91      		pop r24
 122 0094 0F90      		pop __tmp_reg__
 123 0096 0FBE      		out __SREG__,__tmp_reg__
 124 0098 0F90      		pop __tmp_reg__
 125 009a 1F90      		pop __zero_reg__
 126 009c 1895      		reti
 127               	/* epilogue end (size=9) */
 128               	/* function __vector_14 size 38 (20) */
 129               	.LFE5:
 131               	.global	uart_init
 133               	uart_init:
 134               	.LFB6:
 135               	.LM17:
 136               	/* prologue: frame size=0 */
 137               	/* prologue end (size=0) */
 138 009e 9C01      		movw r18,r24
 139               	.LM18:
 140 00a0 1092 0000 		sts UART_TxHead,__zero_reg__
 141               	.LM19:
 142 00a4 1092 0000 		sts UART_TxTail,__zero_reg__
 143               	.LM20:
 144 00a8 1092 0000 		sts UART_RxHead,__zero_reg__
 145               	.LM21:
 146 00ac 1092 0000 		sts UART_RxTail,__zero_reg__
 147               	.LM22:
 148 00b0 832F      		mov r24,r19
 149 00b2 9927      		clr r25
 150 00b4 80BD      		out 64-0x20,r24
 151               	.LM23:
 152 00b6 29B9      		out 41-0x20,r18
 153               	.LM24:
 154 00b8 88E9      		ldi r24,lo8(-104)
 155 00ba 8AB9      		out 42-0x20,r24
 156               	.LM25:
 157 00bc 86E8      		ldi r24,lo8(-122)
 158 00be 80BD      		out 64-0x20,r24
 159               	/* epilogue: frame size=0 */
 160 00c0 0895      		ret
 161               	/* epilogue end (size=1) */
 162               	/* function uart_init size 18 (17) */
 163               	.LFE6:
 165               	.global	uart_getc
 167               	uart_getc:
 168               	.LFB7:
 169               	.LM26:
 170               	/* prologue: frame size=0 */
 171               	/* prologue end (size=0) */
 172               	.LM27:
 173 00c2 9091 0000 		lds r25,UART_RxHead
 174 00c6 8091 0000 		lds r24,UART_RxTail
 175 00ca 9817      		cp r25,r24
 176 00cc 19F4      		brne .L9
 177               	.LM28:
 178 00ce 80E0      		ldi r24,lo8(256)
 179 00d0 91E0      		ldi r25,hi8(256)
 180 00d2 0895      		ret
 181               	.L9:
 182               	.LM29:
 183 00d4 8091 0000 		lds r24,UART_RxTail
 184 00d8 8F5F      		subi r24,lo8(-(1))
 185 00da 8F71      		andi r24,lo8(31)
 186               	.LM30:
 187 00dc 8093 0000 		sts UART_RxTail,r24
 188               	.LM31:
 189 00e0 E82F      		mov r30,r24
 190 00e2 FF27      		clr r31
 191 00e4 E050      		subi r30,lo8(-(UART_RxBuf))
 192 00e6 F040      		sbci r31,hi8(-(UART_RxBuf))
 193 00e8 2081      		ld r18,Z
 194               	.LM32:
 195 00ea 8091 0000 		lds r24,UART_LastRxError
 196 00ee 9927      		clr r25
 197 00f0 982F      		mov r25,r24
 198 00f2 8827      		clr r24
 199 00f4 820F      		add r24,r18
 200 00f6 911D      		adc r25,__zero_reg__
 201               	.LM33:
 202 00f8 0895      		ret
 203               	/* epilogue: frame size=0 */
 204               	/* epilogue: noreturn */
 205               	/* epilogue end (size=0) */
 206               	/* function uart_getc size 28 (28) */
 207               	.LFE7:
 209               	.global	uart_putc
 211               	uart_putc:
 212               	.LFB8:
 213               	.LM34:
 214               	/* prologue: frame size=0 */
 215               	/* prologue end (size=0) */
 216 00fa 282F      		mov r18,r24
 217               	.LM35:
 218 00fc 9091 0000 		lds r25,UART_TxHead
 219 0100 9F5F      		subi r25,lo8(-(1))
 220 0102 9F71      		andi r25,lo8(31)
 221               	.L11:
 222               	.LM36:
 223 0104 8091 0000 		lds r24,UART_TxTail

⌨️ 快捷键说明

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