How do I get started learning assembly? I don't know what MIPS, ARM, x86, etc means...

How do I get started learning assembly? I don't know what MIPS, ARM, x86, etc means, and don't know any good sources for tutorials to make sure what I'm learning is good and up to date. Any advice appreciated. I have mostly C++ experience.

Attached: faithgoldy.png (599x598, 705K)

Other urls found in this thread:

tutorialspoint.com/microprocessor/microprocessor_8086_instruction_sets.htm
github.com/DennisYurichev/RE-for-beginners
web.stanford.edu/class/cs107/guide/x86-64.html
godbolt.org/g/mXvBqB
twitter.com/SFWRedditGifs

tutorialspoint.com/microprocessor/microprocessor_8086_instruction_sets.htm

Install nasm, learn how to do std I/o and C calls for your platform. Then use tutorialspoint asm tutorial and the instruction set reference sheet and do project eulers. Write some macros. It's fun to learn but ultimately a useless talent unless you're interested in learning about compiler optimizations. Trying to write more efficient assembly than a compile is capable of producing can be fun.

github.com/DennisYurichev/RE-for-beginners
I work in cybersecurity & this is a little biased towards reverse engineering, still a great book w/ multiple ISAs covered.
If you're interested in challenges, the author also runs challenges.re
For me, I picked up assembly by looking at the output of C programs I wrote. Mapping C to assembly (and vice versa) ended up being real useful

The things you have listed are processor types. Each processor architecture has its own assembly language.
x86 is the normal desktop intel/amd 32 bit processor. I think if you want to learn any assembly language, I would choose that one. If you learn it, other assembly languages will be pretty easy to learn. I would not learn x64 assembly, because the tools for 32 bit assembly tend to be a bit better at this point.

If you don't care much about all the tools and stuff to actually assemble a real assembly program, and you are more interested in learning only the syntax and writing programs fast, inline assembler with gcc or VS can be easier to set up.

Reverse engineer programs and look up what you don't understand.

Besides the shit is discussed at the /sec/ general, any good resource you'd recommend? I'm learning C in uni and after winter break I'll start with sockets and stuff like that (think Beej's guide), I'm EE btw.

Reverse engineering is pretty cool, but I feel like writing code in assembly languegs is an additional skill. I use reverse engineering myself, because I develop some 3rd party apps that interact with other software, through hotpatching, but I have actually started writing assembly code just so I can be a better reverse engineer,

When I look at the disassembly in IDA, I understand it, but since I have started writing more assembly programs myself thze understanding is just instand, instead of how it was before, where I always had to think about it a bit.

Write an emulator. Seriously. There's plenty of guides on how to write an emulator for simple platforms like the CHIP-8 or the Gameboy. Being forced to think about and write every instruction is a great way to learn.

>c++
You aren't gonna go anywhere.

what

C >>> C++.
Go brush up on the differences between C and C++. Start maining C.
Like, only Microshit devs use C++ anymore.

Depends what you're interested in.
If you want to learn programming in general, don't waste your time with books/courses. Writing your own programs gets you up to speed much faster.
If you want /sec/ material, I really enjoyed Cryptopals (attacks on modern cryptography), Microcorruption (reverse engineering binaries), and OverTheWire (esp. bandit, for some Unix box cracking skills).

Thanks for the quick answer.

>Microcorruption
What's this you speak of?

Attached: 1509356390504.jpg (1112x1056, 203K)

No problem. I started out as an EE too and it really helps.

Microcorruption CTF, by Square & Matasano.

web.stanford.edu/class/cs107/guide/x86-64.html

Sam is such a funny looking guy.

Attached: catgrasp.jpg (236x233, 11K)

Irvine32 ASM

>Keto woman sporting huge implants
wake me up

assembly language adventures

Attached: 1526804697360.png (1285x3744, 512K)

>sticky toffee pudding ale
What kind of unholy fuckery is this

Take a course in computer hardware engineering you'll want to know how the computer works to write good assembly

assembly is the biggest thing to waste your time on, unless you're studying computer architecture

play Fortnite or something and don't waste your time on this shit

Visual C++ brainlet detected...

M8, if typing it into a txt editor is too hard for you....

Anyone here remeber downloading their first asm stuff from iczelion and firing up masm?

if you want to make assembly fun, buy a microcontroller dev board and learn how to switch leds on and off or something with assembly

>Visual C++ brainlet detected
kek, I make more money in one year than both your parents in 5 years, fuck off kiddo

>c++
>money
pick one :)

who said I work with C++? it's you retard not me

I doubt you work at all m8, if your reading comprehension is this bad.

