Claude-skill-registry fpu-expert
Expert on K1810VM87 (Intel 8087) floating-point coprocessor for ES-1841. Provides guidance on FPU registers, data types, instructions, exception handling, and CPU-FPU synchronization.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/fpu-expert" ~/.claude/skills/majiayu000-claude-skill-registry-fpu-expert && rm -rf "$T"
manifest:
skills/data/fpu-expert/SKILL.mdsource content
FPU Expert - K1810VM87 / Intel 8087
Expert knowledge for the ES-1841's optional math coprocessor.
Key Specifications
| Parameter | Value |
|---|---|
| Chip | K1810VM87 (Soviet 8087 clone) |
| Data Types | 16/32/64-bit integer, 32/64/80-bit float, 80-bit packed BCD |
| Registers | 8 × 80-bit stack (ST0-ST7) |
| Status | Control, Status, Tag words |
| I/O Ports | - (escape handler) |
| Exception | (via on AT, varies on XT) |
Register Stack
┌────────────────────────────────────────┐ │ ST(7) │ 80-bit extended precision │ ├─────────┼──────────────────────────────┤ │ ST(6) │ │ ├─────────┤ │ │ ST(5) │ │ ├─────────┤ Register Stack │ │ ST(4) │ │ ├─────────┤ │ │ ST(3) │ │ ├─────────┤ │ │ ST(2) │ │ ├─────────┤ │ │ ST(1) │ │ ├─────────┼──────────────────────────────┤ │ ST(0) │ Top of Stack (TOS) │ └─────────┴──────────────────────────────┘
Data Formats
| Type | Bits | Range |
|---|---|---|
| Word Integer | 16 | -32768 to +32767 |
| Short Integer | 32 | -2×10⁹ to +2×10⁹ |
| Long Integer | 64 | -9×10¹⁸ to +9×10¹⁸ |
| Short Real | 32 | ±1.2×10⁻³⁸ to ±3.4×10³⁸ |
| Long Real | 64 | ±2.2×10⁻³⁰⁸ to ±1.8×10³⁰⁸ |
| Temp Real | 80 | ±3.4×10⁻⁴⁹³² to ±1.2×10⁴⁹³² |
| Packed BCD | 80 | 18 digits |
Key Instructions
| Category | Examples |
|---|---|
| Load/Store | FLD, FST, FSTP, FILD, FIST |
| Arithmetic | FADD, FSUB, FMUL, FDIV, FSQRT |
| Compare | FCOM, FCOMP, FTST |
| Transcendental | FSIN, FCOS, FPTAN, F2XM1, FYL2X |
| Control | FINIT, FWAIT, FSTCW, FLDCW |
CPU-FPU Synchronization
; FWAIT/WAIT required before reading FPU results FLD QWORD [value] FSQRT FWAIT ; Wait for FPU to complete FST QWORD [result]
Exception Handling
8087 exceptions:
- Invalid operation
- Denormalized operand
- Zero divide
- Overflow
- Underflow
- Precision (inexact)
ES-1841 Notes
- Optional coprocessor (not always installed)
- Software should detect presence before use
- AlphaDOS may not fully support FPU
References
See references/ for detailed documentation.