Starting Assembly

  • Follow


I am trying to start learning assembly on windows, but just the basics for =
now. I have a fair amount of C++, but no GUI down. I have java fully down a=
nd can do anything with that language and PHP down very well. So I felt it =
time to actually go further for a change.

I found http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html whi=
ch is a site for the book titled "The art of assembly" and it said I need M=
ASM32 which I found and MS-Link which I have not found. So my first questio=
n is where can I find this?

My second question is what else should I know? I am open to all and any inf=
ormation since I am seriously trying to learn this.

Also, I do reside on StackOverflow so I am sure I can get some good help th=
ere as well.

Thanks for the input!

- CaptainMcFly

Ps. Hope you like name, haha.  <(0_o<)
0
Reply gemurdock (1) 6/20/2012 4:35:25 AM

On Tue, 19 Jun 2012 21:35:25 -0700 (PDT), CaptainMcFly
<gemurdock@nospicedham.gmail.com> wrote:

>I am trying to start learning assembly on windows, but just the basics for =
>now. I have a fair amount of C++, but no GUI down. I have java fully down a=
>nd can do anything with that language and PHP down very well. So I felt it =
>time to actually go further for a change.
>
>I found http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html whi=
>ch is a site for the book titled "The art of assembly" and it said I need M=
>ASM32 which I found and MS-Link which I have not found. So my first questio=
>n is where can I find this?

The MS linker is ml.exe.  I've been using MASM32 exclusively
for many years... so long that I'm not sure where I got the
linker. But I *thought* it was part of the package.  (A
quick look at the MASM32 site shows that it includes a
linker by "Pelle".  Don't know anything about that.)

Randy Hyde's "Art of Assembly" is intended for folks like
you, who already know C.  However, as I understand it, it's
not "raw" assembler... more like a mid-level language.

You might want to skip that and plunge right into the
nitty-gritty using the Iczelion tutorials (which I think may
come with it MASM32).  They do a good job of showing how to
use the Win32 API from MASM.  MASM32 also includes a nice
collection of little example programs that demonstrate
various aspects of MASM on Windows.  This is an excellent
way to learn, since you can start with a working program and
modify it to try out other ideas.

>My second question is what else should I know? I am open to all and any inf=
>ormation since I am seriously trying to learn this.

One thing that I found indispensable is the Win32.HLP
system, which I think is still available as a free download.
In fact, I *still* find it indispensable.  This includes the
particulars of the full Win32 API, but only for Win95 and
NT.  I find that I very rarely need more than that.  (Some
more recent Shell commands are the main exception... but as
I say I rarely need those.)  

You can get all the same info (and much more... sometimes
*too* much more) on-line from MSDN, but I find the Win32.HLP
system much more friendly and faster to use. (Plus, it's
right there on my development sysem, which never goes
on-line for security reasons.)

Best regards,


Bob Masta
 
              DAQARTA  v6.02
   Data AcQuisition And Real-Time Analysis
              www.daqarta.com
Scope, Spectrum, Spectrogram, Sound Level Meter
    Frequency Counter, FREE Signal Generator
           Pitch Track, Pitch-to-MIDI 
          Science with your sound card!
0
Reply N0Spam (43) 6/20/2012 12:05:22 PM


CaptainMcFly wrote:
> I am trying to start learning assembly on windows, but just the basics for now.

Good place to start! :)

> I have a fair amount of C++, but no GUI down. I have java fully down and can do anything with that language and PHP down very well.
> So I felt it time to actually go further for a change.

Good! Those other languages may not help that much, but knowing your way 
around your OS - setting PATHs and such - will help.

> I found http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html which is a site for the book titled "The art of assembly"

Excellent book. For better or for worse, it uses an assembler called 
"HLA" - the High Level Assembler...

"Now you can write real assembly language programs without all the 
disadvantages of writing code in assembly language."

That's what it says, I'm not makin' it up!

> and it said I need MASM32 which I found and MS-Link which I have not found.  So my first question is where can I find this?

Should be in your MASM32 package. Look in C:\masm32\bin, or wherever you 
installed it. If it's not there, then "something's wrong" but you should 
be able to find it easily. Google is your friend. If you want to do 
16-bit code you'll need a different linker - also easily found.

> My second question is what else should I know? I am open to all and any information since I am seriously trying to learn this.

Intel/AMD knows even more about their CPUs than Randy Hyde, so their 
manuals would be a good addition. Microsoft knows a lot about Windows, 
and has extensive online documentation...

> Also, I do reside on StackOverflow so I am sure I can get some good help there as well.

Right. You'll find a link on the page you mention to the 
"aoaprogramming" group on !Yahoo!. You'll find HLA-specific help there.

> Thanks for the input!

Input?

"Please tell me your name "

> - CaptainMcFly

"Hello, CaptainMcFly. Welcome to assembly language!" :)

> Ps. Hope you like name, haha.  <(0_o<)

"A rose, by any other name..." :)

Best,
Frank
0
Reply fbkotler9831 (124) 6/20/2012 12:47:03 PM

"Frank Kotler" said in part:

> CaptainMcFly wrote:
>> I am trying to start learning assembly on windows, but just the basics 
>> for now.
>
> Good place to start! :)
>
>> I have a fair amount of C++, but no GUI down. I have java fully down and 
>> can do anything with that language and PHP down very well.
>> So I felt it time to actually go further for a change.
>
> Good! Those other languages may not help that much, but knowing your way 
> around your OS - setting PATHs and such - will help.
>
>> I found http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html 
>> which is a site for the book titled "The art of assembly"
>
> Excellent book. For better or for worse, it uses an assembler called 
> "HLA" - the High Level Assembler...
>
> "Now you can write real assembly language programs without all the 
> disadvantages of writing code in assembly language."
>
> That's what it says, I'm not makin' it up!

This above I'd call an excellent description of what HLA stands for :)
Sorry Nate,....


>> and it said I need MASM32 which I found and MS-Link which I have not 
>> found.  So my first question is where can I find this?
>
> Should be in your MASM32 package. Look in C:\masm32\bin, or wherever you 
> installed it. If it's not there, then "something's wrong" but you should 
> be able to find it easily. Google is your friend. If you want to do 16-bit 
> code you'll need a different linker - also easily found.

>> My second question is what else should I know? I am open to all and any 
>> information since I am seriously trying to learn this.

> Intel/AMD knows even more about their CPUs than Randy Hyde, so their 
> manuals would be a good addition. Microsoft knows a lot about Windows, and 
> has extensive online documentation...

>> Also, I do reside on StackOverflow so I am sure I can get some good help 
>> there as well.
>
> Right. You'll find a link on the page you mention to the "aoaprogramming" 
> group on !Yahoo!. You'll find HLA-specific help there.

Everyone who ever read my posts know that I'm in confrontation to HLA.
It got nothing to do with assembler and very few with practical progamming.

>> Thanks for the input!
>
> Input?
>
> "Please tell me your name "
>
>> - CaptainMcFly
>
> "Hello, CaptainMcFly. Welcome to assembly language!" :)
>
>> Ps. Hope you like name, haha.  <(0_o<)
>
> "A rose, by any other name..." :)

The Rose reminds me... I hope Renee is still with us and well ..

Captain ... (aka: the header line for a menu)
Mac     ... (synonim to MAKE?)
Fly     ... (do things on the FLY or just float around...? :)

so chose yourself,
beeing a gost may show some advantage.
while a wante make-A-Fee could easy backslash, and I think that flying
around is really fun as long you dont loose oriention...

nevertheless, any attempt to code in ASM rather than HLL is welcome
from my side (I'm sure not the only LOw-level Promoter in this group).

__
wolfgang


0
Reply nowhere583 (184) 6/20/2012 5:40:41 PM

N0Spam@daqarta.com (Bob Masta) wrote:
>
>The MS linker is ml.exe. 

I'm sure you know that ml.exe is the Microsoft assembler.  The linker is
link.exe.

>I've been using MASM32 exclusively
>for many years... so long that I'm not sure where I got the
>linker. But I *thought* it was part of the package.  (A
>quick look at the MASM32 site shows that it includes a
>linker by "Pelle".  Don't know anything about that.)

It ships with Visual Studio, and with the current Windows SDKs and DDKs,
although that's coming to an end now.
-- 
Tim Roberts, timr@probo.com
Providenza & Boekelheide, Inc.
0
Reply timr1 (37) 6/21/2012 3:18:55 AM

On Jun 20, 1:40=A0pm, "wolfgang kern" <nowh...@never.at> wrote:
>
> This above I'd call an excellent description of what HLA stands for :)
> Sorry Nate,....
>

No problem.  Everyone is entitled to their perspective.

>
>> Also, I do reside on StackOverflow so I am sure I can get some good help
> >> there as well.
>

I think I might have an account there.  I'm a bit scattered at the
moment.  Perhaps I'll look for this Captain on there.. if I remember
to do so... and if I remember how.

> > Right. You'll find a link on the page you mention to the "aoaprogrammin=
g"
> > group on !Yahoo!. You'll find HLA-specific help there.
>
> Everyone who ever read my posts know that I'm in confrontation to HLA.
> It got nothing to do with assembler and very few with practical progammin=
g.
>

Well, Wolfgang, I posted a message on 'aoaprogramming' (see inset
below) and Frank was kind enough to point me to this thread; so I hope
you don't mind a small amount of "HLA chatter" while we sort out a few
things.  Certainly is nice to hear from old chums, as always.

,---
|  Howdy friends. It has been a long time.
,---
| I wonder if I can remember how to code a simple HLA program?
|
| program myescape;
| #include( "stdlib.hhf" );
|
| // Nope. I honestly had to consult the text for guidance on
| // how to start. Yeah, it has been one of those weeks. (sigh)
|
| begin myescape;
|
| stdout.put( "This is just a sanity check.", nl );
| stdout.put( "God knows, I sure do need one.", nl );
|
| end myescape;
|
| // Thanks for reading.
|
| Hope to hear from you soon.
|
| Nathan.
`---

> >> Thanks for the input!
>
> > Input?
>

Is the code Open Source so we can trust that they've done proper
exception handling?  I, for one, am quite positive that the human
brain can overflow it's input stack.

>
> >> Ps. Hope you like name, haha. =A0<(0_o<)
>
> > "A rose, by any other name..." :)
>
> The Rose reminds me... I hope Renee is still with us and well ..
>

Good friends come and go.  And, yes, we *do* miss the ones we really
like.

Happy kite-flying, Wolfgang.  Keep your stick on the ice.

Nathan.
0
Reply nathancbaker263 (50) 6/22/2012 7:35:29 PM

Nathan wrote:
....
>>> Also, I do reside on StackOverflow so I am sure I can get some good help
>>>> there as well.
> 
> I think I might have an account there.  I'm a bit scattered at the
> moment.  Perhaps I'll look for this Captain on there.. if I remember
> to do so... and if I remember how.

Seems like an interesting Forum/Blog. Miscellaneous languages. Although 
assembly language is WAY down in their list of tags, there seem to be a 
fair number of questions. The more popular languages must be mobbed!

....
> | stdout.put( "This is just a sanity check.", nl );

You remember what the Cheshire Cat said to Alice, don't ya? :)

>> The Rose reminds me... I hope Renee is still with us and well ..
>>
> 
> Good friends come and go.  And, yes, we *do* miss the ones we really
> like.

Right. And Betov, too! http://betov.free.fr is still up. Looks like some 
kind of a blog. I don't speak enough French to know if it "sounds like 
him" or not. The RosAsm Forum appears to be down. Pity... RosAsm wasn't 
my cup of tea, but Betov put a lot of work into it and made it freely 
available for our use. Not too many people used it, and I kind of 
dropped the ball on the "Linux port"... I guess I'm afraid that, with 
CPUs acting as compilers these days, the whole asm concept is going to 
fade away. Maybe it's just gathering strength for the rebirth! :)

Best,
Frank
0
Reply fbkotler9831 (124) 6/22/2012 8:43:28 PM

Il 20.06.2012 06:35, CaptainMcFly ha scritto:
> I am trying to start learning assembly on windows, but just the basics for now.
yeap, gut, but just and only the basics please ! ;-)

> - CaptainMcFly
> Ps. Hope you like name, haha.  <(0_o<)

yea, i like ironies.
that recalls me something from Stevenson's "Treasure Island".
aflterall isnt clax an island of buccaneers, hidden gold
and barrel shifts ?
also,
Welcome on board !


-- 
..:mrk[hopcode]
   .:x64lab:.
  group http://groups.google.com/group/x64lab
  site http://sites.google.com/site/x64lab


0
Reply hopcode223 (37) 6/24/2012 11:25:53 AM

"Frank Kotler" <fbkotler@nospicedham.myfairpoint.net> ha scritto nel messaggio
news:js2liu$jk8$1@speranza.aioe.org...
> Nathan wrote:

> CPUs acting as compilers these days, the whole asm concept is going to fade
> away. Maybe it's just gathering strength for the rebirth! :)

Betov is right in all i remember
i think without asm or a small *easy* instruction set, they will
loose the control on their programs...



0
Reply io_x 6/24/2012 8:23:52 PM

> 
> My second question is what else should I know? I am open to all and any information since I am seriously trying to learn this.
> 

Knowledge of C, Computer Architecture and Organization, Operating System as you would go to code specifically for Processor (INTEL/ARM) and OS (WIN/UNIX).  

0
Reply krishs.patil1 (1) 6/27/2012 6:44:47 AM

"Frank Kotler" <fbkotler@nospicedham.myfairpoint.net> wrote in message 
news:js2liu$jk8$1@speranza.aioe.org...
> ...
>> | stdout.put( "This is just a sanity check.", nl );
>
> You remember what the Cheshire Cat said to Alice, don't ya? :)
>

Yeah, very similar to:  "Beam me up, Scotty.  There is no intelligent life 
down here."  :)

>
> Right. And Betov, too! http://betov.free.fr is still up.

Hmmm..  That "Cortex Man" model [ 
http://betov.free.fr/images/sensory_and_motor_homunculi680.jpg and 
http://www.pbase.com/image/23742006 ] seems very apropo.  Been working with 
Calcium Hypoclorite for several months and I happen to like being a very 
hands-on an industrious individual.  Perhaps I have poisoned myself??  At 
any rate, I've learned of its IED potential -- so, nobody 'mess' with me, 
okay?  ;)

> I guess I'm afraid that, with CPUs acting as compilers these days, the 
> whole asm concept is going to fade away. Maybe it's just gathering 
> strength for the rebirth! :)
>

Very true in many ways.  However, I believe students will still be required 
to at least "scratch the surface" at an "Intro to ASM" level so that they 
can begin to get an idea of the "under the hood" aspects and to reinforce 
their 'logic' and 'attention to detail' skills.  x86 ASM is *still* _a_ 
method to convey the Robert Pirsig mindset to the next generation.

Nathan.


0
Reply nathancbaker263 (50) 7/2/2012 3:26:51 AM

10 Replies
73 Views

(page loaded in 0.179 seconds)

Similiar Articles:













7/23/2012 7:20:20 PM


Reply: