Where Can I Find Manuals for Learning Assembly Language Programming?

  • Thread starter Thread starter smize
  • Start date Start date
  • Tags Tags
    Assembly
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 2K views
smize
Messages
78
Reaction score
1
I've been programming c/c++ for a month or two, I have experience with Expression 2 (an in game programming language in Garrys Mod which is similar to VBasic), and 7 years experience with web development.

What I'm wanting to do now is begin learning Assembly language and how to compile it. What assemblers are best? Any advice on diving into assembly?

Another question which is irrelevant. What are some good beginner programs to make in c/c++? I have Code::Blocks, Qt and Visual Express 2010 (my favorite). Thank-You!
 
on Phys.org
Visual C/C++ express includes an assembler, but doesn't provide a default build step for running the assembler. After adding an assembler source file to a project, right click on the name of the source file in the project and add a custom build step to do the assembly. For debug build it looks like this:

ml /Zi /c /Fo$(outdir)\example.obj example.asm

For release build it looks like this:

ml /c /Fo$(outdir)\example.obj example.asm

In both cases, "outputs" of the custom build step looks like this:

$(outdir)\example.obj
 
Last edited:
Try a board game like tic tac toe or othello. It let's you explore using buttons, graphics and some simple logic.

Othello may be more demanding in that you need a strategy to select moves for your computer opponent. One thought is make a list of valid moves then randomly. The other is to score the valid moves based on square position and pick the highest square. The very best squares to move to are the outermost corner squares as they can't be flipped? Next if you look at the 8x8 board as nested squares you'll notice the innermost square block 2x2 then surrounded by good squares to move to then those are surrounded by a block of squares that aren't some good to move to then the outermost layer of good squares with the best being the outermost corner squares.

For more demanding projects you could move into an animated board game or aerial view of an animated game with armies battling each other.
 
Hey smize.

Since you have experience programming, I would recommend that you download the manuals directly from Intels and AMD's website: they give you the instructions, the syntax, and all the side issues associated with what's affected on the whole CPU with respect to flags, conditions, and so on.

Maybe you should use a tutorial for a bit, but afterwards it's a lot better to just get the manuals, look at the instructions and then use that to code what you need to code.

It'll be easier also if you migrate to other platforms like embedded systems and small microcontroller devices where you are given the manuals and a compiler/linker suite to do your work (without a lot of examples or other extensive documentation).