Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возможности ассеблера, Тут просто теория 
:(
    Опции темы
Loginanton
  Дата 11.12.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Интересует такая вещь: вот разузнал, что ассемлер это команды процессору, так вот мне интересно можно ли на ассемблере решить любую задачу? Тоесть, можно ли у примеру на ассемблере игры делать или браузеры делать и т.д.?
PM   Вверх
SABROG
Дата 11.12.2007, 15:18 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: нет
Всего: 91



Все это можно. Не стоит забывать, что любые программы в итоге компилируются, по сути, в ассемблер. Пищи в гугле слово MenuetOS, операционка написанная на ассемблере (fasm), там и браузер и игры и сервера, все это умещается на одной дискетке.

Сам на ассемблере писал приложения работающие с базами данных BDE/ADO, с Lua скриптами, клиент-серверные программы, ботов для игр, irc, DirectConnect,  работа с XML через подключение готовой dllки libxml2, работа с регулярными выражениями через подключение regexp dllки, написание COM клиентов/серверов, работа с MAPI. В общем все ограничивается только твоей фантазией, а написать можно любую программу. 

Из недостатков - много писанины (обычно решается через готовые каркасы и fasmoвскими макросами), ограниченное количество библиотек с нестандартными контролами, которых нет в windows, например того же splitter'a нет в винде. Отсутствие системы классов в том виде в котором мы привыкли в C++, есть некоторые "породии" на макросной основе, но недостаточно гибкие. Компиляторы слабенько оптимизируют код, поэтому эту задачу приходится брать на себя.

Если обходиться одними стандартными средствами windows, то программы будут весить считанные килобайты, не будут жрать много памяти и при должной оптимизации работать быстро. 

У меня одно время работал WEB сервер, который весил 8кб. Ни требовалось никакой установки и настройки. Только выбрать директорию с htm файлами, без CGI правда, но для homepage сойдет.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
Loginanton
  Дата 11.12.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



SABROG спасибо огромное за ответ. Я конечно понимаю что не потеме, но всё таки подскажите плз какие нибудь ресурсы по изучению ассемблера, а то излазил кучу сайтов и всё равно не могу понять синтаксиса (ну всех этих команд)
PM   Вверх
ksili
Дата 11.12.2007, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Посмотрите на www.wasm.ru


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
anwe
Дата 11.12.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 8
Всего: 23



Я думаю wasm для начало будет тяжеловато. Начни с книги Зубкова "Ассемблер для DOS, Windows и Unix" - хорошая книга.
PM MAIL   Вверх
MAKCim
Дата 11.12.2007, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата(anwe @  11.12.2007,  21:14 Найти цитируемый пост)
Я думаю wasm для начало будет тяжеловато. Начни с книги Зубкова "Ассемблер для DOS, Windows и Unix" - хорошая книга. 

 smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
SABROG
Дата 12.12.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: нет
Всего: 91



Лет 5 назад разговаривал с Зубковым в fido, на эхе ru.asm (вроде бы). Предлагал мне написать книгу по ассемблеру в windows, с освещением написания vxd, wdm, sys драйверов, разницы между win16, win32 программами и т.п. Говорил, что у него нет времени, но обещался помочь в издании, сказал, что с продажи книги идет 8% автору, а это не мало. Потом, правда, идея угасла ;)


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
cardinal
Дата 13.12.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



SABROG, не обижайся - это зависть! smile

По теме: 
Loginanton, зайди на сайт www.g24-tec.com, там есть
Примеры программирования на ассемблере для AVR микроконтроллеров
Там как бы на более простом устройстве, чем компьютер, объясняется как и что.

Главное не забывать, что ассемблер это двигание чисел туда сюда и всякие прыжки для достижения определенного результата... smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Loginanton
  Дата 15.12.2007, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



cardinal я английский не очень хорошо знаюsmile А есть какие нибудь сайты или книги по ассемблеру для нубов? А то много чего вычитал, но всё таки пока много чего непонятно. Уже неделю или больше читаю уроки, статьи по ассемблеру, а простенькую прогу сделать не получается. smile 
PM   Вверх
anwe
Дата 15.12.2007, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 748
Регистрация: 2.9.2006

Репутация: 8
Всего: 23



Я же подсказывал: Зубков

Это сообщение отредактировал(а) anwe - 15.12.2007, 23:53
PM MAIL   Вверх
Loginanton
  Дата 19.12.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Можете подсказать как код ассмеблера компелировать в .exe ?

Это сообщение отредактировал(а) Loginanton - 19.12.2007, 15:49
PM   Вверх
ksili
Дата 19.12.2007, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



