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 |
e5c436a2 |
25 | d a 120420 |
26 | d p 1000 |
b0031f2a |
27 | at ptr $name.par |
28 | at ptp $name.obj |
29 | at tty3 $listfile |
30 | set tty3 uascii |
31 | set tty3 start |
32 | go |
33 | d ptr pos 0 |
34 | go |
35 | quit |
36 | EOF |
37 | |
e5c436a2 |
38 | if [ "$VERBOSE" == "yes" ]; then |
39 | h316 $name.go |
40 | else |
41 | h316 $name.go > /dev/null |
42 | fi |
c08e22bb |
43 | |
44 | rm -f $name.par |
45 | rm -f $name.go |
46 | |
47 | if cat $name.lst | grep "NO ERRORS IN ABOVE ASSEMBLY">/dev/null 2>&1; then |
48 | if [ ! $2 ]; then |
49 | rm $name.lst |
50 | fi |
51 | echo "DAP-16 assembly successfull :-)" |
52 | exit 0 |
53 | fi |
54 | cat $name.lst |
55 | echo -e "\nDAP-16 assembly FAILED!" |
56 | rm -f $name.obj |
57 | exit 77 |
58 | |