Я хочу спросить, что всякий раз, когда язык высокого уровня преобразуется в язык низкого уровня, он будет соответствовать друг другу? Например, если я собираюсь конвертировать следующий язык высокого уровня
while(LOCK!=0);
LOCK=1
\\Critical Section
LOCK=0
на следующий язык ассемблера
Load LOCK,R0
Store #1,LOCK
Compare R0,#0
Jump step 1
\\Critical Section
Store #0,LOCK
вместо
Load LOCK,R0
Compare R0,#0
Jump step 1
Store #1,LOCK
\\Critical Section
Store #0,LOCK
Это было бы неправильно? Поскольку оператор while состоит из загрузки, сравнения и перехода инструкций вместе. Но, как вы видели, я должен применить TSL (Test and Set Lock) для синхронизации процессов. Вот почему я задаю этот вопрос.