Assembler (для самых начинающих)

Обсуждение различной литературы о Linux

Модератор: Модераторы разделов

Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Assembler

Сообщение entry »

Всем привет!

Вот решил начать изучать асм, но столкнулся с проблемой нехватки литературы. Скачал несколько книг, но они то для DOS/Windows, то не для новичков...
Я в асме совсем зеленый, поэтому не знаю даже с чего начать, куда копать... Думаю nasm... (если я не ошибаюсь, синтаксис там не AT&T)

Посоветуйте пожалуйста книги, по которым Вы, уважаемые сетяне, сами учились и считаете хорошими.

З.Ы.
Поиск дал только вот это, но я все же решил спросить еще раз...
FreaxNet «Shut up and hack!»
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Assembler

Сообщение wzrd »

У меня вот эта в бумажном виде. До юникса еще не дочитал, но там есть описание синтаксиса AT&T.
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

wzrd писал(а):
28.02.2008 21:23
У меня вот эта в бумажном виде. До юникса еще не дочитал, но там есть описание синтаксиса AT&T.

Ну и как? Хорошая книга? У меня она в эл. виде есть, но, если не ошибаюсь, там почти все на masmе... (одна глава просто рассказывает про AT&T синтаксис) Этот синтаксис понимает nasm? Я вообще-то ищу что-нибудь крупное, и чтобы с самого начала для самых начинающих, и на NASMе :) Есть такое вообще?
FreaxNet «Shut up and hack!»
Спасибо сказали:
Аватара пользователя
Alxn1
Сообщения: 402
Статус: Красноглазик со стажем
ОС: Mavericks

Re: Assembler

Сообщение Alxn1 »

nasm понимает обычный Intel-овский синтаксис, AT&T вам при работе с ним не понадобится (его gas использует).
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

Alxn1 писал(а):
28.02.2008 21:46
nasm понимает обычный Intel-овский синтаксис, AT&T вам при работе с ним не понадобится (его gas использует).

Ну AT&T синтаксис меня пока не интересует. Я хочу изучать NASM. MASM имеет немножко иной синтаксис?
FreaxNet «Shut up and hack!»
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Assembler

Сообщение wzrd »

entry писал(а):
28.02.2008 21:44
Ну и как? Хорошая книга? У меня она в эл. виде есть, но, если не ошибаюсь, там почти все на masmе... (одна глава просто рассказывает про AT&T синтаксис) Этот синтаксис понимает nasm? Я вообще-то ищу что-нибудь крупное, и чтобы с самого начала для самых начинающих, и на NASMе :) Есть такое вообще?

Всё начинается с введения в системы счисления, биты, сегменты... а потом уже сам асм. Я думаю что для новичка она вполне подойдет. Единственное что можно посоветовать, это почитать побольше о работе процессора, в частности о режимах, после прочтения первой главы. Ну это конечно моё мнение.
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

wzrd писал(а):
28.02.2008 22:04
Всё начинается с введения в системы счисления, биты, сегменты... а потом уже сам асм. Я думаю что для новичка она вполне подойдет. Единственное что можно посоветовать, это почитать побольше о работе процессора, в частности о режимах, после прочтения первой главы. Ну это конечно моё мнение.

Так значит примеры из этой книги в NASMе будут работать, да? Тогда надо будет распечатать :)
FreaxNet «Shut up and hack!»
Спасибо сказали:
_beast
Сообщения: 77
ОС: linux 2.6

Re: Assembler

Сообщение _beast »

wasm.ru просто кладезь ценной информации по асму...
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Assembler

Сообщение wzrd »

entry писал(а):
28.02.2008 22:10
Так значит примеры из этой книги в NASMе будут работать, да? Тогда надо будет распечатать :)

особо в этом не разбираюсь, но насколько я знаю совместимость у него с ним низкая (но всё таки есть).
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

_beast писал(а):
28.02.2008 22:17
wasm.ru просто кладезь ценной информации по асму...

Ресурс ориентирован в основном на Win32 кодеров. (MASM/TASM, DOS/Windows) +аппаратный уровень/работа с устройствами...
все что я смог там найти - это пару статей (для Linux/UNIX) и руководство по NASM :unsure:

wzrd писал(а):
28.02.2008 22:25
entry писал(а):
28.02.2008 22:10
Так значит примеры из этой книги в NASMе будут работать, да? Тогда надо будет распечатать :)

особо в этом не разбираюсь, но насколько я знаю совместимость у него с ним низкая (но всё таки есть).

Так Вы программируете в Windows на MASMe?
FreaxNet «Shut up and hack!»
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: Assembler

Сообщение wzrd »

entry писал(а):
28.02.2008 22:31
Так Вы программируете в Windows на MASMe?

Да нет, у меня вообще виндовса нет и я не программирую на асме. На асме имхо можно писать только драйверы или что нибудь плохое, а знаний такого уровня у меня нет, Асм мне нужен только для разбора простых листингов. Советую вам почитать это.
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

wzrd писал(а):
28.02.2008 22:58
entry писал(а):
28.02.2008 22:31
Так Вы программируете в Windows на MASMe?

Да нет, у меня вообще виндовса нет и я не программирую на асме. На асме имхо можно писать только драйверы или что нибудь плохое, а знаний такого уровня у меня нет, Асм мне нужен только для разбора простых листингов. Советую вам почитать это.

Из этой "хакерской" статьи я понял, что МАSM и NASM не полностью совместимы, хотя NASM имеет "MASM-подобный синтаксис". Так и не понял про YASM: кто-нибудь кто знает может мне объяснить, синтаксис MASMа будет понимать YASM? Если я возьму книжку по MASMу и буду по ней учиться, смогу ли я компилировать свои программы на YASMе (или хоть на чем-нибудь)?

З.Ы. Под Linux/UNIX есть ассемблер, код которого будет работать в Windows?
З.Ы.Ы. Вообще ассемблер собираюсь учить для себя ради интереса. Просто хочется, как говориться, "двух зайцев...": учить и для Linux/UNIX и для форточек.

Ставнение NASM и GAS
FreaxNet «Shut up and hack!»
Спасибо сказали:
Kondrat
Сообщения: 223
ОС: И снова Федора

Re: Assembler

Сообщение Kondrat »

З.Ы. Под Linux/UNIX есть ассемблер, код которого будет работать в Windows?

А что вы понимаете под этим? Если вопрос в том, сможет ли NASM собрать виндовую программу, то да. Если же вы хотите написать кроссплатформенный код, то это вряд ли, потому как разные системные вызовы, различные механизмы создания окон и т.д.
Ёж - птица гордая: пока не пнёшь, не полетит.
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

Kondrat писал(а):
29.02.2008 15:44
З.Ы. Под Linux/UNIX есть ассемблер, код которого будет работать в Windows?

А что вы понимаете под этим? Если вопрос в том, сможет ли NASM собрать виндовую программу, то да. Если же вы хотите написать кроссплатформенный код, то это вряд ли, потому как разные системные вызовы, различные механизмы создания окон и т.д.

Нет нет, я имею ввиду синтаксис. Номера прерываний системных вызовов Linux я смогу найти и в самой Linuх :)
Меня в данный момент интересует отличия NASM(или YASM) и MASM синтаксиса. Ах да, и не забываем, что речь-то наша вообще-то начиналась с книги, по которой можно ассемблер для никсов учить (NASM(или YASM)).
FreaxNet «Shut up and hack!»
Спасибо сказали:
pas
Сообщения: 597
Статус: маньяк
ОС: Gentoo

Re: Assembler

Сообщение pas »

fasm. Есть сборки под Линукс и Винду. С масмом синтаксис не совместим без правки. Мощная система макросов, которая позволяет понимать синтаксис МАСМа, но сам я эту фишку (совместимость с МАСМом) не использовал, потому и написал, что без правки не совместим.
Писать пользовательские проги со всякими ГУИми (под винду во всяком случае) на асме не намного сложней чем на С, может даже и проще.
В принципе, при помощи макросов fasm-а наверно можно написать и кросплатформенную прогу.
Спасибо сказали:
Аватара пользователя
entry
Сообщения: 108
ОС: открытая и свободная

Re: Assembler

Сообщение entry »

Всем начинающим советую книгу "Ассемблер на примерах. Базовый курс" Рудольф Марек. Маленькая книжонка в мягком переплете, которая на Невском будет стоить не более 200р. Материал изложен последовательно и достаточно кратко (240 стр). Конечно потом придется покупать следующую книжку по асму, но первый шаг советую сделать именно с нее.

pas писал(а):
04.03.2008 05:25
fasm. Есть сборки под Линукс и Винду. С масмом синтаксис не совместим без правки. Мощная система макросов, которая позволяет понимать синтаксис МАСМа, но сам я эту фишку (совместимость с МАСМом) не использовал, потому и написал, что без правки не совместим.
Писать пользовательские проги со всякими ГУИми (под винду во всяком случае) на асме не намного сложней чем на С, может даже и проще.
В принципе, при помощи макросов fasm-а наверно можно написать и кросплатформенную прогу.

Звучит заманчиво. Есть ли такая книга, по которой можно учить fasm и все вкусности, которые свойственны только ему?
FreaxNet «Shut up and hack!»
Спасибо сказали:
pas
Сообщения: 597
Статус: маньяк
ОС: Gentoo

Re: Assembler

Сообщение pas »

На сайте http://www.flatassembler.net/ есть туториалы и описание на него. На wasm.ru кажется есть пара статей по нему и много топиков по макросам. Плюс много примеров, по которым можно разобраться.
Печатной книги по нему кажется не написано.
PS: при помощи макросов fasm у меня получилось реализовать некое подобие класса списка чекбоксов, но под винду. Под лин я на асме еще не писал.
PSPS: извините не сразу увидел название подфорума.
Спасибо сказали: