aboutsummaryrefslogtreecommitdiff
path: root/ops/sr/gen_sr.sh
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-06-24 20:48:32 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-06-24 22:10:50 +0300
commit422b6c976e28445d2a6e14586fa416b0f16c093f (patch)
treea6bf3364cec45ed0c5d48e346a76a98fe9d0094a /ops/sr/gen_sr.sh
downloadcopyjit-422b6c976e28445d2a6e14586fa416b0f16c093f.tar.gz
copyjit-422b6c976e28445d2a6e14586fa416b0f16c093f.zip
initial commit
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