Assembly

I want to learn assembly coding and debugging. Are there any Sup Forums approved books where I can start.
I've done Java on my own for the past 5 years. Any idea as to what to learn next?

Other urls found in this thread:

theguardian.com/science/alexs-adventures-in-numberland/2015/apr/13/how-to-solve-albert-bernard-and-cheryls-birthday-maths-problem
icengineering.com/umt/
twitter.com/NSFWRedditVideo

May 19th

>I want to learn assembly coding and debugging
Assembly for what?
>native x86?
>an specific microprocessor?
>CISC or RISC?
>DOS
...

>I've done Java on my own for the past 5 years.
Pajeet detected, shouldn't you be first learning how to poo in the loo?

I actually started doing it during high school as a hobby.
BTW you're part of the cancer that's killing this place.

>has programmed for 5 years
>is chiefly interested in learning a new programming language rather than any real application
>only knows 1 language

Maybe a better question would be, where to start? Should I first dive into hardware architecture?

how did you solve it

June 16

Just eliminate options with multiple solutions, as they can only know if their told a unique number

July not June 16, but yeah

AH my bad, thanks. Wasn't paying attention as I'm waiting on this assembly question.

the wording makes can make it difficult to follow

theguardian.com/science/alexs-adventures-in-numberland/2015/apr/13/how-to-solve-albert-bernard-and-cheryls-birthday-maths-problem

Thanks kinda the point. Also the 18 and 19 are eliminated as Bernard would have known initially, since they're unique.

Assembly Language for x86 Processors

Introduction to Assembly Language Programming For Pentium and RISC Processors

Professional Assembly Language

Assembly Language Step-by-Step - Programming with Linux, 3rd Edition

My good man.

It's a process of eliminating possibilities based on the statements.

Albert knowing the month, knows that Bernard can't know the date. This means the month Albert was given has no days as options that would give away the date (eliminates May and June, since the 19th is unique to May and the 18th is unique to June).

Remaining options: July 14 July 16 August 14 August 15 August 17

Bernard, after hearing that, now knows what the date is. That means the day he knows was an option in May or June, but with them out of the running, there is only 1 possible month left. Therefor, it can't be the 14th (since there would still be 2 months in the running).

Remaining options: July 16 August 15 August 17

Albert, after hearing that, now knows what the date is. For that to be true, the month he knew had to have only one day still in the running, so it had to be July.

Remaining option: July 16

July 16th.

18 and 19th are unique, so albert is admitting that the birthday is in july or august when he says that he knows that bernard does not know.

This means that bernard must have been told 14, 15, 16, 17.

The fact that he knows means firstly, that it cannot be 14, as that date is not unique between the months, and secondly, that there is only one choice remaining, thus the month with two possibilities, July.

Albert now knows that, because bernard now knows, it must be the 16th (he already knows the month)

>Assembly Language Step-by-Step - Programming with Linux, 3rd Edition

This.

It'll be a painful road, OP

icengineering.com/umt/

Get this setup OP, it is a good introduction to the concept.

I need to learn assembly for a specific microprocessor.
How do I do this? The difficulty is I've never done assembly programming language and our professor doesn't explain shit, he just pulls the old "you're a student, you need to learn independently" card, while giving us minimal instructions on how the microprocessor works.

Avoid x86 when starting out; it's a cluster fuck
6502 ASM programming gives you a nice foundation since it's so simple, though you can and should branch out later on

Learn C, then learn assembly, it comes pretty naturally once you know C. Don't both ever programming anything in assembly, apart from niche platform specific things and performance critical vectorized code.

It's pretty easy to solve if you just assign values to Albert and Bernard and work through it. Assume that Albert was told "July" and that Bernard was told "16" and you'll see that their dialogue makes sense. It doesn't work for any other combination.