And importantly:
I want to program this in assembly language. Not C, C++, C#, Python, etc. Just straight native assembly language.
The SX-28 assembly language is most closely related to the 35 instruction set of the baseline PIC. Be aware that modern devices can have upwards of 75 assembly instructions and more (and even not so modern devices like the AT90S2313).
Your requirements don't exactly rule out using a Z80 or 6502 assembly language, and using a USB E2PROM programmer for your development.
Do you wish to place a further constraint, like instruction set size?
Note that the RV32I instruction set has 37 instructions that normal programs use. Barely more than a baseline PIC.
That is LESS than a Z80 or 6502, especially given that you don't have 8 different addressing modes like many of the 6502's "56 instructions". And you don't have to worry about which status flags each instruction sets, because there aren't any.
The only variation within any one of the 37 instructions is which registers to use for source1, source2 (or a constant), destination.
ALU: (arith) ADD, SUB, (bool) AND, OR, XOR, (shift) SLL, SRL, SRA, (compare) SLT, SLTU
Immediate (12 bits): (arith) ADDI, (bool) ANDI, ORI, XORI, (shift) SLLI, SRLI, SRAI, (compare) SLTI, SLTIU
Cond branch: BEQ, BNE, BLT, BGE, BLTU, BGEU
Uncond branch: JAL, JALR
Memory: LW, LH, LHU, LB, LBU, SW, SH, SB
Hi20 bits: LUI, AUIPC
That's all 37.
The only addressing mode for the Memory instructions is register + 12 bit offset. Everything else is register-to-register.