What problem does it solve? Writing correct assembly for the Soviet KR580VM1 CPU is error-prone because it reuses 8085 undocumented opcode slots for different instructions, adds RS/MB prefixes and dual 64K data banks, and has a dangerous pop af bank-switch trap. This Skill encodes the exact ISA, flag semantics, errata, and z88dk coding rules so generated or reviewed vm1 code is correct. ## Core Features & Use Cases - Complete ISA reference: Zilog mnemonics, opcodes, timings, prefix behavior (RS $38, MB/CS $28), and the ten extra instructions (DSUB, LHLX, SHLX, DCMP, ANX/ORX/XRX, JOF, SMF0/SMF1) with errata resolved against the local documentation. - Trap avoidance rules: Hard rules on pop af bank swaps, OF vs 8085 K flag differences, DSUB/DCMP not setting OF, and why 8085 sequences like ld de,sp+* must never be emitted. - z88dk integration guidance: Classic library paths (libsrc/l/sccz80/7-vm1/), build flags (-mvm1, +test -clib=vm1, --math-mbf32/--math32), ticks emulation (-mvm1), and assembler test fixtures as the last-resort source of truth. - Use Case: When implementing a 16-bit compare helper in libsrc/l/sccz80/7-vm1/, use cp hl,de (DCMP D) in one byte instead of the 8085 two-instruction sequence, while avoiding jp of since DCMP does not set the overflow flag. ## Quick Start Ask the assistant to write or review a KR580VM1 assembly routine for z88dk, for example a 16-bit subtract helper using the vm1 clib conventions.