aboutsummaryrefslogtreecommitdiff
path: root/ops/sr/gen_sr.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ops/sr/gen_sr.sh')
-rwxr-xr-xops/sr/gen_sr.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/ops/sr/gen_sr.sh b/ops/sr/gen_sr.sh
new file mode 100755
index 0000000..0de47a2
--- /dev/null
+++ b/ops/sr/gen_sr.sh
@@ -0,0 +1,39 @@
+# shift right register o
+for i in $(seq 0 63); do
+ opname=sro"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, a, x, y, (sreg_t)o >> $i);" \
+ "}" > "$filename"
+done
+
+# shift right register x
+for i in $(seq 0 63); do
+ opname=srx"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, a, (sreg_t)x >> $i, y, o);" \
+ "}" > "$filename"
+done
+
+# shift right register y
+for i in $(seq 0 63); do
+ opname=sry"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, a, x, (sreg_t)y >> $i, o);" \
+ "}" > "$filename"
+done
+
+# shift right register a
+for i in $(seq 0 63); do
+ opname=sra"$i"
+ filename="$opname".c
+ echo "#include \"../common.h\"\n" \
+ "DEFINE_OP($opname) {" \
+ "NEXT_OP(sp, (sreg_t)a >> $i, x, y, o);" \
+ "}" > "$filename"
+done