summaryrefslogtreecommitdiff
path: root/gui/worker.cc
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-04-16 23:53:08 -0400
committerbd <bdunahu@operationnull.com>2025-04-16 23:53:08 -0400
commit5e1d59feaa353e7ea4179fd0c8104fc4450a7a16 (patch)
tree6635509b91a80db4b85a7e9bc190dfd2594a36d5 /gui/worker.cc
parent796b2691146a3a4eaace4fa155d3c0c2f7379832 (diff)
Fix instruction opcode numbering issue, use assembler's output
Diffstat (limited to 'gui/worker.cc')
-rw-r--r--gui/worker.cc62
1 files changed, 24 insertions, 38 deletions
diff --git a/gui/worker.cc b/gui/worker.cc
index 947a3a4..3825395 100644
--- a/gui/worker.cc
+++ b/gui/worker.cc
@@ -20,51 +20,37 @@ void Worker::doWork()
emit register_storage(this->ct->get_gprs());
signed int b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14,
- b15, b16, b17, b18, b19;
+ b15, b16, b17, b18, b19, b20;
std::vector<signed int> p;
// I-TYPE / / / /
- b0 = 0b00000010000000000001000000001101; // ADDI $2 $0 0x200;
- b1 = 0b00000000000000010010100000001101; // ADDI $5 $0 0x1;
- b2 = 0b00000000000000000010100010101101; // STORE $5 0($2);
- // I-TYPE / / / /
- b3 = 0b00000000000000100010100000001101; // ADDI $5 $0 0x2;
- b4 = 0b00000000000000010010100010101101; // STORE $5 1($2);
- // I-TYPE / / / /
- b5 = 0b00000000000000110010100000001101; // ADDI $5 $0 0x3;
- b6 = 0b00000000000000100010100010101101; // STORE $5 2($2);
- // I-TYPE / / / /
- b7 = 0b00000000000001000010100000001101; // ADDI $5 $0 0x4;
- b8 = 0b00000000000000110010100010101101; // STORE $5 3($2);
- // // I-TYPE / / / /
- b9 = 0b00000000000000000010100000001101; // ADDI $5 $0 0x0;
- // // I-TYPE / / / /
- b10 = 0b00000000000000110011000000001101; // ADDI $6 $0 0x3;
- // // J-TYPE / / /
- b11 = 0b00000000000000000011100000001010; // JRL CHECK
- // // R-TYPE / / / / /
- b12 = 0b00000000000100100101000100000100; // ADD $9 $2 $5;
- // // I-TYPE / / / /
- b13 = 0b00000000000000000011101001000101; // LOAD $7 0($9); (RAW HAZARD)!
- // // I-TYPE / / / /
- b14 = 0b00000000000000010100001001000101; // LOAD $8 1($9);
- // // R-TYPE / / / / /
- b15 = 0b00000000000011101000001110000100; // ADD $7 $7 $8;
- // I-TYPE / / / /
- b16 = 0b00000000000000000011101001101101; // STORE $7 0($9);
- b17 = 0b00000000000000010010100101001101; // ADDI $5 $5 0x1;
- // // R-TYPE / / / / /
- b18 = 0b00000000000111100101001101000000; // CMP $6 $5
- // // J-TYPE / / /
- b19 = 0b11111111111111111100000000010110; // bgt LOOP
+ b0 = 0b00000010000000000001000000001101;
+ b1 = 0b00000000000000010010100000001101;
+ b2 = 0b00000000000000000010100010101001;
+ b3 = 0b00000000000000100010100000001101;
+ b4 = 0b00000000000000010010100010101001;
+ b5 = 0b00000000000000110010100000001101;
+ b6 = 0b00000000000000100010100010101001;
+ b7 = 0b00000000000001000010100000001101;
+ b8 = 0b00000000000000110010100010101001;
+ b9 = 0b00000000000000000010100000001101;
+ b10 = 0b00000000000000110011000000001101;
+ b11 = 0b00000000000000000011100000001010;
+ b12 = 0b00000000000100100101000100000100;
+ b13 = 0b00000000000000000100100111000101;
+ b14 = 0b00000000000000010100101000000101;
+ b15 = 0b00000000000011101000001110000100;
+ b16 = 0b00000000000000000011101001101001;
+ b17 = 0b00000000000000010010100101001101;
+ b18 = 0b00000000000000000101001101000000;
+ b19 = 0b11111111111111111100100000010110;
+ b20 = 0b00000000000000000000000000010000;
- p = {b0, b1, b2, b3, b4, b5, b6, b7, b8, b9,
- b10, b11, b12, b13, b14, b15, b16, b17, b18, b19};
+ p = {b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10,
+ b11, b12, b13, b14, b15, b16, b17, b18, b19, b20};
this->d->load(p);
}
-
-
Worker::~Worker()
{
emit finished();