Ранее я писал о том, чем можно заменить команду RET. Сегодня тот же вопрос, но для команды JMP. Допустим, у нас есть такая программа: Программа совершенно бессмысленная. Более того, она никогда не завершится, потому что с помощью команды JMP мы всё время возвращаемся в начало программы. Однако некий смысл в этой программе всё же есть - она показывает, как используется инструкция JMP. А вот в следующем примере мы получаем тот же результат, но без использования JMP: То есть сначала мы адрес метки start записываем в стек. И это будет точка возврата из процедуры. А потом вызываем команду RET, которая выполняет выход из процедуры на адрес, указанный в вершине стека. Таким образом, несмотря на то, что никакой процедуры в программе нет, и тем более мы её не вызывали, мы “обманули” процессор, подсунув ему адрес несуществующей процедуры и выполнив команду выхода из процедуры. То есть фактически мы выполнили безусловный переход - те же действия, которые выполняет команда JMP. Спросите - зачем эт