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