Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/74: Рейтинг темы: голосов - 74, средняя оценка - 4.99
1 / 1 / 2
Регистрация: 19.02.2014
Сообщений: 14

"Hello, world" на FASM

27.07.2014, 18:40. Показов 14166. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, скачал я SASM (среда разработки для ассемблера со встроенными компиляторами ассемблерами, поддерживает MASM, FASM, NASN и GAS), в нём есть готовые примеры программ. Я открыл FASMHello.asm, запустил — всё работает (вывело "Hello, world!"). Вот исходный код программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
format ELF
 
section '.data' writeable
    msg db 'Hello, world!', 0
    formatStr db "%s", 0
 
section '.text' executable
public _main
extrn _printf
_main:
    mov ebp, esp; for correct debugging
    push msg
    push formatStr
    call _printf
    add esp, 8
    xor eax, eax
    ret
Но когда я попытался запустить Hello, world из уроков по FASM, найденным мной в интернете, вывело ошибку. Вот код Hello, world из урока:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
include '%fasminc%/win32ax.inc'
 
.data
Caption db 'Моя первая программа.',0
Text db 'Всем привет!',0
 
.code
start:
invoke MessageBox,0,Text,Caption,MB_OK
invoke ExitProcess,0
 
.end start
Вот текст ошибки:

[18:31:19] Внимание! В ходе построения обнаружены ошибки:
D:/Users/Данилка/AppData/Local/Temp/SASM/program.asm [1]:
include '%fasminc%/win32ax.inc'
error: file not found.
gcc.exe: error: D:/Users/Данилка/AppData/Local/Temp/SASM/program.o: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.


То есть, судя по всему, не найдены файлы win32ax.inc и program.o

Я попробовал убрать первую строку, вывело следующее:

[18:33:55] Внимание! В ходе построения обнаружены ошибки:
D:/Users/Данилка/AppData/Local/Temp/SASM/program.asm [1]:
.data
error: illegal instruction.
gcc.exe: error: D:/Users/Данилка/AppData/Local/Temp/SASM/program.o: No such file or directory
gcc.exe: fatal error: no input files
compilation terminated.


В уроке до примера программы никаких объяснений, проходить следующие уроки без практики и с вероятностью того, что учу всё неправильно не хочется..

Добавлено через 5 минут
Кстати, если это имеет значение:

Процессор: Intel Core 2 Duo
Ось: Windows 7 x86
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.07.2014, 18:40
Ответы с готовыми решениями:

Fasm, Hello World x64 компилится но не работает
На винде x32 программа нормально работала код был format binary use16 org 100h mov ah,9 mov dx,msg int 21h

Вызываю dll (написанную на vc++2008) из Fasm. Через 40 секунд вылет из программы.Без вызова dll из Fasm программа не вылетает.
Программа на vc++2008: #include "MathFuncsDll.h" #include <stdexcept> using namespace std; namespace MathFuncs { ...

ярлыки world of tanks и world of warships на рабочем столе
помогите удалить просканировал системы с помощью Farbar Recovery Scan Tool, файлы FRST.txt и Addition.txt прикрепил к сообщению

7
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
27.07.2014, 19:07
IAmDanilka,
а ничего, что первая программа предназначена для Linux
Assembler
1
format ELF
хотя запускаешь ты ее под Windows 7 x86, а вторая для Windows
Assembler
1
include '%fasminc%/win32ax.inc' <-- обрати внимание на слово win32 это 32-разрядная Windows
по поводу ошибки
Code
1
2
3
4
Внимание! В ходе построения обнаружены ошибки:
D:/Users/Данилка/AppData/Local/Temp/SASM/program.asm [1]:
include '%fasminc%/win32ax.inc'
error: file not found
нужно править файл fasmw.ini который находится в тойже папке что и fasmw.exe там нужно указать правильный путь к папке include
1
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
27.07.2014, 19:11
%fasminc% нужно заменить на папку с фасмом.

Добавлено через 1 минуту
и добавить format PE console

Добавлено через 1 минуту
Цитата Сообщение от Mikl___ Посмотреть сообщение
нужно править файл fasmw.ini
он только гуйным редактором управляет (типа позиция, подсвета и прочая ересь)
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
27.07.2014, 19:12
Мотороллер,
приложение GUI-шное, причем здесь консоль?
1
435 / 246 / 43
Регистрация: 05.08.2013
Сообщений: 1,670
27.07.2014, 19:13
Mikl___, ступил, в первом примере консоль. тут format PE GUI
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16373 / 7685 / 1080
Регистрация: 11.11.2010
Сообщений: 13,759
27.07.2014, 19:22
Мотороллер,
в первом примере вообщето ELF

IAmDanilka,
к Фасму хелп идет на английском и на русском языке в том числе, найти и скачать можно на раз-два
1
1 / 1 / 2
Регистрация: 19.02.2014
Сообщений: 14
27.07.2014, 20:20  [ТС]
Цитата Сообщение от Mikl___ Посмотреть сообщение
а ничего, что первая программа предназначена для Linux
Извиняюсь, не знал. FASM только начинаю изучать

Цитата Сообщение от Mikl___ Посмотреть сообщение
нужно править файл fasmw.ini который находится в тойже папке что и fasmw.exe там нужно указать правильный путь к папке include
Что-то нет этой папки в папке SASM'а.. Похоже, зря я обрадовался, что нашёл IDE со встроенным компилятором "из коробки" — буду руками собирать. По крайней мере, понял, в чём проблема, спасибо.

Цитата Сообщение от Мотороллер Посмотреть сообщение
%fasminc% нужно заменить на папку с фасмом.
Там нету всё равно файла, который нужен компилятору, так что буду отдельно FASM качать.

Добавлено через 53 минуты
Всем спасибо, разобрался, всё работает)
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
28.07.2014, 14:20
%fasminc% нужно заменить на папку с фасмом.
%fasminc% - это переменная окружения, соответственно её нужно создать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.07.2014, 14:20
Помогаю со студенческими работами здесь

Поменять слова местами то есть Hello World > World Hello C++
Ребят всем привет помогите решить задачку: Имеется предварительно созданный текстовый файл, содержащий строку &quot;Hello World&quot;....

Программа должна работать корректно и вставить слово "Beautiful" перед словом "World" в строке "Hello World"
скажите в чём ошибка вроде код работает верно компилируется и линкуется но когда запускаю то ничего просто пусто .MODEL SMALL .STACK 100h...

Си и FASM
Можно ли компилировать asm-код(FASM) с подключенными файлами Си? К примеру: use32 mov ax , 0 ; ... далее код ассемблера ...

My Fasm
Помогите пожалуйста! Я увлекаюсь программированием, и скачал FASM, как знаете, он открытый проект. Так вот, я хочу изменить этот FASM и...

Fasm dll
Как в fasm создать dll файл?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru