Bootasm
simple native fox32 assembler in under 1 KiB
Install / Use
/learn @fox32-arch/BootasmREADME
bootasm
Extremely basic fox32 assembler in under 1024 bytes
Usage
Assemble to a raw binary with fox32asm main.asm bootasm.bin, then attach it to the fox32 emulator as a disk.
fox32rom will boot it and enter its built-in monitor, which now has the a command to assemble a single instruction.
Type help in the monitor for a basic overview.
Essentially, the syntax is this: a <address> <[condition] opcode [operand [operand]]>. Commas are not used between the two operands. Upon return it will print the resulting bytes and the address where the next instruction should begin.
Status
The parsing is very primitive and likely has weird edge cases, please let me know if you run into issues!
The standard .8/.16 suffixes are supported. .32 is not recognized as it is the default size with no suffix.
All values are expressed in hexadecimal without the 0x prefix. General purpose registers are r0 through r31, others (like rsp) are not currently recognized.
As a workaround, use r32, r33, and r34 in place of rsp, resp, and rfp respectively.
Registers and immediate addresses may be dereferenced using the standard [something here] bracket syntax.
Register pointer offsets are not currently supported.
Instructions are not checked for the correct number of operands, it will simply assemble whatever you tell it.
It won't complain if you try to assemble mov 5 or something weird like that.
Supported instructions:
addsubinc(only by 1, not 2,4,8)dec(only by 1, not 2,4,8)movmovzcmpcallretjmprjmploopbrk
Supported conditions:
ifzifnzifcifltifncifge(ifgteqin the conventional fox32asm)ifgtifle(iflteqin the conventional fox32asm)
License
This project is licensed under the MIT license.
Related Skills
node-connect
346.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
