Closed shenghaoyuan closed 3 months ago
The reason that the disassembler has these limits is because that is what the instruction encoding supports and what a compiler could produce. The verifier then narrows it down to what the vm actually supports.
@Lichtso THX for your reply. But is there a typo? dst < 0 || src >= 16
should be src < 0 || src >= 16
Ah yes you are right, let me fix that
Hi,
The register checking of assembler should be consistent with that of verifier
!(0..16).contains(&dst)
->dst < 0 || dst > 11
or ...dst < 0 || src >= 16
->src < 0 || src > 10