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

📄 timers.lst

📁 这是我在网上找到一个关于AVRX嵌入式操作系统在ATMAGE103上移植的例程,现在拿出来跟大学分享,希望大学喜欢呀!
💻 LST
字号:
   1               		.file	"Timers.c"
   2               		.arch atmega103
   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	task2Tcb
  19               		.section	.progmem.data,"a",@progbits
  22               	task2Tcb:
  23 0000 0000      		.word	task2Stk+40
  24 0002 0000      		.word	pm(task2)
  25 0004 0000      		.word	task2Pid
  26 0006 02        		.byte	2
  27               	.global	task1Tcb
  30               	task1Tcb:
  31 0007 0000      		.word	task1Stk+40
  32 0009 0000      		.word	pm(task1)
  33 000b 0000      		.word	task1Pid
  34 000d 03        		.byte	3
  35               	.global	MonitorTcb
  38               	MonitorTcb:
  39 000e 0000      		.word	MonitorStk+74
  40 0010 0000      		.word	pm(Monitor)
  41 0012 0000      		.word	MonitorPid
  42 0014 00        		.byte	0
  43               		.text
  44               	.global	__vector_16
  46               	__vector_16:
  47               	.LFB2:
  48               	.LM1:
  49               	/* prologue: frame size=0 */
  50               	/* prologue: naked */
  51               	/* prologue end (size=0) */
  52               	.LM2:
  53 0000 0E94 0000 		call IntProlog
  54               	.LM3:
  55 0004 80EE      		ldi r24,lo8(-32)
  56 0006 82BF      		out 82-0x20,r24
  57               	.LM4:
  58 0008 0E94 0000 		call AvrXTimerHandler
  59               	.LM5:
  60 000c 0E94 0000 		call Epilog
  61               	/* epilogue: frame size=0 */
  62               	/* epilogue: naked */
  63               	/* epilogue end (size=0) */
  64               	/* function __vector_16 size 8 (8) */
  65               	.LFE2:
  67               	.global	task1
  69               	task1:
  70               	.LFB3:
  71               	.LM6:
  72               	/* prologue: frame size=0 */
  73               	/* prologue: naked */
  74               	/* prologue end (size=0) */
  75               	.L3:
  76               	.LM7:
  77 0010 60E2      		ldi r22,lo8(800)
  78 0012 73E0      		ldi r23,hi8(800)
  79 0014 80E0      		ldi r24,lo8(timer1)
  80 0016 90E0      		ldi r25,hi8(timer1)
  81 0018 0E94 0000 		call AvrXStartTimer
  82               	.LM8:
  83 001c 80E0      		ldi r24,lo8(timer1)
  84 001e 90E0      		ldi r25,hi8(timer1)
  85 0020 0E94 0000 		call AvrXWaitTimer
  86               	.LM9:
  87 0024 88B3      		in r24,56-0x20
  88 0026 11E0      		ldi r17,lo8(1)
  89 0028 8127      		eor r24,r17
  90 002a 88BB      		out 56-0x20,r24
  91               	.LM10:
  92 002c 68EC      		ldi r22,lo8(200)
  93 002e 70E0      		ldi r23,hi8(200)
  94 0030 80E0      		ldi r24,lo8(timer1)
  95 0032 90E0      		ldi r25,hi8(timer1)
  96 0034 0E94 0000 		call AvrXStartTimer
  97               	.LM11:
  98 0038 80E0      		ldi r24,lo8(timer1)
  99 003a 90E0      		ldi r25,hi8(timer1)
 100 003c 0E94 0000 		call AvrXWaitTimer
 101               	.LM12:
 102 0040 88B3      		in r24,56-0x20
 103 0042 8127      		eor r24,r17
 104 0044 88BB      		out 56-0x20,r24
 105 0046 E4CF      		rjmp .L3
 106               	/* epilogue: frame size=0 */
 107               	/* epilogue: naked */
 108               	/* epilogue end (size=0) */
 109               	/* function task1 size 28 (28) */
 110               	.LFE3:
 112               	.global	task2
 114               	task2:
 115               	.LFB4:
 116               	.LM13:
 117               	/* prologue: frame size=0 */
 118               	/* prologue: naked */
 119               	/* prologue end (size=0) */
 120               	.L6:
 121               	.LM14:
 122 0048 60ED      		ldi r22,lo8(2000)
 123 004a 77E0      		ldi r23,hi8(2000)
 124 004c 80E0      		ldi r24,lo8(timer2)
 125 004e 90E0      		ldi r25,hi8(timer2)
 126 0050 0E94 0000 		call AvrXDelay
 127               	.LM15:
 128 0054 88B3      		in r24,56-0x20
 129 0056 92E0      		ldi r25,lo8(2)
 130 0058 8927      		eor r24,r25
 131 005a 88BB      		out 56-0x20,r24
 132 005c F5CF      		rjmp .L6
 133               	/* epilogue: frame size=0 */
 134               	/* epilogue: naked */
 135               	/* epilogue end (size=0) */
 136               	/* function task2 size 11 (11) */
 137               	.LFE4:
 139               	.global	main
 141               	main:
 142               	.LFB5:
 143               	.LM16:
 144               	/* prologue: frame size=0 */
 145 005e C0E0      		ldi r28,lo8(__stack - 0)
 146 0060 D0E0      		ldi r29,hi8(__stack - 0)
 147 0062 DEBF      		out __SP_H__,r29
 148 0064 CDBF      		out __SP_L__,r28
 149               	/* prologue end (size=4) */
 150               	.LM17:
 151 0066 80E0      		ldi r24,lo8(0)
 152 0068 90E0      		ldi r25,hi8(0)
 153 006a 0E94 0000 		call AvrXSetKernelStack
 154               	.LM18:
 155 006e 80E2      		ldi r24,lo8(32)
 156 0070 85BF      		out 85-0x20,r24
 157               	.LM19:
 158 0072 80EE      		ldi r24,lo8(-32)
 159 0074 82BF      		out 82-0x20,r24
 160               	.LM20:
 161 0076 86E0      		ldi r24,lo8(6)
 162 0078 83BF      		out 83-0x20,r24
 163               	.LM21:
 164 007a 81E0      		ldi r24,lo8(1)
 165 007c 87BF      		out 87-0x20,r24
 166               	.LM22:
 167 007e 8FEF      		ldi r24,lo8(-1)
 168 0080 87BB      		out 55-0x20,r24
 169               	.LM23:
 170 0082 88BB      		out 56-0x20,r24
 171               	.LM24:
 172 0084 80E0      		ldi r24,lo8(task1Tcb)
 173 0086 90E0      		ldi r25,hi8(task1Tcb)
 174 0088 0E94 0000 		call AvrXRunTask
 175               	.LM25:
 176 008c 80E0      		ldi r24,lo8(task2Tcb)
 177 008e 90E0      		ldi r25,hi8(task2Tcb)
 178 0090 0E94 0000 		call AvrXRunTask
 179               	.LM26:
 180 0094 80E0      		ldi r24,lo8(MonitorTcb)
 181 0096 90E0      		ldi r25,hi8(MonitorTcb)
 182 0098 0E94 0000 		call AvrXRunTask
 183               	.LM27:
 184 009c 89E1      		ldi r24,lo8(25)
 185 009e 90E0      		ldi r25,hi8(25)
 186 00a0 0E94 0000 		call InitSerialIO
 187               	.LM28:
 188 00a4 0E94 0000 		call Epilog
 189               	.LM29:
 190 00a8 80E0      		ldi r24,lo8(0)
 191 00aa 90E0      		ldi r25,hi8(0)
 192               	/* epilogue: frame size=0 */
 193 00ac 0C94 0000 		jmp exit
 194               	/* epilogue end (size=2) */
 195               	/* function main size 41 (35) */
 196               	.LFE5:
 198               		.comm MonitorStk,75,1
 199               		.comm MonitorPid,6,1
 200               		.comm timer1,6,1
 201               		.comm timer2,6,1
 202               		.comm task1Stk,41,1
 203               		.comm task1Pid,6,1
 204               		.comm task2Stk,41,1
 205               		.comm task2Pid,6,1
 206               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 Timers.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:22     .progmem.data:00000000 task2Tcb
                            *COM*:00000029 task2Stk
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:114    .text:00000048 task2
                            *COM*:00000006 task2Pid
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:30     .progmem.data:00000007 task1Tcb
                            *COM*:00000029 task1Stk
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:69     .text:00000010 task1
                            *COM*:00000006 task1Pid
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:38     .progmem.data:0000000e MonitorTcb
                            *COM*:0000004b MonitorStk
                            *COM*:00000006 MonitorPid
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:46     .text:00000000 __vector_16
                            *COM*:00000006 timer1
                            *COM*:00000006 timer2
C:\DOCUME~1\Admin\LOCALS~1\Temp/cc6fbaaa.s:141    .text:0000005e main

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
Monitor
IntProlog
AvrXTimerHandler
Epilog
AvrXStartTimer
AvrXWaitTimer
AvrXDelay
__stack
AvrXSetKernelStack
AvrXRunTask
InitSerialIO
exit

⌨️ 快捷键说明

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