30 lines
647 B
NASM
30 lines
647 B
NASM
;//*##########################################################################
|
||
;//
|
||
;// \FILE F2838xD_TestAndSet.asm
|
||
;// \project EFC_PlatformC28x
|
||
;// \date 10 мая 2024 г.
|
||
;// \author Titov L.A.
|
||
;//
|
||
;// \breif Test of make-run-read-modify-write(bit) atomic operation
|
||
;//
|
||
;//###########################################################################
|
||
|
||
;D
|
||
|
||
.text
|
||
.global _test_and_set
|
||
|
||
|
||
;Input: volatile uint16_t * - AR4 (on low 16 bit address space)
|
||
;Output: uint16_t - AL (return value)
|
||
|
||
_test_and_set:
|
||
TSET *AR4,#0 ;Test and set specified bit, read-modify-write operation.
|
||
MOVB AL,#0
|
||
MOVB AL,#1,TC
|
||
LRETR
|
||
|
||
;//
|
||
;// End of file.
|
||
;//
|