There are several non-commercial/shareware/freeware Assembler programs and Linker programs also available. To be significantly useful, such programs need to be compatible with the "source" format expected by the MASM standard. One such Assembler is the freeware "Arrow Assembler"; the "Linker" associated with Arrow Assembler is called "VAL" which performs the functions of both LINK/TLINK and EXE2BIN.
C:\masm>MASM
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Source filename [.ASM]: GCD
Object filename [GCD.OBJ]:
Source listing [NUL.LST]: GCD.LST
Cross-reference [NUL.CRF]:
50988 + 402788 Bytes symbol space free
0 Warning Errors
0 Severe Errors
C:\masm>LINK
Microsoft (R) Personal Computer Linker Version 2.40
Copyright (C) Microsoft Corp 1983, 1984, 1985. All rights reserved.
Object Modules [.OBJ]: GCD.OBJ
Run File [GCD.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]:
C:\masm>
C:\masm>EXE2BIN GCD.EXE GCD.COM
C:\masm>
C:\arrowasm>ASM
Arrowsoft Assembler
Public Domain v2.00c (64K Model)
Copyright (c) 1986, 1987 Arrowsoft Systems, Inc.
Input filename (.asm): GCD_EXE.ASM
Object filename (GCD_EXE.obj):
Listing filename(nul.lst): GCD_EXE.LST
Cross-reference (nul.crf):
Free memory=49418, Warnings=0, Errors=0
Assembly Ended.
C:\arrowasm>VAL
VAL 8086 linker - Mar 27 1995
OBJ file(s): GCD_EXE.OBJ
EXE file[c:\arrowasm\gcd_exe.exe]:
LST file:
LIB file(s):
C:\arrowasm>
C:\arrowasm>VAL /CO
VAL 8086 linker - Mar 27 1995
OBJ file(s): GCD.OBJ
COM file[c:\arrowasm\gcd.com]:
LST file:
LIB file(s):
C:\arrowasm>