Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  nodelist  faq  login

Debug is human, de-fix divine.


programming / alt.lang.asm / *Which freeware assembler would you suggest a noob use on Windows nowadays?*

SubjectAuthor
* *Which freeware assembler would you suggest a noob use on Windows nowaArlen Holder
`* Re: *Which freeware assembler would you suggest a noob use on Windows nowaB. R. 'BeAr' Ederson
 `- Re: *Which freeware assembler would you suggest a noob use on Windows nowaArlen Holder

1
Subject: *Which freeware assembler would you suggest a noob use on Windows nowadays?*
From: Arlen Holder
Newsgroups: alt.lang.asm, comp.lang.asm.x86, alt.comp.freeware
Organization: Aioe.org NNTP Server
Date: Sun, 19 Apr 2020 01:08 UTC
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arlenhol...@anyexample.com (Arlen Holder)
Newsgroups: alt.lang.asm,comp.lang.asm.x86,alt.comp.freeware
Subject: *Which freeware assembler would you suggest a noob use on Windows nowadays?*
Date: Sun, 19 Apr 2020 06:38:03 +0530
Organization: Aioe.org NNTP Server
Lines: 66
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <r7g89g$1598$1@gioia.aioe.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="707d25f7d71f2a09e35231098d776e9c";
logging-data="23265"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX187D4oq8nCVnoI2eJ0R2xcjOeTbcyjVrno="
User-Agent: NewsTap/4.0.1 (iPad)
Cancel-Lock: sha1:4XE/6GUNO/Hs8+qBJEs4lqPfE8k=
View all headers
*Which freeware assembler would you suggest a newbie use on Windows nowadays?*

It's a one-time use model, where instructions will be provided most likely,
so that others can also assemble this code into a binary executable.

To that end, source code was kindly provided today on the msdos batch ng:
http://tinyurl.com/alt-msdos-batch
That source appears to be Intel X86 assembly language code (AFAICT):
https://groups.google.com/d/msg/alt.msdos.batch/JZMlGo_2__E/T18O5XWjAwAJ

The question is:
*Which freeware assembler would you suggest a newbie use on Windows nowadays?*

Also, are these the correct newsgroups to be asking this type of question?
https://groups.google.com/forum/#!forum/comp.lang.asm.x86
http://tinyurl.com/alt-lang-asm
http://tinyurl.com/alt-comp-freeware

*Which freeware assembler would you suggest a newbie use on Windows nowadays?*
--
This is the source code:

winmain::
         jsr.l   (GetCommandLine)
                                 ; skip program name
         eor.l   r1,r1           ; not within "" flag
         dec.l   r0
_20:    inc.l   r0
         cmp.b   #0,(r0)
         beq.b   _10
         cmp.b   #'"',(r0)
         bne.b   _30
         not.l   r1
_30:    or.l    r1,r1
         bne.b   _20
         cmp.b   #' ',(r0)
         bne.b   _20
         inc.l   r0

_10:    eor.l   r5,r5
         move.l  #5,r4           ; default: SW_SHOW
_50:    movu.bl (r0),r1
         inc.l   r0
         or.b    r1,r1
         beq.b   _40
         sub.b   #'0',r1
         bcs.b   _50
         cmp.b   #9,r1
         bhi.b   _50
         mulsq.l #10,r5,r5
         add.l   r1,r5
         eor.l   r4,r4
         br.b    _50
_40:    or.l    r4,r4
         beq.b   _60
         move.l  r4,r5

_60:    jsr.l   (GetConsoleWindow)

         move.l  r5,-(sp)
         move.l  r0,-(sp)
         jsr.l   (ShowWindow)

         moveq.l #0,-(sp)
         jsr.l   (ExitProcess)   ; exit program



Subject: Re: *Which freeware assembler would you suggest a noob use on Windows nowadays?*
From: B. R. 'BeAr' Ederson
Newsgroups: alt.lang.asm, comp.lang.asm.x86, alt.comp.freeware
Organization: A noiseless patient Spider
Date: Sun, 19 Apr 2020 07:12 UTC
References: 1
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: use.repl...@nospicedham.this.is.invalid (B. R. 'BeAr' Ederson)
Newsgroups: alt.lang.asm,comp.lang.asm.x86,alt.comp.freeware
Subject: Re: *Which freeware assembler would you suggest a noob use on Windows nowadays?*
Date: Sun, 19 Apr 2020 09:12:29 +0200
Organization: A noiseless patient Spider
Lines: 52
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <zge88fvmcjn0.dlg@br-ederson.eternal-september.org>
References: <r7g89g$1598$1@gioia.aioe.org>
Reply-To: br.ederson@arcor.de
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="707d25f7d71f2a09e35231098d776e9c";
logging-data="28579"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19TPVRxvtBRUUS4/hW5tD2VjfTiSsiXJ+k="
User-Agent: 40tude_Dialog/2.0.15.41 (73b35e84.255.289)
Cancel-Lock: sha1:Z9qgYXu7GvDtemRBqAfnazAA0gU=
View all headers
On Sun, 19 Apr 2020 06:38:03 +0530, Arlen Holder wrote:

