Метка «ассемблер» - 5

В статье habrahabr.ru/post/151544/ и комментариях к ней возник вопрос, почему разные компиляторы выдают код не только разного размера, но и разной эффективности. Если с первым фактором еще можно мириться, то второй может свести все ваши усилия в написании программы на нет. Это на PC еще можно добавить памяти до 32 Гб и поставить 16 ядерный процессор на 10 ГГц, чтобы косынка на NET8.0 не тормозила, а embedded система — девица более изысканная и утонченная.
Итак, сравниваем компиляторы:
1. BASCOM-AVR
2. Wiring
3. С CodeVisionAVR.
Читать полностью »

В статье habrahabr.ru/post/151544/ и комментариях к ней возник вопрос, почему разные компиляторы выдают код не только разного размера, но и разной эффективности. Если с первым фактором еще можно мириться, то второй может свести все ваши усилия в написании программы на нет. Это на PC еще можно добавить памяти до 32 Гб и поставить 16 ядерный процессор на 10 ГГц, чтобы косынка на NET8.0 не тормозила, а embedded система — девица более изысканная и утонченная.
Итак, сравниваем компиляторы:
1. BASCOM-AVR
2. Wiring
3. С CodeVisionAVR.
Читать полностью »

О третьих героях, понятное дело, все знают. Недели времени, потерянного за hotseat-ом, вызубренные характеристики юнитов, тактика застройки, развития. Еженедельные посиделки с друзьями за героями c кофе и рогаликами. Здорово, в общем было. А вот на днях захотелось повторить и сыграть по сети. Уже ж разъехались все, hotseat не прокатит. Скачали дистрибутив клинка Армагеддона, настроили hamachi, да не заладилось что-то. Пинг большой почему-то, не завелось ничего. Ну, занятые все, разбираться некогда, да и неохота. Не пошла игра.

А герои то установлены, желание играть есть. Решил кампанию пройти (к своему стыду, так ни разу не хватило терпения пройти ее в прошлом). Запустил, выбрал кампанию возрождения Эратии, нажал на эпизод «Жертвы войны». И я не знаю, интуиция, наверное, появляется какая-то за то время, пока программированием занимаешься. В общем, показали мне герои такую картинку:
Heroes III. The Restoration of Campaign
И, как часто у меня случается, игра закончилась, а началась более интересное и захватывающее занятие.
Читать полностью »

Максимально точное измерение кода
В моей статье полугодичной давности о длинной арифметике есть замеры скорости (throughput в тактах) очень коротких фрагментов кода — всего по несколько инструкций. Методика измерения была кривовата, но давала правдоподобные результаты. Потом выяснилось, что результаты таки неверные — поверхностный подход всегда сказывается.

В этом посте я опишу надежный метод «нанобенчмаркинга» с минимальной погрешностью и без подключения специальных библиотек и драйверов, к которому в итоге пришел. Применимость: сравнение однопоточного потенциала процессоров, просто интерес.Читать полностью »

Давно возникла у меня одна интересная идея насчёт алгоритма проверки регистрационных номеров, но всё никак руки что-то не доходили… И вот, наконец, после долгих мучений и попыток навесить хоть какую-то защиту crackme заработал. Я думаю, что для успешного его решения нужно не сколько навыков реверса, сколько программирования, и это обнаружится на последнем этапе. Кто скажет, что крякми не решаемый — тот ошибется; можно математически доказать, что решение быстро находится. В общем, всем удачи и терпения))) Надеюсь, идея Вам понравится)))
Читать полностью »

Изучаем MIPS ассемблер

Как говорит Википедия, MIPS – микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) и впервые реализованный 1985 году. Существует большое количество модификаций этой архитектуры, созданных для специально для 3D-моделирования, быстрой обработки чисел с плавающей запятой, многопотоковых вычислений. Различные варианты этих процессоров использутся в роутерах Cisco и Mikrotik, смартфонах, планшетах и игровых консолях.

Инсрукции MIPS достаточно просты для понимания, и именно с него рекомендуется начинать изучение ассемблера. Чем сейчас, собственно, и займёмся.
Читать полностью »

Как воровать бензин с помощью Ассемблера (основано на реальных событиях)

Приветствую тебя, хабрачитатель!

Под катом ты найдешь увлекательную историю, которую рассказчик поведает нам от первого лица. Я лишь с гордостью публикую впервые эту историю здесь, с разрешения и по просьбе автора, который пожелал остаться неизвестным.

Читать полностью »

Записи и наброски в старых тетрадях (привет из 90 х)
Привет! Совсем недавно разбирался на даче и нашел пару тетрадей, блокнотиков и листочков с приветом из славных 90-х. Перенесемся на время в 96 год. Итак, я школьник, учусь в 8-ом классе. Дома гордо красуется ПЭВМ «Поиск». После работы он аккуратно накрывается тряпочкой. Там MS-DOS 5.0 на дискетке вместе с debug.exe. Позднее появляются Norton Utilites с красивым интерфейсом, Norton Commander. Ну, игрушки конечно тоже есть.

Читать полностью »

image
Эта статья направлена на новичков в изучении программирование семейства pic-контроллеров на базе языка assembler. Я взял за основу микроконтроллер pic16f886. Для программирование и моделирования использовались соответственно программы MPlab IDE (Microchip) и Proteus (Labcenter)
Читать полностью »

В Java существует возможность использования программного кода, реализованного на других языках программирования, так называемый JNI. Можно написать динамически линкуемую библиотеку, затем загрузить ее в Java-коде и использовать функции оттуда, объявив их как native методы загрузившего ее класса. JNI создавался в первую очередь для того, чтобы выполнять машинно-зависимые действия (а также, возможно, улучшить производительность критических по скорости частей приложения) на C/C++, но никто не мешает нам написать библиотеку и на ассемблере.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js