Skip to content

Commit 8a40e9a

Browse files
committed
add: load_imm method
1 parent 36617fd commit 8a40e9a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/vm.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ pub trait VMOperations {
1818
fn copy(&mut self, source_reg: Register, destination_reg: Register);
1919
fn add(&mut self, source_reg: Register, destination_reg: Register);
2020
fn load(&mut self, source_reg: Register, destination_reg: Register);
21+
fn load_imm(&mut self, _: Register, _: Register);
2122
fn store_out(&mut self, source_reg: Register, _: Register);
2223
}
2324

@@ -68,7 +69,7 @@ impl VM {
6869
Opcode::COPY => self.copy(src_reg, dest_reg),
6970
Opcode::ADD => self.add(src_reg, dest_reg),
7071
Opcode::LOAD => self.load(src_reg, dest_reg),
71-
Opcode::LOAD_IMM => println!("Immediate value loaded"),
72+
Opcode::LOAD_IMM => self.load_imm(src_reg, dest_reg),
7273
Opcode::STORE_OUT => self.store_out(src_reg, dest_reg),
7374
}
7475

@@ -180,6 +181,10 @@ impl VMOperations for VM {
180181
}
181182
}
182183

184+
fn load_imm(&mut self, _: Register, _: Register) {
185+
print!("Immediate value loaded successfully");
186+
}
187+
183188
fn store_out(&mut self, source_reg: Register, _: Register) {
184189
if let Err(err) = self.memory.write2(START_ADDRESS, source_reg.value) {
185190
eprintln!("Store out error: {}", err.message());

0 commit comments

Comments
 (0)