Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
wowotek58166yI do a lot of assembly programming. I've started low level programming on Commodore 64 writing a few games in assembly. But if you want to start learning nowadays you can check out; UAL or general ARM Assembly and then try to move to x86 Assembly. or maybe if you like playing games, you could train your assembly logic with TIS-100 or Human Resource Machine which you can buy on steam.
There is also an Assembly IDE with some kind of emulator and memory visualizer which can help you a lot, recently i found Open Source Program for that called "visUAL" -
wowotek58166y@Loading yaa, i was writing a few game with aseembly in C64 and also experimenting in 8086 chip. there is also a youtube channel called 8-bit guy for walthrough making game for C64.
-
@Loading well, apart from what @wowotek said there's the world of microcontrollers, the closest you can get now to the good ol' days of bare metal programming.
Just pick up any microcontroller board, Arduino boards are a good choice because they allow you to start off in their high level C++-like language and then go down towards assembly as you like.
ST Micro's STM32 Nucleo boards are great for ARM microcontrollers and ARM assembly programming.
Otherwise, you can always use a modern assembler like NASM or GAS to run you assembly programs in x86 or ARM (like on a raspberry pi) environments (easier on Linux because tools).
Another really helpful thing is writing a C program and seeing the assembly output from a compiler, really helps you understand how stuff works. -
aether626yDepending on how low you want to go you might want to look into the world of FPGAs and learn VHDL or Verilog. I am an an embedded engineer by profession and work mostly with C. FPGAs are my passion though and love every instance I get to work with them.
-
Loading9496y@RememberMe Right, I’ve worked a good amount of Arduino and Raspberry pi but don’t really know what is the next lowest thing to go to
-
aether626y@Loading the majority of the time it is C. But I also get involved from time to time with other languages, usually for testing or providing user level front end tools, webpages, etc. These might involve other languages like C++, C#, python, JavaScript. Coworkers of mine have worked with Java, GoLang, Angular, and some other higher level stuff. But as far as coding for a bare metal micro controller, C and maybe a hint of C++ is what I use.
Knowing some assembly in this field certainly does not hurt but I usually never have to resort to coding something from scratch using it, mainly just to debug what the compiler settings/options produced and determining what has been optimized out. I suppose if you have to ensure ever bit of an algorithm is efficient as possible you might be able to find a solution that outperforms a particular compiler but I have not been in this kind of situation
Related Rants
-
chaoticrefactor4Confuzzled if I should go the low level way and learn more about software architecture and foundation or go th...
-
ke2ulpatani2Application level developer: It's so simple just import that dependency and use that API. Low level developer...
-
varundey5<opinion> You may be a prod ninja but I believe that every dev should have a decent level of exposure with a l...
Anyone here worked a whole lot with low level programming?
I have always worked with high level languages like Python and C++, but I’ve also had an interest in working with embedded systems, real close to the metal.
Any directions on where I should go to start learning low level programming? Sites, languages, etc?
Appreciated devRant fam!๐
question
low level language