Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Assembly language

Name: Anonymous 2008-12-06 22:48

Ok, starting on the level. I'm a newbie at programming. I used to learn Visual Basic (shit sucks I know, please don't kill me it was school mandatory), very little C# on my own, but then I dropped programming but installing Linux has rekindled my love of programming and I'm currently diddling with Python and C.

I do how ever want to learn assembly, or at least try it out but I read something about there being a lot of different types of assembly languages.

Fuck? As if assembly isn't hard enough already. so /g/, I assume there are some people here who know a shit load about this, what's the best place to start?

Name: Anonymous 2008-12-06 22:51

Read SICP

Name: Anonymous 2008-12-06 22:55

1. Get arduino
2. Learn avr assembly language
3. ???
4. Profit

Name: Anonymous 2008-12-06 23:06

there are no good places to start, learning assembly is a slog.

Name: Anonymous 2008-12-06 23:08

diddling

Name: Anonymous 2008-12-06 23:09

yes
diddling>>5

Name: Anonymous 2008-12-07 1:24

/g/

Name: Anonymous 2008-12-07 5:03

Name: Anonymous 2008-12-07 5:24

Learn a simpler assembly language first (6502, Z80, etc.). I did this by doing a bunch of assembly hacks with NES games. From there head to higher level ones. Myself, I went to PPC assembly, because I had a use for it. I just had to learn a couple totally new mnemonics, and a few other things and I got it down pretty quickly. I am currently in the process of learning ARM assembly, which is definitely easier than PPC, and that probably should be your next step after the easy one. From there go ahead and learn x86, or whatever. Or you could just ignore all my advice and go straight for x86.

tl;dr: Learn 6502, learn ARM, learn x86, ????, PROFIT!!!!

Name: Anonymous 2008-12-07 6:08

>>9
I pretty much started out like you, except for x86. Found some reverse engineering tutorials explaining the basics of x86, wrote some small game trainers, moved onto dll injection writing more complex hacks, etc. Currently reading through the Intel set of manuals http://www.intel.com/products/processor/manuals/index.htm and the set of posts at http://duartes.org/gustavo/blog/post/motherboard-chipsets-memory-map

Name: Anonymous 2008-12-07 6:46

>>9
Learn x86 first. Then Z80 and other 8-bits become trivial (I've memorized most of the Z80 opcodes and can read directly from a hex dump) and anything remotely RISC becomes rather boring.

Name: Anonymous 2008-12-07 11:01

ITT assemblyfags compare penis sizes.

Name: Anonymous 2008-12-07 13:43

If you're going for nerd cred and e-penis then go for MMIX and complete the exercises in Knuth. If you don't have enough cred to know what I'm referring to when I say Knuth, then FUCK YOU.

Name: Anonymous 2008-12-07 14:46

>>13
This post is driving me Knuths.

Name: Anonymous 2008-12-07 15:16

Learn assembley on an 6502, like the Old Ones did. Then go to ARM, as that is the spiritual successor of the 6502. Both have small instruction sets and put you in touch with the nitty-gritty.

Then go to modern CISC instruction sets like the 68k or the x86. After that, amd64 -- but only if you can deal with an instruction set that was made for compilers rather than people.

Name: Anonymous 2008-12-07 15:43

2nded on the ARM; especially since it's in heavy use today

68k is a little easier than x86 (big endian, so hex dumps are easier to read and no segment-offset bullshit)

Name: Anonymous 2008-12-07 16:10

I'd recommend ColdFire over "classic" 68k. Not only did the RISCification of the core dump most of the bullshit addressing modes, but it's also still in use and there's available hardware (eg. Netburner has a couple of $99 boards).

ARM is still the way to go though, just because of availability of both hardware (boards and debugging) and information. The new Thumb-2 instruction set is even more easier to learn, though ironically it removes almost all need for assembly-language programming.

Name: Anonymous 2008-12-07 16:37

>>17
Both of these suggestions are utter crap. ColdFire is a compiler-targeted architecture and thus shit for studying assembley on. Likewise the thumb instruction sets are extremely uninteresting to anyone who isn't a manic-depressive Internet wanker.

Name: Anonymous 2008-12-07 17:05

>>18
Learning assembly is not the same as trying to be a macho coder.

Name: Anonymous 2008-12-07 17:45

>>16
Well to be fair, unless you're writing 16-bit real mode applications, then the whole segmentation issue can be safely ignored. Most (all) 32-bit kernels use segment descriptors which specify a base of 0x00000000 and cover the entire 4GiB range.

Name: Anonymous 2009-03-06 6:55


The SECURITY INDUSTRY 12.

Don't change these.
Name: Email:
Entire Thread Thread List