This commit is contained in:
2018-08-15 23:54:44 +03:00
parent a29d2216b4
commit 2e9f9aff10
3 changed files with 285 additions and 297 deletions

79
DOC_RU.MD Normal file
View File

@@ -0,0 +1,79 @@
# Описание функций 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).