()
| 85 | } |
| 86 | |
| 87 | func (vm *virtualMachine) run() error { |
| 88 | for vm.pc = 0; vm.pc < uint32(len(vm.program)); { // handle vm.pc updates in step |
| 89 | err := vm.step() |
| 90 | if err != nil { |
| 91 | return err |
| 92 | } |
| 93 | } |
| 94 | return nil |
| 95 | } |
| 96 | |
| 97 | func (vm *virtualMachine) step() error { |
| 98 | inst, err := ParseOp(vm.program, vm.pc) |