Информация об изменениях

Сообщение Re[7]: XXX всё, УУУ навсегда от 07.10.2020 16:06

Изменено 07.10.2020 16:15 netch80

Re[7]: XXX всё, УУУ навсегда
Здравствуйте, vdimas, Вы писали:

V>Например, можно прибавлять число прямо в адрес памяти (т.е. в обычную символьную переменную) и сразу ветвиться по условию.


Ты названия давай, а не описания от балды. А то что-то не находится. Семейства BCT, BXH, BXLE все требуют регистра для переменной цикла. Документация доступна, сейчас перепроверил — нет такого.
Что-то с памятью твоей стало.

V>В отличие от, организация пары вложенных циклов на асме x86 — та еще боль.

V>Плюс постоянная необходимость сохранять/восстанавливать регистры на каждый чих.

Везде надо сохранять регистры "на каждый чих", когда их не хватает.
Разве что через LM/STM их скопом удобнее гонять туда-обратно.

N>>В паре команд типа EDMK или SRDA?

V>В паре десятков. ))

Список в студию. Пока что твои воспоминания явно страдают.

V>Можно одной командой сравнить одну строку с другой, без дурацкого вызова подпрограмм и связанного с этим манипуляциями со стеком и регистрами.


Появилось только в S/390. ЕС ЭВМ, говоришь? И тут мимо.

V>Лень копаться в воспоминаниях слишком глубоко, да и ничего из накопанного тебе всё-равно будет не интересно.


Почему же, интересно. Как мера беспочвенной фантазии

N>>Остальное слабее названных аналогов, как для программиста.

V>И зачем опять пытаться демонстрировать беспричинную радикальность? ))
V>Одни и те же алгоритмы на асме IBM/360 записывались в ~4-5 раз короче, чем на асме x86.
V>Если же брать куда как более мощную систему команд современного x86_64, то всё равно минимум в два раза "современный" асм тому древнему сольёт.

Фантаст, одна штука.
Посмотри на код, что генерируется для systemz, и удивись.

V>Для превращения программы на Ассемблере в практически нормальную программу, бо содержали ветвление от параметров.


Дададад. Ты точно всё забыл. Всякие AIF могли зависеть только от переменных, известных на этапе компиляции.

V>Для сравнения, макроподсистема макроассемблеров x86 практически никогда не использовалась, а в IBM/360 было невозможно представить относительно сложную программу без того, чтобы она процентов от 20% или более не состояла из макросов и их вызовов.


Исходники доступны. Нет, нету там никаких 20%. А вот макры в качестве системных вызовов — да, сплошь и рядом.

N>>Остальное — ручками, ручками.

V>Не, ручками это в PDP-11, хотя и он архитектурно vs x86 — вершина мысли.
V>И всё-равно — только там мог появиться "макроассемблер следующего уровня", то бишь язык Си.
V>На IBM/360 он бы не появился ни в жисть за ненадобностью.

Возьми исходники и почитай. Сразу поймёшь цену этим воспоминаниям детства
Re[7]: XXX всё, УУУ навсегда
Здравствуйте, vdimas, Вы писали:

V>Например, можно прибавлять число прямо в адрес памяти (т.е. в обычную символьную переменную) и сразу ветвиться по условию.


Ты названия давай, а не описания от балды. А то что-то не находится. Семейства BCT, BXH, BXLE все требуют регистра для переменной цикла. Документация доступна, сейчас перепроверил — нет такого.
Что-то с памятью твоей стало.

V>В отличие от, организация пары вложенных циклов на асме x86 — та еще боль.

V>Плюс постоянная необходимость сохранять/восстанавливать регистры на каждый чих.

Везде надо сохранять регистры "на каждый чих", когда их не хватает.
Разве что через LM/STM их скопом удобнее гонять туда-обратно.

N>>В паре команд типа EDMK или SRDA?

V>В паре десятков. ))

Список в студию. Пока что твои воспоминания явно страдают.

V>Можно одной командой сравнить одну строку с другой, без дурацкого вызова подпрограмм и связанного с этим манипуляциями со стеком и регистрами.


Появилось только в S/390. ЕС ЭВМ, говоришь? И тут мимо.

V>Лень копаться в воспоминаниях слишком глубоко, да и ничего из накопанного тебе всё-равно будет не интересно.


Почему же, интересно. Как мера беспочвенной фантазии

N>>Остальное слабее названных аналогов, как для программиста.

V>И зачем опять пытаться демонстрировать беспричинную радикальность? ))
V>Одни и те же алгоритмы на асме IBM/360 записывались в ~4-5 раз короче, чем на асме x86.
V>Если же брать куда как более мощную систему команд современного x86_64, то всё равно минимум в два раза "современный" асм тому древнему сольёт.

Фантаст, одна штука.
Посмотри на код, что генерируется для systemz, и удивись.

И я как-то мерял одну и ту же софтину (прокси сетевого протокола) для разных архитектур:

344456 aarch64
340376 amd64
531552 mips64
466088 ppc64
355752 rv64 (без compressed)
408640 s390x
336776 sparc64

не проходят твои слова.

V>Для превращения программы на Ассемблере в практически нормальную программу, бо содержали ветвление от параметров.


Дададад. Ты точно всё забыл. Всякие AIF могли зависеть только от переменных, известных на этапе компиляции.

V>Для сравнения, макроподсистема макроассемблеров x86 практически никогда не использовалась, а в IBM/360 было невозможно представить относительно сложную программу без того, чтобы она процентов от 20% или более не состояла из макросов и их вызовов.


Исходники доступны. Нет, нету там никаких 20%. А вот макры в качестве системных вызовов — да, сплошь и рядом.

N>>Остальное — ручками, ручками.

V>Не, ручками это в PDP-11, хотя и он архитектурно vs x86 — вершина мысли.
V>И всё-равно — только там мог появиться "макроассемблер следующего уровня", то бишь язык Си.
V>На IBM/360 он бы не появился ни в жисть за ненадобностью.

Возьми исходники и почитай. Сразу поймёшь цену этим воспоминаниям детства