Author Topic: Inspirational assembly projects.  (Read 2694 times)

johnfound

  • Regular Member
  • *
  • Posts: 12
Inspirational assembly projects.
« on: September 01, 2016, 05:31:20 PM »
One of the best fully assembly written project is the Jeff Marrison's RWASA web server.
It is very, very fast (faster than nginx) and supports all needed features for production use. Actually Jeff uses it all the time in his business.

Actually, the whole flatassembler.net domain recently is  hosted by RWASA with great success.  :greenclp:

Do you know other assembly projects that makes you want to write something in assembly?
« Last Edit: September 01, 2016, 08:30:14 PM by johnfound »

jj2007

  • Member
  • *****
  • Posts: 8735
  • Assembler is fun ;-)
    • MasmBasic
Re: Inspirational assembly projects.
« Reply #1 on: September 01, 2016, 06:32:56 PM »
Do you know other assembly projects that makes you want to write something in assembly?

RichMasm, for example, currently around 17k lines of source. There are quite a number of other assembly-only projects, afaik ObjAsm32 is written in assembly, and I guess RadAsm, GoAsm, SolAsm, RosAsm, too - really big projects. Btw, in the screenshot below, is this the complete RWASA source? Looks like a good example how efficient assembly can be... (do not confuse with WGASA, btw ;))

P.S.: Scrolling through this HeavyThing example, it looks like the FASM community codes closer to the metal. You don't use macros often, right?

johnfound

  • Regular Member
  • *
  • Posts: 12
Re: Inspirational assembly projects.
« Reply #2 on: September 01, 2016, 06:42:08 PM »
Btw, in the screenshot below, is this the complete RWASA source?

RWASA is actually some kind of test application for Jeff's library HeavyThing. I didn't check what actually files are used in RWASA, but considering how complex is to create full features web server, I suppose most of the library is used.

johnfound

  • Regular Member
  • *
  • Posts: 12
Re: Inspirational assembly projects.
« Reply #3 on: September 01, 2016, 08:55:32 PM »
Here is the comment of redsock (Jeff Marrison). (He tried to register here, but didn't received the activation email and that is why asked me to post his answer):

P.S.: Scrolling through this HeavyThing example, it looks like the FASM community codes closer to the metal. You don't use macros often, right?

Actually, that code is rife with macros, though they are not defined in that source file. The HeavyThing library and all of the showcase programs were written by me, and even the author of fasm, Tomasz Grysztar, stated that my assembly coding style was unusual and that he liked it.

What's more, he wrote a new version of the assembler, named fasmg (http://flatassembler.net/download.php) where he specifically states
Quote from: Tomasz Grysztar
It is a generic assembler that can be used in place of flat assembler 1 in applications where only the pure macroinstruction engine is needed instead of x86 encoder ...snip...
So no, I don't think my own code is representative at all of the greater FASM community, only my own coding preferences... especially where they may concern security, timing channel analysis, etc. (hard to read code, excessive macros, etc make for difficult timing analysis).

Glad to see the assembly language community is alive and well, if the email authentication system worked I would have posted this myself.

Cheers!
--redsock

jj2007

  • Member
  • *****
  • Posts: 8735
  • Assembler is fun ;-)
    • MasmBasic
Re: Inspirational assembly projects.
« Reply #4 on: September 01, 2016, 09:54:30 PM »
Hi Jeff & John,

Actually, that code is rife with macros

include \masm32\MasmBasic\MasmBasic.inc      ; download
  SetGlobals ctCalls
  Init
  Recall "https://2ton.com.au/library_as_html/toplip/toplip.asm.html", L$()
  For_ ecx=0 To L$(?)-1
      .if Instr_(L$(ecx), "call", 5)      ; 5=1 (case-insensitive) or 4 (full word)
            PrintLine L$(ecx)
            inc ctCalls
      .endif
  Next
  Inkey Str$("%i calls found, but where are the macros?", ctCalls)
EndOfCode


Output:
Code: [Select]
        ...
        call    list$foreach
        call    output_flush
        call    list$clear
        call    string$to_stderrln
        call    termreset
        call    string$to_stderr
        call    string$to_stderrln
        call    termreset
313 calls found, but where are the macros?

hutch--

  • Administrator
  • Member
  • ******
  • Posts: 5762
  • Mnemonic Driven API Grinder
    • The MASM32 SDK
Re: Inspirational assembly projects.
« Reply #5 on: September 01, 2016, 10:18:15 PM »
Hi John,

There is not much I can do about folks who don't receive their verification emails, its almost exclusively their ISP's email server blocking the emails. Probably the best approach is for people who have the problem to get an email account that will receive emails. I confess I have always like FASM, a well written reliable assembler, the problem for me is I only have one life and having to learn another notation is beyond the time I have available, I have no problem with historical Intel notation but FASM is closer to TASM notation and it slows me down too much converting the notation.

Much of the difference with MASM and similar is it was an archetypal MACRO assembler and was designed that way back around 1990 (still have the original disks and manuals) so for a MACRO assembler, writing and developing with macros is a natural technique.
hutch at movsd dot com
http://www.masm32.com    :biggrin:  :biggrin:

johnfound

  • Regular Member
  • *
  • Posts: 12
Re: Inspirational assembly projects.
« Reply #6 on: September 01, 2016, 10:44:56 PM »
There is not much I can do about folks who don't receive their verification emails, its almost exclusively their ISP's email server blocking the emails.

Offtopic: AFAIK, my ISP does not have any spam filters on the email server I use. I will ask, but from my point of view it seems your SMTP server has some problems. Notice, that redsock and me are living very far from each other - I am in Bulgaria, he is in Australia, my email server is in Bulgaria,  and his email server is (AFAIK) in USA. So, it is strange we both have the same problem with MASM forum activation.

P.S. And as an addition, I received normally your manually composed message, so there should be some difference between the forum email notification account and your own personal email account.