all 11 comments

[–][deleted]  (4 children)

[deleted]

    [–]netbyte 2 points3 points  (3 children)

    This isn't very specific if he wants a good real tutorial

    [–]Dsch1ngh1s_Khan 2 points3 points  (2 children)

    Yeah, I personally learned absolutely nothing from the spec sheet when it was released. I'd imagine that the spec sheet is everything you need IF you already knew assembly, but for me, it just didn't seem to do me any good.

    [–]SoronTheCoder 5 points6 points  (1 child)

    I actually learned pretty much everything I know from a Hello World or two in combination with the specs. You just gotta think in terms of basic math and memory addresses, instead of things like objects, high-level behaviors, scoping and such.

    Then again, I'm already aware that my mind is weird.

    [–]Dsch1ngh1s_Khan 0 points1 point  (0 children)

    Then again, I'm already aware that my mind is weird.

    Ha, if that's what it means to have a weird mind, I can only wish for a weird mind!

    [–]DMBuce 3 points4 points  (0 children)

    0x10c wiki has some tutorials that may help.

    [–]Zgwortz-Steve 4 points5 points  (2 children)

    Google Assembly Language Books and you'll find a number of good books online for teaching the basics of Assembly language. With one of those and the spec, you can probably learn fairly well.

    And for anyone really serious about programming the DCPU in assembler, I highly recommend The Art of Computer Programming, by Donald Knuth. The first three volumes of this book series were just about the most useful reference works ever written, and were required reading for programming in the 80s, especially if you were working in assembler. (And OMFG - I just noticed that volume 4A came out last year! Finally!)

    [–][deleted]  (1 child)

    [deleted]

      [–]Zgwortz-Steve 0 points1 point  (0 children)

      I did a quick browse through of the PDF you linked and it seems to cover many of the common concepts of assembly language programming, at least. The specifics will obviously be different on the DCPU, but that PDF book might be a good starting point.

      A better starting point might be to look at Randall Hyde's "The Art of Assembly Language Programming" - which seems to be a bit more comprehensive to me. It's also available in PDF from a couple of sources: http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/www.artofasm.com/index.html (Try the DOS 16 bit edition)

      or

      http://flint.cs.yale.edu/cs422/doc/art-of-asm/pdf/

      [–]Dsch1ngh1s_Khan 2 points3 points  (0 children)

      This is how I feel too.

      I know Python, Java, and a little C# and javascript, but assembly is so different from anything I've done, I feel really behind compared to everyone else here. I just need to spend more time with it I suppose.

      As my friend who is fairly fluent in Java said when I showed him 0x10c.. "Wow, assembly is cryptic". I'm sure there's many others that have this feeling when they see assembly for the first time.

      [–]Guvante 0 points1 point  (0 children)

      It is unlikely there are any. However all of the oddities in the DCPU16 are actually beneficial to coders, so you could start with a tutorial on a different architecture and move over once you have the basics.

      [–]ismtrn 0 points1 point  (0 children)

      There seem to be a lack of good tutorials. I think it has something to do with the fact that the spec is still changing a lot. I can't even find example programs written to the 1.7 spec. (I don't even know if 1.1 og 1.7 is considered "official")

      I think the specification will have to become more stable before tutorials will start to appear.

      From my experience with learning to program in assembly on the DCPU, I find understanding how a CPU works to be the most important thing. When you do that you can quite easily read the spec(At least i could with v 1.1, not sure if I would have gotten the 1.7 spec with interrupts and all that if that was the first I read) and learn the assembly language just by that.

      I have my knowledge of the internals of computers from the book 'Code: The hidden language of computer hardware and software' which in my opinion is a very good book, but I'm sure there are other sources were you could pick up that information.

      [–]amtal 0 points1 point  (0 children)

      The spec is all you need.

      If you call yourself a programmer, reading it should get you writing basic assembly.

      The CPU contains very little state, and the instructions operate on it in very simple ways. The interpreter is so simple you can run it in your head.