diff options
Diffstat (limited to 'ops/sr/gen_sr.sh')
| -rwxr-xr-x | ops/sr/gen_sr.sh | 39 |
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 |
