Spaces:
Sleeping
Sleeping
Download codexbyte_vm.py from LordXido/CodexByte_Runtime: direct link, hf CLI and curl.
- Browser
- Download file 1.97 kB
-
https://huggingface.co/spaces/LordXido/CodexByte_Runtime/resolve/d77bb9b0a674627cd6a19c5bb3bce8c19aba762c/codexbyte_vm.py
- Command line
-
hf download hf://spaces/LordXido/CodexByte_Runtime@d77bb9b0a674627cd6a19c5bb3bce8c19aba762c/codexbyte_vm.py
-
curl -L -o codexbyte_vm.py https://huggingface.co/spaces/LordXido/CodexByte_Runtime/resolve/d77bb9b0a674627cd6a19c5bb3bce8c19aba762c/codexbyte_vm.py
1.97 kB
| import hashlib | |
| import time | |
| class CodexByteVM: | |
| def __init__(self): | |
| self.reg = [0] * 8 | |
| self.mem = {} | |
| self.pc = 0 | |
| self.flags = {"Z": False} | |
| self.ledger = [] | |
| def _hash(self, v): | |
| return hashlib.sha256(str(v).encode()).hexdigest() | |
| def step(self, prog): | |
| op = prog[self.pc] | |
| self.pc += 1 | |
| if op == 0x00: # HALT | |
| return False | |
| elif op == 0x01: # LOAD_IMM r v | |
| r, v = prog[self.pc], prog[self.pc + 1] | |
| self.pc += 2 | |
| self.reg[r] = v | |
| elif op == 0x02: # LOAD_MEM r a | |
| r, a = prog[self.pc], prog[self.pc + 1] | |
| self.pc += 2 | |
| self.reg[r] = self.mem.get(a, 0) | |
| elif op == 0x03: # STORE r a | |
| r, a = prog[self.pc], prog[self.pc + 1] | |
| self.pc += 2 | |
| self.mem[a] = self.reg[r] | |
| elif op == 0x04: # ADD r1 r2 | |
| r1, r2 = prog[self.pc], prog[self.pc + 1] | |
| self.pc += 2 | |
| self.reg[r1] += self.reg[r2] | |
| elif op == 0x08: # CMP r1 r2 | |
| r1, r2 = prog[self.pc], prog[self.pc + 1] | |
| self.pc += 2 | |
| self.flags["Z"] = (self.reg[r1] == self.reg[r2]) | |
| elif op == 0x0A: # JZ addr | |
| addr = prog[self.pc] | |
| self.pc += 1 | |
| if self.flags["Z"]: | |
| self.pc = addr | |
| elif op == 0x0C: # HASH r | |
| r = prog[self.pc] | |
| self.pc += 1 | |
| self.reg[r] = self._hash(self.reg[r]) | |
| elif op == 0x0F: # COMMIT | |
| state = (tuple(self.reg), dict(self.mem)) | |
| self.ledger.append(self._hash(state)) | |
| elif op == 0x11: # EMIT r | |
| r = prog[self.pc] | |
| self.pc += 1 | |
| self.mem["LAST_PROOF"] = self.reg[r] | |
| return True | |
| def run(self, prog): | |
| self.pc = 0 | |
| self.ledger.clear() | |
| while self.step(prog): | |
| pass | |
| return self.ledger |