0fabd8d65d64d55d9ac9db99635af1a233e3e29a
[h316.git] / bin / asm
1 #!/bin/sh
2 # Assembler wrapper for simh h316
3
4 if [ ! $1 ] ; then
5 echo -e "Assembler: Input file missing!"
6 exit 2
7 fi
8
9 echo -en "Assembler: Translating \"$1\":"
10
11 for n in $*; do
12 if [ $n == "/v" ]; then
13 VERBOSE=yes
14 fi
15 done
16
17 name=`basename $1 .asm`
18 listfile=$name.lst
19
20 cat $1 | tab | paron > $name.par
21
22 rm -f $name.lst
23 rm -f $name.obj
24
25 cat > $name.go <<EOF
26 rest $H316/sys/dap.sys
27 r
28 d a 120420
29 d p 1000
30 at ptr $name.par
31 at ptp $name.obj
32 at tty3 $listfile
33 set tty3 uascii
34 set tty3 start
35 go
36 d ptr pos 0
37 go
38 quit
39 EOF
40
41 if [ "$VERBOSE" == "yes" ]; then
42 h316 $name.go
43 else
44 h316 $name.go > /dev/null
45 fi
46
47
48 if cat $name.lst | grep "NO ERRORS IN ABOVE ASSEMBLY">/dev/null 2>&1; then
49 if [ ! $2 ]; then
50 rm $name.lst
51 rm -f $name.par
52 rm -f $name.go
53 fi
54 echo " Success."
55 exit 0
56 fi
57 cat $name.lst
58 echo -e " FAILED!"
59 rm -f $name.obj
60 exit 77
61