11
DylanG
7y

Well, I wanna specialize in low-level software as I get older. Everyone is telling me to go out and learn a processor architecture. I'm willing to be patient, so I do what people recommend to me and I download the Intel x86_64 manual. I was excited... UNTIL I REALIZED THE MANUAL WAS 4474 PAGES LONG! Like, how am I supposed to jump into assembly, machine language, and low-level programing with a beginner's task like that? I cannot find ANY resources online to simplify the transition, and college sure ain't gonna teach me anytime soon.

Comments
  • 1
    Try learning a pointer based language first, that might make the transition a lot easier. I'm just theorising though, I've been meaning to do the same.
  • 1
    Thanks for the tip! I'm learning C right now. Someday though. Someday...
  • 4
    In one of my University courses we shortly did Assembler by using MIPS Architecture. There are also some emulators for this Language and you Might find some slides about The basics of this assembler language.
  • 1
    I agree with @demiko
    We use C to develop software for all our electronics projects
  • 1
    @ebroda same here. We actually implemented (a subset of) MIPS instructions on a FPGA, so we kind of built a processor and then wrote small programs in assembly for it.
    Plus we once wrote a compiler for math stuff in java.

    Try such projects first, to understand basic assembly. Then continue to more complex assembly language.
    Also you should read up about parallel programing and transactional memory, if you want to be fit for what's to come.
  • 0
    @DylanG I used to watch his videos (besides our study material) for MIPS Assembly Architecture/Data Path: http://youtube.com/playlist/...
    This could be a point where you could start your research.
  • 1
    There is a free course on Coursera which starts from logic gates, building an ALU, Assembly language and... gets more complex by coding an OS and finishing with coding Tetris. It's good to learn basic principles of computing, but I'm sure it might be helpful for Architecture too.

    https://coursera.org/learn/...

    On that note there is also an architecture course too:

    https://coursera.org/learn/...
  • 0
    Learn C++ then disassemble your programs to learn assembly. It's what I did, that manual is supposed to be a reference, not a tutorial
  • 0
    Unless you're developing drivers, you're probably not going to be programming in assembly.
  • 0
    Thanks for your recommendations! Trust me, I'll be reading them :)
Add Comment