In this page FURS is used to make two new Embedded Forth Words named 'enable!' or 'disable!'
Audience - Forth programmers
A note on style: FURS uses the following styles:
- CAPITALS: all CMSIS-SVD Words, i.e. MODER14
- lower case: all Forth Words, including user created Words, i.e. bf@
enable!
This word is used to enable (or disable with "disable!") CMSIS bitfields that take only a one bit parameter, either 1 or 0. These bitfields always end in "%EN" but not every bitfield ending in "EN" has a one bit parameter, the programmer is expected to know when to use these words.
Example: RCC_AHBENR_IOPAEN enable! \ enable GPIOA for inputs : enable! ( -- ) 1 bfs! ; : disable! ( -- ) 1 bfc! ;
Dependencies
Two default Mecrisp-Stellaris Words: bis! bic!
Dissasembly
see enable!
20000C4A: 2301 movs r3 #1
20000C4C: 40B3 lsls r3 r6
20000C4E: CF40 ldmia r7 { r6 }
20000C50: 6832 ldr r2 [ r6 #0 ] r6 #0
20000C52: 431A orrs r2 r3
20000C54: 6032 str r2 [ r6 #0 ] r6 #0
20000C56: CF40 ldmia r7 { r6 }
20000C58: 4770 bx lr
Bytes: 16 ok.
see disable!
20000C8C: 2301 movs r3 #1
20000C8E: 40B3 lsls r3 r6
20000C90: CF40 ldmia r7 { r6 }
20000C92: 6832 ldr r2 [ r6 #0 ] r6 #0
20000C94: 439A bics r2 r3
20000C96: 6032 str r2 [ r6 #0 ] r6 #0
20000C98: CF40 ldmia r7 { r6 }
20000C9A: 4770 bx lr
Bytes: 16 ok.