*Which freeware assembler would you suggest a newbie use on Windows nowadays?*

It's a one-time use model, where instructions will be provided

If instructions are provided, then (as someone unfamiliar with assembly
language) you should use the very assembler, for which the code was
originally written for. Else, you not only would need to familiarize
yourself with the usage of the assembler, but also with the specifics
of different notation styles. This is especially the case, if the used
mnemotics and notation differ considerably from the ones usually used
on a given platform. As is the case with the code you are referring to:

To that end, source code was kindly provided today on the msdos batch ng:
[...]
https://groups.google.com/d/msg/alt.msdos.batch/JZMlGo_2__E/T18O5XWjAwAJ
| winmain::
|          jsr.l   (GetCommandLine)
|                                  ; skip program name
|          eor.l   r1,r1           ; not within "" flag
|          dec.l   r0
| _20:    inc.l   r0
|          cmp.b   #0,(r0)
|          beq.b   _10
|          cmp.b   #'"',(r0)
|          bne.b   _30
|          not.l   r1
| [...]

This is syntax specific to the assemblers written by Herbert Kleebauer,
himself. In this case probably Windela.

Apart from this, the code was posted as a (for most people) really extreme
approach to a problem, which already has lots of other possible solutions,
as you know from your main thread(s) about hiding a console window on
execution. Therefore, for anybody not interested in the beauty of creating
solutions in assembly language, this approach is otios to begin with.

Which freeware assembler would you suggest a newbie use on Windows nowadays?

A whole different question and will provide lots of suggestion, depending
on who you're asking. NASM can be considered a good starting point, though:

https://www.nasm.us

BeAr
--
===========================================================================
= What do you mean with: "Perfection is always an illusion"?              =
===============================================================--(Oops!)===



Subject: Re: *Which freeware assembler would you suggest a noob use on Windows nowadays?*
From: Arlen Holder
Newsgroups: alt.lang.asm, comp.lang.asm.x86, alt.comp.freeware
Organization: Mixmin
Date: Tue, 21 Apr 2020 04:27 UTC
References: 1 2
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: arlenhol...@nospicedham.anyexample.com (Arlen Holder)
Newsgroups: alt.lang.asm,comp.lang.asm.x86,alt.comp.freeware
Subject: Re: *Which freeware assembler would you suggest a noob use on Windows nowadays?*
Date: Tue, 21 Apr 2020 09:57:50 +0530
Organization: Mixmin
Lines: 35
Approved: fbkotler@myfairpoint.net - comp.lang.asm.x86 moderation team.
Message-ID: <r7lso5$dr2$1@news.mixmin.net>
References: <r7g89g$1598$1@gioia.aioe.org> <zge88fvmcjn0.dlg@br-ederson.eternal-september.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Info: reader02.eternal-september.org; posting-host="9fcc7febf8648231bbb9d6cf63c4547d";
logging-data="22232"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/IH1WdX1naeWymS7THba1tPYW6fonJx7c="
User-Agent: NewsTap/4.0.1 (iPad)
Cancel-Lock: sha1:AQoGsTAiYQBnSUgBYicTxg5yOhk=
View all headers
In response to what "B. R. 'BeAr' Ederson" <use.replyto@nospicedham.this.is.invalid> wrote :

NASM can be considered a good starting point, though:

Hi BeAr Ederson,

We go way back over the years, where I thank you very much for your purposefully helpful response letting me know what assembly language the original code was written in (which I had not recognized as you did).

Bear in mind, I learned the IBM assembly language way back in the 70s, and then when the AT came out, I used the classic Peter Norton & Jeff Duntemann references back in the day of paper books as shown here from my shelves:
https://i.postimg.cc/s2Pv9Pvp/tz08.jpg

Other than building Motorola 68701-based wire-wrapped microcontrollers in the mid 80s from SAMS books, I haven't touched assembly language (or hex code) since; so almost all has been forgotten. I will take your NASM advice as I already tried MASM and failed to install just the bare-bones MASM (i.e., outside of Visual Studio), as shown here:
   https://www.microsoft.com/en-us/download/details.aspx?id=12654
   Name: MASMsetup.EXE
   Size: 317712 bytes (310 KiB)
   SHA256: C0EA31A8D37C789530B5FC2A21DD9801DCBD1CBD6174F9F76219485DC621A35F

I will try NASM where, decades ago, I had used masm, wasm, dasm, & chasm; but all I want now is to assembly a simply x86 hello-world program.
https://stackoverflow.com/questions/12574924/hello-world-using-nasm-in-windows-assembly
--
Note the duplicate threads were my mistake because I hadn't realized one ng was moderated, which caused a day delay between sending the article & it's receipt on this newsgsroup (I mistakenly thought it was the newsserver).



1
rocksolid light 0.7.2
clearneti2ptor