r/Assembly_language

▲ 58 r/Assembly_language+1 crossposts

for those starting to learn Assembly

https://preview.redd.it/zzmq04yqpfth1.png?width=1867&format=png&auto=webp&s=3a320a0ec26770714f45476008c754651a102feb

For those starting to learn Assembly - step-by-step, how to create a flight simulator for DOS.

It covers everything from a single point to a full 3D engine. I am still in the process of writing the lessons, but the platform is already fully functional right in your browser—featuring a code editor, compiler, DOSBox, and video tutorials all in one place. You can even load your own DOS programs, such as debuggers and other tools, directly into the browser-based DOSBox.

https://kirindenis.github.io/wire-city-2/course/

reddit.com
u/Extension_Emu_9825 — 5 days ago

What in x86-64 assembly actually gives away a function's purpose? Notes from training a model to name stripped functions

I've been building asmsense, a dataset and a small model that looks at a function from a stripped x86-64 binary and suggests a name (think `FUN_00401a30` → `adler32_update`). Ground truth comes from compiling permissively licensed C projects with clang at -O0/-O1/-O2/-O3/-Os and stripping them. The test set is 28 little-known projects, so models cant just recall famous code.

A few things the error analysis showed about the assembly itself:

- String literals are by far the strongest signal. The fine-tuned model gets name F1 0.299 on functions with string constants and 0.093 on functions without.

- Magic constants help alot when they exist: `cmp rdx, 0xfff1` (65521) is practically a signature for Adler-32.

- -O2 is consistently harder than -O0, for every model i tested.

- Thin wrappers (a function that only calls another internal function) scored 0 for every model, even when i added the callee's full assembly to the input.

- Large LLMs look much better on famous code than they realy are. With reasoning, one model's exact matches on zlib went from 9 to 28, but on unfamiliar projects from 4 to 3. Alot of it is recall, not reading the assembly.

Where it stands: Qwen3-8B + LoRA reaches name F1 0.124 on the fixed test sample, while the best large model with call context gets 0.167. Not there yet.

Question for people who read asm by hand: when you open an unknown function in a stripped binary, what do you look at first? Is there anything youd expect a model to miss?

Code and data: https://github.com/krxi/asmsense

u/luxurycashew — 5 days ago
▲ 39 r/Assembly_language+1 crossposts

for those starting to learn Assembly

https://preview.redd.it/zzmq04yqpfth1.png?width=1867&format=png&auto=webp&s=3a320a0ec26770714f45476008c754651a102feb

For those starting to learn Assembly - step-by-step, how to create a flight simulator for DOS.

It covers everything from a single point to a full 3D engine. I am still in the process of writing the lessons, but the platform is already fully functional right in your browser—featuring a code editor, compiler, DOSBox, and video tutorials all in one place. You can even load your own DOS programs, such as debuggers and other tools, directly into the browser-based DOSBox.

https://kirindenis.github.io/wire-city-2/course/

reddit.com
u/Extension_Emu_9825 — 10 days ago

rhun: sharing an assembly editor and its x86-64 to AArch64 translator

I'm building rhun, an MIT-licensed code editor in assembly, and thought the source might interest people here.

The editor, pixel renderer, Vim mode, Git tools and agent panel share an x86-64 core. Linux and Windows use platform adapters around it. For Apple silicon, tools/arm64.py translates the same core to AArch64 at build time. The renderer draws text, icons and widgets into a pixel buffer.

Source: https://github.com/vshvedov/rhun

Translator: https://github.com/vshvedov/rhun/blob/main/tools/arm64.py

It's a solo project and still early. Sharing the core helps, but the translator and OS layers still need their own testing. I'd be interested in feedback on that approach, especially where the translation could go wrong.

u/r13xyz — 14 days ago