b0031f2a |
1 | #!/bin/sh |
c08e22bb |
2 | # Assembler wrapper for simh h316 |
3 | |
4 | if [ ! $1 ] ; then |
d6a1a234 |
5 | echo -e "Assembler: Input file missing!" |
c08e22bb |
6 | exit 2 |
7 | fi |
8 | |
d6a1a234 |
9 | echo -en "Assembler: Translating \"$1\":" |
6f41bb44 |
10 | |
e5c436a2 |
11 | for n in $*; do |
2a870fd8 |
12 | if [ $n = "/v" ]; then |
e5c436a2 |
13 | VERBOSE=yes |
14 | fi |
15 | done |
16 | |
c08e22bb |
17 | name=`basename $1 .asm` |
18 | listfile=$name.lst |
19 | |
20 | cat $1 | tab | paron > $name.par |
b0031f2a |
21 | |
c08e22bb |
22 | rm -f $name.lst |
23 | rm -f $name.obj |
24 | |
b0031f2a |
25 | cat > $name.go <<EOF |
26 | rest $H316/sys/dap.sys |
fa105a9b |
27 | r |
e5c436a2 |
28 | d a 120420 |
29 | d p 1000 |
b0031f2a |
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 | |
2a870fd8 |
41 | if [ "$VERBOSE" = "yes" ]; then |
e5c436a2 |
42 | h316 $name.go |
43 | else |
44 | h316 $name.go > /dev/null |
45 | fi |
c08e22bb |
46 | |
c08e22bb |
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 |
6f41bb44 |
51 | rm -f $name.par |
52 | rm -f $name.go |
c08e22bb |
53 | fi |
d6a1a234 |
54 | echo " Success." |
c08e22bb |
55 | exit 0 |
56 | fi |
57 | cat $name.lst |
d6a1a234 |
58 | echo -e " FAILED!" |
c08e22bb |
59 | rm -f $name.obj |
60 | exit 77 |
61 | |