I fixed a few typos in ds.s and I made a pretend llss instruction in a7out.

This commit is contained in:
Warren Toomey
2016-03-03 19:46:34 +10:00
parent d33ce4c69f
commit d3f6924a9c
2 changed files with 44 additions and 26 deletions
+36 -25
View File
@@ -2,7 +2,7 @@
lac 017777 i lac 017777 i
sad d8 sad d8
skp skp
sys exit sys exit
lac 017777 lac 017777
tad d5 tad d5
@@ -12,13 +12,16 @@
dac fo dac fo
law 017 law 017
sys creat; scrname sys creat; scrname
spa; jms error spa
jms error
dac fso dac fso
sys open; scrname; 0 sys open; scrname; 0
spa; jms error spa
jms error
dac fsi dac fsi
sys chdir; dd sys chdir; dd
spa; jms error spa
jms error
lac d1 lac d1
sys write; pass1; 1 sys write; pass1; 1
law fsobuf law fsobuf
@@ -31,12 +34,14 @@
dac dirp dac dirp
dzm fsloc dzm fsloc
sys open; dotdot; 0 sys open; dotdot; 0
spa; jms error spa
jms error
dac fd dac fd
jms readdir; dotdot jms readdir; dotdot
law statbuf law statbuf
sys status; dotdot; dotdot sys status; dotdot; dotdot
spa; jms error spa
jms error
lac statbuf+12 " i index lac statbuf+12 " i index
dac dirp i dac dirp i
isz dirp isz dirp
@@ -75,13 +80,15 @@ loop:
sys read; scrname; 4 sys read; scrname; 4
law statbuf law statbuf
sys status; dotdot; scrname sys status; dotdot; scrname
spa; jms error spa
jms error
lac statbuf+0 " flags lac statbuf+0 " flags
and o20 and o20
sna sna
jmp 2f jmp 2f
sys open; scrname; 0 sys open; scrname; 0
spa; jms error spa
jms error
dac fd dac fd
jms readdir; scrname jms readdir; scrname
lac ddfilp i lac ddfilp i
@@ -109,7 +116,7 @@ loop:
dzm fflg dzm fflg
law fbuf law fbuf
dac i2 dac i2
r1 -1
tad nfiles tad nfiles
cma cma
dac c2 dac c2
@@ -118,19 +125,19 @@ loop:
lac c1 lac c1
tad d501 tad d501
sad i2 i sad i2 i
skp skp
jmp 3f jmp 3f
-1 -1
tad i1 tad i1
dac i3 dac i3
iac i3 i lac i3 i
dac c3 dac c3
law fbuf law fbuf
dac i3 dac i3
0: 0:
lac i3 i lac i3 i
sad c3 sad c3
jmp 0f jmp 0f
isz i3 isz i3
isz i3 isz i3
jmp 0b jmp 0b
@@ -159,14 +166,15 @@ loop:
lac nlinkt lac nlinkt
sad nlinka sad nlinka
skp skp
jms fishy jms fishy
dzm nlinka dzm nlinka
law 012 law 012
jms putc jms putc
law statbuf law statbuf
sys status; scrname; dd sys status; scrname; dd
spa; jms error spa
jms error
-1 -1
tad statbuf+9 tad statbuf+9
cma cma
@@ -188,7 +196,7 @@ loop:
isz i2 isz i2
lac i2 lac i2
sad i1 i sad i1 i
skp skp
jmp .+3 jmp .+3
isz i1 isz i1
isz i1 isz i1
@@ -199,7 +207,7 @@ loop:
jmp 1b jmp 1b
lac nlinkt lac nlinkt
sad nlinka sad nlinka
skp skp
jms fishy jms fishy
sys chdir; system sys chdir; system
@@ -267,9 +275,10 @@ readdir: 0
jms copyz; buf; 64 jms copyz; buf; 64
lac fd lac fd
sys read; buf; 64 sys read; buf; 64
spa; jms error spa
jms error
sna sna
jmp 4f jmp 4f
-8 -8
dac c1 dac c1
law buf law buf
@@ -277,7 +286,7 @@ readdir: 0
1: 1:
lac i1 i lac i1 i
sna sna
jmp 3f jmp 3f
isz nfiles isz nfiles
dac filp i dac filp i
@@ -292,7 +301,8 @@ readdir: 0
dac .+4 dac .+4
law statbuf law statbuf
sys status; 5:..; .. sys status; 5:..; ..
spa; jms error spa
jms error
jms longout jms longout
lac i1 lac i1
tad d1 tad d1
@@ -316,7 +326,7 @@ readdir: 0
isz fsopt isz fsopt
law fsobuf+64 law fsobuf+64
sad fsopt sad fsopt
skp skp
jmp 3f jmp 3f
lac fso lac fso
sys write; fsobuf; 64 sys write; fsobuf; 64
@@ -365,7 +375,8 @@ octal: 0
lac octal i lac octal i
dac c dac c
1: 1:
ecla llss 3 " ecla llss 3
llss 3
tad o60 tad o60
jms putc jms putc
isz c isz c
@@ -401,10 +412,10 @@ copyz: 0
done: done:
lac noc lac noc
sna sna
sys exit sys exit
and d1 and d1
sna cla sna cla
jmp 1f jmp 1f
jms putc jms putc
jmp done jmp done
1: 1:
+8 -1
View File
@@ -492,8 +492,15 @@ sub eae {
$PC++; $PC++;
return; return;
} }
if ( $maskedinstr == 0660600 ) { # llss: long left shift, signed
# We don't use MQ yet!
dprintf( "llss AC %06o step %d\n", $AC, $step );
$AC = ( $AC << $step ) & MAXINT;
$PC++;
return;
}
if ( $maskedinstr == 0640700 ) { # als: long left shift if ( $maskedinstr == 0640700 ) { # als: long left shift
dprintf( "alss AC %06o step %d\n", $AC, $step ); dprintf( "als AC %06o step %d\n", $AC, $step );
$AC = ( $AC << $step ) & MAXINT; $AC = ( $AC << $step ) & MAXINT;
$PC++; $PC++;
return; return;