global: Small fixes to asm scripts ("==" problem)
[h316.git] / bin / asm
diff --git a/bin/asm b/bin/asm
index 883225d8930618cd5604f50ac2c3ed84c8ded430..03336f9b4ccbb2876dd6b871d87383f55900de2a 100755 (executable)
--- a/bin/asm
+++ b/bin/asm
@@ -1,43 +1,61 @@
-#!/bin/bash
+#!/bin/sh
 # Assembler wrapper for simh h316
 
 if [ ! $1 ] ; then
-    echo "Argument fehlt!"
+    echo -e "Assembler: Input file missing!"
     exit 2
 fi
 
+echo -en "Assembler: Translating \"$1\":"
+
+for n in $*; do
+  if [ $n = "/v" ]; then
+    VERBOSE=yes
+  fi
+done
+
 name=`basename $1 .asm`
 listfile=$name.lst
 
 cat $1 | tab | paron > $name.par
+
 rm  -f $name.lst
 rm  -f $name.obj
 
-echo "rest  $H316/sys/dap.sys" > $name.go
-echo "d a 120420" >> $name.go
-echo "at ptr $name.par" >> $name.go
-echo "at ptp $name.obj" >> $name.go
-echo "at tty3 $listfile" >> $name.go
-echo "set tty3 uascii" >> $name.go
-echo "set tty3 start" >> $name.go
-echo "go" >> $name.go
-echo "d ptr pos 0" >> $name.go
-echo "go" >> $name.go
-echo "quit" >> $name.go
-h316 $name.go > /dev/null
-
-rm -f $name.par
-rm -f $name.go
+cat > $name.go <<EOF
+rest  $H316/sys/dap.sys
+r
+d a 120420
+d p 1000 
+at ptr $name.par 
+at ptp $name.obj 
+at tty3 $listfile 
+set tty3 uascii 
+set tty3 start 
+go 
+d ptr pos 0 
+go 
+quit 
+EOF
+
+if [ "$VERBOSE" = "yes" ]; then
+  h316 $name.go 
+else
+  h316 $name.go > /dev/null
+fi
+
 
 if cat $name.lst | grep "NO ERRORS IN ABOVE ASSEMBLY">/dev/null 2>&1; then
        if [ !  $2  ]; then
                rm $name.lst
+               rm -f $name.par
+               rm -f $name.go
        fi
-       echo "DAP-16 assembly successfull :-)"
+       echo " Success."
        exit 0
 fi
 cat $name.lst
-echo -e "\nDAP-16 assembly FAILED!"
+echo -e " FAILED!"
 rm -f $name.obj
 exit 77