Where Can I Find Manuals for Learning Assembly Language Programming?

  • Thread starter Thread starter smize
  • Start date Start date
  • Tags Tags
    Assembly
Click For Summary

Discussion Overview

The discussion centers around resources and strategies for learning Assembly language programming, including recommendations for assemblers, manuals, and beginner projects. It also touches on transitioning from higher-level programming languages like C/C++ to Assembly.

Discussion Character

  • Exploratory
  • Technical explanation
  • Homework-related

Main Points Raised

  • One participant expresses a desire to learn Assembly language and seeks advice on the best assemblers and resources for diving into Assembly.
  • Another participant provides specific instructions for using Visual C/C++ Express to integrate an assembler into a project, detailing custom build steps for both debug and release builds.
  • Suggestions for beginner programming projects in C/C++ include creating simple games like tic-tac-toe or Othello, with considerations for game logic and strategy.
  • A participant recommends downloading manuals from Intel and AMD for detailed instruction sets and syntax, suggesting that these resources are more beneficial than tutorials after initial learning.
  • There is a mention of the potential ease of transitioning to embedded systems and microcontroller programming, where manuals and compilers are provided.

Areas of Agreement / Disagreement

Participants generally agree on the value of manuals and practical projects for learning Assembly, but there is no consensus on the best approach to start learning or which assembler is superior.

Contextual Notes

Some limitations include the lack of specific recommendations for assemblers and the varying levels of complexity in suggested projects, which may depend on individual experience and goals.

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!
 
Technology news 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.
 
Another graphics program would be a fishtank app.
 
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).
 

Similar threads

Replies
16
Views
4K
  • · Replies 397 ·
14
Replies
397
Views
21K
  • · Replies 4 ·
Replies
4
Views
16K
  • · Replies 133 ·
5
Replies
133
Views
12K
Replies
5
Views
4K
Replies
60
Views
18K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 16 ·
Replies
16
Views
2K
  • · Replies 9 ·
Replies
9
Views
5K