b0031f2a |
1 | #!/bin/sh |
c08e22bb |
2 | # Assembler wrapper for simh h316 |
3 | |
4 | if [ ! $1 ] ; then |
e5c436a2 |
5 | echo "Argument missing!" |
c08e22bb |
6 | exit 2 |
7 | fi |
8 | |
e5c436a2 |
9 | for n in $*; do |
10 | if [ $n == "/v" ]; then |
11 | VERBOSE=yes |
12 | fi |
13 | done |
14 | |
c08e22bb |
15 | name=`basename $1 .asm` |
16 | listfile=$name.lst |
17 | |
18 | cat $1 | tab | paron > $name.par |
b0031f2a |
19 | |
c08e22bb |
20 | rm -f $name.lst |
21 | rm -f $name.obj |
22 | |
b0031f2a |
23 | cat > $name.go <<EOF |
24 | rest $H316/sys/dap.sys |
fa105a9b |
25 | r |
e5c436a2 |
26 | d a 120420 |
27 | d p 1000 |
b0031f2a |
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 | |
e5c436a2 |
39 | if [ "$VERBOSE" == "yes" ]; then |
40 | h316 $name.go |
41 | else |
42 | h316 $name.go > /dev/null |
43 | fi |
c08e22bb |
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 | |