@jesse_m assembly is assembly buuut the compilers vary. The docs will be unique to the compiler you're going to use.
https://montcs.bloomu.edu/Information/LowLevel/Assembly/assembly-tutorial.html this has a zip version
@skanman That's true, I was mainly looking at the disassembly output from objdump. It lined up pretty well with the programmers manual. The mnemonics seem fairly consistent between the manual and the disassembly.
@jesse_m what architecture are you building for? I'm just curious because a lot of people have told me there's no point for x86 x64 development unless you're making an OS or a driver, but I got this theory. Let's say your making a backend for a bank, or a government. Something that requires stupid high security. With assembly you can make your backend AS the OS. Just don't compile what you don't need. Most security vulnerabilities occour at the OS level, a pretty good solution: don't use any OS at all. What do you think?
@skanman This is for good 'ol PowerPC bootloader stuff.
Yeah I'm a big fan of boiling high assurance components down to the bare minimum. However, would this backend you're talking about be handling network traffic? You've basically got an OS when you start adding in a scheduler, memory management, drivers, etc. I feel like super loop stuff gets complex fast. At that point you might as well go with an RTOS or something and invest the time in setting up isolation.
@jesse_m oh and PowerPC screams running native code. Worth it, unrelated but related I got a pentium pro that I was able to forward the NT kernel commands direct to the extended instruction set, that machine was 200mhz and as old as it is boot windows 2000 server to desktop in 1.5 seconds with all services running off of an old school IDE HDD. I know that's pretty old crap but the performance was insane. I did something similar once with a powermac g5 that I got to run BSD natively and good God it's still in service today. Forcing hardware to eliminate backwards compatibility does magic. If you need help loading anything on your PowerPC lmk.
@jesse_m oh the powermacs do something similar they create keys with missing bits synchronously but with different missing bits, then they subtract the difference from each other creating a negative key, this key is obviously smaller so it repeats the process till the key grows to the size of it's patent keys giving you 2 broken keys in different locations on earth that together compile 1 good key. Then I took a box cutter to the bus of the main board for all user IO like USB display serial and etc. Soldered the CPU and BIOS and destroyed all bus paths for write voltage to the BIOS. Soldered a SCSI controller to the board and 2 SSDs to the SCSI card next to the cache. These 2 powermac g5s create security keys so strong and so large that the keys literally never end, so they stream out continuously in chunks for all eternity. I can't think of better security for the amount of money they cost. If the client wants terabit strength, even petabit, all they gotta do is wait longer for the key chunks. A strange but great byproduct of this is due the streaming nature of the broken keys originating from multiple servers, even if you packet sniff both of the connections, you still don't know where client started listening and stopped in the stream to make their key. It's also pretty awesome that either server can validate a key and return a simple 1 or 0 for good or bad almost instantly. Thanks Motorola and Apple 👍