зависит от ассемблера
В Зубкове описано для TASM, MASM и WASM


Loginanton, тебе же все пишут - Зубкоооов!  smile 


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Loginanton
  Дата 19.12.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Дык я читаю прям сейчас вот Зубкова. Но пока как компелировать невидел. Наверно ещё не дочитал)


Люди обьясните, я чёто не понимаю:
Вот скачал MASM, запукаю командную строку из под него, далее прописываю ml /с hello-2.asm (это я из книжонки, типо повторить хочу), а он пишет мол ml не является командой. Обьясните плиз подробно как получить из файла .asm экзешник.

Это сообщение отредактировал(а) Loginanton - 19.12.2007, 17:02
PM   Вверх
ksili
Дата 21.12.2007, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Что значит "запускаю командную строку из-под него"?
Если винда пишет, что ml не является командой, значит она не видит такого экзешника. Закинь ml и свой asm-файл в одну папку и компилируй (соответственно, сначала надо в cmd зайти в эту папку)


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Loginanton
Дата 2.1.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Подскажите плиз что такое .data .data? .const .code и для чего они, и вообще обязательно ли их использовать, так же подскажите пожалуйста что обозначают start и end    start  в следующем коде:
Код

start: 
     push 0h 
         push offset Msg 
         push offset Ttl 
         push 0h 
         call MessageBoxA 
         push 0h 
         call ExitProcess 
end    start 

PM   Вверх
MAKCim
Дата 2.1.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Loginanton
.data - секция данных
.const - секция данных только для чтения
.code - секция кода
для чего они? для описания функционально разных сегментов выходного файла
использовать их или нет зависит от конечной цели
start в данном случае определяет символ в секции кода, а также его идентификатор
каждому идентификатору поставлен в соответствие адрес
любая ссылка (в инструкциях перехода и т. д) на идентификатор в процессе компиляции (или компоновки)
преобразуется в соответствующий адрес
end start определяет разность между текущим адресом и start (используется для хранения дополнительной информации о символе)
конструкция не обязательна

Это сообщение отредактировал(а) MAKCim - 2.1.2008, 20:17


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Loginanton
Дата 3.1.2008, 20:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



А можешь как нибудь объяснить на более лёгком языке, обьяснить на пальцах. А то то что ты написал я уже читал во всяких книгах по асму
PM   Вверх
cardinal
Дата 3.1.2008, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



Loginanton, совет только один: смотри примеры, и читай то, что написал MAKCim пока не поймешь - других вариантов нет... 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
MAKCim
Дата 3.1.2008, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата(Loginanton @  3.1.2008,  20:31 Найти цитируемый пост)
А можешь как нибудь объяснить на более лёгком языке, обьяснить на пальцах. А то то что ты написал я уже читал во всяких книгах по асму 

объяснил как мог, проще не представляю как


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Loginanton
Дата 3.1.2008, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Цитата

start в данном случае определяет символ в секции кода, а также его идентификатор
каждому идентификатору поставлен в соответствие адрес
любая ссылка (в инструкциях перехода и т. д) на идентификатор в процессе компиляции (или компоновки)
преобразуется в соответствующий адрес
end start определяет разность между текущим адресом и start (используется для хранения дополнительной информации о символе)


Вот этот момент можешь поподробнее
PM   Вверх
cardinal
Дата 3.1.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 1
Всего: 99



Для того, чтобы запустить подпрограмму в ассемблере тебе нужен адрес "прыжка" туда. То есть то куда ты хочешь jmp делать. Для этого в коде ты прописываешь метку (например start) и потом можешь сделать
Код

jmp start



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Loginanton
  Дата 4.1.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Вот код одной програмки из учебника по асму:
Код

mov  ah,9
mov  dx,10Dh
int  21h
mov  ah,10h
int  16h
int  20h


Вот подскажите как она работает, а то я в ней кроме присваивания переменным значений ничего не увидел, и не понимаю каким образом она выводит какое то окно да ещё и звуки издаёт)
PM   Вверх
MAKCim
Дата 4.1.2008, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата(Loginanton @  4.1.2008,  20:52 Найти цитируемый пост)
Вот код одной програмки из учебника по асму:

читай в учебнике


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Loginanton
Дата 4.1.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Так там просто написан код, типо первая прога, нада просто записать код в блокноте.
PM   Вверх
MAKCim
Дата 4.1.2008, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Loginanton
без объяснения?
не верю


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Loginanton
Дата 4.1.2008, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 8.11.2007

Репутация: нет
Всего: нет



Ну там обьяснения к командам, а вот как работает сама программа не написано.
PM   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.1281 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.