Не понимаю прикола с инклюдом интерфейса под юникс. Code (ASM): include 'include/libc/system.inc' а он в ответку Code (Text): flat assembler version 1.73.13 (16264 kilobytes memory, x64) include/libc/system.inc [6]: extrn malloc processed: extrn malloc error: illegal instruction. код system.inc на которого агрессия Code (Text): ; flat assembler interface for Unix/libc ; Copyright (c) 1999-2020, Tomasz Grysztar. ; All rights reserved. extrn malloc extrn free extrn getenv extrn fopen extrn fclose extrn fread extrn fwrite extrn fseek extrn ftell extrn time extrn exit нужна функция fwrite и time для работы.
Для чего оно тебе? Это инклуд от fasm\source\libc\fasm.asm, system.inc захочет source\variable.inc, а за ним все остальные инклуды бинарника фасма.
Okoro4ek999, не надо этого делать это ж исходный код FASM компилятора. Это не предназначено для использования в качестве инклудов AS IS Ну и чтоб собирать LIBC нужно формат добавить правильный Code (ASM): format ELF public main section '.text' executable align 16 main: mov [con_handle],1 mov esi,_msg call display_string exit_program: movzx ebx,al mov eax,1 int 0x80 display_string: push ebx mov edi,esi mov edx,esi or ecx,-1 xor al,al repne scasb neg ecx sub ecx,2 mov eax,4 mov ebx,[con_handle] xchg ecx,edx int 0x80 pop ebx ret extrn malloc extrn free extrn getenv extrn fopen extrn fclose extrn fread extrn fwrite extrn fseek extrn ftell extrn time extrn exit _msg db 'start program',0 con_handle dd ?
Code (ASM): format ELF64 executable 3 entry start include 'import64.inc' interpreter '/lib64/ld-linux-x86-64.so.2' needed 'libc.so.6' import printf,exit segment readable executable start: lea rdi,[msg] xor eax,eax call [printf] call [exit] segment readable writeable msg db 'Hello world!',0xA,0 скачайте FASM Для линукса и там все примеры будут https://flatassembler.net/fasm-1.73.22.tgz
Да я это уже понял недавно. btw, I use Arch поэтому сначала стащил fasm с pacman а там не было examples