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

📄 ucos.lst

📁 易于atmage128和ucos的手动机器人控制程序。
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0366 925A      ST	R5,-Y
    0367 926A      ST	R6,-Y
    0368 927A      ST	R7,-Y
    0369 928A      ST	R8,-Y
    036A 929A      ST	R9,-Y
    036B 92AA      ST	R10,-Y
    036C 92BA      ST	R11,-Y
    036D 92CA      ST	R12,-Y
    036E 92DA      ST	R13,-Y
    036F 92EA      ST	R14,-Y
    0370 92FA      ST	R15,-Y
    0371 930A      ST	R16,-Y
    0372 931A      ST	R17,-Y
    0373 932A      ST	R18,-Y
    0374 933A      ST	R19,-Y
    0375 934A      ST	R20,-Y
    0376 935A      ST	R21,-Y
    0377 936A      ST	R22,-Y
    0378 937A      ST	R23,-Y
    0379 938A      ST	R24,-Y
    037A 939A      ST	R25,-Y
    037B 93AA      ST	R26,-Y
    037C 93BA      ST	R27,-Y
    037D 93EA      ST	R30,-Y
    037E 93FA      ST	R31,-Y
    037F B70B      IN	R16,P3B
    0380 930A      ST	R16,-Y
(0318) 
(0319) ;/*$PAGE*/.
(0320) ;********************************************************************************************************
(0321) ;                                           SYSTEM TICK ISR
(0322) ;
(0323) ; Description : This function is the ISR used to notify uC/OS-II that a system tick has occurred.
(0324) ;
(0325) ;               The following C-like pseudo-code describe the operation being performed in the code below.
(0326) ;
(0327) ;               Save all registers on the current task's stack:
(0328) ;                      Use the PUSH_ALL macro
(0329) ;                      Get the SREG, set Bit #7 and save onto the task's stack using -Y addressing
(0330) ;                      Use the PUSH_SP macro to save the task's hardware stack pointer onto the current task's stack
(0331) ;               OSIntNesting++;
(0332) ;               if (OSIntNesting == 1) {
(0333) ;                  OSTCBCur->OSTCBStkPtr = SP
(0334) ;               }
(0335) ;               Clear the interrupt;                  Not needed for the timer we used.
(0336) ;               OSTimeTick();                         Notify uC/OS-II that a tick has occured
(0337) ;               OSIntExit();                          Notify uC/OS-II about end of ISR
(0338) ;               Restore all registers that were save on the current task's stack:
(0339) ;                      Use the POP_SP macro to restore the task's hardware stack pointer
(0340) ;                      Use the POP_SREG macro to restore the SREG register
(0341) ;                      Use the POP_ALL macro to restore the remaining registers
(0342) ;               Return (DO NOT use a RETI instruction);
(0343) ;********************************************************************************************************
(0344) 
(0345) _OSTickISR::
(0346)                 PUSH_ALL                            ; Save all registers and status register
(0347)                 IN      R16,SREG                    ; Save the SREG but with interrupts enabled
    0381 B70F      IN	R16,P3F
(0348)                 SBR     R16,BIT07                    
    0382 6800      ORI	R16,0x80
(0349)                 ST      -Y,R16
    0383 930A      ST	R16,-Y
    0384 B70E      IN	R16,P3E
    0385 930A      ST	R16,-Y
    0386 B70D      IN	R16,P3D
    0387 930A      ST	R16,-Y
(0350)                 PUSH_SP                             ; Save the task's hardware stack pointer onto task's stack
(0351) 
(0352)                 LDS     R16,_OSIntNesting           ; Notify uC/OS-II of ISR
    0388 91000BB7  LDS	R16,_OSIntNesting
(0353)                 INC     R16                         ;
    038A 9503      INC	R16
(0354)                 STS     _OSIntNesting,R16           ;
    038B 93000BB7  STS	R16,_OSIntNesting
(0355) 
(0356)                 CPI     R16,1                       ; if (OSIntNesting == 1) {
    038D 3001      CPI	R16,1
(0357)                 BRNE    OSTickISR_1
    038E F431      BNE	0x0395
(0358) 
(0359)                 LDS     R30,_OSTCBCur               ;     OSTCBCur->OSTCBStkPtr = Y
    038F 91E00AA9  LDS	R30,_OSTCBCur
(0360)                 LDS     R31,_OSTCBCur+1
    0391 91F00AAA  LDS	R31,_OSTCBCur+1
(0361)                 ST      Z+,R28
    0393 93C1      ST	R28,Z+
(0362)                 ST      Z+,R29                      ; }
    0394 93D1      ST	R29,Z+
