Where Can I Find Manuals for Learning Assembly Language Programming?

  • Thread starter Thread starter smize
  • Start date Start date
  • Tags Tags
    Assembly
AI Thread Summary
The discussion focuses on transitioning from C/C++ programming to learning Assembly language, with an emphasis on finding suitable assemblers and effective learning strategies. It highlights that Visual C/C++ Express includes an assembler but requires custom build steps for assembly files. Suggested commands for debug and release builds are provided. For practical programming projects in C/C++, beginner-friendly ideas include creating simple games like tic-tac-toe or Othello, which allow for exploration of graphics and logic. More complex projects could involve animated games or simulations. Additionally, it is recommended to utilize manuals from Intel and AMD for in-depth understanding of Assembly language, as they provide comprehensive information on instructions and CPU behavior. Engaging with tutorials initially is advised, but transitioning to self-directed learning using these manuals is encouraged for deeper mastery, especially in embedded systems and microcontroller programming.
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).
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top