3 ms·
Is there a good place to begin to learn about this stuff from the ground up? Maybe a user friendly compiler written for the purpose of education?
by 3pt14159 13y ago
Is there a good place to begin to learn about this stuff from the ground up? Maybe a user friendly compiler written for the purpose of education?
- minimax 13y agoThe shallow end of the pool is simple RISC CPUs e.g. Atmel 8-bit AVR. The complete instruction manual is something like 160 pages (compare to x86 at 3k+) and there are tons of beginner resources for doing assembler on those chips.
- xradionut 13y agoThere's more structured material for MIPS than AVR. Plus the AVR has some funky memory maps and modes.
- StephenFalken 13y agoThis all time classic from MIPS is a good starting point: "MIPS R4000 Microprocessor User's Manual" [1] [1] http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_book_Ed2.pdf http://groups.csail.mit.edu/cag/raw/documents/R4400_Uman_boo...
- hvs 13y agoFrom the ground up? Well, there's always the source: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html http://www.intel.com/content/www/us/en/processors/architectu... For learning assembly? For MASM I enjoyed this book years ago: http://www.amazon.com/Assembly-Language-Intel-Based-Computers-5th/dp/0132383101/ http://www.amazon.com/Assembly-Language-Intel-Based-Computer... For GAS something like this might be more appropriate: http://www.amazon.com/Professional-Assembly-Language-Richard-Blum/dp/0764579010/ref=sr_1_4?s=books&ie=UTF8&qid=1381333909&sr=1-4&keywords=assembly+language http://www.amazon.com/Professional-Assembly-Language-Richard... Patterson & Hennessy is used a lot in colleges to teach low-level architecture and assembly: http://www.amazon.com/Computer-Architecture-Fifth-Quantitative-Approach/dp/012383872X/ http://www.amazon.com/Computer-Architecture-Fifth-Quantitati...
- deletes 13y agohttp://stackoverflow.com/questions/27568/assembler-ide-simulator-for-beginner http://stackoverflow.com/questions/27568/assembler-ide-simul...
- hmottestad 13y agoThere is a developer friendly virtual machine called Bochs. It can be hooked to a debugger so you can see what is happening. I prefer DDD for debugging hooked to GDB (backend). Here is an assembly cheat sheet that I like a lot: http://www.jegerlehner.ch/intel/ http://www.jegerlehner.ch/intel/ Also GCC can output assembly if you want to see what simple C code looks like in assembly http://stackoverflow.com/questions/137038/how-do-you-get-assembler-output-from-c-c-source-in-gcc http://stackoverflow.com/questions/137038/how-do-you-get-ass... Finally I would say that the recommended method of learning about all of this and more is to take a course at uni. You should take C programming and operating system architecture where you should learn assembly. Then you should take a course where you get to build you own OS (http://www.uio.no/studier/emner/matnat/ifi/INF3151/index-eng.html http://www.uio.no/studier/emner/matnat/ifi/INF3151/index-eng...) followed by a course on multi core architecture (http://www.uio.no/studier/emner/matnat/ifi/INF5063/ http://www.uio.no/studier/emner/matnat/ifi/INF5063/)
- polymathist 13y agoI would recommend not jumping right into x86 and instead starting with something simpler. I learned MIPS in school. The instruction set is very easy to wrap your head around. MIPS Quick Tutorial: http://logos.cs.uic.edu/366/notes/mips%20quick%20tutorial.htm http://logos.cs.uic.edu/366/notes/mips%20quick%20tutorial.ht... A simulator that will let you run MIPS on windows/linux/mac: http://pages.cs.wisc.edu/~larus/spim.html http://pages.cs.wisc.edu/~larus/spim.html