This commit is contained in:
2018-03-24 20:35:01 +03:00
parent afafa5af7f
commit 8d90c00de0
3 changed files with 21 additions and 21 deletions

View File

@@ -1,9 +1,9 @@
#Description of functions inside FASM.DLL # Description of functions inside FASM.DLL
###fasm_GetVersion() ### fasm_GetVersion()
Returns double word containg major version in lower 16 bits, and minor version in the higher 16 bits. Returns double word containg major version in lower 16 bits, and minor version in the higher 16 bits.
###fasm_Assemble(lpSource,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe) ### fasm_Assemble(lpSource,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe)
Assembles the given source, using the provided memory block as a free storage space(which is also to contain generated output). Assembles the given source, using the provided memory block as a free storage space(which is also to contain generated output).
The lpSource should contain a pointer to zero-ended source text(pansichar). The lpSource should contain a pointer to zero-ended source text(pansichar).
@@ -18,11 +18,11 @@ If the assembly is successful, function returns FASM_OK value and fills the outp
If the assembly failed, function returns one of the other general conditions/errors codes(see "General errors and conditions" in Fasm4Delphi.pas). If if error code is FASM_ERROR, it means that an error caused by a specific place in source occured, then the error_code and error_line fields of FASM_STATE are filled, first one with detailed error code(see "Error codes for FASM_ERROR condition" in Fasm4Delphi.pas), and the second one with pointer to a structure containing data about line that caused the error(see "TLINE_HEADER" in Fasm4Delphi.pas). If the assembly failed, function returns one of the other general conditions/errors codes(see "General errors and conditions" in Fasm4Delphi.pas). If if error code is FASM_ERROR, it means that an error caused by a specific place in source occured, then the error_code and error_line fields of FASM_STATE are filled, first one with detailed error code(see "Error codes for FASM_ERROR condition" in Fasm4Delphi.pas), and the second one with pointer to a structure containing data about line that caused the error(see "TLINE_HEADER" in Fasm4Delphi.pas).
###fasm_AssembleFile(lpSourceFile,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe) ### fasm_AssembleFile(lpSourceFile,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe)
This function performs identically to fasm_Assemble, except that it takes the lpSourceFile parameter in place of lpSource, and it shall contain the pointer to zero-ended path to file containing the source to assemble(pansichar). This function performs identically to fasm_Assemble, except that it takes the lpSourceFile parameter in place of lpSource, and it shall contain the pointer to zero-ended path to file containing the source to assemble(pansichar).
******************************************** ********************************************
#Description of structures used in FASM.DLL # Description of structures used in FASM.DLL
The following structure resides at the beginning of memory block provided to the fasm_Assemble function. The condition field contains the same value as the one returned by function. The following structure resides at the beginning of memory block provided to the fasm_Assemble function. The condition field contains the same value as the one returned by function.

View File

@@ -1,9 +1,9 @@
#FASM.DLLから関数の説明です。 # FASM.DLLから関数の説明です。
###fasm_GetVersion() ### fasm_GetVersion()
Dwordを返します。16ビット下位は重要なバージョン番号含みます。16ビット上位はサブバージョン番号含みます。 Dwordを返します。16ビット下位は重要なバージョン番号含みます。16ビット上位はサブバージョン番号含みます。
###fasm_Assemble(lpSource,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe) ### fasm_Assemble(lpSource,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe)
ソースをアセンブルします。ワークスペースいるにメモリブロックが渡できるをつかいます(そのメモリブロックのまん中に出力があります)。 ソースをアセンブルします。ワークスペースいるにメモリブロックが渡できるをつかいます(そのメモリブロックのまん中に出力があります)。
lpSourceはソースへポインタですpansichar。終わりの文字の値はゼロです。 lpSourceはソースへポインタですpansichar。終わりの文字の値はゼロです。
@@ -18,11 +18,11 @@ hDisplayPipeにpipeのhandleがあります。pipeは表示の出力。hDisplayP
アセンブルは成功しないが関数がエラーコードを返しますFasm4Delphi.pasへ「General errors and conditions」を見る。FASM_ERRORはコードへエラーを意味する。それからFASM_STATEのerror_codeとerror_lineがあります。error_codeは二番エラーコードFasm4Delphi.pasへ「Error codes for FASM_ERROR condition」を見る。error_lineはエラーの文字列のレコードへポインタFasm4Delphi.pasへ「TLINE_HEADER」を見る アセンブルは成功しないが関数がエラーコードを返しますFasm4Delphi.pasへ「General errors and conditions」を見る。FASM_ERRORはコードへエラーを意味する。それからFASM_STATEのerror_codeとerror_lineがあります。error_codeは二番エラーコードFasm4Delphi.pasへ「Error codes for FASM_ERROR condition」を見る。error_lineはエラーの文字列のレコードへポインタFasm4Delphi.pasへ「TLINE_HEADER」を見る
###fasm_AssembleFile(lpSourceFile,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe) ### fasm_AssembleFile(lpSourceFile,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe)
この関数は同じにfasm_Assembleです。でも、一番パラメータはlpSourceFileあります。lpSourceFileはソースファイルの名前へポインタですpansichar。終わりの文字の値はゼロです。 この関数は同じにfasm_Assembleです。でも、一番パラメータはlpSourceFileあります。lpSourceFileはソースファイルの名前へポインタですpansichar。終わりの文字の値はゼロです。
******************************************** ********************************************
#FASM.DLLからエラーコードの説明です。 # FASM.DLLからエラーコードの説明です。
fasm_Assembleのためにメモリブロックの初めてにこのエラーコードがあります。conditionは同じ関数の返です。 fasm_Assembleのためにメモリブロックの初めてにこのエラーコードがあります。conditionは同じ関数の返です。

View File

@@ -1,9 +1,9 @@
#Описание функций FASM.DLL # Описание функций FASM.DLL
###fasm_GetVersion() ### fasm_GetVersion()
Возвращает двойное слово(dword) содержащее основную чать версии в младших 16 битах, и подверсию в сташих 16 битах. Возвращает двойное слово(dword) содержащее основную чать версии в младших 16 битах, и подверсию в сташих 16 битах.
###fasm_Assemble(lpSource,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe) ### fasm_Assemble(lpSource,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe)
Ассемблирует переданный исходный код, используя переданный блок памяти как рабочее пространство(вывод также будет находиться в нём). Ассемблирует переданный исходный код, используя переданный блок памяти как рабочее пространство(вывод также будет находиться в нём).
lpSource должен содержать указатель на оканчивающийся нулём(zero-ended?ansi string) исходный код(pansichar). lpSource должен содержать указатель на оканчивающийся нулём(zero-ended?ansi string) исходный код(pansichar).
@@ -18,11 +18,11 @@ hDisplayPipe должен содержать handle pipe'а, в котрорый
Если ассемблирование неудалось, функция вернёт один из других основных кодов ошибок(см. "General errors and conditions" в Fasm4Delphi.pas). Если код ошибки - FASM_ERROR, это значит что ошибка произошла в определённом месте кода, тогда поля error_code and error_line FASM_STATE'а будут заполнены, первое из них будет содержать детальный код ошибки(см. "Error codes for FASM_ERROR condition" в Fasm4Delphi.pas),а вторая - указатель(pointer) на структуру содержащую информацию о строке в котрой произошла ошибка(см. "TLINE_HEADER" в Fasm4Delphi.pas). Если ассемблирование неудалось, функция вернёт один из других основных кодов ошибок(см. "General errors and conditions" в Fasm4Delphi.pas). Если код ошибки - FASM_ERROR, это значит что ошибка произошла в определённом месте кода, тогда поля error_code and error_line FASM_STATE'а будут заполнены, первое из них будет содержать детальный код ошибки(см. "Error codes for FASM_ERROR condition" в Fasm4Delphi.pas),а вторая - указатель(pointer) на структуру содержащую информацию о строке в котрой произошла ошибка(см. "TLINE_HEADER" в Fasm4Delphi.pas).
###fasm_AssembleFile(lpSourceFile,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe) ### fasm_AssembleFile(lpSourceFile,lpMemory,cbMemorySize,nPassesLimit,hDisplayPipe)
Эта функция работает идентично fasm_Assemble, но в отличии от неё принимает параметр lpSourceFile вместо lpSource. Этот параметр должен содержать указатель(pointer) на оканчивающийся нулём(zero-ended?ansi string) путь до файла содержащего исходный код для ассемблироания(pansichar). Эта функция работает идентично fasm_Assemble, но в отличии от неё принимает параметр lpSourceFile вместо lpSource. Этот параметр должен содержать указатель(pointer) на оканчивающийся нулём(zero-ended?ansi string) путь до файла содержащего исходный код для ассемблироания(pansichar).
******************************************** ********************************************
#Описание структур используемых FASM.DLL # Описание структур используемых FASM.DLL
Следующая структура находится в начале блока памяти передаваемого в fasm_Assemble. Поле condition содержит тоже значение которое возвращается функцией. Следующая структура находится в начале блока памяти передаваемого в fasm_Assemble. Поле condition содержит тоже значение которое возвращается функцией.
Когда функция возвращает FASM_OK, поля output_length и output_data заполнены указателем(pointer) на результат ассемблирования(он находится внутри блока памяти) и длинной этого блока памяти соответственно. Когда функция возвращает FASM_OK, поля output_length и output_data заполнены указателем(pointer) на результат ассемблирования(он находится внутри блока памяти) и длинной этого блока памяти соответственно.