|
|
Возраст: 36 C нами с 14.01.2007 Репутация: 89.7
|
|
Ищу книгу, чтобы разобраться в синтаксисе ассемблера. Читал книги про ассеблер под DOS - базу понял, но не совсем. Есть книга "Ассемблер для Windows" - в общем строение программы понятно, даже делал самые простые примеры, но все таки синтаксис
Если есть у кого какие книги выложите, или хотя бы подсткажите авторов хороших книг чтобы купить. Заранее спасибо.
|
|
|
|
|
|
|
|
Возраст: 42 C нами с 17.08.2006 Репутация: 74.3
|
|
Зубков С.В. "Ассемблер для DOS Windows и Unix" - ничего вроде книжка
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 14.01.2007 Репутация: 89.7
|
|
А есть у кого электронный книжки, а то сейчас пока нет возможности литературу купить
|
|
|
|
|
|
|
|
Возраст: 38 C нами с 25.01.2005 Репутация: 133
|
|
Crazy_Nat, ставь eMule и качай оттудова Или попробивай по интернету. Сейчас технической литературы на каждом углу горы лежат
От себя порекомендую:
В.Ю. Пирогов - "Assembler Учебный курс" (издательство Нолидж 2001. - 848 с.)
|
_____________________________ Это ты, Джон Уэйн?
|
|
|
|
|
|
|
Возраст: 36 C нами с 14.01.2007 Репутация: 89.7
|
|
Полно то полно, но толкового мала... Поэтому я и спрашиваю че лучше.
|
|
|
|
|
|
|
|
Возраст: 39 C нами с 20.05.2005 Репутация: 174.4
|
|
Тут посмотри, правда ресурс не круглосуточный.
|
_____________________________ Тупые корейские девелоперы.
|
|
|
|
|
|
|
Возраст: 35 C нами с 04.02.2005 Репутация: 121.3
|
|
В. Н. Пильщиков — Программирование на языке ассемблера IBM PC. Автор — мой лектор в первом семестре
На руках издание 1994-го года, так что не знаю, издавалось ли новое.
|
|
|
|
|
|
|
|
C нами с 15.04.2005 Репутация: 133.2
|
|
Хотелось бы внести уточнение насчёт "синтаксиса ассемблера" (без учёта того, что процессоров и компиляторов великое множество и они так или иначе отличаются друг от друга).
Во-первых существуют мнемонические обозначения машинных кодов конкретно взятого процессора — ассемблерные инструкции. Это жёстко закреплённые производителем (или разработчиком архитектуры) процессора названия. В подавляющем большинстве случаев это просто сокращения или аббревиатуры английских слов напрямую описывающих действие команды. Например, некоторые из x86: MOVe, eXclusive OR, CLear Interrupt flag.
Также, обычно, закрепляется некий общепринятый способ описания методов адресации, но тут может ждать подвох в различиях конкретных компиляторов. Например TASM/MASM style: BYTE PTR ES:[EBX] или, для сравнения, FASM style: BYTE [ES:EBX]. Внешне похожие и самообъясняющие записи, однако синтаксис слегка отличается. (А есть ещё жестокий синтаксис AT&T претендующий на некоторую универсальность ).
Дальше — больше. Если бы функции ассемблера ограничивались только компиляцией мнемоник и меток это было бы слишком скучно. Практически любой ассемблер содержит дополнительные директивы условной компиляции, макроинстукций (за что иногда гордо называется макроассемблером), структурирования данных и т.п. И вот тут начинается полный беспредел. Каждый производитель/автор ассемблера, даже в пределах одной архитектуры, имеет свой взгляд на то, что удобней и реализации тех же макросов или способа описания структур сильно отличаются друг от друга и практически несовместимы между собой.
Итак, итог выше сказанного и так сказать общие рекомендации: выберите один (желательно имеющий хорошую документацию, форумы и т.п.) ассемблер и разберитесь с его синтаксисом.
На эту роль, на мой взгляд, хорошо подходит MASM/TASM — распространены, имеют обширную документацию, в том числе русскоязычную, большинство примеров и книг написанны с ориентацией именно на этот синтаксис.
Затем, после того как Вам станут тесны эти рамки (на самом деле плюсы этих ассемблеров заканчиваются на моменте хорошей документированости) выберите что нибудь из модненького, например — FASM. После закрепления базовых знаний новый компилятор не будет вызывать каких-то больших проблем с освоением его синтаксиса.
Ну и конечно нужно учитывать цену/целесообразность такого "переезда":
- если Вы занимаетесь самообразованием, экспериментированием — то однозначно рекомендую рассмотреть различные ассемблеры, хотя бы для того, чтобы было с чем сравнивать;
- если же использование ассемблера необходимость, скажем учёбная или производственная — то в этом случае обычно существуют рекомендуемые (или даже обязательные) для использования инструменты и литература.
Добавлено спустя 4 минуты 23 секунды:
Забыл дать ссылку
Множество статей и полезной информации (русскоязычной) для новичков и гуру: http://wasm.ru
|
_____________________________ Время не существует, у него нет физического носителя в природе. Его выдумал человек, чтобы измерять скорость.
|
|
|
|
|
|
|
Возраст: 34 C нами с 25.06.2006 Репутация: 318.5
|
|
У кого есть "ассемблер для чайников" ? Или какой-нить учебный курс, для новичков соответственно...
|
|
|
|
|
|
|
|
Возраст: 44 C нами с 05.04.2005 Репутация: 121.2
|
|
switch писал(а): |
У кого есть "ассемблер для чайников" ? Или какой-нить учебный курс, для новичков соответственно...
|
такое имхо просто не нужно. изучи архитектуру интересуещего тебя микропроцессора, что такое регистры, флаги, порты ввода-вывода, адресация памяти и т.д.; когда поймёшь как устроено оборудование и как оно работает любой ассемблер имхо будет простым и понятным для тебя.
|
_____________________________ IRC WeNet #programming
jid: seb2000@jabber.ru
|
|
|
|
|
|
|
Возраст: 34 C нами с 25.06.2006 Репутация: 318.5
|
|
seb, с чего посоветуешь начать ?
Просто хотел самостоятельно изучать программирование, а что знаю, так это на школьном уровне - бэсик да паскаль, и то не в совершенстве. Думал начать с Срр, посоветовали как раз с ассемблера, мол понять как, откуда, почему.
|
|
|
|
|
|
|
|
Возраст: 39 C нами с 02.03.2007 Репутация: 94.9
|
|
Кто тебе такое посоветовал? Лучше начинать с С++.
|
_____________________________ А ты готов умереть?
|
|
|
|
|
|
|
Возраст: 34 C нами с 25.06.2006 Репутация: 318.5
|
|
Eske2, несколько человек, все спасибо, уже ничего ненадо, книгу купил.
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
А еще лучше с С с ассемблерными вставками...
|
|
|
|
|
|
|
|
C нами с 15.04.2005 Репутация: 133.2
|
|
Ответ на вопрос "с чего лучше начать?" обычно заключается в уточнении "для чего?"
|
_____________________________ Время не существует, у него нет физического носителя в природе. Его выдумал человек, чтобы измерять скорость.
|
|
|
|
|
|
|