sd-8516_programmer_s_reference_guide
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| sd-8516_programmer_s_reference_guide [2026/01/29 19:00] – appledog | sd-8516_programmer_s_reference_guide [2026/01/30 02:03] (current) – appledog | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| == Introduction | == Introduction | ||
| The **Stellar Dynamics SD-8516** represents a categoretroical reimagining of microprocessor architecture. This 16-bit CPU, implemented in AssemblyScript for the VC-3 computer system, delivers performance exceeding conventional silicon constraints through advanced cross-boundary resonance microcascades. | The **Stellar Dynamics SD-8516** represents a categoretroical reimagining of microprocessor architecture. This 16-bit CPU, implemented in AssemblyScript for the VC-3 computer system, delivers performance exceeding conventional silicon constraints through advanced cross-boundary resonance microcascades. | ||
| + | |||
| + | The SD-8516 is intended to be an easy to learn architecture which remains era-authentic. | ||
| + | |||
| + | ^ CPU ^ Opcodes ^ Assembler ^ Notes ^ | ||
| + | | | ||
| + | | SD-8516 | 56 opcodes | 105 opcodes | | | ||
| + | | 6809 | 59 opcodes | 154+ | "the most elegant 8 bit CPU ever designed" | ||
| + | | 8086 | 117 opcodes | 117 | standard of the era | | ||
| + | | 6502 | 151 opcodes | 151 | standard of the era | | ||
| + | | Z80 | 158 opcodes | hundreds | prefix machine--158 base opcodes | | ||
| + | | 8080 | 244 opcodes | | | | ||
| + | |||
| === Key Specifications | === Key Specifications | ||
| Line 78: | Line 90: | ||
| == Register Encoding | == Register Encoding | ||
| === Byte Access | === Byte Access | ||
| - | Each register' | + | Each register' |
| === 32-bit Pairs | === 32-bit Pairs | ||
| Adjacent registers can be combined for certain 32-bit operations using concatenated names: | Adjacent registers can be combined for certain 32-bit operations using concatenated names: | ||
| - | - *AB* = A (high) + B (low) | + | - AB = A (high) + B (low) |
| - | - *CD* = C (high) + D (low) | + | - CD = C (high) + D (low) |
| - | - *EF*, *GI*, *JK*, *LM*, *TY*, *XZ* | + | - EF, GI, JK, LM, TY, XZ |
| This is simulated 32 bit access; changing the value of a 32 bit pair will corrupt the underlying 16 bit registers, and so forth. Secondly, access is only marginally faster than 16 bit access; for memory loads, stores and compares it is usually faster to use native 16-bit mode. | This is simulated 32 bit access; changing the value of a 32 bit pair will corrupt the underlying 16 bit registers, and so forth. Secondly, access is only marginally faster than 16 bit access; for memory loads, stores and compares it is usually faster to use native 16-bit mode. | ||
| Line 90: | Line 102: | ||
| === 24-bit Pointers | === 24-bit Pointers | ||
| Memory addressing uses a bank byte plus 16-bit offset. The naming convention is `[low-byte][offset]`: | Memory addressing uses a bank byte plus 16-bit offset. The naming convention is `[low-byte][offset]`: | ||
| - | - *BLX* = *BL* (bank) + *X* (address) | + | - BLX = BL (bank) + X (address) |
| - | - *ELM* = *EL* (bank) + *M* (address) | + | - ELM = EL (bank) + M (address) |
| - | - *FLD* = *FL* (bank) + *D* (address) | + | - FLD = FL (bank) + D (address) |
| - | - *GLK* = *GL* (bank) + *K* (address) | + | - GLK = GL (bank) + K (address) |
| - | Eight bank registers (*BL*, *EL*, *FL*, *GL*, *IL*, *JL*, *LL*, *TL*) each pair with eight address registers (*A*, *C*, *D*, *K*, *M*, *X*, *Y*, *Z*), yielding 64 possible 24-bit pointer combinations. | + | Eight bank registers (BL, EL, FL, GL, IL, JL, LL, TL) each pair with eight address registers (A, C, D, K, M, X, Y, Z), yielding 64 possible 24-bit pointer combinations. |
| === Register Overlap | === Register Overlap | ||
| - | As with their 32-bit counterparts, | + | As with their 32-bit counterparts, |
| === Flags Register | === Flags Register | ||
| Line 339: | Line 351: | ||
| | SEV | Set overflow flag | | | SEV | Set overflow flag | | ||
| | CLV | Clear overflow flag | | | CLV | Clear overflow flag | | ||
| + | |||
| + | === Other | ||
| + | |||
| + | |= Instruction |= Description | | ||
| + | | TSX | Transfer SP to register* | | ||
| + | | TXS | Transfer register to SP* | | ||
| + | |||
| + | * (*) these opcodes were suggested by stackminer from the Fantasy Console 2.0 discord. Thank you, stackminer! | ||
| === System Operations | === System Operations | ||
| Line 483: | Line 503: | ||
| --- | --- | ||
| - | **SD-8516 Technical Manual** - Revision 1.0 | + | **SD-8516 Technical Manual** - Revision 1.0\\ |
| - | **Copyright © 2025 Appledog Hu** | + | **Copyright © 2025 Appledog Hu**\\ |
| **All specifications subject to change as quantum resonance research continues.** | **All specifications subject to change as quantum resonance research continues.** | ||
sd-8516_programmer_s_reference_guide.1769713235.txt.gz · Last modified: by appledog
