Pull to refresh
20
0
Send message

Нелепые глупости

Reading time2 min
Views1.3K
Так уж случилось, что в свободное от основной работы время я начал писать программы. Правильные (возможно) программы, программы, которые мне нравилось (и нравится) писать – программы, которые мне нравится использовать. Пока их ажно целых две ). В принципе, это достаточно большие программы (более 2 Мб исходников каждая). При создании их доводилось натыкаться на “непонятные странности” достаточно “неправильное“, на первый взгляд поведение компилятора/программы и операционной системы. После разбора полетов, в очередной раз удостоверялся, что я СЗЗБ (сам себе злобный буратинко). В любом случае – пара примеров, как я глючил и как делать не надо (все под вин32 – интел86).

Читать дальше →
Total votes 64: ↑38 and ↓26+12
Comments34

Дизассемблер своими руками

Reading time4 min
Views49K
     Знание структуры машинных команд уже много лет не является обязательным, для того, чтобы человек мог назвать себя программистом. Естественно так было не всегда. До появления первых ассемблеров программирование осуществлялось непосредственно в машинном коде. Каторжная работа, сопряженная с большим количеством ошибок. Современные ассемблеры позволяют (в разумной степени) абстрагироваться от железа, метода кодирования команд. Что уж говорить о компиляторах высокоуровневых языков. Они поражают сложностью своей реализации и той простотой, с которой программисту позволяется преобразовывать исходный код в последовательность машинных команд (причем преобразовывать, в достаточной степени, оптимально). От программиста требуется лишь знание любимого языка/ IDE. Знание того, во что преобразует компилятор исходный листинг вовсе не обязательно.
Тем же, кому интересно взглянуть на краткое описание структуры кодирования машинных команд, пример реализации и исходный код дизассемблера для x86 архитектуры, добро пожаловать.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments46

Information

Rating
Does not participate
Location
Россия
Registered
Activity