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.
|
|||
|
|
;//
|