I've begun to learn Assembly just for the hell of it, but what can I actually do with it? (That can't be done in a higher-level lang)
I already know a few langs. The lowest-level I know is some C/C++. I already have some resources to learn, just more interested in the practical applicatoins of Assembly.
You can, but in real life they're mostly programmed in C
Logan Perez
Write a compiler for higher-level languages :^)
Carson Cox
Learn z80 asm. It's comfy as fuck.
Blake Sullivan
Make a video game.
Ryder Williams
It's fun to learn assembly but to do real work you should stick to C/C++. The problem with assembly is that it's processor specific and inherently non-portable.
Dylan Green
crackmes.de i do those as a hobby, it's pretty fun.
Not much to do on regular computers apart from hobby projects (building an OS, etc.) AFAIK. It’ll be way more useful for embedded programming. Just find something to build.
Carter Brown
DOSBox (or a real DOS machine) and mode13h graphics programming.
Brandon Garcia
where I've seen assembly being used: math and crypto libraries optimizations, you can just realias registers while higher level would force actual swaps in kernel where higher level (meaning C) languages doesn't have CPU things for unprotected mode, usually have to do with interrupt-related things like drivers, syscalls,... functions have few lines of assembly and then can be used from C also before booting to kernel itself
so quite specific things and the hottest code optimization, that 1% thing
Julian Wood
It's needed for bootloaders and kernels, and used for super-optimized functions.
Christopher Butler
>I've begun to learn Assembly just for the hell of it, but what can I actually do with it? (That can't be done in a higher-level lang) Learn about how the computer works. Do fun hobby shit. Relax with a low-level language that doesn't require you to learn any wonky APIs or libraries or whatever - you got your 90 or so commands and that's all that you have to remember. Pretty comfy to do, once in a while.
Nathaniel Collins
This and macros remove a certain copy pasting
Isaac James
Besides certain kernel uses and micro controllers the best reason to learn assembly is what I call reverse compilation.
Basically it's really useful in many cases to be able to objdump an elf file or some other executable file. You can then look at the assembly output from objdump to figure out where your C program crashed if you've gathered the address the program page faulted at. This is probably 90% of what I use my assembly knowledge for.
Ian Barnes
Assembly language is a good thing to understand for sure but for the love of god dont spend more than a week or two messing with it. Its not worth anymore than that. You'd just be wasting your time.
Also good way to learn assembly is with dosbox
Ethan Nguyen
Car tuning companies need assembly programmers to reverse engineer new ECUs and what not
Hunter Martin
nice thread
Brody Garcia
You can implement your own threading mechanism.
Christian Davis
Reverse engineer programs and modify them for your own use (or cracking)
Jaxson Kelly
I'm currently 6502 assembly, I want to get into hobby NES development.
I don't know how "practical" it is, I'm just doing it because I want to get a better understanding about what a computer actually is.
I think it is safe bet to say that the world will continue to need people that understand what computers are.
Zachary Howard
Writing shellcode.
Chase Stewart
>but in real life they're mostly programmed in C Stop using micros that have compilers
Angel Gomez
How many microcontrollers post 1990s do not have a C compiler?
Brandon Johnson
Reverse engineering
Daniel Perry
It's meant to be good for hacking, reverse engineering and that.
Michael Hughes
>It's meant to be good for hacking lol wat.
How is it "good for hacking"? That doesn't even make any fuckign sense.
Zachary Hughes
Finding low-level exploits and hack shit, programming insanely efficient video games, reverse engineering, etc.
Brandon Robinson
ring0 kits. bootkits. shellcodes.
Samuel Edwards
>What is IDA
Dylan Perez
embedded systems, even though a lot of those secretly just run the linux kernel. You can do hobby shit, like a very minimal OS, but mostly that's about it, unless you're optimizing the ever-living shit out of something, like a crypto library
William Green
Play around with MIPS or something similar for a while, but don't try to use it for anything practical. It's a good way to learn about your computer, nothing more.
Jackson Bell
jesus fuck how did he even do that fuck me in the ass, i'll never get even close to his level
Alexander Bell
literally all of them have a C compiler. He's just retarded
Aiden Cook
>Scottish game designer Chris Sawyer hated rollercoasters before he began work on RollerCoaster Tycoon. He originally wanted to create a sequel to his highly successful Transport Tycoon. However, he later instead decided to make RollerCoaster Tycoon as an excuse to ride on, or "research", rollercoasters, which he enjoyed doing and became obsessed with. Ebin.
Ryan Brown
making gameboy games
Jace Morris
Make a rom hack.
Robert Reyes
the only practical reason to use asm is for specific operations which cannot be done with compiler intrinsics (i.e preserving all registers or messing with segments). a compiler might also not provide an intrinsic for a specific instruction, such as sgdt on msvc
Parker Murphy
security. private key security, for example. If you use a high level language you may end up with keys (or parts of them) left in various different places, which is bad thing. With assembly code you get much more control.