"Hello, world" на FASM - Assembler

Узнай цену своей работы

Формулировка задачи:

В общем, скачал я SASM (среда разработки для ассемблера со встроенными компиляторами ассемблерами, поддерживает MASM, FASM, NASN и GAS), в нём есть готовые примеры программ. Я открыл FASMHello.asm, запустил — всё работает (вывело "Hello, world!"). Вот исходный код программы:
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 из урока:
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.

В уроке до примера программы никаких объяснений, проходить следующие уроки без практики и с вероятностью того, что учу всё неправильно не хочется..
Кстати, если это имеет значение: Процессор: Intel Core 2 Duo Ось: Windows 7 x86

Решение задачи: «"Hello, world" на FASM»

textual
Листинг программы
Внимание! В ходе построения обнаружены ошибки:
D:/Users/Данилка/AppData/Local/Temp/SASM/program.asm [1]:
include '%fasminc%/win32ax.inc'
error: file not found

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5