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

📄 queue.lst

📁 AVRMEG32编写的一个项目代码,里面包含一般应用的模块.
💻 LST
字号:
   1               		.file	"queue.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               		.lcomm msgReturnValue,1
  19               		.lcomm msgPoolPoint,1
  20               	.global	msgQueueIn
  22               	msgQueueIn:
  23               	.LFB2:
  24               	.LM1:
  25               	/* prologue: frame size=0 */
  26               	/* prologue end (size=0) */
  27               	.LM2:
  28 0000 9091 0000 		lds r25,msgPoolPoint
  29 0004 9038      		cpi r25,lo8(-128)
  30 0006 69F0      		breq .L1
  31               	.LM3:
  32               	/* #APP */
  33 0008 F894      		cli
  34               	.LM4:
  35               	/* #NOAPP */
  36 000a E92F      		mov r30,r25
  37 000c FF27      		clr r31
  38 000e EE0F      		add r30,r30
  39 0010 FF1F      		adc r31,r31
  40 0012 E050      		subi r30,lo8(-(msgPool))
  41 0014 F040      		sbci r31,hi8(-(msgPool))
  42 0016 8083      		st Z,r24
  43               	.LM5:
  44 0018 6183      		std Z+1,r22
  45 001a 9F5F      		subi r25,lo8(-(1))
  46 001c 9093 0000 		sts msgPoolPoint,r25
  47               	.LM6:
  48               	/* #APP */
  49 0020 7894      		sei
  50               	/* #NOAPP */
  51               	.L1:
  52 0022 0895      		ret
  53               	/* epilogue: frame size=0 */
  54               	/* epilogue: noreturn */
  55               	/* epilogue end (size=0) */
  56               	/* function msgQueueIn size 20 (20) */
  57               	.LFE2:
  59               	.global	msgQueueOut
  61               	msgQueueOut:
  62               	.LFB3:
  63               	.LM7:
  64               	/* prologue: frame size=0 */
  65               	/* prologue end (size=0) */
  66               	.LM8:
  67 0024 4091 0000 		lds r20,msgPoolPoint
  68 0028 4423      		tst r20
  69 002a 19F4      		brne .L4
  70               	.LM9:
  71 002c 80E0      		ldi r24,lo8(0)
  72 002e 90E0      		ldi r25,hi8(0)
  73 0030 0895      		ret
  74               	.L4:
  75               	.LM10:
  76               	/* #APP */
  77 0032 F894      		cli
  78               	/* #NOAPP */
  79 0034 2091 0000 		lds r18,msgPool
  80               	.LM11:
  81 0038 4130      		cpi r20,lo8(1)
  82 003a 71F4      		brne .L5
  83               	.LM12:
  84 003c 4150      		subi r20,lo8(-(-1))
  85 003e 4093 0000 		sts msgPoolPoint,r20
  86 0042 8091 0000 		lds r24,msgPool+1
  87 0046 8093 0000 		sts msgReturnValue,r24
  88               	.LM13:
  89 004a 2093 0000 		sts msgType,r18
  90               	.LM14:
  91               	/* #APP */
  92 004e 7894      		sei
  93               	.LM15:
  94               	/* #NOAPP */
  95 0050 8091 0000 		lds r24,msgType
  96 0054 9927      		clr r25
  97 0056 0895      		ret
  98               	.L5:
  99               	.LM16:
 100 0058 2093 0000 		sts msgType,r18
 101               	.LM17:
 102 005c 1092 0000 		sts msgReturnValue,__zero_reg__
 103               	.LM18:
 104 0060 61E0      		ldi r22,lo8(1)
 105 0062 6417      		cp r22,r20
 106 0064 D0F4      		brsh .L16
 107 0066 522F      		mov r21,r18
 108 0068 A0E0      		ldi r26,lo8(0)
 109 006a E0E0      		ldi r30,lo8(msgPool+2)
 110 006c F0E0      		ldi r31,hi8(msgPool+2)
 111               	.L10:
 112               	.LM19:
 113 006e 252F      		mov r18,r21
 114 0070 3327      		clr r19
 115 0072 207F      		andi r18,lo8(240)
 116 0074 3070      		andi r19,hi8(240)
 117 0076 7081      		ld r23,Z
 118 0078 3296      		adiw r30,2
 119 007a 872F      		mov r24,r23
 120 007c 9927      		clr r25
 121 007e 807F      		andi r24,lo8(240)
 122 0080 9070      		andi r25,hi8(240)
 123 0082 2817      		cp r18,r24
 124 0084 3907      		cpc r19,r25
 125 0086 14F4      		brge .L8
 126               	.LM20:
 127 0088 572F      		mov r21,r23
 128               	.LM21:
 129 008a A62F      		mov r26,r22
 130               	.L8:
 131               	.LM22:
 132 008c 6F5F      		subi r22,lo8(-(1))
 133 008e 6417      		cp r22,r20
 134 0090 70F3      		brlo .L10
 135 0092 A093 0000 		sts msgReturnValue,r26
 136 0096 5093 0000 		sts msgType,r21
 137               	.L16:
 138               	.LM23:
 139 009a 6091 0000 		lds r22,msgReturnValue
 140               	.LM24:
 141 009e E62F      		mov r30,r22
 142 00a0 FF27      		clr r31
 143 00a2 EE0F      		add r30,r30
 144 00a4 FF1F      		adc r31,r31
 145 00a6 E050      		subi r30,lo8(-(msgPool))
 146 00a8 F040      		sbci r31,hi8(-(msgPool))
 147 00aa 8181      		ldd r24,Z+1
 148 00ac 8093 0000 		sts msgReturnValue,r24
 149               	.LM25:
 150 00b0 8091 0000 		lds r24,msgPoolPoint
 151 00b4 8150      		subi r24,lo8(-(-1))
 152 00b6 8093 0000 		sts msgPoolPoint,r24
 153               	.LM26:
 154 00ba 6817      		cp r22,r24
 155 00bc 48F4      		brsh .L18
 156 00be 982F      		mov r25,r24
 157               	.L14:
 158               	.LM27:
 159 00c0 8281      		ldd r24,Z+2
 160 00c2 8083      		st Z,r24
 161               	.LM28:
 162 00c4 8381      		ldd r24,Z+3
 163 00c6 8183      		std Z+1,r24
 164               	.LM29:
 165 00c8 6F5F      		subi r22,lo8(-(1))
 166 00ca 3296      		adiw r30,2
 167 00cc 6917      		cp r22,r25
 168 00ce C0F3      		brlo .L14
 169               	.L18:
 170               	.LM30:
 171               	/* #APP */
 172 00d0 7894      		sei
 173               	.LM31:
 174               	/* #NOAPP */
 175 00d2 8091 0000 		lds r24,msgType
 176 00d6 9927      		clr r25
 177               	.LM32:
 178 00d8 0895      		ret
 179               	/* epilogue: frame size=0 */
 180               	/* epilogue: noreturn */
 181               	/* epilogue end (size=0) */
 182               	/* function msgQueueOut size 94 (94) */
 183               	.LFE3:
 185               	.global	msgQueueGetData
 187               	msgQueueGetData:
 188               	.LFB4:
 189               	.LM33:
 190               	/* prologue: frame size=0 */
 191               	/* prologue end (size=0) */
 192               	.LM34:
 193 00da 8091 0000 		lds r24,msgReturnValue
 194               	.LM35:
 195 00de 9927      		clr r25
 196               	/* epilogue: frame size=0 */
 197 00e0 0895      		ret
 198               	/* epilogue end (size=1) */
 199               	/* function msgQueueGetData size 4 (3) */
 200               	.LFE4:
 202               		.lcomm msgType,1
 203               		.lcomm msgPool,256
 204               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 queue.c
  f:\temp/ccE3aaaa.s:3      *ABS*:0000003f __SREG__
  f:\temp/ccE3aaaa.s:4      *ABS*:0000003e __SP_H__
  f:\temp/ccE3aaaa.s:5      *ABS*:0000003d __SP_L__
  f:\temp/ccE3aaaa.s:6      *ABS*:00000000 __tmp_reg__
  f:\temp/ccE3aaaa.s:7      *ABS*:00000001 __zero_reg__
                             .bss:00000000 msgReturnValue
  f:\temp/ccE3aaaa.s:18     .bss:00000001 msgPoolPoint
  f:\temp/ccE3aaaa.s:22     .text:00000000 msgQueueIn
  f:\temp/ccE3aaaa.s:202    .bss:00000003 msgPool
  f:\temp/ccE3aaaa.s:61     .text:00000024 msgQueueOut
  f:\temp/ccE3aaaa.s:19     .bss:00000002 msgType
  f:\temp/ccE3aaaa.s:187    .text:000000da msgQueueGetData

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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