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

📄 rtos.lst

📁 rtos 是atmega单片机用的实时系统
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"RTOS.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
  17               	.Ltext0:
  18               	.global	OSTaskCreate
  20               	OSTaskCreate:
  21               	.LFB3:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25 0000 DB01      		movw r26,r22
  26               	.LM2:
  27 0002 8C93      		st X,r24
  28               	.LM3:
  29 0004 892F      		mov r24,r25
  30 0006 9927      		clr r25
  31 0008 8E93      		st -X,r24
  32               	.LM4:
  33 000a 1E92      		st -X,__zero_reg__
  34               	.LM5:
  35 000c 1E92      		st -X,__zero_reg__
  36               	.LM6:
  37 000e 80E8      		ldi r24,lo8(-128)
  38 0010 8E93      		st -X,r24
  39 0012 1197      		sbiw r26,1
  40               	.LM7:
  41 0014 80E0      		ldi r24,lo8(0)
  42               	.L5:
  43               	.LM8:
  44 0016 8C93      		st X,r24
  45 0018 1197      		sbiw r26,1
  46               	.LM9:
  47 001a 8F5F      		subi r24,lo8(-(1))
  48 001c 8E30      		cpi r24,lo8(14)
  49 001e D8F3      		brlo .L5
  50               	.LM10:
  51 0020 842F      		mov r24,r20
  52 0022 9927      		clr r25
  53 0024 FC01      		movw r30,r24
  54 0026 EE0F      		lsl r30
  55 0028 FF1F      		rol r31
  56 002a EE0F      		lsl r30
  57 002c FF1F      		rol r31
  58 002e E80F      		add r30,r24
  59 0030 F91F      		adc r31,r25
  60 0032 E050      		subi r30,lo8(-(TCB))
  61 0034 F040      		sbci r31,hi8(-(TCB))
  62 0036 A083      		st Z,r26
  63 0038 B183      		std Z+1,r27
  64               	.LM11:
  65 003a 21E0      		ldi r18,lo8(1)
  66 003c 30E0      		ldi r19,hi8(1)
  67 003e 02C0      		rjmp 2f
  68 0040 220F      	1:	lsl r18
  69 0042 331F      		rol r19
  70 0044 8A95      	2:	dec r24
  71 0046 E2F7      		brpl 1b
  72 0048 222A      		or r2,r18
  73               	/* epilogue: frame size=0 */
  74 004a 0895      		ret
  75               	/* epilogue end (size=1) */
  76               	/* function OSTaskCreate size 39 (38) */
  77               	.LFE3:
  79               	.global	OSStartTask
  81               	OSStartTask:
  82               	.LFB4:
  83               	.LM12:
  84               	/* prologue: frame size=0 */
  85               	/* prologue end (size=0) */
  86               	.LM13:
  87 004c 44E0      		ldi r20,lo8(4)
  88 004e 342E      		mov r3,r20
  89               	.LM14:
  90 0050 532C      		mov r5,r3
  91               	.LM15:
  92 0052 8091 0000 		lds r24,TCB+20
  93 0056 9091 0000 		lds r25,(TCB+20)+1
  94 005a 4196      		adiw r24,17
  95 005c 9EBF      		out (93)+1-0x20,r25
  96 005e 8DBF      		out 93-0x20,r24
  97               	.LM16:
  98               	/* #APP */
  99 0060 1895      		reti
 100               		
 101               	/* #NOAPP */
 102               	/* epilogue: frame size=0 */
 103 0062 0895      		ret
 104               	/* epilogue end (size=1) */
 105               	/* function OSStartTask size 15 (14) */
 106               	.LFE4:
 108               	.global	OS_TASK_SW
 110               	OS_TASK_SW:
 111               	.LFB5:
 112               	.LM17:
 113               	/* prologue: frame size=0 */
 114               	/* prologue end (size=0) */
 115               	.LM18:
 116               	/* #APP */
 117 0064 01E0      		LDI  R16,0x01             
 118               		
 119               	.LM19:
 120 0066 7894      		SEI                       
 121               		
 122               	.LM20:
 123 0068 1F92      		PUSH __zero_reg__         
 124               		
 125               	.LM21:
 126 006a 0F92      		PUSH __tmp_reg__          
 127               		
 128               	.LM22:
 129 006c 0FB6      		IN   __tmp_reg__,__SREG__ 
 130               		
 131               	.LM23:
 132 006e 0F92      		PUSH __tmp_reg__          
 133               		
 134               	.LM24:
 135 0070 1124      		CLR  __zero_reg__         
 136               		
 137               	.LM25:
 138 0072 2F93      		PUSH R18                  
 139               		
 140               	.LM26:
 141 0074 3F93      		PUSH R19                  
 142               		
 143               	.LM27:
 144 0076 4F93      		PUSH R20                  
 145               		
 146               	.LM28:
 147 0078 5F93      		PUSH R21                  
 148               		
 149               	.LM29:
 150 007a 6F93      		PUSH R22                  
 151               		
 152               	.LM30:
 153 007c 7F93      		PUSH R23                  
 154               		
 155               	.LM31:
 156 007e 8F93      		PUSH R24                  
 157               		
 158               	.LM32:
 159 0080 9F93      		PUSH R25                  
 160               		
 161               	.LM33:
 162 0082 AF93      		PUSH R26                  
 163               		
 164               	.LM34:
 165 0084 BF93      		PUSH R27                  
 166               		
 167               	.LM35:
 168 0086 EF93      		PUSH R30                  
 169               		
 170               	.LM36:
 171 0088 FF93      		PUSH R31                  
 172               		
 173               	.LM37:
 174               		Int_OSSched:              
 175               		
 176               	.LM38:
 177 008a 7894      		SEI                       
 178               		
 179               	.LM39:
 180 008c CF93      		PUSH R28                  
 181               		
 182               	.LM40:
 183 008e DF93      		PUSH R29                  
 184               		
 185               	.LM41:
 186               	/* #NOAPP */
 187 0090 832D      		mov r24,r3
 188 0092 9927      		clr r25
 189 0094 FC01      		movw r30,r24
 190 0096 EE0F      		lsl r30
 191 0098 FF1F      		rol r31
 192 009a EE0F      		lsl r30
 193 009c FF1F      		rol r31
 194 009e E80F      		add r30,r24
 195 00a0 F91F      		adc r31,r25
 196 00a2 E050      		subi r30,lo8(-(TCB))
 197 00a4 F040      		sbci r31,hi8(-(TCB))
 198 00a6 8DB7      		in r24,93-0x20
 199 00a8 9EB7      		in r25,(93)+1-0x20
 200 00aa 8083      		st Z,r24
 201 00ac 9183      		std Z+1,r25
 202               	.LM42:
 203 00ae 352C      		mov r3,r5
 204               	.LM43:
 205               	/* #APP */
 206 00b0 F894      		cli
 207               	.LM44:
 208               	/* #NOAPP */
 209 00b2 852D      		mov r24,r5
 210 00b4 9927      		clr r25
 211 00b6 FC01      		movw r30,r24
 212 00b8 EE0F      		lsl r30
 213 00ba FF1F      		rol r31
 214 00bc EE0F      		lsl r30
 215 00be FF1F      		rol r31
 216 00c0 E80F      		add r30,r24
 217 00c2 F91F      		adc r31,r25
 218 00c4 E050      		subi r30,lo8(-(TCB))
 219 00c6 F040      		sbci r31,hi8(-(TCB))
 220 00c8 8081      		ld r24,Z
 221 00ca 9181      		ldd r25,Z+1
 222 00cc 9EBF      		out (93)+1-0x20,r25
 223 00ce 8DBF      		out 93-0x20,r24
 224               	.LM45:
 225               	/* #APP */
 226 00d0 7894      		sei
 227               	.LM46:
 228 00d2 DF91      		POP  R29                  
 229               		
 230               	.LM47:
 231 00d4 CF91      		POP  R28                  
 232               		
 233               	.LM48:
 234 00d6 FF91      		POP  R31                  
 235               		
 236               	.LM49:
 237 00d8 EF91      		POP  R30                  
 238               		
 239               	.LM50:
 240 00da BF91      		POP  R27                  
 241               		
 242               	.LM51:
 243 00dc AF91      		POP  R26                  
 244               		
 245               	.LM52:
 246 00de 9F91      		POP  R25                  
 247               		
 248               	.LM53:
 249 00e0 8F91      		POP  R24                  
 250               		
 251               	.LM54:
 252 00e2 7F91      		POP  R23                  
 253               		
 254               	.LM55:
 255 00e4 6F91      		POP  R22                  
 256               		
 257               	.LM56:
 258 00e6 5F91      		POP  R21                  
 259               		
 260               	.LM57:
 261 00e8 4F91      		POP  R20                  
 262               		
 263               	.LM58:
 264 00ea 3F91      		POP  R19                  
 265               		
 266               	.LM59:
 267 00ec 2F91      		POP  R18                  
 268               		
 269               	.LM60:
 270 00ee 0F90      		POP  __tmp_reg__          
 271               		
 272               	.LM61:
 273 00f0 0FBE      		OUT  __SREG__,__tmp_reg__ 
 274               		
 275               	.LM62:
 276 00f2 0F90      		POP  __tmp_reg__          
 277               		
 278               	.LM63:
 279 00f4 1F90      		POP  __zero_reg__         
 280               		
 281               	.LM64:
 282 00f6 F894      		CLI                       
 283               		
 284               	.LM65:
 285 00f8 01FD      		SBRC R16,1                
 286               		
 287               	.LM66:
 288 00fa 22C0      		RJMP OSSched              
 289               		
 290               	.LM67:
 291 00fc 00E0      		LDI  R16,0x00             
 292               		
 293               	.LM68:
 294 00fe 1895      		RETI                      
 295               		
 296               	/* #NOAPP */
 297               	/* epilogue: frame size=0 */
 298 0100 0895      		ret
 299               	/* epilogue end (size=1) */
 300               	/* function OS_TASK_SW size 220 (219) */
 301               	.LFE5:
 303               	.global	IntSwitch
 305               	IntSwitch:
 306               	.LFB6:
 307               	.LM69:
 308               	/* prologue: frame size=0 */
 309               	/* prologue end (size=0) */
 310               	.LM70:
 311 0102 0230      		cpi r16,lo8(2)
 312 0104 41F4      		brne .L10
 313               	.LM71:
 314 0106 4420      		tst r4
 315 0108 31F4      		brne .L10
 316               	.LM72:
 317               	/* #APP */
 318 010a FF91      		POP  R31                  
 319               		
 320               	.LM73:
 321 010c FF91      		POP  R31                  
 322               		
 323               	.LM74:
 324 010e FF91      		POP  R31                  
 325               		
 326               	.LM75:
 327 0110 FF91      		POP  R31                  
 328               		
 329               	.LM76:
 330 0112 01E0      		LDI  R16,0x01             
 331               		
 332               	.LM77:
 333 0114 BACF      		RJMP Int_OSSched          
 334               		
 335               	/* #NOAPP */
 336               	.L10:
 337 0116 0895      		ret
 338               	/* epilogue: frame size=0 */
 339 0118 0895      		ret
 340               	/* epilogue end (size=1) */
 341               	/* function IntSwitch size 30 (29) */
 342               	.LFE6:
 344               	.global	OSFindPrioHighRdy
 346               	OSFindPrioHighRdy:
 347               	.LFB17:
 348               	.LM78:
 349               	/* prologue: frame size=0 */
 350               	/* prologue end (size=0) */
 351               	.LM79:
 352 011a 40E0      		ldi r20,lo8(0)
 353               	.LM80:
 354 011c 222D      		mov r18,r2
 355 011e 3327      		clr r19
 356 0120 20FD      		sbrc r18,0
 357 0122 0CC0      		rjmp .L14
 358               	.L15:
 359               	.LM81:
 360 0124 4F5F      		subi r20,lo8(-(1))
 361 0126 4430      		cpi r20,lo8(4)
 362 0128 48F4      		brsh .L14
 363 012a C901      		movw r24,r18
 364 012c 042E      		mov r0,r20
 365 012e 02C0      		rjmp 2f
 366 0130 9595      	1:	asr r25
 367 0132 8795      		ror r24
 368 0134 0A94      	2:	dec r0
 369 0136 E2F7      		brpl 1b
 370 0138 80FF      		sbrs r24,0
 371 013a F4CF      		rjmp .L15
 372               	.L14:
 373               	.LM82:
 374 013c 542E      		mov r5,r20
 375               	/* epilogue: frame size=0 */
 376 013e 0895      		ret
 377               	/* epilogue end (size=1) */
 378               	/* function OSFindPrioHighRdy size 19 (18) */
 379               	.LFE17:
 381               	.global	OSSched
 383               	OSSched:
 384               	.LFB7:
 385               	.LM83:
 386               	/* prologue: frame size=0 */
 387               	/* prologue end (size=0) */
 388               	.LM84:
 389 0140 ECDF      		rcall OSFindPrioHighRdy
 390               	.LM85:
 391 0142 5310      		cpse r5,r3
 392               	.LM86:
 393 0144 8FDF      		rcall OS_TASK_SW
 394               	.L17:
 395 0146 0895      		ret
 396               	/* epilogue: frame size=0 */
 397 0148 0895      		ret
 398               	/* epilogue end (size=1) */
 399               	/* function OSSched size 6 (5) */
 400               	.LFE7:
 402               	.global	OSTaskSuspend
 404               	OSTaskSuspend:
 405               	.LFB8:
 406               	.LM87:
 407               	/* prologue: frame size=0 */
 408               	/* prologue end (size=0) */
 409 014a 482F      		mov r20,r24
 410               	.LM88:
 411               	/* #APP */
 412 014c 0FB6      		IN   __tmp_reg__,__SREG__
 413 014e 0F92      		PUSH __tmp_reg__
 414 0150 1124      		CLR  __zero_reg__
 415 0152 F894      		CLI
 416               		
 417               	.LM89:
 418               	/* #NOAPP */
 419 0154 282F      		mov r18,r24
 420 0156 3327      		clr r19
 421 0158 F901      		movw r30,r18
 422 015a EE0F      		lsl r30
 423 015c FF1F      		rol r31
 424 015e EE0F      		lsl r30
 425 0160 FF1F      		rol r31
 426 0162 E20F      		add r30,r18
 427 0164 F31F      		adc r31,r19
 428 0166 E050      		subi r30,lo8(-(TCB))
 429 0168 F040      		sbci r31,hi8(-(TCB))
 430 016a 1282      		std Z+2,__zero_reg__
 431 016c 1382      		std Z+3,__zero_reg__
 432               	.LM90:

⌨️ 快捷键说明

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