Assembly

Hello, I hope everyone is safe and healthy during everything that has been happening over the last few months.

I've started back with courses, I'm enrolled in an Assembly Language x86 Processor class. And I am curious if anyone here knows of the language and if there are any forums related to the material?

I am having a tough time trying to understand the logic of assembly. Any assistance will be very appreciated.
Assembly isn't a single language, as such. Each assembler implements its own Assembly language.
What are you having trouble with?
there are forums for each, eg masm has several forums and a following and old archives galore.

the logic of assembly is to tell the cpu exactly what to do, pretty much instruction by instruction. The cpu is very limited in what it can do, so large statements in c++ become 5-20 or more in assembly. If you want to add two numbers, you discover that you can only add things in the cpu registers; the cpu circuits cannot add numbers across a wire in the ram circuits. It can get data from ram because its wired that way but ram does not contain an (add, cos, multiply, whatever) circuit; its ram. so you have to tell the cpu to go get it into its own circuits from ram, then add them, then move that result back over to ram. so x += y; in c++ becomes 3 move instructions and an add, at the very least. For historical reasons (it used to be its own chip!) the floating point area is taught apart from the integer area, and for performance and other reasons, it behaves differently, having its own internal mini-stack data structure. If you get into the FPU, review reverse polish calculation concepts.

If you did not get pointers well in c++, you will understand them now in asm or you will struggle.
Last edited on
Topic archived. No new replies allowed.