Skip to content

Vardan2009/pico200

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pico200

This is an esoteric programming language designed to be very small.

This repository contains a 204-byte interpreter for the language written in the boot sector.

The user-written source code is in a different sector (of the disk.img), which the program reads and executes

Instructions

The program gives 32 registers, each having their ascii character ids from 32-64 (<space>-@)

Syntax Description Example
I<reg> Increments register I#
D<reg> Decrements register D#
L<reg> Adds the instruction pointer value to the register L!
J<reg> Jumps to the pointer stored in the register J!
Z<reg1><reg2> Jumps to the pointer in the register2 if register1 is 0 Z*%
E<reg> Ends execution if register is 0 E*
K Ends Execution K
P<reg> Prints the register value as an ASCII char P!

Simple Example

This simple Pico200 program prints the alphabet from A-Z

I!I!I!I!I!I!I!I!I!I!
I!I!I!I!I!I!I!I!I!I!
I!I!I!I!I!I!I!I!I!I!
I!I!I!I!I!I!I!I!I!I!
I!I!I!I!I!I!I!I!I!I!
I!I!I!I!I!I!I!I!I!I!
I!I!I!I!I!

I*I*I*I*I*I*I*I*I*I*
I*I*I*I*I*I*I*I*I*I*
I*I*I*I*I*

I%I%I%I%I%I%I%I%I%I%I%I%I%I%
L%
L#
P!
I!
Z*%
D*
J#
K

Run

To compile and run Pico200, you need to have NASM (for compiling) and QEMU (for running the image from a VM)
This repo also contains a simple compile.sh file that compiles the assembly to binary, combines the binary and the source code program.p200 to a single disk.img file and runs with QEMU.

Tested with Ubuntu 24.04.1 LTS, NASM version 2.16.01, QEMU emulator version 8.2.2

About

A 204-byte Turing-complete esolang.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published