(0363) 
(0364) OSTickISR_1:
(0365)                 CALL    _OSTickISR_Handler          ; Handle the tick ISR
    0395 940E0DE8  CALL	_OSTickISR_Handler
(0366) 
(0367)                 CALL    _OSIntExit                  ; Notify uC/OS-II about end of ISR
    0397 940E196A  CALL	_OSIntExit
    0399 9109      LD	R16,Y+
    039A BF0D      OUT	P3D,R16
    039B 9109      LD	R16,Y+
    039C BF0E      OUT	P3E,R16
    039D 9109      LD	R16,Y+
    039E BF0F      OUT	P3F,R16
    039F 9109      LD	R16,Y+
    03A0 BF0B      OUT	P3B,R16
    03A1 91F9      LD	R31,Y+
    03A2 91E9      LD	R30,Y+
    03A3 91B9      LD	R27,Y+
    03A4 91A9      LD	R26,Y+
    03A5 9199      LD	R25,Y+
    03A6 9189      LD	R24,Y+
    03A7 9179      LD	R23,Y+
    03A8 9169      LD	R22,Y+
    03A9 9159      LD	R21,Y+
    03AA 9149      LD	R20,Y+
    03AB 9139      LD	R19,Y+
    03AC 9129      LD	R18,Y+
    03AD 9119      LD	R17,Y+
    03AE 9109      LD	R16,Y+
    03AF 90F9      LD	R15,Y+
    03B0 90E9      LD	R14,Y+
    03B1 90D9      LD	R13,Y+
    03B2 90C9      LD	R12,Y+
    03B3 90B9      LD	R11,Y+
    03B4 90A9      LD	R10,Y+
    03B5 9099      LD	R9,Y+
    03B6 9089      LD	R8,Y+
    03B7 9079      LD	R7,Y+
    03B8 9069      LD	R6,Y+
    03B9 9059      LD	R5,Y+
    03BA 9049      LD	R4,Y+
    03BB 9039      LD	R3,Y+
    03BC 9029      LD	R2,Y+
    03BD 9019      LD	R1,Y+
    03BE 9009      LD	R0,Y+
(0368) 
(0369)                 POP_SP                              ; Restore the hardware stack pointer from task's stack
(0370)                 POP_SREG                            ; Restore the SREG register
(0371)                 POP_ALL                             ; Restore all registers
(0372) 
(0373)                 RET                                 ; Note: RET instead of RETI
FILE: <library>
    03BF 9508      RET
_OSInitHookBegin:
    03C0 9508      RET
_OSInitHookEnd:
    03C1 9508      RET
_OSTaskCreateHook:
    03C2 9508      RET
_OSTaskDelHook:
    03C3 9508      RET
_OSTaskIdleHook:
    03C4 9508      RET
_OSTaskStatHook:
    03C5 9508      RET
_OSTaskStkInit:
    03C6 940E274F  CALL	push_gset3
    03C8 814E      LDD	R20,6+Y
    03C9 815F      LDD	R21,7+Y
    03CA 90200305  LDS	R2,_OSTaskStkSize
    03CC 90300306  LDS	R3,_OSTaskStkSize+1
    03CE 804E      LDD	R4,6+Y
    03CF 805F      LDD	R5,7+Y
    03D0 1842      SUB	R4,R2
    03D1 0853      SBC	R5,R3
    03D2 90A00303  LDS	R10,_OSTaskHardStkSize
    03D4 90B00304  LDS	R11,_OSTaskHardStkSize+1
    03D6 0CA4      ADD	R10,R4
    03D7 1CB5      ADC	R11,R5
    03D8 01F8      MOVW	R30,R16
    03D9 9165      LD	R22,R22
    03DA 9174      LD	R23,R23
    03DB 0115      MOVW	R2,R10
    03DC 01C1      MOVW	R24,R2
    03DD 9701      SBIW	R24,1
    03DE 01F1      MOVW	R30,R2
    03DF 8360      STD	R22,0+Z
    03E0 011C      MOVW	R2,R24
    03E1 9701      SBIW	R24,1
    03E2 015C      MOVW	R10,R24
    03E3 012B      MOVW	R4,R22
    03E4 2C45      MOV	R4,R5
    03E5 2455      CLR	R5
    03E6 01F1      MOVW	R30,R2
    03E7 8240      STD	R4,0+Z
    03E8 011A      MOVW	R2,R20
    03E9 5041      SUBI	R20,1
    03EA 4050      SBCI	R21,0
    03EB 2444      CLR	R4
    03EC 01F1      MOVW	R30,R2
    03ED 8240      STD	R4,0+Z
    03EE 011A      MOVW	R2,R20
    03EF 5041      SUBI	R20,1
    03F0 4050      SBCI	R21,0
    03F1 E081      LDI	R24,1
    03F2 01F1      MOVW	R30,R2
    03F3 8380      STD	R24,0+Z
    03F4 011A      MOVW	R2,R20
    03F5 5041      SUBI	R20,1
    03F6 4050      SBCI	R21,0
    03F7 E082      LDI	R24,2
    03F8 01F1      MOVW	R30,R2
    03F9 8380      STD	R24,0+Z
    03FA 011A      MOVW	R2,R20
    03FB 5041      SUBI	R20,1
    03FC 4050      SBCI	R21,0
    03FD E083      LDI	R24,3
    03FE 01F1      MOVW	R30,R2
    03FF 8380      STD	R24,0+Z
    0400 011A      MOVW	R2,R20
    0401 5041      SUBI	R20,1
    0402 4050      SBCI	R21,0
    0403 E084      LDI	R24,4
    0404 01F1      MOVW	R30,R2
    0405 8380      STD	R24,0+Z
    0406 011A      MOVW	R2,R20
    0407 5041      SUBI	R20,1
    0408 4050      SBCI	R21,0
    0409 E085      LDI	R24,5
    040A 01F1      MOVW	R30,R2
    040B 8380      STD	R24,0+Z
    040C 011A      MOVW	R2,R20
    040D 5041      SUBI	R20,1
    040E 4050      SBCI	R21,0
    040F E086      LDI	R24,6
    0410 01F1      MOVW	R30,R2
    0411 8380      STD	R24,0+Z
    0412 011A      MOVW	R2,R20
    0413 5041      SUBI	R20,1
    0414 4050      SBCI	R21,0
    0415 E087      LDI	R24,7
    0416 01F1      MOVW	R30,R2
    0417 8380      STD	R24,0+Z
    0418 011A      MOVW	R2,R20
    0419 5041      SUBI	R20,1
    041A 4050      SBCI	R21,0
    041B E088      LDI	R24,0x8
    041C 01F1      MOVW	R30,R2
    041D 8380      STD	R24,0+Z
    041E 011A      MOVW	R2,R20
    041F 5041      SUBI	R20,1
    0420 4050      SBCI	R21,0
    0421 E089      LDI	R24,0x9
    0422 01F1      MOVW	R30,R2
    0423 8380      STD	R24,0+Z
    0424 011A      MOVW	R2,R20
    0425 5041      SUBI	R20,1
    0426 4050      SBCI	R21,0
    0427 E180      LDI	R24,0x10
    0428 01F1      MOVW	R30,R2
    0429 8380      STD	R24,0+Z
    042A 011A      MOVW	R2,R20
    042B 5041      SUBI	R20,1
    042C 4050      SBCI	R21,0
    042D E181      LDI	R24,0x11
    042E 01F1      MOVW	R30,R2
    042F 8380      STD	R24,0+Z
    0430 011A      MOVW	R2,R20
    0431 5041      SUBI	R20,1
    0432 4050      SBCI	R21,0
    0433 E182      LDI	R24,0x12
    0434 01F1      MOVW	R30,R2
    0435 8380      STD	R24,0+Z
    0436 011A      MOVW	R2,R20
    0437 5041      SUBI	R20,1
    0438 4050      SBCI	R21,0
    0439 E183      LDI	R24,0x13
    043A 01F1      MOVW	R30,R2
    043B 8380      STD	R24,0+Z
    043C 011A      MOVW	R2,R20
    043D 5041      SUBI	R20,1
    043E 4050      SBCI	R21,0
    043F E184      LDI	R24,0x14
    0440 01F1      MOVW	R30,R2
    0441 8380      STD	R24,0+Z
    0442 011A      MOVW	R2,R20
    0443 5041      SUBI	R20,1
    0444 4050      SBCI	R21,0
    0445 E185      LDI	R24,0x15
    0446 01F1      MOVW	R30,R2
    0447 8380      STD	R24,0+Z
    0448 01B9      MOVW	R22,R18
    0449 011A      MOVW	R2,R20
    044A 5041      SUBI	R20,1
    044B 4050      SBCI	R21,0
    044C 01F1      MOVW	R30,R2
    044D 8360      STD	R22,0+Z
    044E 011A      MOVW	R2,R20
    044F 5041      SUBI	R20,1
    0450 4050      SBCI	R21,0
    0451 012B      MOVW	R4,R22
    0452 2C45      MOV	R4,R5
    0453 2455      CLR	R5
    0454 01F1      MOVW	R30,R2
    0455 8240      STD	R4,0+Z
    0456 011A      MOVW	R2,R20
    0457 5041      SUBI	R20,1
    0458 4050      SBCI	R21,0
    0459 E188      LDI	R24,0x18
    045A 01F1      MOVW	R30,R2
    045B 8380      STD	R24,0+Z
    045C 011A      MOVW	R2,R20
    045D 5041      SUBI	R20,1
    045E 4050      SBCI	R21,0
    045F E189      LDI	R24,0x19
    0460 01F1      MOVW	R30,R2
    0461 8380      STD	R24,0+Z
    0462 011A      MOVW	R2,R20
    0463 5041      SUBI	R20,1
    0464 4050      SBCI	R21,0
    0465 E280      LDI	R24,0x20
    0466 01F1      MOVW	R30,R2
    0467 8380      STD	R24,0+Z
    0468 011A      MOVW	R2,R20
    0469 5041      SUBI	R20,1
    046A 4050      SBCI	R21,0
    046B E281      LDI	R24,0x21
    046C 01F1      MOVW	R30,R2
    046D 8380      STD	R24,0+Z
    046E 011A      MOVW	R2,R20
    046F 5041      SUBI	R20,1
    0470 4050      SBCI	R21,0
    0471 E282      LDI	R24,0x22
    0472 01F1      MOVW	R30,R2
    0473 8380      STD	R24,0+Z
    0474 011A      MOVW	R2,R20
    0475 5041      SUBI	R20,1
    0476 4050      SBCI	R21,0
    0477 E283      LDI	R24,0x23
    0478 01F1      MOVW	R30,R2
    0479 8380      STD	R24,0+Z
    047A 011A      MOVW	R2,R20
    047B 5041      SUBI	R20,1
    047C 4050      SBCI	R21,0
    047D E284      LDI	R24,0x24
    047E 01F1      MOVW	R30,R2
    047F 8380      STD	R24,0+Z
    0480 011A      MOVW	R2,R20
    0481 5041      SUBI	R20,1
    0482 4050      SBCI	R21,0
    0483 E285      LDI	R24,0x25
    0484 01F1      MOVW	R30,R2
    0485 8380      STD	R24,0+Z
    0486 011A      MOVW	R2,R20
    0487 5041      SUBI	R20,1
    0488 4050      SBCI	R21,0
    0489 E286      LDI	R24,0x26
    048A 01F1      MOVW	R30,R2
    048B 8380      STD	R24,0+Z
    048C 011A      MOVW	R2,R20
    048D 5041      SUBI	R20,1
    048E 4050      SBCI	R21,0
    048F E287      LDI	R24,0x27
    0490 01F1      MOVW	R30,R2
    0491 8380      STD	R24,0+Z
    0492 011A      MOVW	R2,R20
    0493 5041      SUBI	R20,1
    0494 4050      SBCI	R21,0
    0495 E380      LDI	R24,0x30
    0496 01F1      MOVW	R30,R2
    0497 8380      STD	R24,0+Z
    0498 011A      MOVW	R2,R20
    0499 5041      SUBI	R20,1
    049A 4050      SBCI	R21,0
    049B E381      LDI	R24,0x31
    049C 01F1      MOVW	R30,R2
    049D 8380      STD	R24,0+Z
    049E 011A      MOVW	R2,R20
    049F 5041      SUBI	R20,1
    04A0 4050      SBCI	R21,0
    04A1 2444      CLR	R4
    04A2 01F1      MOVW	R30,R2
    04A3 8240      STD	R4,0+Z
    04A4 011A      MOVW	R2,R20
    04A5 5041      SUBI	R20,1
    04A6 4050      SBCI	R21,0
    04A7 E880      LDI	R24,0x80
    04A8 01F1      MOVW	R30,R2
    04A9 8380      STD	R24,0+Z
    04AA 01B5      MOVW	R22,R10
    04AB 011A      MOVW	R2,R20
    04AC 5041      SUBI	R20,1
    04AD 4050      SBCI	R21,0

⌨️ 快捷键说明

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