начнем с начала))) )
У процессора есть набор определенных комманд
например mov ax,dx - пересылает значение регистра dx в регистр ax и тд... .
естественно сам процессор (как электронное устройство) эти команды воспринимает не в таком, а в бинарном виде (нулями - единицами) . И каждая команда шифруется в последовательность байтов. Это и есть машинный код.
Но в машинном коде сложно программировать (попробуй-ка запомни как там все шифровать) , поэтому пользуются языком "ассемблер", и компиллятор для его перевода в машинный код. И ассемблер является базовым языком программирования, или языком программирования процессора.
У процессора комманд не так и много, и для того, чтобы реализовать несложный алгоритм необходимо написать множество комманд. Это долго. Поэтому создали высокоуровневые языки (Pascal, C/C++ и тд) . Их компилляторы переводят код в ассемблер, а затем в машинный код.
Дизассемблер переводит машинный код в язык ассемблера. Любой машинный код (приграмму) данной архитектуры процессора можно дизассемблировать (т. к. это просто расшифровка) . Чего нельзя сказать о высокоуровневых языках (т. к. они по разному переводят свой код в машинный) .
Надеюсь я понятно объяснил)))))
Другие языки программирования и технологии
в чем суть ассемблера и дизассемблера?
Ассемблер - программа, переводящая в машинный код текст на примитивном языке программирования, основанном на замене написания машинных кодов команд процессора и данных их буквенно-цифровыми обозначениями, которые легче понимаются и запоминаются.
Вот и все.
На самом деле есть некоторые усовершенствования, например, возможность обозначить последовательность нескольких команд одним словом и вдальнейшем применять его вместо написания этих команд, но сути это не меняет.
А дизассемблер - программа, которая по машинному коду восстанавливает буквенно-цифровые обозначения команд, принятые в ассемблере, то есть переводчик в обратном направлении.
Вот и все.
На самом деле есть некоторые усовершенствования, например, возможность обозначить последовательность нескольких команд одним словом и вдальнейшем применять его вместо написания этих команд, но сути это не меняет.
А дизассемблер - программа, которая по машинному коду восстанавливает буквенно-цифровые обозначения команд, принятые в ассемблере, то есть переводчик в обратном направлении.
как видно из перевода этих слов - ассемблер - собирает нечто в единое целое (например программу) - дизассемблер - разбирает.
ассемблер компелирует код в машинный код, дизассемблер машинный код в код ассемблера.
Ассемблер - язык программирования очень низкого уровня (машинный код) . Ниже него, насколько я знаю, только нолики и единички =))
Дизассемблер - скорее всего вы это видели в какой-то среде разработки. там с помощью дизассемблирования можно посмотреть на языке ассемблер то, что конкретно происходит в вашей программе вплоть до тактов процессора.
Дизассемблер - скорее всего вы это видели в какой-то среде разработки. там с помощью дизассемблирования можно посмотреть на языке ассемблер то, что конкретно происходит в вашей программе вплоть до тактов процессора.
Похожие вопросы
- Что может ассемблер?
- Дизассемблер и отладчик.
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...
- Ассемблер сегодня и завтра.
- стоит ли изучать ассемблер, если программирую на Делфи? и вообще реально ли что нибудь хорошее, дельное, нужное написать
- Неужели ассемблер действительно проще чем C ?
- Ассемблер - за сколько его реально базово выучить?
- Ассемблер. помогите решить!!!