📄 uarttx.lst
字号:
###############################################################################
# #
# IAR Systems A90 Assembler V1.41B/386 05/Aug/2001 14:39:15 #
# Copyright 1999 IAR Systems. All rights reserved. #
# #
# Target option = Relative jumps reach entire addr space #
# Source file = uarttx.s90 #
# List file = ..\lst\uarttx.lst #
# Object file = ..\obj\uarttx.r90 #
# Command line = -v1 -r -o ..\obj\uarttx.r90 -l ..\lst\uarttx #
# uarttx.s90 #
# #
###############################################################################
1 00000000 ;*********************************************
**********************************************
*************
2 00000000 ;
uC/OS-II
3 00000000 ; The
Real-Time Kernel
4 00000000 ;
5 00000000 ; AVR
Specific code
6 00000000 ; (IAR
AA90 V1.30 or later)
7 00000000 ;
8 00000000 ;
9 00000000 ; File : UARTTX.S90
10 00000000 ; By : Ole Saether
11 00000000 ;
12 00000000 ; $Modtime: 12.06.01 16:56 $
13 00000000 ; $Revision: 2 $
14 00000000 ;
15 00000000 ;*********************************************
**********************************************
*************
16 00000000 ;
I/O PORT ADDRESSES
17 00000000 ;*********************************************
**********************************************
*************
18 00000000
19 0000003F SREG = 0x3F
20 0000003E SPH = 0x3E
21 0000003D SPL = 0x3D
22 00000032 TCNT0 = 0x32
23 00000000
24 00000000 ;*********************************************
**********************************************
*************
25 00000000 ;
PUBLIC DECLARATIONS
26 00000000 ;*********************************************
**********************************************
*************
27 00000000
28 00000000 NAME UARTTX
29 00000000
30 00000000 ;*********************************************
**********************************************
*************
31 00000000 ;
EXTERNAL DECLARATIONS
32 00000000 ;*********************************************
**********************************************
*************
33 00000000
34 00000000 EXTERN OSIntExit
35 00000000 EXTERN OSIntNesting
36 00000000 EXTERN UartTxHandler
37 00000000
38 00000000
39 00000000 #include "ATMACRO.S90"
40 00000000
41 00000000 RSEG CODE
42 00000000
43 00000000 ;*********************************************
**********************************************
*************
44 00000000 ; Uart
Transmit Complete ISR
45 00000000 ;
46 00000000 ; Description : This function is the Uart
Transmit Complete handler. The actual work is
done by the
47 00000000 ; function UartTxHandler in the
file "test.c".
48 00000000 ;
49 00000000 ;
50 00000000 ;*********************************************
**********************************************
*************
51 00000000
52 00000000 UartTxIsr: PUSHRS
; Save interrupted task's context
52.1 00000000 920A ST -Y,R0
52.2 00000002 921A ST -Y,R1
52.3 00000004 922A ST -Y,R2
52.4 00000006 923A ST -Y,R3
52.5 00000008 924A ST -Y,R4
52.6 0000000A 925A ST -Y,R5
52.7 0000000C 926A ST -Y,R6
52.8 0000000E 927A ST -Y,R7
52.9 00000010 928A ST -Y,R8
52.10 00000012 929A ST -Y,R9
52.11 00000014 92AA ST -Y,R10
52.12 00000016 92BA ST -Y,R11
52.13 00000018 92CA ST -Y,R12
52.14 0000001A 92DA ST -Y,R13
52.15 0000001C 92EA ST -Y,R14
52.16 0000001E 92FA ST -Y,R15
52.17 00000020 930A ST -Y,R16
52.18 00000022 931A ST -Y,R17
52.19 00000024 932A ST -Y,R18
52.20 00000026 933A ST -Y,R19
52.21 00000028 934A ST -Y,R20
52.22 0000002A 935A ST -Y,R21
52.23 0000002C 936A ST -Y,R22
52.24 0000002E 937A ST -Y,R23
52.25 00000030 938A ST -Y,R24
52.26 00000032 939A ST -Y,R25
52.27 00000034 93AA ST -Y,R26
52.28 00000036 93BA ST -Y,R27
52.29 00000038 93EA ST -Y,R30
52.30 0000003A 93FA ST -Y,R31
52.31 0000003C ENDM
53 0000003C B70F IN R16,SREG
54 0000003E 6800 SBR R16,0x80
; Set
interrupt bit in
status reg and
save
55 00000040 930A ST -Y,R16
56 00000042 PUSHSP
56.1 00000042 B70E IN R16,SPH
56.2 00000044 930A ST -Y,R16
56.3 00000046 B70D IN R16,SPL
56.4 00000048 930A ST -Y,R16
56.5 0000004A ENDM
57 0000004A
58 0000004A 9100.... LDS R16,OSIntNesting
; Notify
uC/OS-II of
ISR
59 0000004E 9503 INC R16
;
60 00000050 9300.... STS OSIntNesting,R16
;
61 00000054 9478 SEI
62 00000056
63 00000056 .... RCALL UartTxHandler
64 00000058
65 00000058 .... RCALL OSIntExit
; Notify uC/OS-II about end of ISR
66 0000005A
67 0000005A POPSP
; Restore interrupted task's context
67.1 0000005A 9109 LD R16,Y+
67.2 0000005C BF0D OUT SPL,R16
67.3 0000005E 9109 LD R16,Y+
67.4 00000060 BF0E OUT SPH,R16
67.5 00000062 ENDM
68 00000062 POPSREG
68.1 00000062 9109 LD R16,Y+
68.2 00000064 BF0F OUT SREG,R16
68.3 00000066 ENDM
69 00000066 POPRS
69.1 00000066 91F9 LD R31,Y+
69.2 00000068 91E9 LD R30,Y+
69.3 0000006A 91B9 LD R27,Y+
69.4 0000006C 91A9 LD R26,Y+
69.5 0000006E 9199 LD R25,Y+
69.6 00000070 9189 LD R24,Y+
69.7 00000072 9179 LD R23,Y+
69.8 00000074 9169 LD R22,Y+
69.9 00000076 9159 LD R21,Y+
69.10 00000078 9149 LD R20,Y+
69.11 0000007A 9139 LD R19,Y+
69.12 0000007C 9129 LD R18,Y+
69.13 0000007E 9119 LD R17,Y+
69.14 00000080 9109 LD R16,Y+
69.15 00000082 90F9 LD R15,Y+
69.16 00000084 90E9 LD R14,Y+
69.17 00000086 90D9 LD R13,Y+
69.18 00000088 90C9 LD R12,Y+
69.19 0000008A 90B9 LD R11,Y+
69.20 0000008C 90A9 LD R10,Y+
69.21 0000008E 9099 LD R9,Y+
69.22 00000090 9089 LD R8,Y+
69.23 00000092 9079 LD R7,Y+
69.24 00000094 9069 LD R6,Y+
69.25 00000096 9059 LD R5,Y+
69.26 00000098 9049 LD R4,Y+
69.27 0000009A 9039 LD R3,Y+
69.28 0000009C 9029 LD R2,Y+
69.29 0000009E 9019 LD R1,Y+
69.30 000000A0 9009 LD R0,Y+
69.31 000000A2 ENDM
70 000000A2 9508 RET
; Note: RET instead of RETI
71 000000A4
72 000000A4 ;*********************************************
**********************************************
*************
73 000000A4 ;
INTVEC
74 000000A4 ;
75 000000A4 ; Description : Set up the AVR interrupt
vector table so that the Uart Transmit
Complete interrupt
76 000000A4 ; vectors to the function
above.
77 000000A4 ;
78 000000A4 ;*********************************************
**********************************************
*************
79 000000A4
80 00000000 COMMON INTVEC
81 00000000 DS 22
82 00000016 .... RJMP UartTxIsr
83 00000018
84 00000018 END
##############################
# CRC:86FD #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 166 #
##############################
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -