Author Topic: Obligatory Introduction  (Read 10384 times)

Jeff

  • Guest
Obligatory Introduction
« on: May 01, 2013, 05:53:50 AM »
I couldn't find a forum labelled "open", so I figured here is as good as it gets.

My name is Jeff (shocker, I know). I'm a .NET programmer who learned Mainframe assembly back in 1998 and can't remember a lick of it...and for some mind numbing reason I've convinced myself that it might be valuable for me to learn x86 assembly...so I'll probably be hovering for awhile in the forum and just getting my feet wet.

jj2007

  • Member
  • *****
  • Posts: 13336
  • Assembly is fun ;-)
    • MasmBasic
Re: Obligatory Introduction
« Reply #1 on: May 01, 2013, 06:51:41 AM »
My name is Jeff (shocker, I know). I'm a .NET programmer

"Jeff" is OK, but .NET programmer is a real shocker :icon_mrgreen:

Jokes apart: Welcome to the Forum, and we hope to learn from you how to interface .Net and Masm32 :t

Gunther

  • Member
  • *****
  • Posts: 4119
  • Forgive your enemies, but never forget their names
Re: Obligatory Introduction
« Reply #2 on: May 01, 2013, 07:11:44 AM »
Hi Jeff,

welcome to the forum. Have a lot of fun here.

Gunther
You have to know the facts before you can distort them.

dedndave

  • Member
  • *****
  • Posts: 8828
  • Still using Abacus 2.0
    • DednDave
Re: Obligatory Introduction
« Reply #3 on: May 01, 2013, 09:04:03 AM »
welcome to the forum, Jeff
ASM and .NET mix about as well as oil and water
but, maybe we can learn from some of your experience, and you can learn from some of ours   :t

daydreamer

  • Member
  • *****
  • Posts: 2205
  • my kind of REAL10 Blonde
Re: Obligatory Introduction
« Reply #4 on: May 01, 2013, 04:17:30 PM »
Welcome Jeff
Magnus
my none asm creations
http://masm32.com/board/index.php?topic=6937.msg74303#msg74303
I am an Invoker
"An Invoker is a mage who specializes in the manipulation of raw and elemental energies."

Vortex

  • Member
  • *****
  • Posts: 2724
Re: Obligatory Introduction
« Reply #5 on: May 01, 2013, 04:49:39 PM »
Hi Jeff,

Welcome to the Masm Forum.

Gunther

  • Member
  • *****
  • Posts: 4119
  • Forgive your enemies, but never forget their names
Re: Obligatory Introduction
« Reply #6 on: May 01, 2013, 07:23:27 PM »
Hi Dave,

ASM and .NET mix about as well as oil and water

that's not quiet right. You may wish to check that link.

Gunther
You have to know the facts before you can distort them.

dedndave

  • Member
  • *****
  • Posts: 8828
  • Still using Abacus 2.0
    • DednDave
Re: Obligatory Introduction
« Reply #7 on: May 01, 2013, 09:16:31 PM »
yes - my mistake, Gunther
it's not so bad to use assembler-written routines in a .NET program
i was thinking of going the other way - calling .NET from an assembly program   :P

Gunther

  • Member
  • *****
  • Posts: 4119
  • Forgive your enemies, but never forget their names
Re: Obligatory Introduction
« Reply #8 on: May 01, 2013, 10:26:45 PM »
i was thinking of going the other way - calling .NET from an assembly program   :P

That could be indeed a bit tricky. But it should be possible. We'll figure it out, if necessary.

Gunther
You have to know the facts before you can distort them.

Jeff

  • Guest
Re: Obligatory Introduction
« Reply #9 on: May 01, 2013, 11:10:20 PM »
Thanks for the warm welcome.

My impetus in learning assembly is because I really have no clue what exactly goes on inside the registers. I (perhaps wrongly) figure that starting from the lowest level and moving outward using my existing understanding of programming would be a better alternative than...(is there an alternative???)

On all accounts, I doubt that I'll be trying to marry C# and Assembly any time soon. It is my hope that understanding ASM will help me understand MSIL (or is it CIL now?) a bit better. Eventually I'd like to do more C programming, and I believe that knowing ASM will help me to better understand C. More than anything I just really want to know what's going on inside the CPU at a lower level.

dedndave

  • Member
  • *****
  • Posts: 8828
  • Still using Abacus 2.0
    • DednDave
Re: Obligatory Introduction
« Reply #10 on: May 02, 2013, 12:31:41 AM »
if you install the masm32 package, there are many examples in the masm32\examples folder
and - some good reading in the masm32\help and masm32\tutorial folders

you want to start out learning a little about masm syntax and the intel x86 instruction set

this is a little out-dated, but still great info
chapters 1-6 are a good place to start
http://cs.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html

anunitu

  • Member
  • *****
  • Posts: 1150
Re: Obligatory Introduction
« Reply #11 on: May 02, 2013, 07:31:08 AM »
Somewhere on my system I have that,I got it in html form and used MS help maker to turn it into a CHM file.
If I can find it I will UL it here. I think it was from Randy's site.

Jeff

  • Guest
Re: Obligatory Introduction
« Reply #12 on: May 03, 2013, 01:32:27 AM »
if you install the masm32 package, there are many examples in the masm32\examples folder
and - some good reading in the masm32\help and masm32\tutorial folders

you want to start out learning a little about masm syntax and the intel x86 instruction set

this is a little out-dated, but still great info
chapters 1-6 are a good place to start
http://cs.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html
Thanks for the links, they'll be queued up on my reading list  :icon_eek:

Last night I read about half of this:
http://en.wikibooks.org/wiki/X86_Assembly

It's informative enough thus far (though...I did fall asleep once..during the Instruction Set chapter. I'll finish it tonight though and will probably start going through the ArtOfAssembly link you provided (though, I doubt I'll push through it in two days).

I have a few questions:
1. REAL MODE (explained lightly here)...how important is it for me to really understand what's going on here? Is this an artifact of 16-bit programming that really doesn't carry over to 32-bit? I.E. should I make sure that I understand this if I am only targeting x86_64 platforms?
2. Aside from the obvious notion that forum members here probably prefer MASM over NASM, are there any benefits of one over the other? (MASM uses intel syntax, NASM uses AT&T, right?)

dedndave

  • Member
  • *****
  • Posts: 8828
  • Still using Abacus 2.0
    • DednDave
Re: Obligatory Introduction
« Reply #13 on: May 03, 2013, 02:27:54 AM »
real mode is also used during the boot process of any OS
otherwise, modern windows OS's run in protected mode
real mode did apply to 16-bit DOS

masm uses MS syntax - not intel (yuck) - lol
masm is a very powerful assembler with good macro support
JwAsm is very compatible with masm
GoAsm is also popular here - with a little different syntax

not having a lot of experience with nasm (or fasm, etc), i can't comment much about that

FORTRANS

  • Member
  • *****
  • Posts: 1217
Re: Obligatory Introduction
« Reply #14 on: May 03, 2013, 05:38:40 AM »
Hi,

   NASM uses a MASM/Intel like syntax, not AT&T.  GAS and AS use
the AT&T syntax.  GAS has an Intel syntax option, though it still
uses AT&T decorations for operands and instruction register size
(IIRC).

   The use of NASM versus MASM is mainly personal preference
over some syntax differences.  NASM users say its syntax is "more
natural", "cleaner", or the like.  MASM users say that it is more
standard and has a more powerful macro system built into it.

   Look at some posts in the comp.lang.asm.x86, alt.lang.asm, and
alt.os.development usenet groups for NASM vs MASM postings.

Regards,

Steve N.