900 lines
63 KiB
ReStructuredText
900 lines
63 KiB
ReStructuredText
1 ;--------------------------------------------------------
|
|
2 ; File Created by SDCC : free open source ISO C Compiler
|
|
3 ; Version 4.5.0 #15242 (Linux)
|
|
4 ;--------------------------------------------------------
|
|
5 .module stm8l15x_usart
|
|
6
|
|
7 ;--------------------------------------------------------
|
|
8 ; Public variables in this module
|
|
9 ;--------------------------------------------------------
|
|
10 .globl _CLK_GetClockFreq
|
|
11 .globl _USART_DeInit
|
|
12 .globl _USART_Init
|
|
13 .globl _USART_ClockInit
|
|
14 .globl _USART_Cmd
|
|
15 .globl _USART_SetPrescaler
|
|
16 .globl _USART_SendBreak
|
|
17 .globl _USART_ReceiveData8
|
|
18 .globl _USART_ReceiveData9
|
|
19 .globl _USART_SendData8
|
|
20 .globl _USART_SendData9
|
|
21 .globl _USART_ReceiverWakeUpCmd
|
|
22 .globl _USART_SetAddress
|
|
23 .globl _USART_WakeUpConfig
|
|
24 .globl _USART_HalfDuplexCmd
|
|
25 .globl _USART_SmartCardCmd
|
|
26 .globl _USART_SmartCardNACKCmd
|
|
27 .globl _USART_SetGuardTime
|
|
28 .globl _USART_IrDAConfig
|
|
29 .globl _USART_IrDACmd
|
|
30 .globl _USART_DMACmd
|
|
31 .globl _USART_ITConfig
|
|
32 .globl _USART_GetFlagStatus
|
|
33 .globl _USART_ClearFlag
|
|
34 .globl _USART_GetITStatus
|
|
35 .globl _USART_ClearITPendingBit
|
|
36 ;--------------------------------------------------------
|
|
37 ; ram data
|
|
38 ;--------------------------------------------------------
|
|
39 .area DATA
|
|
40 ;--------------------------------------------------------
|
|
41 ; ram data
|
|
42 ;--------------------------------------------------------
|
|
43 .area INITIALIZED
|
|
44 ;--------------------------------------------------------
|
|
45 ; absolute external ram data
|
|
46 ;--------------------------------------------------------
|
|
47 .area DABS (ABS)
|
|
48
|
|
49 ; default segment ordering for linker
|
|
50 .area HOME
|
|
51 .area GSINIT
|
|
52 .area GSFINAL
|
|
53 .area CONST
|
|
54 .area INITIALIZER
|
|
55 .area CODE
|
|
56
|
|
57 ;--------------------------------------------------------
|
|
58 ; global & static initialisations
|
|
59 ;--------------------------------------------------------
|
|
60 .area HOME
|
|
61 .area GSINIT
|
|
62 .area GSFINAL
|
|
63 .area GSINIT
|
|
64 ;--------------------------------------------------------
|
|
65 ; Home
|
|
66 ;--------------------------------------------------------
|
|
67 .area HOME
|
|
68 .area HOME
|
|
69 ;--------------------------------------------------------
|
|
70 ; code
|
|
71 ;--------------------------------------------------------
|
|
72 .area CODE
|
|
73 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 148: void USART_DeInit(USART_TypeDef* USARTx)
|
|
74 ; -----------------------------------------
|
|
75 ; function USART_DeInit
|
|
76 ; -----------------------------------------
|
|
008204 77 _USART_DeInit:
|
|
78 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 154: (void) USARTx->DR;
|
|
008204 90 93 [ 1] 79 ldw y, x
|
|
008206 E6 01 [ 1] 80 ld a, (0x1, x)
|
|
81 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 156: USARTx->BRR2 = USART_BRR2_RESET_VALUE; /* Set USART_BRR2 to reset value 0x00 */
|
|
008208 93 [ 1] 82 ldw x, y
|
|
008209 6F 03 [ 1] 83 clr (0x0003, x)
|
|
84 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 157: USARTx->BRR1 = USART_BRR1_RESET_VALUE; /* Set USART_BRR1 to reset value 0x00 */
|
|
00820B 93 [ 1] 85 ldw x, y
|
|
00820C 6F 02 [ 1] 86 clr (0x02, x)
|
|
87 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 159: USARTx->CR1 = USART_CR1_RESET_VALUE; /* Set USART_CR1 to reset value 0x00 */
|
|
00820E 93 [ 1] 88 ldw x, y
|
|
00820F 6F 04 [ 1] 89 clr (0x0004, x)
|
|
90 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 160: USARTx->CR2 = USART_CR2_RESET_VALUE; /* Set USART_CR2 to reset value 0x00 */
|
|
008211 93 [ 1] 91 ldw x, y
|
|
008212 6F 05 [ 1] 92 clr (0x0005, x)
|
|
93 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 161: USARTx->CR3 = USART_CR3_RESET_VALUE; /* Set USART_CR3 to reset value 0x00 */
|
|
008214 93 [ 1] 94 ldw x, y
|
|
008215 6F 06 [ 1] 95 clr (0x0006, x)
|
|
96 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 162: USARTx->CR4 = USART_CR4_RESET_VALUE; /* Set USART_CR4 to reset value 0x00 */
|
|
008217 93 [ 1] 97 ldw x, y
|
|
008218 6F 07 [ 1] 98 clr (0x0007, x)
|
|
99 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 163: }
|
|
00821A 81 [ 4] 100 ret
|
|
101 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 192: void USART_Init(USART_TypeDef* USARTx, uint32_t BaudRate, USART_WordLength_TypeDef
|
|
102 ; -----------------------------------------
|
|
103 ; function USART_Init
|
|
104 ; -----------------------------------------
|
|
00821B 105 _USART_Init:
|
|
00821B 52 0B [ 2] 106 sub sp, #11
|
|
107 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 210: USARTx->CR1 &= (uint8_t)(~(USART_CR1_PCEN | USART_CR1_PS | USART_CR1_M));
|
|
00821D 1F 0A [ 2] 108 ldw (0x0a, sp), x
|
|
00821F 1C 00 04 [ 2] 109 addw x, #0x0004
|
|
008222 F6 [ 1] 110 ld a, (x)
|
|
008223 A4 E9 [ 1] 111 and a, #0xe9
|
|
008225 6B 09 [ 1] 112 ld (0x09, sp), a
|
|
008227 F7 [ 1] 113 ld (x), a
|
|
114 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 213: USARTx->CR1 |= (uint8_t)((uint8_t)USART_WordLength | (uint8_t)USART_Parity);
|
|
008228 7B 12 [ 1] 115 ld a, (0x12, sp)
|
|
00822A 1A 14 [ 1] 116 or a, (0x14, sp)
|
|
00822C 1A 09 [ 1] 117 or a, (0x09, sp)
|
|
00822E F7 [ 1] 118 ld (x), a
|
|
119 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 216: USARTx->CR3 &= (uint8_t)(~USART_CR3_STOP);
|
|
00822F 1E 0A [ 2] 120 ldw x, (0x0a, sp)
|
|
008231 1C 00 06 [ 2] 121 addw x, #0x0006
|
|
008234 F6 [ 1] 122 ld a, (x)
|
|
008235 A4 CF [ 1] 123 and a, #0xcf
|
|
008237 F7 [ 1] 124 ld (x), a
|
|
125 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 218: USARTx->CR3 |= (uint8_t)USART_StopBits;
|
|
008238 1A 13 [ 1] 126 or a, (0x13, sp)
|
|
00823A F7 [ 1] 127 ld (x), a
|
|
128 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 221: USARTx->BRR1 &= (uint8_t)(~USART_BRR1_DIVM);
|
|
00823B 1E 0A [ 2] 129 ldw x, (0x0a, sp)
|
|
00823D 5C [ 1] 130 incw x
|
|
00823E 5C [ 1] 131 incw x
|
|
00823F 1F 01 [ 2] 132 ldw (0x01, sp), x
|
|
008241 F6 [ 1] 133 ld a, (x)
|
|
008242 1E 01 [ 2] 134 ldw x, (0x01, sp)
|
|
008244 7F [ 1] 135 clr (x)
|
|
136 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 223: USARTx->BRR2 &= (uint8_t)(~USART_BRR2_DIVM);
|
|
008245 1E 0A [ 2] 137 ldw x, (0x0a, sp)
|
|
008247 1C 00 03 [ 2] 138 addw x, #0x0003
|
|
00824A 1F 03 [ 2] 139 ldw (0x03, sp), x
|
|
00824C F6 [ 1] 140 ld a, (x)
|
|
00824D A4 0F [ 1] 141 and a, #0x0f
|
|
00824F 1E 03 [ 2] 142 ldw x, (0x03, sp)
|
|
008251 F7 [ 1] 143 ld (x), a
|
|
144 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 225: USARTx->BRR2 &= (uint8_t)(~USART_BRR2_DIVF);
|
|
008252 1E 03 [ 2] 145 ldw x, (0x03, sp)
|
|
008254 7F [ 1] 146 clr (x)
|
|
147 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 227: BaudRate_Mantissa = (uint32_t)(CLK_GetClockFreq() / BaudRate );
|
|
008255 CD 86 2D [ 4] 148 call _CLK_GetClockFreq
|
|
008258 1F 08 [ 2] 149 ldw (0x08, sp), x
|
|
00825A 1E 10 [ 2] 150 ldw x, (0x10, sp)
|
|
00825C 89 [ 2] 151 pushw x
|
|
00825D 1E 10 [ 2] 152 ldw x, (0x10, sp)
|
|
00825F 89 [ 2] 153 pushw x
|
|
008260 1E 0C [ 2] 154 ldw x, (0x0c, sp)
|
|
008262 89 [ 2] 155 pushw x
|
|
008263 90 89 [ 2] 156 pushw y
|
|
157 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 229: USARTx->BRR2 = (uint8_t)((BaudRate_Mantissa >> (uint8_t)8) & (uint8_t)0xF0);
|
|
008265 CD 8A 2C [ 4] 158 call __divulong
|
|
008268 5B 08 [ 2] 159 addw sp, #8
|
|
00826A 17 05 [ 2] 160 ldw (0x05, sp), y
|
|
00826C 9E [ 1] 161 ld a, xh
|
|
00826D A4 F0 [ 1] 162 and a, #0xf0
|
|
00826F 6B 09 [ 1] 163 ld (0x09, sp), a
|
|
008271 16 03 [ 2] 164 ldw y, (0x03, sp)
|
|
008273 7B 09 [ 1] 165 ld a, (0x09, sp)
|
|
008275 90 F7 [ 1] 166 ld (y), a
|
|
167 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 231: USARTx->BRR2 |= (uint8_t)(BaudRate_Mantissa & (uint8_t)0x0F);
|
|
008277 9F [ 1] 168 ld a, xl
|
|
008278 A4 0F [ 1] 169 and a, #0x0f
|
|
00827A 1A 09 [ 1] 170 or a, (0x09, sp)
|
|
00827C 16 03 [ 2] 171 ldw y, (0x03, sp)
|
|
00827E 90 F7 [ 1] 172 ld (y), a
|
|
173 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 233: USARTx->BRR1 = (uint8_t)(BaudRate_Mantissa >> (uint8_t)4);
|
|
008280 A6 10 [ 1] 174 ld a, #0x10
|
|
008282 62 [ 2] 175 div x, a
|
|
008283 9F [ 1] 176 ld a, xl
|
|
008284 1E 01 [ 2] 177 ldw x, (0x01, sp)
|
|
008286 F7 [ 1] 178 ld (x), a
|
|
179 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 236: USARTx->CR2 &= (uint8_t)~(USART_CR2_TEN | USART_CR2_REN);
|
|
008287 1E 0A [ 2] 180 ldw x, (0x0a, sp)
|
|
008289 1C 00 05 [ 2] 181 addw x, #0x0005
|
|
00828C F6 [ 1] 182 ld a, (x)
|
|
00828D A4 F3 [ 1] 183 and a, #0xf3
|
|
00828F F7 [ 1] 184 ld (x), a
|
|
185 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 238: USARTx->CR2 |= (uint8_t)USART_Mode;
|
|
008290 1A 15 [ 1] 186 or a, (0x15, sp)
|
|
008292 F7 [ 1] 187 ld (x), a
|
|
188 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 239: }
|
|
008293 1E 0C [ 2] 189 ldw x, (12, sp)
|
|
008295 5B 15 [ 2] 190 addw sp, #21
|
|
008297 FC [ 2] 191 jp (x)
|
|
192 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 264: void USART_ClockInit(USART_TypeDef* USARTx, USART_Clock_TypeDef USART_Clock,
|
|
193 ; -----------------------------------------
|
|
194 ; function USART_ClockInit
|
|
195 ; -----------------------------------------
|
|
008298 196 _USART_ClockInit:
|
|
008298 52 05 [ 2] 197 sub sp, #5
|
|
00829A 6B 05 [ 1] 198 ld (0x05, sp), a
|
|
199 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 275: USARTx->CR3 &= (uint8_t)~(USART_CR3_CPOL | USART_CR3_CPHA | USART_CR3_LBCL);
|
|
00829C 1C 00 06 [ 2] 200 addw x, #0x0006
|
|
00829F 1F 01 [ 2] 201 ldw (0x01, sp), x
|
|
0082A1 F6 [ 1] 202 ld a, (x)
|
|
0082A2 A4 F8 [ 1] 203 and a, #0xf8
|
|
0082A4 6B 03 [ 1] 204 ld (0x03, sp), a
|
|
0082A6 1E 01 [ 2] 205 ldw x, (0x01, sp)
|
|
0082A8 7B 03 [ 1] 206 ld a, (0x03, sp)
|
|
0082AA F7 [ 1] 207 ld (x), a
|
|
208 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 277: USARTx->CR3 |= (uint8_t)((uint8_t)((uint8_t)(USART_CPOL | (uint8_t)USART_CPHA ) | USART_LastBit));
|
|
0082AB 7B 08 [ 1] 209 ld a, (0x08, sp)
|
|
0082AD 1A 09 [ 1] 210 or a, (0x09, sp)
|
|
0082AF 6B 04 [ 1] 211 ld (0x04, sp), a
|
|
0082B1 7B 0A [ 1] 212 ld a, (0x0a, sp)
|
|
0082B3 1A 04 [ 1] 213 or a, (0x04, sp)
|
|
0082B5 1A 03 [ 1] 214 or a, (0x03, sp)
|
|
0082B7 1E 01 [ 2] 215 ldw x, (0x01, sp)
|
|
0082B9 F7 [ 1] 216 ld (x), a
|
|
217 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 275: USARTx->CR3 &= (uint8_t)~(USART_CR3_CPOL | USART_CR3_CPHA | USART_CR3_LBCL);
|
|
0082BA 1E 01 [ 2] 218 ldw x, (0x01, sp)
|
|
0082BC F6 [ 1] 219 ld a, (x)
|
|
220 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 279: if (USART_Clock != USART_Clock_Disable)
|
|
0082BD 0D 05 [ 1] 221 tnz (0x05, sp)
|
|
0082BF 27 07 [ 1] 222 jreq 00102$
|
|
223 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 281: USARTx->CR3 |= (uint8_t)(USART_CR3_CLKEN); /* Set the Clock Enable bit */
|
|
0082C1 AA 08 [ 1] 224 or a, #0x08
|
|
0082C3 1E 01 [ 2] 225 ldw x, (0x01, sp)
|
|
0082C5 F7 [ 1] 226 ld (x), a
|
|
0082C6 20 05 [ 2] 227 jra 00104$
|
|
0082C8 228 00102$:
|
|
229 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 285: USARTx->CR3 &= (uint8_t)(~USART_CR3_CLKEN); /* Clear the Clock Enable bit */
|
|
0082C8 A4 F7 [ 1] 230 and a, #0xf7
|
|
0082CA 1E 01 [ 2] 231 ldw x, (0x01, sp)
|
|
0082CC F7 [ 1] 232 ld (x), a
|
|
0082CD 233 00104$:
|
|
234 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 287: }
|
|
0082CD 1E 06 [ 2] 235 ldw x, (6, sp)
|
|
0082CF 5B 0A [ 2] 236 addw sp, #10
|
|
0082D1 FC [ 2] 237 jp (x)
|
|
238 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 296: void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
|
239 ; -----------------------------------------
|
|
240 ; function USART_Cmd
|
|
241 ; -----------------------------------------
|
|
0082D2 242 _USART_Cmd:
|
|
0082D2 88 [ 1] 243 push a
|
|
0082D3 6B 01 [ 1] 244 ld (0x01, sp), a
|
|
245 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 300: USARTx->CR1 &= (uint8_t)(~USART_CR1_USARTD); /**< USART Enable */
|
|
0082D5 1C 00 04 [ 2] 246 addw x, #0x0004
|
|
0082D8 F6 [ 1] 247 ld a, (x)
|
|
248 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 298: if (NewState != DISABLE)
|
|
0082D9 0D 01 [ 1] 249 tnz (0x01, sp)
|
|
0082DB 27 05 [ 1] 250 jreq 00102$
|
|
251 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 300: USARTx->CR1 &= (uint8_t)(~USART_CR1_USARTD); /**< USART Enable */
|
|
0082DD A4 DF [ 1] 252 and a, #0xdf
|
|
0082DF F7 [ 1] 253 ld (x), a
|
|
0082E0 20 03 [ 2] 254 jra 00104$
|
|
0082E2 255 00102$:
|
|
256 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 304: USARTx->CR1 |= USART_CR1_USARTD; /**< USART Disable (for low power consumption) */
|
|
0082E2 AA 20 [ 1] 257 or a, #0x20
|
|
0082E4 F7 [ 1] 258 ld (x), a
|
|
0082E5 259 00104$:
|
|
260 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 306: }
|
|
0082E5 84 [ 1] 261 pop a
|
|
0082E6 81 [ 4] 262 ret
|
|
263 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 329: void USART_SetPrescaler(USART_TypeDef* USARTx, uint8_t USART_Prescaler)
|
|
264 ; -----------------------------------------
|
|
265 ; function USART_SetPrescaler
|
|
266 ; -----------------------------------------
|
|
0082E7 267 _USART_SetPrescaler:
|
|
268 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 332: USARTx->PSCR = USART_Prescaler;
|
|
0082E7 1C 00 0A [ 2] 269 addw x, #0x000a
|
|
0082EA F7 [ 1] 270 ld (x), a
|
|
271 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 333: }
|
|
0082EB 81 [ 4] 272 ret
|
|
273 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 340: void USART_SendBreak(USART_TypeDef* USARTx)
|
|
274 ; -----------------------------------------
|
|
275 ; function USART_SendBreak
|
|
276 ; -----------------------------------------
|
|
0082EC 277 _USART_SendBreak:
|
|
278 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 342: USARTx->CR2 |= USART_CR2_SBK;
|
|
0082EC 1C 00 05 [ 2] 279 addw x, #0x0005
|
|
0082EF F6 [ 1] 280 ld a, (x)
|
|
0082F0 AA 01 [ 1] 281 or a, #0x01
|
|
0082F2 F7 [ 1] 282 ld (x), a
|
|
283 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 343: }
|
|
0082F3 81 [ 4] 284 ret
|
|
285 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 382: uint8_t USART_ReceiveData8(USART_TypeDef* USARTx)
|
|
286 ; -----------------------------------------
|
|
287 ; function USART_ReceiveData8
|
|
288 ; -----------------------------------------
|
|
0082F4 289 _USART_ReceiveData8:
|
|
290 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 384: return USARTx->DR;
|
|
0082F4 E6 01 [ 1] 291 ld a, (0x1, x)
|
|
292 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 385: }
|
|
0082F6 81 [ 4] 293 ret
|
|
294 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 392: uint16_t USART_ReceiveData9(USART_TypeDef* USARTx)
|
|
295 ; -----------------------------------------
|
|
296 ; function USART_ReceiveData9
|
|
297 ; -----------------------------------------
|
|
0082F7 298 _USART_ReceiveData9:
|
|
0082F7 89 [ 2] 299 pushw x
|
|
300 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 396: temp = ((uint16_t)(((uint16_t)((uint16_t)USARTx->CR1 & (uint16_t)USART_CR1_R8)) << 1));
|
|
0082F8 90 93 [ 1] 301 ldw y, x
|
|
0082FA E6 04 [ 1] 302 ld a, (0x4, x)
|
|
0082FC A4 80 [ 1] 303 and a, #0x80
|
|
0082FE 97 [ 1] 304 ld xl, a
|
|
0082FF 4F [ 1] 305 clr a
|
|
008300 95 [ 1] 306 ld xh, a
|
|
008301 58 [ 2] 307 sllw x
|
|
008302 1F 01 [ 2] 308 ldw (0x01, sp), x
|
|
309 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 397: return (uint16_t)( ((uint16_t)((uint16_t)USARTx->DR) | temp) & ((uint16_t)0x01FF));
|
|
008304 90 E6 01 [ 1] 310 ld a, (0x1, y)
|
|
008307 1A 02 [ 1] 311 or a, (0x02, sp)
|
|
008309 97 [ 1] 312 ld xl, a
|
|
00830A 7B 01 [ 1] 313 ld a, (0x01, sp)
|
|
00830C A4 01 [ 1] 314 and a, #0x01
|
|
00830E 95 [ 1] 315 ld xh, a
|
|
316 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 398: }
|
|
00830F 5B 02 [ 2] 317 addw sp, #2
|
|
008311 81 [ 4] 318 ret
|
|
319 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 405: void USART_SendData8(USART_TypeDef* USARTx, uint8_t Data)
|
|
320 ; -----------------------------------------
|
|
321 ; function USART_SendData8
|
|
322 ; -----------------------------------------
|
|
008312 323 _USART_SendData8:
|
|
324 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 408: USARTx->DR = Data;
|
|
008312 5C [ 1] 325 incw x
|
|
008313 F7 [ 1] 326 ld (x), a
|
|
327 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 409: }
|
|
008314 81 [ 4] 328 ret
|
|
329 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 418: void USART_SendData9(USART_TypeDef* USARTx, uint16_t Data)
|
|
330 ; -----------------------------------------
|
|
331 ; function USART_SendData9
|
|
332 ; -----------------------------------------
|
|
008315 333 _USART_SendData9:
|
|
008315 52 03 [ 2] 334 sub sp, #3
|
|
335 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 423: USARTx->CR1 &= ((uint8_t)~USART_CR1_T8);
|
|
008317 1F 02 [ 2] 336 ldw (0x02, sp), x
|
|
008319 1C 00 04 [ 2] 337 addw x, #0x0004
|
|
00831C F6 [ 1] 338 ld a, (x)
|
|
00831D A4 BF [ 1] 339 and a, #0xbf
|
|
00831F 6B 01 [ 1] 340 ld (0x01, sp), a
|
|
008321 F7 [ 1] 341 ld (x), a
|
|
342 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 426: USARTx->CR1 |= (uint8_t)(((uint8_t)(Data >> 2)) & USART_CR1_T8);
|
|
008322 16 06 [ 2] 343 ldw y, (0x06, sp)
|
|
008324 90 54 [ 2] 344 srlw y
|
|
008326 90 54 [ 2] 345 srlw y
|
|
008328 90 9F [ 1] 346 ld a, yl
|
|
00832A A4 40 [ 1] 347 and a, #0x40
|
|
00832C 1A 01 [ 1] 348 or a, (0x01, sp)
|
|
00832E F7 [ 1] 349 ld (x), a
|
|
350 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 429: USARTx->DR = (uint8_t)(Data);
|
|
00832F 1E 02 [ 2] 351 ldw x, (0x02, sp)
|
|
008331 5C [ 1] 352 incw x
|
|
008332 7B 07 [ 1] 353 ld a, (0x07, sp)
|
|
008334 F7 [ 1] 354 ld (x), a
|
|
355 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 430: }
|
|
008335 1E 04 [ 2] 356 ldw x, (4, sp)
|
|
008337 5B 07 [ 2] 357 addw sp, #7
|
|
008339 FC [ 2] 358 jp (x)
|
|
359 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 473: void USART_ReceiverWakeUpCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
|
360 ; -----------------------------------------
|
|
361 ; function USART_ReceiverWakeUpCmd
|
|
362 ; -----------------------------------------
|
|
00833A 363 _USART_ReceiverWakeUpCmd:
|
|
00833A 88 [ 1] 364 push a
|
|
00833B 6B 01 [ 1] 365 ld (0x01, sp), a
|
|
366 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 480: USARTx->CR2 |= USART_CR2_RWU;
|
|
00833D 1C 00 05 [ 2] 367 addw x, #0x0005
|
|
008340 F6 [ 1] 368 ld a, (x)
|
|
369 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 477: if (NewState != DISABLE)
|
|
008341 0D 01 [ 1] 370 tnz (0x01, sp)
|
|
008343 27 05 [ 1] 371 jreq 00102$
|
|
372 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 480: USARTx->CR2 |= USART_CR2_RWU;
|
|
008345 AA 02 [ 1] 373 or a, #0x02
|
|
008347 F7 [ 1] 374 ld (x), a
|
|
008348 20 03 [ 2] 375 jra 00104$
|
|
00834A 376 00102$:
|
|
377 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 485: USARTx->CR2 &= ((uint8_t)~USART_CR2_RWU);
|
|
00834A A4 FD [ 1] 378 and a, #0xfd
|
|
00834C F7 [ 1] 379 ld (x), a
|
|
00834D 380 00104$:
|
|
381 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 487: }
|
|
00834D 84 [ 1] 382 pop a
|
|
00834E 81 [ 4] 383 ret
|
|
384 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 496: void USART_SetAddress(USART_TypeDef* USARTx, uint8_t USART_Address)
|
|
385 ; -----------------------------------------
|
|
386 ; function USART_SetAddress
|
|
387 ; -----------------------------------------
|
|
00834F 388 _USART_SetAddress:
|
|
00834F 88 [ 1] 389 push a
|
|
008350 6B 01 [ 1] 390 ld (0x01, sp), a
|
|
391 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 502: USARTx->CR4 &= ((uint8_t)~USART_CR4_ADD);
|
|
008352 1C 00 07 [ 2] 392 addw x, #0x0007
|
|
008355 F6 [ 1] 393 ld a, (x)
|
|
008356 A4 F0 [ 1] 394 and a, #0xf0
|
|
008358 F7 [ 1] 395 ld (x), a
|
|
396 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 504: USARTx->CR4 |= USART_Address;
|
|
008359 1A 01 [ 1] 397 or a, (0x01, sp)
|
|
00835B F7 [ 1] 398 ld (x), a
|
|
399 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 505: }
|
|
00835C 84 [ 1] 400 pop a
|
|
00835D 81 [ 4] 401 ret
|
|
402 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 515: void USART_WakeUpConfig(USART_TypeDef* USARTx, USART_WakeUp_TypeDef USART_WakeUp)
|
|
403 ; -----------------------------------------
|
|
404 ; function USART_WakeUpConfig
|
|
405 ; -----------------------------------------
|
|
00835E 406 _USART_WakeUpConfig:
|
|
00835E 88 [ 1] 407 push a
|
|
00835F 6B 01 [ 1] 408 ld (0x01, sp), a
|
|
409 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 519: USARTx->CR1 &= ((uint8_t)~USART_CR1_WAKE);
|
|
008361 1C 00 04 [ 2] 410 addw x, #0x0004
|
|
008364 F6 [ 1] 411 ld a, (x)
|
|
008365 A4 F7 [ 1] 412 and a, #0xf7
|
|
008367 F7 [ 1] 413 ld (x), a
|
|
414 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 520: USARTx->CR1 |= (uint8_t)USART_WakeUp;
|
|
008368 1A 01 [ 1] 415 or a, (0x01, sp)
|
|
00836A F7 [ 1] 416 ld (x), a
|
|
417 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 521: }
|
|
00836B 84 [ 1] 418 pop a
|
|
00836C 81 [ 4] 419 ret
|
|
420 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 566: void USART_HalfDuplexCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
|
421 ; -----------------------------------------
|
|
422 ; function USART_HalfDuplexCmd
|
|
423 ; -----------------------------------------
|
|
00836D 424 _USART_HalfDuplexCmd:
|
|
00836D 88 [ 1] 425 push a
|
|
00836E 6B 01 [ 1] 426 ld (0x01, sp), a
|
|
427 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 572: USARTx->CR5 |= USART_CR5_HDSEL; /**< USART Half Duplex Enable */
|
|
008370 1C 00 08 [ 2] 428 addw x, #0x0008
|
|
008373 F6 [ 1] 429 ld a, (x)
|
|
430 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 570: if (NewState != DISABLE)
|
|
008374 0D 01 [ 1] 431 tnz (0x01, sp)
|
|
008376 27 05 [ 1] 432 jreq 00102$
|
|
433 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 572: USARTx->CR5 |= USART_CR5_HDSEL; /**< USART Half Duplex Enable */
|
|
008378 AA 08 [ 1] 434 or a, #0x08
|
|
00837A F7 [ 1] 435 ld (x), a
|
|
00837B 20 03 [ 2] 436 jra 00104$
|
|
00837D 437 00102$:
|
|
438 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 576: USARTx->CR5 &= (uint8_t)~USART_CR5_HDSEL; /**< USART Half Duplex Disable */
|
|
00837D A4 F7 [ 1] 439 and a, #0xf7
|
|
00837F F7 [ 1] 440 ld (x), a
|
|
008380 441 00104$:
|
|
442 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 578: }
|
|
008380 84 [ 1] 443 pop a
|
|
008381 81 [ 4] 444 ret
|
|
445 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 644: void USART_SmartCardCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
|
446 ; -----------------------------------------
|
|
447 ; function USART_SmartCardCmd
|
|
448 ; -----------------------------------------
|
|
008382 449 _USART_SmartCardCmd:
|
|
008382 88 [ 1] 450 push a
|
|
008383 6B 01 [ 1] 451 ld (0x01, sp), a
|
|
452 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 651: USARTx->CR5 |= USART_CR5_SCEN;
|
|
008385 1C 00 08 [ 2] 453 addw x, #0x0008
|
|
008388 F6 [ 1] 454 ld a, (x)
|
|
455 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 648: if (NewState != DISABLE)
|
|
008389 0D 01 [ 1] 456 tnz (0x01, sp)
|
|
00838B 27 05 [ 1] 457 jreq 00102$
|
|
458 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 651: USARTx->CR5 |= USART_CR5_SCEN;
|
|
00838D AA 20 [ 1] 459 or a, #0x20
|
|
00838F F7 [ 1] 460 ld (x), a
|
|
008390 20 03 [ 2] 461 jra 00104$
|
|
008392 462 00102$:
|
|
463 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 656: USARTx->CR5 &= ((uint8_t)(~USART_CR5_SCEN));
|
|
008392 A4 DF [ 1] 464 and a, #0xdf
|
|
008394 F7 [ 1] 465 ld (x), a
|
|
008395 466 00104$:
|
|
467 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 658: }
|
|
008395 84 [ 1] 468 pop a
|
|
008396 81 [ 4] 469 ret
|
|
470 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 667: void USART_SmartCardNACKCmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
|
471 ; -----------------------------------------
|
|
472 ; function USART_SmartCardNACKCmd
|
|
473 ; -----------------------------------------
|
|
008397 474 _USART_SmartCardNACKCmd:
|
|
008397 88 [ 1] 475 push a
|
|
008398 6B 01 [ 1] 476 ld (0x01, sp), a
|
|
477 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 674: USARTx->CR5 |= USART_CR5_NACK;
|
|
00839A 1C 00 08 [ 2] 478 addw x, #0x0008
|
|
00839D F6 [ 1] 479 ld a, (x)
|
|
480 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 671: if (NewState != DISABLE)
|
|
00839E 0D 01 [ 1] 481 tnz (0x01, sp)
|
|
0083A0 27 05 [ 1] 482 jreq 00102$
|
|
483 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 674: USARTx->CR5 |= USART_CR5_NACK;
|
|
0083A2 AA 10 [ 1] 484 or a, #0x10
|
|
0083A4 F7 [ 1] 485 ld (x), a
|
|
0083A5 20 03 [ 2] 486 jra 00104$
|
|
0083A7 487 00102$:
|
|
488 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 679: USARTx->CR5 &= ((uint8_t)~(USART_CR5_NACK));
|
|
0083A7 A4 EF [ 1] 489 and a, #0xef
|
|
0083A9 F7 [ 1] 490 ld (x), a
|
|
0083AA 491 00104$:
|
|
492 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 681: }
|
|
0083AA 84 [ 1] 493 pop a
|
|
0083AB 81 [ 4] 494 ret
|
|
495 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 690: void USART_SetGuardTime(USART_TypeDef* USARTx, uint8_t USART_GuardTime)
|
|
496 ; -----------------------------------------
|
|
497 ; function USART_SetGuardTime
|
|
498 ; -----------------------------------------
|
|
0083AC 499 _USART_SetGuardTime:
|
|
500 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 693: USARTx->GTR = USART_GuardTime;
|
|
0083AC 1C 00 09 [ 2] 501 addw x, #0x0009
|
|
0083AF F7 [ 1] 502 ld (x), a
|
|
503 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 694: }
|
|
0083B0 81 [ 4] 504 ret
|
|
505 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 751: void USART_IrDAConfig(USART_TypeDef* USARTx, USART_IrDAMode_TypeDef USART_IrDAMode)
|
|
506 ; -----------------------------------------
|
|
507 ; function USART_IrDAConfig
|
|
508 ; -----------------------------------------
|
|
0083B1 509 _USART_IrDAConfig:
|
|
0083B1 88 [ 1] 510 push a
|
|
0083B2 6B 01 [ 1] 511 ld (0x01, sp), a
|
|
512 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 757: USARTx->CR5 |= USART_CR5_IRLP;
|
|
0083B4 1C 00 08 [ 2] 513 addw x, #0x0008
|
|
0083B7 F6 [ 1] 514 ld a, (x)
|
|
515 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 755: if (USART_IrDAMode != USART_IrDAMode_Normal)
|
|
0083B8 0D 01 [ 1] 516 tnz (0x01, sp)
|
|
0083BA 27 05 [ 1] 517 jreq 00102$
|
|
518 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 757: USARTx->CR5 |= USART_CR5_IRLP;
|
|
0083BC AA 04 [ 1] 519 or a, #0x04
|
|
0083BE F7 [ 1] 520 ld (x), a
|
|
0083BF 20 03 [ 2] 521 jra 00104$
|
|
0083C1 522 00102$:
|
|
523 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 761: USARTx->CR5 &= ((uint8_t)~USART_CR5_IRLP);
|
|
0083C1 A4 FB [ 1] 524 and a, #0xfb
|
|
0083C3 F7 [ 1] 525 ld (x), a
|
|
0083C4 526 00104$:
|
|
527 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 763: }
|
|
0083C4 84 [ 1] 528 pop a
|
|
0083C5 81 [ 4] 529 ret
|
|
530 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 772: void USART_IrDACmd(USART_TypeDef* USARTx, FunctionalState NewState)
|
|
531 ; -----------------------------------------
|
|
532 ; function USART_IrDACmd
|
|
533 ; -----------------------------------------
|
|
0083C6 534 _USART_IrDACmd:
|
|
0083C6 88 [ 1] 535 push a
|
|
0083C7 6B 01 [ 1] 536 ld (0x01, sp), a
|
|
537 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 781: USARTx->CR5 |= USART_CR5_IREN;
|
|
0083C9 1C 00 08 [ 2] 538 addw x, #0x0008
|
|
0083CC F6 [ 1] 539 ld a, (x)
|
|
540 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 778: if (NewState != DISABLE)
|
|
0083CD 0D 01 [ 1] 541 tnz (0x01, sp)
|
|
0083CF 27 05 [ 1] 542 jreq 00102$
|
|
543 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 781: USARTx->CR5 |= USART_CR5_IREN;
|
|
0083D1 AA 02 [ 1] 544 or a, #0x02
|
|
0083D3 F7 [ 1] 545 ld (x), a
|
|
0083D4 20 03 [ 2] 546 jra 00104$
|
|
0083D6 547 00102$:
|
|
548 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 786: USARTx->CR5 &= ((uint8_t)~USART_CR5_IREN);
|
|
0083D6 A4 FD [ 1] 549 and a, #0xfd
|
|
0083D8 F7 [ 1] 550 ld (x), a
|
|
0083D9 551 00104$:
|
|
552 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 788: }
|
|
0083D9 84 [ 1] 553 pop a
|
|
0083DA 81 [ 4] 554 ret
|
|
555 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 818: void USART_DMACmd(USART_TypeDef* USARTx, USART_DMAReq_TypeDef USART_DMAReq,
|
|
556 ; -----------------------------------------
|
|
557 ; function USART_DMACmd
|
|
558 ; -----------------------------------------
|
|
0083DB 559 _USART_DMACmd:
|
|
0083DB 88 [ 1] 560 push a
|
|
561 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 829: USARTx->CR5 |= (uint8_t) USART_DMAReq;
|
|
0083DC 1C 00 08 [ 2] 562 addw x, #0x0008
|
|
0083DF 88 [ 1] 563 push a
|
|
0083E0 F6 [ 1] 564 ld a, (x)
|
|
0083E1 6B 02 [ 1] 565 ld (0x02, sp), a
|
|
0083E3 84 [ 1] 566 pop a
|
|
567 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 825: if (NewState != DISABLE)
|
|
0083E4 0D 04 [ 1] 568 tnz (0x04, sp)
|
|
0083E6 27 05 [ 1] 569 jreq 00102$
|
|
570 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 829: USARTx->CR5 |= (uint8_t) USART_DMAReq;
|
|
0083E8 1A 01 [ 1] 571 or a, (0x01, sp)
|
|
0083EA F7 [ 1] 572 ld (x), a
|
|
0083EB 20 04 [ 2] 573 jra 00104$
|
|
0083ED 574 00102$:
|
|
575 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 835: USARTx->CR5 &= (uint8_t)~USART_DMAReq;
|
|
0083ED 43 [ 1] 576 cpl a
|
|
0083EE 14 01 [ 1] 577 and a, (0x01, sp)
|
|
0083F0 F7 [ 1] 578 ld (x), a
|
|
0083F1 579 00104$:
|
|
580 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 837: }
|
|
0083F1 84 [ 1] 581 pop a
|
|
0083F2 85 [ 2] 582 popw x
|
|
0083F3 84 [ 1] 583 pop a
|
|
0083F4 FC [ 2] 584 jp (x)
|
|
585 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 939: void USART_ITConfig(USART_TypeDef* USARTx, USART_IT_TypeDef USART_IT, FunctionalState NewState)
|
|
586 ; -----------------------------------------
|
|
587 ; function USART_ITConfig
|
|
588 ; -----------------------------------------
|
|
0083F5 589 _USART_ITConfig:
|
|
0083F5 52 09 [ 2] 590 sub sp, #9
|
|
0083F7 1F 08 [ 2] 591 ldw (0x08, sp), x
|
|
592 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 946: usartreg = (uint8_t)((uint16_t)USART_IT >> 0x08);
|
|
0083F9 1E 0C [ 2] 593 ldw x, (0x0c, sp)
|
|
594 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 948: itpos = (uint8_t)((uint8_t)1 << (uint8_t)((uint8_t)USART_IT & (uint8_t)0x0F));
|
|
0083FB 7B 0D [ 1] 595 ld a, (0x0d, sp)
|
|
0083FD A4 0F [ 1] 596 and a, #0x0f
|
|
0083FF 88 [ 1] 597 push a
|
|
008400 A6 01 [ 1] 598 ld a, #0x01
|
|
008402 6B 08 [ 1] 599 ld (0x08, sp), a
|
|
008404 84 [ 1] 600 pop a
|
|
008405 4D [ 1] 601 tnz a
|
|
008406 27 05 [ 1] 602 jreq 00154$
|
|
008408 603 00153$:
|
|
008408 08 07 [ 1] 604 sll (0x07, sp)
|
|
00840A 4A [ 1] 605 dec a
|
|
00840B 26 FB [ 1] 606 jrne 00153$
|
|
00840D 607 00154$:
|
|
608 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 953: if (usartreg == 0x01)
|
|
00840D 9E [ 1] 609 ld a, xh
|
|
00840E 4A [ 1] 610 dec a
|
|
00840F 26 05 [ 1] 611 jrne 00156$
|
|
008411 A6 01 [ 1] 612 ld a, #0x01
|
|
008413 6B 01 [ 1] 613 ld (0x01, sp), a
|
|
008415 C5 614 .byte 0xc5
|
|
008416 615 00156$:
|
|
008416 0F 01 [ 1] 616 clr (0x01, sp)
|
|
008418 617 00157$:
|
|
618 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 955: USARTx->CR1 |= itpos;
|
|
008418 16 08 [ 2] 619 ldw y, (0x08, sp)
|
|
00841A 72 A9 00 04 [ 2] 620 addw y, #0x0004
|
|
00841E 17 02 [ 2] 621 ldw (0x02, sp), y
|
|
622 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 957: else if (usartreg == 0x05)
|
|
008420 9E [ 1] 623 ld a, xh
|
|
008421 A0 05 [ 1] 624 sub a, #0x05
|
|
008423 26 04 [ 1] 625 jrne 00159$
|
|
008425 4C [ 1] 626 inc a
|
|
008426 6B 04 [ 1] 627 ld (0x04, sp), a
|
|
008428 C5 628 .byte 0xc5
|
|
008429 629 00159$:
|
|
008429 0F 04 [ 1] 630 clr (0x04, sp)
|
|
00842B 631 00160$:
|
|
632 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 959: USARTx->CR5 |= itpos;
|
|
00842B 1E 08 [ 2] 633 ldw x, (0x08, sp)
|
|
00842D 1C 00 08 [ 2] 634 addw x, #0x0008
|
|
008430 1F 05 [ 2] 635 ldw (0x05, sp), x
|
|
636 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 964: USARTx->CR2 |= itpos;
|
|
008432 1E 08 [ 2] 637 ldw x, (0x08, sp)
|
|
008434 1C 00 05 [ 2] 638 addw x, #0x0005
|
|
639 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 950: if (NewState != DISABLE)
|
|
008437 0D 0E [ 1] 640 tnz (0x0e, sp)
|
|
008439 27 22 [ 1] 641 jreq 00114$
|
|
642 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 953: if (usartreg == 0x01)
|
|
00843B 0D 01 [ 1] 643 tnz (0x01, sp)
|
|
00843D 27 0A [ 1] 644 jreq 00105$
|
|
645 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 955: USARTx->CR1 |= itpos;
|
|
00843F 1E 02 [ 2] 646 ldw x, (0x02, sp)
|
|
008441 F6 [ 1] 647 ld a, (x)
|
|
008442 1A 07 [ 1] 648 or a, (0x07, sp)
|
|
008444 1E 02 [ 2] 649 ldw x, (0x02, sp)
|
|
008446 F7 [ 1] 650 ld (x), a
|
|
008447 20 36 [ 2] 651 jra 00116$
|
|
008449 652 00105$:
|
|
653 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 957: else if (usartreg == 0x05)
|
|
008449 0D 04 [ 1] 654 tnz (0x04, sp)
|
|
00844B 27 0A [ 1] 655 jreq 00102$
|
|
656 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 959: USARTx->CR5 |= itpos;
|
|
00844D 1E 05 [ 2] 657 ldw x, (0x05, sp)
|
|
00844F F6 [ 1] 658 ld a, (x)
|
|
008450 1A 07 [ 1] 659 or a, (0x07, sp)
|
|
008452 1E 05 [ 2] 660 ldw x, (0x05, sp)
|
|
008454 F7 [ 1] 661 ld (x), a
|
|
008455 20 28 [ 2] 662 jra 00116$
|
|
008457 663 00102$:
|
|
664 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 964: USARTx->CR2 |= itpos;
|
|
008457 F6 [ 1] 665 ld a, (x)
|
|
008458 1A 07 [ 1] 666 or a, (0x07, sp)
|
|
00845A F7 [ 1] 667 ld (x), a
|
|
00845B 20 22 [ 2] 668 jra 00116$
|
|
00845D 669 00114$:
|
|
670 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 972: USARTx->CR1 &= (uint8_t)(~itpos);
|
|
00845D 03 07 [ 1] 671 cpl (0x07, sp)
|
|
672 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 970: if (usartreg == 0x01)
|
|
00845F 0D 01 [ 1] 673 tnz (0x01, sp)
|
|
008461 27 0A [ 1] 674 jreq 00111$
|
|
675 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 972: USARTx->CR1 &= (uint8_t)(~itpos);
|
|
008463 1E 02 [ 2] 676 ldw x, (0x02, sp)
|
|
008465 F6 [ 1] 677 ld a, (x)
|
|
008466 14 07 [ 1] 678 and a, (0x07, sp)
|
|
008468 1E 02 [ 2] 679 ldw x, (0x02, sp)
|
|
00846A F7 [ 1] 680 ld (x), a
|
|
00846B 20 12 [ 2] 681 jra 00116$
|
|
00846D 682 00111$:
|
|
683 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 974: else if (usartreg == 0x05)
|
|
00846D 0D 04 [ 1] 684 tnz (0x04, sp)
|
|
00846F 27 0A [ 1] 685 jreq 00108$
|
|
686 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 976: USARTx->CR5 &= (uint8_t)(~itpos);
|
|
008471 1E 05 [ 2] 687 ldw x, (0x05, sp)
|
|
008473 F6 [ 1] 688 ld a, (x)
|
|
008474 14 07 [ 1] 689 and a, (0x07, sp)
|
|
008476 1E 05 [ 2] 690 ldw x, (0x05, sp)
|
|
008478 F7 [ 1] 691 ld (x), a
|
|
008479 20 04 [ 2] 692 jra 00116$
|
|
00847B 693 00108$:
|
|
694 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 981: USARTx->CR2 &= (uint8_t)(~itpos);
|
|
00847B F6 [ 1] 695 ld a, (x)
|
|
00847C 14 07 [ 1] 696 and a, (0x07, sp)
|
|
00847E F7 [ 1] 697 ld (x), a
|
|
00847F 698 00116$:
|
|
699 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 984: }
|
|
00847F 1E 0A [ 2] 700 ldw x, (10, sp)
|
|
008481 5B 0E [ 2] 701 addw sp, #14
|
|
008483 FC [ 2] 702 jp (x)
|
|
703 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1002: FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, USART_FLAG_TypeDef USART_FLAG)
|
|
704 ; -----------------------------------------
|
|
705 ; function USART_GetFlagStatus
|
|
706 ; -----------------------------------------
|
|
008484 707 _USART_GetFlagStatus:
|
|
008484 88 [ 1] 708 push a
|
|
709 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1009: if (USART_FLAG == USART_FLAG_SBK)
|
|
008485 16 04 [ 2] 710 ldw y, (0x04, sp)
|
|
711 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1011: if ((USARTx->CR2 & (uint8_t)USART_FLAG) != (uint8_t)0x00)
|
|
008487 7B 05 [ 1] 712 ld a, (0x05, sp)
|
|
008489 6B 01 [ 1] 713 ld (0x01, sp), a
|
|
714 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1009: if (USART_FLAG == USART_FLAG_SBK)
|
|
00848B 90 A3 01 01 [ 2] 715 cpw y, #0x0101
|
|
00848F 26 0D [ 1] 716 jrne 00108$
|
|
717 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1011: if ((USARTx->CR2 & (uint8_t)USART_FLAG) != (uint8_t)0x00)
|
|
008491 E6 05 [ 1] 718 ld a, (0x5, x)
|
|
008493 14 01 [ 1] 719 and a, (0x01, sp)
|
|
008495 27 04 [ 1] 720 jreq 00102$
|
|
721 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1014: status = SET;
|
|
008497 A6 01 [ 1] 722 ld a, #0x01
|
|
008499 20 0C [ 2] 723 jra 00109$
|
|
00849B 724 00102$:
|
|
725 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1019: status = RESET;
|
|
00849B 4F [ 1] 726 clr a
|
|
00849C 20 09 [ 2] 727 jra 00109$
|
|
00849E 728 00108$:
|
|
729 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1024: if ((USARTx->SR & (uint8_t)USART_FLAG) != (uint8_t)0x00)
|
|
00849E F6 [ 1] 730 ld a, (x)
|
|
00849F 14 01 [ 1] 731 and a, (0x01, sp)
|
|
0084A1 27 03 [ 1] 732 jreq 00105$
|
|
733 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1027: status = SET;
|
|
0084A3 A6 01 [ 1] 734 ld a, #0x01
|
|
735 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1032: status = RESET;
|
|
0084A5 21 736 .byte 0x21
|
|
0084A6 737 00105$:
|
|
0084A6 4F [ 1] 738 clr a
|
|
0084A7 739 00109$:
|
|
740 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1036: return status;
|
|
741 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1037: }
|
|
0084A7 1E 02 [ 2] 742 ldw x, (2, sp)
|
|
0084A9 5B 05 [ 2] 743 addw sp, #5
|
|
0084AB FC [ 2] 744 jp (x)
|
|
745 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1060: void USART_ClearFlag(USART_TypeDef* USARTx, USART_FLAG_TypeDef USART_FLAG)
|
|
746 ; -----------------------------------------
|
|
747 ; function USART_ClearFlag
|
|
748 ; -----------------------------------------
|
|
0084AC 749 _USART_ClearFlag:
|
|
750 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1065: USARTx->SR = (uint8_t)((uint16_t)~((uint16_t)USART_FLAG));
|
|
0084AC 16 03 [ 2] 751 ldw y, (0x03, sp)
|
|
0084AE 90 53 [ 2] 752 cplw y
|
|
0084B0 90 9F [ 1] 753 ld a, yl
|
|
0084B2 F7 [ 1] 754 ld (x), a
|
|
755 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1066: }
|
|
0084B3 1E 01 [ 2] 756 ldw x, (1, sp)
|
|
0084B5 5B 04 [ 2] 757 addw sp, #4
|
|
0084B7 FC [ 2] 758 jp (x)
|
|
759 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1083: ITStatus USART_GetITStatus(USART_TypeDef* USARTx, USART_IT_TypeDef USART_IT)
|
|
760 ; -----------------------------------------
|
|
761 ; function USART_GetITStatus
|
|
762 ; -----------------------------------------
|
|
0084B8 763 _USART_GetITStatus:
|
|
0084B8 52 09 [ 2] 764 sub sp, #9
|
|
0084BA 1F 08 [ 2] 765 ldw (0x08, sp), x
|
|
766 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1096: itpos = (uint8_t)((uint8_t)1 << (uint8_t)((uint8_t)USART_IT & (uint8_t)0x0F));
|
|
0084BC 7B 0D [ 1] 767 ld a, (0x0d, sp)
|
|
0084BE 97 [ 1] 768 ld xl, a
|
|
0084BF A4 0F [ 1] 769 and a, #0x0f
|
|
0084C1 88 [ 1] 770 push a
|
|
0084C2 A6 01 [ 1] 771 ld a, #0x01
|
|
0084C4 6B 04 [ 1] 772 ld (0x04, sp), a
|
|
0084C6 84 [ 1] 773 pop a
|
|
0084C7 4D [ 1] 774 tnz a
|
|
0084C8 27 05 [ 1] 775 jreq 00179$
|
|
0084CA 776 00178$:
|
|
0084CA 08 03 [ 1] 777 sll (0x03, sp)
|
|
0084CC 4A [ 1] 778 dec a
|
|
0084CD 26 FB [ 1] 779 jrne 00178$
|
|
0084CF 780 00179$:
|
|
781 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1098: itmask1 = (uint8_t)((uint8_t)USART_IT >> (uint8_t)4);
|
|
0084CF 9F [ 1] 782 ld a, xl
|
|
0084D0 4E [ 1] 783 swap a
|
|
0084D1 A4 0F [ 1] 784 and a, #0x0f
|
|
785 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1100: itmask2 = (uint8_t)((uint8_t)1 << itmask1);
|
|
0084D3 88 [ 1] 786 push a
|
|
0084D4 A6 01 [ 1] 787 ld a, #0x01
|
|
0084D6 6B 08 [ 1] 788 ld (0x08, sp), a
|
|
0084D8 84 [ 1] 789 pop a
|
|
0084D9 4D [ 1] 790 tnz a
|
|
0084DA 27 05 [ 1] 791 jreq 00181$
|
|
0084DC 792 00180$:
|
|
0084DC 08 07 [ 1] 793 sll (0x07, sp)
|
|
0084DE 4A [ 1] 794 dec a
|
|
0084DF 26 FB [ 1] 795 jrne 00180$
|
|
0084E1 796 00181$:
|
|
797 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1103: if (USART_IT == USART_IT_PE)
|
|
0084E1 16 0C [ 2] 798 ldw y, (0x0c, sp)
|
|
0084E3 17 01 [ 2] 799 ldw (0x01, sp), y
|
|
800 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1109: if (((USARTx->SR & itpos) != (uint8_t)0x00) && enablestatus)
|
|
0084E5 16 08 [ 2] 801 ldw y, (0x08, sp)
|
|
0084E7 17 04 [ 2] 802 ldw (0x04, sp), y
|
|
803 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1103: if (USART_IT == USART_IT_PE)
|
|
0084E9 1E 01 [ 2] 804 ldw x, (0x01, sp)
|
|
0084EB A3 01 00 [ 2] 805 cpw x, #0x0100
|
|
0084EE 26 1D [ 1] 806 jrne 00118$
|
|
807 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1106: enablestatus = (uint8_t)((uint8_t)USARTx->CR1 & itmask2);
|
|
0084F0 16 08 [ 2] 808 ldw y, (0x08, sp)
|
|
0084F2 17 01 [ 2] 809 ldw (0x01, sp), y
|
|
0084F4 93 [ 1] 810 ldw x, y
|
|
0084F5 E6 04 [ 1] 811 ld a, (0x4, x)
|
|
0084F7 14 07 [ 1] 812 and a, (0x07, sp)
|
|
0084F9 6B 07 [ 1] 813 ld (0x07, sp), a
|
|
814 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1109: if (((USARTx->SR & itpos) != (uint8_t)0x00) && enablestatus)
|
|
0084FB 1E 04 [ 2] 815 ldw x, (0x04, sp)
|
|
0084FD F6 [ 1] 816 ld a, (x)
|
|
0084FE 14 03 [ 1] 817 and a, (0x03, sp)
|
|
008500 27 08 [ 1] 818 jreq 00102$
|
|
008502 0D 07 [ 1] 819 tnz (0x07, sp)
|
|
008504 27 04 [ 1] 820 jreq 00102$
|
|
821 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1112: pendingbitstatus = SET;
|
|
008506 A6 01 [ 1] 822 ld a, #0x01
|
|
008508 20 41 [ 2] 823 jra 00119$
|
|
00850A 824 00102$:
|
|
825 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1117: pendingbitstatus = RESET;
|
|
00850A 4F [ 1] 826 clr a
|
|
00850B 20 3E [ 2] 827 jra 00119$
|
|
00850D 828 00118$:
|
|
829 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1124: enablestatus = (uint8_t)((uint8_t)USARTx->CR2 & itmask2);
|
|
00850D 1E 08 [ 2] 830 ldw x, (0x08, sp)
|
|
00850F E6 05 [ 1] 831 ld a, (0x5, x)
|
|
008511 14 07 [ 1] 832 and a, (0x07, sp)
|
|
833 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1121: else if (USART_IT == USART_IT_OR)
|
|
008513 1E 01 [ 2] 834 ldw x, (0x01, sp)
|
|
008515 A3 02 35 [ 2] 835 cpw x, #0x0235
|
|
008518 26 20 [ 1] 836 jrne 00115$
|
|
837 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1124: enablestatus = (uint8_t)((uint8_t)USARTx->CR2 & itmask2);
|
|
00851A 6B 06 [ 1] 838 ld (0x06, sp), a
|
|
839 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1127: temp = (uint8_t)(USARTx->CR5 & USART_CR5_EIE);
|
|
00851C 1E 08 [ 2] 840 ldw x, (0x08, sp)
|
|
00851E E6 08 [ 1] 841 ld a, (0x8, x)
|
|
008520 A4 01 [ 1] 842 and a, #0x01
|
|
008522 6B 07 [ 1] 843 ld (0x07, sp), a
|
|
844 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1129: if (( (USARTx->SR & itpos) != 0x00) && ((enablestatus || temp)))
|
|
008524 1E 04 [ 2] 845 ldw x, (0x04, sp)
|
|
008526 F6 [ 1] 846 ld a, (x)
|
|
008527 14 03 [ 1] 847 and a, (0x03, sp)
|
|
008529 27 0C [ 1] 848 jreq 00106$
|
|
00852B 0D 06 [ 1] 849 tnz (0x06, sp)
|
|
00852D 26 04 [ 1] 850 jrne 00105$
|
|
00852F 0D 07 [ 1] 851 tnz (0x07, sp)
|
|
008531 27 04 [ 1] 852 jreq 00106$
|
|
008533 853 00105$:
|
|
854 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1132: pendingbitstatus = SET;
|
|
008533 A6 01 [ 1] 855 ld a, #0x01
|
|
008535 20 14 [ 2] 856 jra 00119$
|
|
008537 857 00106$:
|
|
858 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1137: pendingbitstatus = RESET;
|
|
008537 4F [ 1] 859 clr a
|
|
008538 20 11 [ 2] 860 jra 00119$
|
|
00853A 861 00115$:
|
|
862 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1144: enablestatus = (uint8_t)((uint8_t)USARTx->CR2 & itmask2);
|
|
00853A 6B 07 [ 1] 863 ld (0x07, sp), a
|
|
864 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1146: if (((USARTx->SR & itpos) != (uint8_t)0x00) && enablestatus)
|
|
00853C 1E 04 [ 2] 865 ldw x, (0x04, sp)
|
|
00853E F6 [ 1] 866 ld a, (x)
|
|
00853F 14 03 [ 1] 867 and a, (0x03, sp)
|
|
008541 27 07 [ 1] 868 jreq 00111$
|
|
008543 0D 07 [ 1] 869 tnz (0x07, sp)
|
|
008545 27 03 [ 1] 870 jreq 00111$
|
|
871 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1149: pendingbitstatus = SET;
|
|
008547 A6 01 [ 1] 872 ld a, #0x01
|
|
873 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1154: pendingbitstatus = RESET;
|
|
008549 21 874 .byte 0x21
|
|
00854A 875 00111$:
|
|
00854A 4F [ 1] 876 clr a
|
|
00854B 877 00119$:
|
|
878 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1159: return pendingbitstatus;
|
|
879 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1160: }
|
|
00854B 1E 0A [ 2] 880 ldw x, (10, sp)
|
|
00854D 5B 0D [ 2] 881 addw sp, #13
|
|
00854F FC [ 2] 882 jp (x)
|
|
883 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1183: void USART_ClearITPendingBit(USART_TypeDef* USARTx, USART_IT_TypeDef USART_IT)
|
|
884 ; -----------------------------------------
|
|
885 ; function USART_ClearITPendingBit
|
|
886 ; -----------------------------------------
|
|
008550 887 _USART_ClearITPendingBit:
|
|
888 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1188: USARTx->SR &= (uint8_t)(~USART_SR_TC);
|
|
008550 F6 [ 1] 889 ld a, (x)
|
|
008551 A4 BF [ 1] 890 and a, #0xbf
|
|
008553 F7 [ 1] 891 ld (x), a
|
|
892 ; ../inc/stm8l151x/src/stm8l15x_usart.c: 1189: }
|
|
008554 1E 01 [ 2] 893 ldw x, (1, sp)
|
|
008556 5B 04 [ 2] 894 addw sp, #4
|
|
008558 FC [ 2] 895 jp (x)
|
|
896 .area CODE
|
|
897 .area CONST
|
|
898 .area INITIALIZER
|
|
899 .area CABS (ABS)
|