Files
FasmOnDelphi/DOC_RU.MD
2018-08-15 23:54:44 +03:00

80 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Описание функций FasmOnDelphi:
### function FasmVersion:TFasmVersion;
Возвращает версию ассемблера в структуре TFasmVersion.
### function FasmAssemble(const Source:AnsiString;cbMemorySize:cardinal=1024*1024;nPassesLimit:DWORD=100):TFasmResul;
Компилирует код.
Source - содержит исходный код для компиляции.
cbMemorySize - количество памяти которую может использовать компилятор(может быть округлено до целого количества килобайт).
nPassesLimit - максимальное количество проходов которые может использовать компилятор.
Возвращает структуру TFasmResult с информацией об ошибке или скомпилированным кодом.
### function FasmAssembleToFile(const Source,OutFile:AnsiString;cbMemorySize:cardinal=1024*1024*8;nPassesLimit:DWORD=100):TFasmResult;
Идентично FasmAssemble, но выход будет записан в файл(имя передаётся в OutFile).
### function FasmAssembleFile(const Source:AnsiString;cbMemorySize:cardinal=1024*1024*8;nPassesLimit:DWORD=100):TFasmResult;
Идентично FasmAssemble, но код будет взят из файла(имя передаётся в Source).
### function FasmAssembleFileToFile(const Source,OutFile:AnsiString;cbMemorySize:cardinal=1024*1024*8;nPassesLimit:DWORD=100):TFasmResult;
Идентично FasmAssembleFile, но выход будет записан в файл(имя передаётся в OutFile).
### procedure OpenFASM(Location:string=FASMPath;AsDll:boolean=false);
Инициализирует Flat Assembler.
Location - путь до fasm.exe/fasm.dll (только Win32).
AsDll - установить в True если используется DLL версия компилятора иначе False (вне Win32 игнорируется).
### procedure SetFasmTemp(Path:string);
Выбирает каталог для temp файлов.
**********************************************************
# Описание типов FasmOnDelphi:
TFasmError=FASMERR_ASSERTION_FAILED ..FASM_ERROR;
Тип для кодов ошибок Fasm'а.
TFasmVersion=packed record
V1,V2:word;
end;
Тип для передачи версии ассемблера.
V1 - первое число версии(до точки).
V2 - второе число версии(после точки).
TFasmResult=record
OutData:Pointer;
sb:integer;
Error:TFasmError;
OutStr:string;
Lines:array of TFasmLine;
end;
OutData - указатель на результат ассемблирования(nil при ошибке или FasmAssembleToFile/FasmAssembleFileToFile).
sb - размер результата ассемблирования(0 при ошибке или FasmAssembleToFile/FasmAssembleFileToFile).
Error - код ошибки(FASM_OK если всё прошло успешно).
OutStr - строка которую выдаёт компилятор.
Lines - подробная информация об ошибках (подробнее см. TFasmLine).
TFasmLine=record
Line:UInt32;
&File:string;
end;
Line - номер строки с ошибкой.
File - имя файла с ошибкой('' или файл из папки темпа подразумевает что это код переданный в FasmAssembleFile или FasmAssembleFileToFile).