ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
1378204 Топик полностью
RxTx (02.12.2023 17:02, просмотров: 152) ответил SERGHIO на С чего это? В [С] #asm..... #endasm кусочек необходимого завсегда можно вставить. Выручает, но уже реже!
Да ладно, не делай вид что не понимаешь. 

Для 8-биток компиляторы строят код всё же похуже человека. Есть конечно отдельные компилеры, которые пилят лет 20-25, типа там Keil для 51 или IAR - с ними не все так просто, они могут удивлять. Но скажем для Z80 или 6502 сишный код будет на трочеку. Проблема с передачей параметров в функции, эти архитектурки не предназначены для языков передающих параметры через стек (я в курсе что спасает global optimization там где компилер развит настолько что делает ее). Но основная проблема в том, что когда пишешь на асме, ты можешь отслеживать флаги, сохранность флагов сквозь действия с регистрами и строить массу кода учитывая флаги - например сдвинуть регистр, выдвинуть бит в флаг и вдвинуть его в другой регистр. (Я не говорю о сгенеренном или само-модифицирующемся коде например) На сях столь эффективно написать уже не получится, просто потому что язык работает уже вне этой гибкой парадигмы, он работает словно бы "поверх", уровнем выше, пользуясь заранее определенными шаблонными фрагментами кода и не отслеживая все мелкие и тонкие АСМ-"трюки" которые можно вообще устроить. Язык как бы "предопределен", "шаблонизирован", что и определяет его заведомый проигрыш в особо экстремальных случаях, будь то размер кода или его производительность...

Спасибо, князь. Вы настоящий дворянин. И программист.