- Complementary tools for Easy Code 2 -
This
section is a little guide for you to know the tools needed for each
supported assembler. Of course you do not need to have all of them
if you do not want to, but at least you should have the tools for
the assembler(s) you want to to work with. All paths shown below are
referred to the root of drive C:\ for simplicity,
but you
should use any other drive or path, even a pendrive (I have all those
tools in the root of drive G:\). Installing
tools in the system drive C: IS NOT recommended, specially on Window
8.1 and Windows 10, because of the permissions restriction.
C:\FASM (download
the Flat assembler for Windows) C:\GOASM (download
the ECGo.zip
package) C:\JWASM
(download the JWasm.zip
package) C:\JWASM
(32/64-bit versions available here) C:\MASM32 (download
the MASM32 SDK
version 10 or later) C:\MASM64 (available
with Microsoft Visual Studio) C:\POASM (download
PellesC 32-bit) C:\POASM64 (download
PellesC 64-bit)
FASM
GOASM
JWASM
UASM
MASM32
MASM64
POASM
POASM64
IMPORTANT:
After unzipping
the ECGo.zip package the GoAsm folder will
have been created.
Please immediately download the
GoAsm
Headers
and place them in the Include subfolder
(inside the GoAsm folder created by
unzipping the ECGo.zip package).
Otherwise,
Easy Code will not be able to build GoAsm projects.
After downloading and installing the Microsoft
Visual Studio, create a folder named MASM64 and
copy all necessary files related to the 64-bit MASM assembler
(ml64.exe, link.exe, lib.exe,
rc.exe and their dependencies).
After downloading and installing PellesC 32-bit in a 32-bit
system, create a new folder named POASM and copy
all
the content from the C:\Program Files\PellesC\Bin
folder to it.
After downloading and installing PellesC
64-bit in a 64-bit system, create a new folder named
POASM64 and copy all the content from the C:\Program
Files\PellesC\Bin folder to it.
After downloading
UASM (both, 32/64-bit versions), it is recommended
to place
the uasm32.exe and uasm64.exe
files in the JWASM folder (C:\JWASM).
For 32-bit
applications, GOASM uses the Go tools and the
GoAsm Headers, all of them in the GoAsm folder
created
with ECGo.zip. JWASM, HJWASM, MASM and POASM use the include
and library files from MASM32 (C:\MASM32)
and
FASM uses their own include and equate
files
(C:\FASM\INCLUDE) plus some include
files from
the \EasyCode\Include\Fasm folder, specially
programmed
for FASM. Besides, FASM needs the MASM32 SDK to be
installed in order to be able to build 32-bit visual
projects (the MASM32 SDK ".lib" files are required).
For 64-bit applications, FASM and GOASM
use the same files that they use for 32-bit (with
some differences for FASM), while JWASM, HJWASM, MASM
and POASM use the include and library
files from the \EasyCode\Include\Masm\x64
and \EasyCode\Lib\x64 folders, specially
programmed for 64-bit applications.
Easy Code is distributed with some configuration
files, one for each supported assembler. Those files
(located at the EasyCode\Config folder) have
the extension "ori" and are a reference for the
corresponding assembler to be configured properly.
However, each assembler needs a configuration file
with a "cfg" extension in order to work properly,
but when you download Easy Code 2 there is no ".cfg"
file. All those ".cfg" files will be created when Easy
Code starts for the first time and they will be located
at the EasyCode\Config
folder. For more information, please see the Settings
section in the
Easy Code help file.
REMARKS:
FASM does
not have its own linker and visual
projects need the Easy Code visual library to be linked. So,
for Easy Code to be able to build visual projects with FASM,
the Microsoft linker, link.exe, is used instead
(ONLY
for FASM visual projects). If you want to build visual
projects with FASM (all examples are visual projects), you
have to download and install the MASM32 SDK (for
32-bit visual projects) and MASM64 (for 64-bit
visual projects).
REMARKS:
According to
the documentation, JWLINK seems
not to be able to build WINNT drivers (*.sys), so the Microsoft
linker, link.exe, is used instead (ONLY for JWASM
driver projects).