Почему некоторые носители английского говорят, что грузовик, а другие - грузовик?Должны ли мы заставить всех соответствовать одному стандарту?Все гамбургеры должны быть большими маками ...
Сначала мы все еще делаем программу на ассемблере.Достаточно людей делают так, что другие не должны.Ваши компиляторы сильно полагаются на это.Сложно разработать и отладить компиляторы и процессоры без этого.Без компиляторов и процессоров, что бы мы делали?
Тривиально, чтобы синтаксический анализатор ассемблера принимал переход, если равен равен переходу, если установлен нулевой бит, это одна и та же функция, та же инструкция.Люди, которые понимают и используют флаги (при условии, что флаг z прост, но со знаком не переносятся, не имеют) не любят использовать флаги «переходить при переносе», «переходить при нулевом значении» и т. Д. Люди, которые думают с точки зрения отношения для этих конкретных чиселдля этой конкретной операции хотите увидеть прыжок, если равен прыжок, если больше, чем прыжок, если меньше, и так далее.Я бы предпочел избавиться от прыжка, если он равен, прыгать, если меньше, и так далее, и просто иметь флаги, прыгать, если c установить прыжок, если c сбросить, прыгать, если n == v прыгать, если n! = V и т. Д.
Intel - не первая и не последняя архитектура, где вы увидите это.Я полагаю, по той же причине, некоторые люди думают с точки зрения того, что бит в регистре состояния включен или выключен, а другие думают, что это больше.Это возрастная вещь в том смысле, что знание флага z означает, что равенство существует уже до тех пор, пока у процессоров был флаг z, но это не имеет никакого отношения ни к возрасту семейства x86, ни к его набору глупых команд.Такая дружелюбность к разработчикам привлекает разработчиков к вашему процессору, это просто реализовать в инструментах.
Если вы действительно хотите позаботиться об этом, почему существует синтаксис Intel и AT & T для одного и того же набора команд?Это безумие выходит далеко за пределы скачка, если равен (нулевой бит установлен) против скачка, если нулевой бит установлен, и кодирование равно прыжку, если нулевой бит установлен в инструкции.