Eu quero perguntar que sempre que a linguagem de alto nível é convertida em linguagem de baixo nível, então ela estaria indo para o outro? Por exemplo, se eu for converter a seguinte linguagem de alto nível
while(LOCK!=0);
LOCK=1
\Critical Section
LOCK=0
para a seguinte linguagem assembly
Load LOCK,R0
Store #1,LOCK
Compare R0,#0
Jump step 1
\Critical Section
Store #0,LOCK
em vez de
Load LOCK,R0
Compare R0,#0
Jump step 1
Store #1,LOCK
\Critical Section
Store #0,LOCK
Seria errado? Desde afirmação enquanto consiste em carregar, comparar e saltar instruções juntos. Mas, como você viu, eu tenho que aplicar o TSL (Test and Set Lock) para sincronizar os processos. É por isso que estou fazendo esta pergunta.
Tags assembly