aboutsummaryrefslogtreecommitdiffhomepage
path: root/problems/18-Inversion-Small/03.vsm
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2024-09-19 23:13:08 +0900
committernsfisis <nsfisis@gmail.com>2024-09-19 23:13:30 +0900
commitcc170e93f6092a81d1fcafe54f0ce13ea76a678b (patch)
tree80084f8101fda3e20860c5530f120b020d66b723 /problems/18-Inversion-Small/03.vsm
parente803719bd220a0449a06c29d798ffa0d2a226ef2 (diff)
downloadmncore-challenge-cc170e93f6092a81d1fcafe54f0ce13ea76a678b.tar.gz
mncore-challenge-cc170e93f6092a81d1fcafe54f0ce13ea76a678b.tar.zst
mncore-challenge-cc170e93f6092a81d1fcafe54f0ce13ea76a678b.zip
18-Inversion-Small
Diffstat (limited to 'problems/18-Inversion-Small/03.vsm')
-rw-r--r--problems/18-Inversion-Small/03.vsm32
1 files changed, 32 insertions, 0 deletions
diff --git a/problems/18-Inversion-Small/03.vsm b/problems/18-Inversion-Small/03.vsm
new file mode 100644
index 0000000..ac6bc56
--- /dev/null
+++ b/problems/18-Inversion-Small/03.vsm
@@ -0,0 +1,32 @@
+imm i"1" $s3/1000
+imm i"2" $s5/1000
+imm i"3" $s7/1000
+imm i"4" $s9/1000
+iadd $aluf $s3v2 $s11v2
+iadd $aluf $s9 $s19v2
+iadd $aluf $s9 $s27v2/1110
+
+lpackbit $mabid $ln0 $t
+lpassa $llm0v $llr0v
+lpassa $llm16v $llr16v
+linc $lmt0 $t
+
+lsub $mabid $ls0v $omr1
+lsub $lr0v $t $omr1/$imr1
+lpassa/$imr1 $ls2 $nowrite
+lsub $mabid $ls8v $omr1; l1bmrliadd $aluf $lbi
+lsub $lr8v $t $omr1/$imr1; l1bmm $lbi $lm0v
+lpassa/$imr1 $ls2 $nowrite
+lsub $mabid $ls16v $omr1; l1bmrliadd $aluf $lbi
+lsub $lr16v $t $omr1/$imr1; l1bmm $lbi $lm8v
+lpassa/$imr1 $ls2 $nowrite
+lsub $mabid $ls24v $omr1; l1bmrliadd $aluf $lbi
+lsub $lr24v $t $omr1/$imr1; l1bmm $lbi $lm16v
+lpassa/$imr1 $ls2 $nowrite
+l1bmrliadd $aluf $lbi
+l1bmm $lbi $lm24v
+
+lpackbit $mabid $ln0 $t
+nop
+l1bmrliadd $lmt0 $lbi
+l1bmm $lbi $ln0