![]() |
|
|
![]()
|
|
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Кому интересно, вот пример простой программы, составленной на ассемблере FASM для платформы WINDOWS.
Программа после своего запуска создает окно и выводит надпись в этом окне. Для полной работы программы нужны ещё три звуковых файла "*.wav", которые я к сожалению поместить в этом сообщении не могу. Я постараюсь выложить их в нескольких сообщениях. Ну и без них прога будет работать, только вместо воспроизведения будет BEEP. Внимание. Данная программа составлена на плоском ассемблере FASM. Скачать его можно вот от сюда http://fresh.flatassembler.net/ Я поместил это сообщение чтобы разнообразить взгляды на ассемблер. А то в большинстве случаев... по DOS да под DOS...
Присоединённый файл ( Кол-во скачиваний: 76 )
create.zip 110,43 Kb-------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Ребята, когда скачаете FASM, если кто ещё не скачивал, то все файлы и каталоги из папки Include, что находится в каталоге с файлом Fasmw.exe, скопируете в каталог со своим исходным файлом "*.asm", а то компилятор не будет знать где искать подключаемые файлы.
Сам файл Fasmw.exe - это простая IDE среда для написания, редактирования и компиляции программы под WINDOWS. Это не такой компилятор, который запускается из командной строки. Это удобная во всяком случае среда программирования для ассемблера. Когда его запустите, перед вами откроется окно, где вы можете спокойно набирать текст на ассемблере FASM. Компиляция - "Ctrl - F9". Запуск - "F9". При ошибке компиляции IDE выделит ошибочную строку. После компиляции текст программы автоматически сохраняется. Единственное, на что обращаем внимание - это синтаксис FASM. Ну посмотрите мою програмку и все поймете. А вот и второй звуковой файл - воспроизводится при перерисовке содержимого окна WINDOWS. Присоединённый файл ( Кол-во скачиваний: 57 )
paint.zip 104,54 Kb-------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Третий файл.
Все вопросы по FASM и по программированию для платформы WINDOWS - в эту тему. Присоединённый файл ( Кол-во скачиваний: 51 )
destroy.zip 103,61 Kb-------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| Urff |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Привет, я тоже учусь программировать на fasme.Правда на форуме оффсайта, поговорив с разработчиком FreshGui, скачал кроме нее и просто fasmw1.65.17.zip под винду, там все попросче...Там есть описание, как настроить fasmw.exe, чтоб не копировать файлы из INCLUDE в папку с примером.....
В pdf файле в этом архиве есть описание языка fasm1.65, но хотелось бы найти сие описание на русском языке..... Это сообщение отредактировал(а) Urff - 4.4.2006, 19:43 |
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Скачал новую среду ассемблера
http://fresh.flatassembler.net/files/FreshAlpha114.exe Редактор лучше. Но. Непонимает русских символов раз. Немогу запустить пошаговую отладку два. Для пошаговой отладки есть некие отладчики DEBUGGER-ы, где можно скачать дебюггер под XP ? И что-то надо решать с русскими символами. Добавлено @ 23:04 И ещё непонимает почему то собственной настройки Указана папка с включаемыми файлами, но все равно выдает ошибку, что файл не найден. И ещё курсор невидим до тех пор, пока не выдаст ошибку. -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| Urff |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Привет, ты на оффоруме не в тот подфорум запостил,надо сюда постить про Fresh IDE Development
ник разработчика - decard Деббагеры можешь под XP найти на www.wasm.ru в разделе инструменты...или я тут могу подвесить пару небольших.... p.s. откуда взял пример, из первого поста? Это сообщение отредактировал(а) Urff - 4.4.2006, 23:54 |
|||
|
||||
| sgi1981 |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
Я сразу же и туда запостил. Я запостил сразу на два форума : в этот и в форум по Fresh. Чтобы больше ответов было.
Хорошо, посмотрю что там...
Из книги Виктора Юрова Assembler Учебник. Только я переделал ту програмку под синтаксис FASM. Я долго не мог раздуплиться, каким образом в стек закачивать адреса строк и структур, а оказывается что идентификатор без прямоугольных скобок - это и есть адрес переменной идентификатор в прямоугольных скобках - это значение переменной. Ведь описанные переменные - это ж метки на области памяти в сегменте данных. А ещё с самого начала я вызывал API функции не так как можно в FASM с помощью invoke, а с помощью call. Так не знал тогда что в таком случае нужно идентификатор функции тоже в прямоугольных скобках писать, и получалось, что адреса функций были не правильными, а ссылались на область памяти в секции импорта "*.exe" - файла. Естественно, программа запускалась с ошибкой. Я скачал более совершенную версию ФЛАШ http://fresh.flatassembler.net/files/FreshAlpha114.exe Только там в комментариях не отображаются нормально русские символы. Надо что-то решать по ним. Это сообщение отредактировал(а) sgi1981 - 5.4.2006, 01:25 -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
||||||
|
|||||||
| Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: нет Всего: 4 |
Тоже недавно купил книгу Юрова. Потрясающе. Ассемблер - сила. Программирование под виндовс на ассемблере, конечно геморройно, но те плюсы которые оно дает намного превосходят минусы. Для примера. Простое, ничего не делающее окошко, написанное на ассемблере ввесит 7 кб. Такое-же окошко созданное и скомпилированное в Borland C++ 6 - 75 кб.
P.S. никто не знает, где можно скачать редактор ресурсов в виде отдельной проги? Это сообщение отредактировал(а) Exekutor - 5.4.2006, 09:09 -------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
| sgi1981 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
А интересно, какого года выпуска ты купил книгу, потому что у меня книга от 2001 года. У тебя новее ?
Да ты наверно недотянул "малость". Вообще, если в настройках компиляции проекта в среде Borland C++ Builder 6.0 настроить режим компиляции без использования библиотек времени исполнения, то минимум 440 КБ выходит проект. Вот проверь : 1) Зайди в пункт меню Project/Options 2) сними галочку на закладке "Packages" с опции "Build with runtime packages" 3) сними галочку на закладке "Linker" с опции "Use dynamic RTL" 4) на закладке "Compiler" нажми кнопку Release, чтобы компилятор не помещал отладочную информацию. Теперь перекомпилируй и проверь, сколько весит "*.exe". Но если так не делать, то твоя программа написанная на Бюилдере, не будет выполняться на машинах, где нет Бюилдера и прийдется дополнительно устанавливать те связываемые библиотеки. Это сообщение отредактировал(а) sgi1981 - 5.4.2006, 10:42 -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
||||
|
|||||
| Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: нет Всего: 4 |
sgi1981,
Я знаю как отключать эти библиотеки. У меня с убраной галочкой окошко получилось размером ровно 76 кб. А. Вот теперь вижу. Packages я не отключал. Что, без них тоже не запустится? Насчет книжки - не знаю, сейчас на работе. Вечером приду домой - посмотрю. А как насчет редактора ресурсов? Это сообщение отредактировал(а) Exekutor - 5.4.2006, 14:38 -------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: нет Всего: 4 |
Chingachguk, спасибо!
-------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
НА ЧУЖОЙ МАШИНЕ НЕ ЗАПУСТИТСЯ. -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
| Urff |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 26.3.2006 Репутация: нет Всего: нет |
Хм, у меня учебник Юрова за 1998 год в электронном виде, хотелось бы найти поновее,тоже в электронном.....
По части вопросов про фукции и переменные (не догадываетесь, зачем я так везде спрашиваю описание языка fasm1.65 на русском языке?) В первую очередь, считаю надо прочесть документацию по языку, я только начинаю программировать и fasm -мой первый язык программирования, посему, счас потихоньку перевожу на русский документацию.... |
|||
|
||||
| sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: 2 Всего: 10 |
А описание целочисленных команд MMX есть в том учебнике ? А описание вещественных команд XMM есть в том учебнике ? У меня это есть. -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
![]()
|
| Правила форума "Asm для начинающих" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm для начинающих | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |