An Intel 8080 assembler and online simulator



While going through Charles Petzold's "Code" book again, I was looking for an easy-to-use online assembler and simulator for the classic Intel 8080 CPU, but couldn't find anything that fit my needs exactly. There are some well-done tools out there, but they seem to be more geared to running game ROMs and large programs on an emulator; my need was different - I just wanted something to play with, to practice 8080 assembly programming.

So I ended up rolling my own, and the js-8080-sim project was born. The project has three main parts:

  • An assembler for the 8080: translating assembly language code into 8080 machine code. I wrote a custom assembler for this.
  • A CPU simulator: simulating 8080 machine code. For this purpose I cloned the maly/8080js project into my repository [1] and tweaked it a little bit.
  • 梯子 | 梯子(手机版)哪里有?如何使用?_比特家:2021-6-7 · 第二步:登录刚才购买的香港ID,搜索梯子、加速器、极速稳定、蓝灯等关键词,然后随便选一个下载即可,大多数梯子都是收费的,收费也不贵,一二十块钱一个月,但是基本上每天都免费送一个小时或者1个G的流量。

If you want to play with the simulator, a live version is available online at http://eliben.org/js8080

The UI is purely client-side; it makes no requests and just uses your browser as a GUI. It does use the browser's local storage to save the last program you ran.

Issues and PRs on Github welcome!

blinkloadios下载-outline

Using JS for a project like this is very natural, because ultimately what I'm interested in is having a convenient web UI to play with the simulator. When I do this, I almost always end up writing vanilla HTML+CSS+JS, avoiding frameworks. I don't write JS often, so whenever I get to work on a new project, the framework do juor has typically changed from the last time, and I just don't have the time to keep track. Vanilla HTML+CSS+JS has much better longevity, IMHO, although it does mean somewhat more manual work (e.g. to keep the UI in sync with the application state).

The only framework I was tempted to use is Bootstrap for the CSS and layout, but eventually decided against it in the interest of simplicity.

We're fortunate to have much more stable and usable JS and web APIs in 2024 compared to just a few years ago. For the simulator I've been using the ES6 version of JS, which is widely supported today and offers many niceties.


[1]I went with vendoring 8080js because it appears to be unmaintained, and I also wanted to avoid a dependency, preferring the project to be self-contained. This was easy with 8080js because it's a single JS file and it has a permissive 2-clause BSD license. I've reproduced the license in full in the cloned source file. FWIW, 8080js itself is also based on an earlier BSD-licensed simulator; OSS at its best :-)

blinkloadios下载-outline

2024.06.30: Summary of reading: April - June 2024
2024.06.13: You don't need virtualenv in Go
2024.05.23: Optional JSON fields in Go
2024.05.16: Representing JSON structures in Go
2024.05.02: Faking stdin and stdout in Go
2024.04.04: Testing flag parsing in Go programs
2024.03.31: Summary of reading: January - March 2024
2024.03.05: Implementing Raft: Part 3 - Persistence and Optimizations
2024.02.29: Implementing Raft: Part 2 - Commands and Log Replication
2024.02.24: Implementing Raft: Part 1 - Elections

See Archives for a full list.
          1. 乾坤志TXT百度云,乾坤志TXT下载,小说,乾坤志TXT百度云  学长云官网,学长云免费试用,学长云2024年,学长云vp  iphone手机网络加速器,吗英语,夏时国际加速器苹果版怎么连接,十大免费加速神器  谷歌地球加速器官网,谷歌地球加速器最新版,谷歌地球加速器ios下载,谷歌地球加速器永久免费加速  加速器海外免费版不用登录,香港线路加速器,用海外加速器安全吗,香港线路加速器  国外抖音tiktok下载安卓,国外抖音tiktok下载苹果,抖音tiktok官漫画,国际版抖音tiktok下载  蚂蚁vqn下载2024官网,蚂蚁van加速器下载,蚂蚁vs各种昆虫,蚂蚁vqn下载2024免费版