ЕМНИП, перевод конструкций примерно следующий:
переводится вКод:if (condition) then positive else negative endif
Код:call check_condition ; C if succeed jp nc,failed <positive> jp endif failed: <negative> endif:переводится вКод:while (condition) body;
GOTO переводится в JP, очевидно же.Код:while_loop: call check_condition jp nc,while_end <body> jp while_loop while_end:
BEGIN/END действительно могут интерпретироваться как скобки, но исключительно на своем уровне интерпретации (т.е. блочном).
Главное- помнить, что трансляция в машинные коды происходит в несколько этапов. Сначала лексический анализ (программа из текста преобразуется во внутренний код, где токены закодированы более понятным для парсера способом), потом синтаксический анализ (подготовка внутреннего кода в форму ОПЗ, например), потом генерация исходного ассемблерного кода и только потом из ассемблера генерится машинный код. (Могу напутать с названием шагов, давно уже ковырял эту тему).




Ответить с цитированием