Top.Mail.Ru
Ответы

Вопрос про ассемблер

знаете? используете? вариантов может быть много, но что чаще?

Анонимный опрос
знаю и пишу на нем
знаю, но пишу на языках высокого уровня
знаю и иногда вставляю куски в код языков высокого уровня
на знаю и жалею
не знаю и знать не хочу
Всего голосов: 12
По дате
По рейтингу
Аватар пользователя
Высший разум
6мес

А скажем, прочитать символ с клавиатуры в обход доса (через прерывание биоса) - это, по-моему, занимало 4 байта в коде. Всего. Ясное дело, код получался довольно компактным.

Аватар пользователя
Высший разум
6мес

И ещё можно было по доброте подсунуть другу что-нибудь вроде JMP -2 (т.е. на начало двухбайтной инструкции JMP), и потом развлекаться, глядя, как он пытается что-то сделать с повисшей программой. А если ещё перед этим и прерывания отключить...

Аватар пользователя
Высший разум
6мес

В трубо-паскале гораздо лучше работали вставки машинного кода, прямо так байтами или даже 16-битными словами в big endian.
Можно было определить функцию целиком машинным кодом (даже без стек фреймов и бегинов с эндами), и тогда компилятор её инлайнил. Результат функции надо было обеспечить в AX.

Аватар пользователя
Искусственный Интеллект
6мес

Немного знаю, но не использую - зачем? Языки вроде C гораздо практичнее. Тест одного програмимиста и его результат:
"Код C ++ в режиме релиза почти в 3,7 раза быстрее кода на ассемблере. Почему? Я предполагаю, что написанный мной код на ассемблере не так эффективен, как сгенерированный GCC. Обычному программисту вроде меня сложно написать код быстрее, чем его вариант, сгенерированный компилятором."