jej, my eldest kid probably makes more working part-time at MickeyD's than you do "mining crypto" and shitposting in your mum's basement m8.

Attached: 4D8A1F6D00000578-0-image-a-12_1529713912654.jpg (634x737, 61K)

what did I expect from Jow Forums low IQ retards anyway?

this dude mad

I'd like to add some other reasons to learn it other than just compiler optimizations. It could be writing more optimized code for yourself, learning how code is translated to machine code, reverse engineering and many others.

godbolt.org/g/mXvBqB (example included in link with zero cost abstractions)

This is a good tool for exploring how C++ translates to assembly on a given platform. Good place to start to get a feel if you already have C++ experience.

>I develop some 3rd party apps that interact with other software, through hotpatching
I know what that means, stop it

>Like, only Microshit devs use C++ anymore.

You seem a tad upset at words written on an anonymous Nairobian Book binding imageboard by a stranger.

Attached: 157022633.DG4QhAjY.DSCF2618v4copy.jpg (3748x2938, 551K)

t. the same NEET, also saged

stop it guys, this is a friendly space, don't trigger the manchildren

t. the same NEET, also saged

I have used win32asm to reverse engineer and/or do code injection on old proprietary software to bring it up to date - allowing a 90's era db manager to accept email addresses for eg.

It usually worked cause most of that shit was either cobol, tasm or c so it would accept the changes. it was rarely pretty but worked fairly well more often than not.

That got me into crackz and keygens and then into the intro/cracktro scene.

Any other oldcunts in this bread?

>He thinks we're all samefagging.

A decently written

Attached: 155109289.KNAXxwhF.IMGP0703SherlonCPhotographercopy.jpg (1083x723, 242K)

it's not hard to find out the number of IPs in this thread hasn't increased in an hour, NEET

>anons saying to learn asm is a waste of time
Even if you never use it for something useful, if you know jack shit about low level computing, it is not a waste at all.

this was all me

>it's the start of the business day in Merkinland and late evening where I am,
>he's shitposting on 4chinz and pointlessly arguing with strangers
>he calls me a NEET....

Attached: c2f5618715eef2d693dd97c40a22783b5784f39c.png (468x60, 7K)

You fucken lying cunt, at least 22 of them was me!

hmmmmm...

Attached: (2)_g_-_How_do_I_get_started_learning_assembly__2018-07-23_14-32-49.png (350x360, 12K)

Usually uni courses have assembly.
Have on both computer engineering and information systems

>I'm EE btw.
Don't worry bro, you will learn assembly in an EE course when you start doing digital systems.

>being this assmad

Attached: 1507084829522.jpg (938x1500, 204K)

>How do I get started learning assembly?
you go to college and attend a computersystems or microchip basics class for a semester. Don't pay for it, just waltz in there. and sit down.
If oyu wanna learn assembly, you need to know how a processor works first. Otherwise you might as well write C, because you are not going to be producing anything more efficient.

HLA
is your starting point
'high level assembly'
get this book

Attached: aoa.jpg (195x258, 11K)

>Don't pay for it, just waltz in there. and sit down.
Berniefag, right?

read books you nigger kike faggot spic..

are you ok?

Attached: 1531310288840.png (323x345, 33K)

Attached: 1429673496599.jpg (803x688, 108K)

AT&T > Intel

As someone slowly trying to learn arm7/9 asm, I had hopes for this thread. The key word there was had. Wanting to asm because can fit more in less, and I get more calls to use in asm than with C compiler.

don't bother learning any assembly unless you're going to work on embedded systems. Fuck assembly. You're better off making that web dev money

I learned ARM assembly first user, on a ARM Cortex M4 board. I can attest that it is probably the best way to learn assembly. Because of the RISK architecture there are fewer instructions to worry about. You can focus on learning the important ones like ldr,str,bl,and bitwise operands and any programs you find on the internet will be easily readable instead of using obscure instructions.

Attached: oaRuIT8.png (700x709, 434K)

The way that helped me learn asm was learning to code for a less complex architecture. I started with 6502/6510 (Commodore 64) in the late 80s and the simpleness of the instructions and adressing modes made it easier for me.

All the skills I accumulated being in the demoscene and coding assembly has made me a way better programmer when using C/C++/Java/.NET etc

Attached: A131E11A-9DB8-4907-9BB2-AA2BA7762A99.jpg (1945x1616, 712K)

I heard that there is some Assembly code in Serial Experiments Lain, is this true? How much of assembly should i learn to understand SEL?

What do you think it means and why should I stop it?

>900 pages
no thanks, i just want to learn assembly to watch Serial Experiments Lain

>assembly
For what purpose
Learn japanese instead