Type to enter commands; on a touch screen, tap the screen or ⌨. Arrow keys move the guest cursor; Enter runs the current screen line.
dir lists all binaries, dir piano searches,
more shows the next page and load 107 loads a program. Reset
returns to ASMODEUS. /v9/?load+107 types load 107 and Enter at
startup.
Instructions such as mov a, 42 are assembled inside the guest at
1000 and executed with an appended HCF. Numbers are hexadecimal.
All versions and pages · CPU and machine · SIREN sound · Assembler manual · Sources: ASMODEUS, 103, 107 · Fonts: Inter (OFL), IBM Plex Mono (OFL) · Abuse reports: see the maintainer's email on GitHub
mov moves a word; movb (or mov.b) moves a byte. Use
*$7000 or [$7000] for a memory address, and *x or
[x] for the address held in a register. For byte moves, register operands use
their low byte. Memory-to-memory moves are not supported. stb $10f, 69 starts
the default sound. stb/stw store a byte/word;
ldb a, $7000/ldw a, $7000 load one. These accept bare addresses
or registers holding addresses. ldb clears the destination register's high
byte; movb preserves it.
All existing v9 CPU instructions are available, including byte ALU operations, signed
math, all conditional branches, lea, in/out,
sleep, blit, and sys load/sys present.
Use .lo/.hi for byte registers, and .b/.w
for instruction width. Numbers can be signed decimal or hexadecimal with
0x or $.
Memory operands include [x+12], [x-12], [x++], and
[--x]. Calls and jumps also accept registers and memory operands.
reti is assembled without immediate execution. Use ; for a
comment. No labels, expressions or directives yet. See the assembler manual for details.
Branches can bypass the appended HCF. Reset restarts the machine and discards your session. The writable monitor, character cells, and font live in guest RAM.
IRQs stay enabled at the prompt. From Reset, enter these lines for a sawtooth A4 every second (60 BPM). The first line also plays a note immediately; the envelope setup makes it decay to silence. The handler changes no general registers.
stb $10f, 69 reti stw $105, 8 stw $20, $1000 stw $22, 1
The envelope has a 2 ms attack, 300 ms decay and zero sustain. Use
stw $22, 2 for 120 BPM, or stw $22, 0 to stop the timer.