Hacker Newsnew | past | comments | ask | show | jobs | submit | specy's commentslogin

A website to teach and learn assembly, with an IDE, courses and exams, all in one app.

IDE: https://asm-editor.specy.app/

github repo: https://github.com/Specy/asm-editor


A course and platform for learning different assembly languages. The platform itself allows you to write different assembly languages like M68K, MIPS, RISC-V and X86. I just added a course that teaches the basics that every assembly languages share and by utilizing the IDE that I built, I can embed snippets of interactive code directly inside the course!


Thought this was the perfect place to share a project I've been working on for a few years: https://asm-editor.specy.app

It's an interactive online IDE for many assembly languages, currently M68K, MIPS, RISC-V and X86 (I need to improve X86). It has a ton of features that are made to teach assembly programming, and it can be embedded in other websites.


No Z80 or 6502?


Not yet* https://github.com/Specy/asm-editor/issues/25 And 6502 is a bit harder


With such a domain name, it should have been Z80 :)


This is really cool! thank you!


It does kind of need changes to the browser to implement properly. My implementation is more of a trick to "make it work" but it's absolutely not something doable or usable in reality.

There is no way (for now) to make something like it with pure web technologies, I was initially hoping that with the Houdini API it would be possible, but it seems not. It would be a really cool addition though


Most liquid glass implementations in the web are using feDisplacementMap to simulate the glass, but what if we actually use a 3D piece of glass to do it?

This approach takes a copy of the page and puts it inside a 3d context (three.js) to then simulates the page scroll to seem like a 1:1 copy of the paint layer of the browser. The post goes through the two approaches and shows a demo of liquid glass.

The implementation of glass is rather basic, but with the access to the whole paint layer, anything else can be added to it (PR welcome!)


I made a web IDE to teach assembly languages. My goal is to have a single webapp where there are courses, documentation and IDE of all assembly languages.

It's full of features to make it easier for beginners to understand how things work:

- instruction undo and step - breakpoints - function stack tracing and stack frame view. - history viewer (shows the side effects of each instruction) - I/O and memory viewer (both number and text) - number conversions for registers and memory - testcases (useful for professors making exercises) - auto completion and inline errors, etc...

It also has an embedding tool to be able to embed the ide in other websites. And be able to share a project by URL. This way professors can create their own courses and exercises to share with their students.

Repo: https://github.com/Specy/asm-editor

Next i want to improve the x86 emulator, add ARM, Z80 and chip-8.

I'm also writing assembly courses, if anyone wants to help out writing them, the repo is open to contributions!


I'm gonna add it those days


Added!


Hey, I'm the developer, I noticed some activity on GitHub so I wanted to find out where it was coming from, the interpreter itself is for learning, I haven't added the quick instructions as they weren't really useful speed wise, but I'll add them anyway just for allowing the syntax, if anyone finds issues, let me know on GitHub, the app is still in beta


> I haven't added the quick instructions as they weren't really useful speed wise

they are THE FASTEST way to clear a full 32 bit reg, for example, by far.


Yes I mean in the context of the interpreter, in the end both quick and not quick instructions end up running the same code in the interpreter, but I'll add it anyway


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: