?? kernel.lst
字號:
0020 0042'
94 0021 7a80 CALL RUN_ALGO
0022 0074'
95 ;==============================================================================
96 ;Load & Execute PROG
97 0023 7a80 M02 CALL XFER_SCI_2_PROG
0024 0042'
98
99 0025 7a80 M03 CALL FETCH_HEADER ;Get info on Data block
0026 0039'
100 0027 1008- LACC dest_addr
101 0028 9009- SACL PRG_paddr ;Pass Flash dest addr
102 0029 1007- LACC length
103 002a b801 ADD #01h ;adjust for actual length
104 002b 900a- SACL PRG_length ;Pass Data block length
105 002c ae0b- SPLK #BUF_SADDR, PRG_bufaddr ;Pass Data buffer start addr
002d 0328
106
107 002e 7a80 M04 CALL XFER_SCI_2_DATA ;Transfer Data block to B1
002f 0050'
108 0030 7a80 CALL RUN_ALGO
0031 0074'
109 ;==============================================================================
110 0032 7a80 CALL FETCH_SCI_WORD ;Check if more blocks to come.
0033 005b'
111 0034 1006- LACC data_buf ;If non-zero, then loop
112 0035 e308 BCND M03, NEQ ;If zero then finish up.
0036 0025'
113
114 0037 7980 DEND B DEND ;
0038 0037'
115 ;===========================================================================
116 ; Routine Name: F E T C H _ H E A D E R Routine Type: SR
117 ;===========================================================================
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Wed Apr 17 14:46:06 2002
Copyright (c) 1987-1999 Texas Instruments Incorporated
kernel.ASM PAGE 4
118 0039 7a80 FETCH_HEADER: CALL FETCH_SCI_WORD
003a 005b'
119 003b 1006- LACC data_buf
120 003c 9008- SACL dest_addr
121 003d 7a80 CALL FETCH_SCI_WORD
003e 005b'
122 003f 1006- LACC data_buf
123 0040 9007- SACL length
124 0041 ef00 RET
125
126 ;===========================================================================
127 ; Routine Name: X F E R _ S C I _ 2 _ P R O G Routine Type: SR
128 ;===========================================================================
129 0042 be45 XFER_SCI_2_PROG:SETC CNF
130 0043 7a80 CALL FETCH_HEADER
0044 0039'
131 0045 8b88 MAR *, AR0
132 0046 0007- LAR AR0, length
133 0047 bf80 LACC #ALGO_START ;ACC=dest address
0048 fe00
134
135 0049 7a80 XSP0 CALL FETCH_SCI_WORD
004a 005b'
136 004b a706- TBLW data_buf ;data_buff-->[ACC]
137 004c b801 ADD #01h ;ACC++
138 004d 7b90 BANZ XSP0 ;loop "length" times
004e 0049'
139 004f ef00 RET
140
141 ;===========================================================================
142 ; Routine Name: X F E R _ S C I _ 2 _ D A T A Routine Type: SR
143 ;===========================================================================
144 0050 XFER_SCI_2_DATA:
145 0050 8b89 MAR *, AR1
146 0051 0007- LAR AR0, length ;AR0 is loop counter
147 0052 bf09 LAR AR1, #BUF_SADDR ;Dest --> B1 RAM
0053 0328
148
149 0054 7a80 XSD0 CALL FETCH_SCI_WORD
0055 005b'
150 0056 1006- LACC data_buf
151 0057 90a8 SACL *+, AR0
152 0058 7b99 BANZ XSD0, AR1
0059 0054'
153 005a ef00 RET
154
155 ;===========================================================================
156 ; Routine Name: F E T C H _ S C I _ W O R D Routine Type: SR
157 ;
158 ; Description: Version which expects Lo byte / Hi byte sequence from Host &
159 ; also echos byte
160 ;===========================================================================
161 005b FETCH_SCI_WORD: POINT_B1
1 005b bc06 LDP #06h
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00 Wed Apr 17 14:46:06 2002
Copyright (c) 1987-1999 Texas Instruments Incorporated
kernel.ASM PAGE 5
162 005c 9004- SACL stk0
163 005d bce0 LDP #SCIRXST>>7
164 005e 4955 FSW0 BIT SCIRXST,BIT6 ;Test RXRDY bit
165 005f e200 BCND FSW0, NTC ;If RXRDY=0,then repeat loop
0060 005e'
166 0061 1057 LACC SCIRXBUF ;First byte is Lo byte
167 0062 9059 SACL SCITXBUF ;Echo byte back
168 0063 bfb0 AND #0FFh ;Clear upper byte
0064 00ff
169
170 0065 4955 FSW1 BIT SCIRXST,BIT6 ;Test RXRDY bit
171 0066 e200 BCND FSW1, NTC ;If RXRDY=0,then repeat loop
0067 0065'
172 0068 2857 ADD SCIRXBUF,8 ;Concatenate Hi byte to Lo
173 0069 be09 SFL ;used because 7 is max in SACH
174 006a 9f59 SACH SCITXBUF,7 ;Echo byte back (after SFL 8)
175
176 006b POINT_B1
1 006b bc06 LDP #06h
177 006c be0a SFR ;restore ACC as before
178 006d 9006- SACL data_buf ;Save received word
179 006e 1004- LACC stk0
180 006f ef00 RET
181
182 ;==============================================================================
183 ; Transmit char to host subroutine.
184 ;==============================================================================
185 0070 bce0 SEND_CHAR LDP #SCITXBUF>>7
186 0071 9059 SACL SCITXBUF ;Transmit byte to host.
187 0072 POINT_B1
1 0072 bc06 LDP #06h
188 0073 ef00 RET
189
190
191 0074 7a80 RUN_ALGO CALL ALGO_START
0075 fe00
192 0076 101f- LACC ERROR_FLAG
193 0077 7a80 CALL SEND_CHAR ;Indicate to host Clear finished.
0078 0070'
194 0079 ef00 RET
195 ;==============================================================================
196 .end
No Errors, No Warnings
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -