flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > High Level Languages > Assemblers used by high language compilers - please complete

Goto page 1, 2, 3  Next
Author
Thread Post new topic Reply to topic
DOS386



Joined: 08 Dec 2006
Posts: 1907
Assemblers used by high language compilers - please complete
Please complete the list Wink

(post edited 1'000'000'000 times, answers merged into list)

QB (BASIC interpreter and compiler, Q-BASIC/QuickBASIC/QuackBASIC by M$, 16-bit RM only): No ASM output, no assembler involved in compilation, no inline ASM (?) supported, CALL ASM ???

ML1Compiler (Basic/VisualBasic-like (?), only 16-bit RM target): compiles via NASM

Powerbasic ($$$) : latest DOS version is from 1993 (20 years old, still available and still costs 100$), latest version from ??? for Win32 costs 200$, original author now dead, company continues (???), inline ASM supported (DOS version only up to 80386?), can't brew ASM

PureBASIC ($$$): compiles always via FASM

Borland "Turbo" PASCAL/C/C++: inline ASM supported (built-in handling), "Turbo ASM" used only for separate ASM files, no ASM output

VirtualPASCAL: ??? Note: compiler core written in ASM (MA$M ? TASM ?, closed source)

TMT-FrameworkPASCAL: ???

FBC (FreeBASIC compiler): compiles always via GAS ("Intel" syntax) into COFF objects, links with LD. Inline ASM supported, "Intel" syntax (now optionally via GCC additionally)

FPC (FreePASCAL Compiler) : compiles always via GAS (DOS version's AS.EXE from ASLDDOS.ZIP says "GNU assembler 2.15"), inline ASM supported, ??? syntax, uses LD linker, now built-in ASM processing (???)

GCC/DGJPP/MinGW/Cygwin: compiles always via GAS, inline ASM supported, uses LD linker, supposed to support "MASM INTEL" for both inline and output but doesn't work (???)

CC386 by LADSoft (C compiler, DOS(32bit) and Win32, no C++ (yet ?)): NASM, but an "inofficial" patched version: "NASM version 0.98.38ls3 compiled on Nov 30 2006 (OMF Virtual Extensions/LADSoft)" Inline ASM supported (NASM syntax) . Can compile both via ASM and directly into object (built-in handling of inline ASM then), links with VALX. Now deprecated and getting replaced with Orange C compiler by same author.

http://ladsoft.tripod.com/cc386_compiler.html

Orange C by LADSoft (C89, C99, C11, C++ compiler) derivative of CC386, uses OAsm (derivative of NASM), inline ASM supported

http://ladsoft.tripod.com/orange_c_compiler.html

[Open]-Watcom: WatcomASM, WASM http://www.openwatcom.org/index.php/Wasm (its own, written in C) Used only for separate ASM files, inline ASM somewhat "supported" with pragmas (!!!), uses WLINK linker

TCC (Tiny C Compiler) --- none (built-in handling of GAS'eous inline ASM) !!! no linker either Shocked compiles directly into executable

Simple C compiler --- FASM (last update 2005)

http://freecode.com/projects/simplec

SCC - http://si2.epfl.ch/~susu/Publications/SCC/index.html "ARM" -> DOS (???) -> http://retro.tunes.org/simplec Linux uses NASM -> DEXOS and uses FASM ???

Pelles C --- PoAsm, using MASM syntax, for separate ASM files, inline ASM "deprecated" uses NASM (!!!) syntax, present in 32-bit version only, no ASM output (???), uses POLINK

Digital Mars C/C++/D --- Built In: http://www.digitalmars.com/ctg/ctgInlineAsm.html

"Visual" C/C++ ($$$) : None or MA$M ??? Inline ASM supported ???

LCC - see http://board.flatassembler.net/topic.php?t=12706 " lcc-3.6 with fasm backend!!"

Context/Win32 --- FASM

Context/DOS --- ASM8086 (it's own personal assembler)

HLA (??) --- MASM, TASM, FASM, GAS (according to Wikipedia)

B0 -- FASM

BlitzMax (??) --- FASM (YES !!! according to not only Wikipedia)

IBasic Pro --- NASM

Thistle (toy Win32 Basic compiler written in LibertyBasic) --- FASM

Emergence Basic --- NASM

Aurora --- NASM

Ocean --- FASM

LLVM / CLANG : ???

http://llvm.org/ wrote: "The LLVM Core libraries provide a modern source- and target-independent optimizer, along with code generation support for many popular CPUs (as well as some less common ones!)"


Last edited by DOS386 on 10 Sep 2013, 09:28; edited 17 times in total
Post 02 Feb 2007, 09:24
View user's profile Send private message Reply with quote
Vasilev Vjacheslav



Joined: 11 Aug 2004
Posts: 392
visual c : masm
Post 02 Feb 2007, 18:53
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2112
Location: Usono (aka, USA)

  • FPC -- GAS (2.0.4's for DOS's AS.EXE from ASLDDOS.ZIP says "GNU assembler 2.15")
  • Context/Win32 -- FASM
  • Context/DOS -- ASM8086 (it's own personal assembler)
  • OpenWatcom -- WASM (its own, written in C)
  • TCC (TinyCC, I assume) -- none used/needed
  • HLA -- MASM, TASM, FASM, GAS (according to Wikipedia)
  • B0 -- FASM
  • ?? BlitzMax -- FASM (according to Wikipedia)


Last edited by rugxulo on 05 Feb 2007, 20:50; edited 1 time in total
Post 03 Feb 2007, 04:17
View user's profile Send private message Visit poster's website Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
Are you asking which assembler is usually used with the compiler, or which assembler the compiler uses internally?

Visual C++ doesn't use an assembler for code generation, and I don't think Watcom does, either.
Post 03 Feb 2007, 08:25
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1907
ASM's

Quote:
is usually used with the compiler



NO.


Quote:
or which assembler the compiler uses internally?



YES. Wink

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 03 Feb 2007, 08:32
View user's profile Send private message Reply with quote
flaith



Joined: 07 Feb 2005
Posts: 122
Location: $300:20 58 FC 60 N 300G => Vietnam

  • BlitzMax -- FASM (<-- Yes)

_________________
Je suis sur de 'rien', mais je ne suis pas sur du 'tout'.
Post 03 Feb 2007, 09:53
View user's profile Send private message Visit poster's website Reply with quote
Filter



Joined: 08 Oct 2006
Posts: 67
Borland C++: Turbo ASM
Pelles C: PoASM
Digital Mars C++: Built In http://www.digitalmars.com/ctg/ctgInlineAsm.html
Open Watcom: WASM http://www.openwatcom.org/index.php/Wasm
Post 03 Feb 2007, 16:25
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
Filter: does BC++ require tasm? Iirc it generates it's .obj files directly without going through tasm. Same goes for Watcom.
Post 03 Feb 2007, 16:29
View user's profile Send private message Visit poster's website Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2112
Location: Usono (aka, USA)
Yes, I think you're right. OpenWatcom 1.6 and Turbo C++ (1.01, for instance) only use the external assembler if inline assembly is required. (Supposedly, Turbo C++ 3.0 didn't need TASM, right??)

EDIT: CC386 actually requires NASM even without inline assembly, but it uses its own patched version.

CC386 3.27's NASM.EXE reports the following:


Quote:

NASM version 0.98.38ls3 compiled on Nov 30 2006 (OMF Virtual Extensions/LADSoft)

Post 03 Feb 2007, 18:00
View user's profile Send private message Visit poster's website Reply with quote
Filter



Joined: 08 Oct 2006
Posts: 67

f0dder wrote:
Filter: does BC++ require tasm? Iirc it generates it's .obj files directly without going through tasm. Same goes for Watcom.



BC++ can generate assembly output that can then be compiled by TASM but it's not required. Also, Tasm32 can be used on it's own. It can even produce OBJ files that can still be linked by older 16-bit versions of the Borland Linker. Not sure about Watcom.

The request was to see which assembler is used by the compilers but not required right? Or was it just compilers that produce assembly output that must be assembled?
Post 04 Feb 2007, 16:03
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1907
ASM

Quote:
The request was to see



1. What compilers always produce ASM that must go through an assembler

2. What compilers can optionally produce ASM instead of EXE or link-files

_________________
Bug Nr.: 12345

Title: Hello World program compiles to 100 KB !!!

Status: Closed: NOT a Bug
Post 04 Feb 2007, 18:35
View user's profile Send private message Reply with quote
Filter



Joined: 08 Oct 2006
Posts: 67
Re: ASM

NTOSKRNL_VXE wrote:

Quote:
The request was to see



1. What compilers always produce ASM that must go through an assembler

2. What compilers can optionally produce ASM instead of EXE or link-files



Then I guess I misunderstood but at least I have provided some helpful information. Smile
Post 04 Feb 2007, 20:26
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2112
Location: Usono (aka, USA)
FreeBASIC 0.16 for DOS's AS.EXE reports "GNU assembler 2.16.1" (and 0.17 uses GNU AS 2.17).

FreeBASIC 0.16 for Win32's AS.EXE reports "GNU assembler 2.15.94 20050118"


FYI, some C++ support is implemented in CC386 (not classes??), but I don't use it (dunno any C++, really). You'll have to get someone else to test it further. Razz


Code:

// try this example named as either TEST.C or TEST.CPP
// it prints different resultsdepending on how it's named/compiled
// tested wCC386 3.27 (DOS versionon Win XP Home SP2

#include <stdio.h>

int main()
{

  printf("%d %d",sizeof(char),sizeof('a'));
  return 0;
}




Last edited by rugxulo on 29 May 2007, 12:48; edited 1 time in total
Post 05 Feb 2007, 20:57
View user's profile Send private message Visit poster's website Reply with quote
MikeHart



Joined: 31 May 2005
Posts: 7
IBasic Pro -> NASM
Emergence Basic -> NASM
Aurora -> NASM
Ocean -> FASM
Post 29 May 2007, 11:53
View user's profile Send private message Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1907
Bump. Any better/newer info ?

- How inline ASM is handled (built-in or external)

- Compiles directly or via ASM or both supported
Post 22 Aug 2007, 07:52
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7111
Location: Slovakia
what is that "Ocean" thing?
Post 22 Aug 2007, 08:48
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark

vid wrote:
what is that "Ocean" thing?


Quick googling would suggest this. Why are everybody so hooked on BASIC? O_o

_________________
Image - carpe noctem
Post 22 Aug 2007, 10:06
View user's profile Send private message Visit poster's website Reply with quote
DOS386



Joined: 08 Dec 2006
Posts: 1907
> Why are everybody so hooked on BASIC

NO. There are still many non-BASIC compilers with lacking (or wrong ?) info in the list Confused
Post 24 Aug 2007, 00:32
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia

f0dder wrote:

vid wrote:
what is that "Ocean" thing?


Quick googling would suggest this. Why are everybody so hooked on BASIC? O_o



Because a lot of beginners start with BASIC, but fail to move onto more flexible/powerful tools/languages.

Me personally, I may have started with BASIC (on the C64, then GWBASIC), but haven't touched it in years, preferring my own language 'b0' and AMD64/x64 assembly (fasm of course).
Post 24 Aug 2007, 01:41
View user's profile Send private message Visit poster's website Reply with quote
ManOfSteel



Joined: 02 Feb 2005
Posts: 1124
@Chewy509:

Quote:
preferring my own language 'b0'


Speaking of which, the site where you're hosting it seems to be down.
Post 24 Aug 2007, 11:21
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3  Next

< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.