mirror of
https://github.com/DoctorWkt/pdp7-unix.git
synced 2026-01-28 21:01:39 +00:00
Merge branch 'master' of https://github.com/DoctorWkt/pdp7-unix
This commit is contained in:
@@ -11,7 +11,7 @@ jmp start
|
||||
cma
|
||||
tad lastv
|
||||
dac lastv
|
||||
imq
|
||||
lmq
|
||||
lac sp
|
||||
tad d1
|
||||
dac sp i
|
||||
@@ -82,10 +82,10 @@ getc: 0
|
||||
jmp getc i
|
||||
|
||||
putc: 0
|
||||
and 0777
|
||||
and o777
|
||||
sna
|
||||
jmp putc i
|
||||
imq
|
||||
lmq
|
||||
lac oflg
|
||||
sza
|
||||
jmp 1f
|
||||
@@ -132,7 +132,7 @@ flush: 0
|
||||
lac obufp
|
||||
dac 1f
|
||||
lac .fout
|
||||
sys write; 1: :.; ..
|
||||
sys write; 1: ..; ..
|
||||
lac obufp
|
||||
dac cobufp
|
||||
dzm oflg
|
||||
|
||||
@@ -11,7 +11,7 @@ fetch:
|
||||
lmq
|
||||
and o17777
|
||||
dac addr
|
||||
ecla lls 4
|
||||
cla; lls 4 " XXX replaced for now: ecla lls 4
|
||||
tad .+3
|
||||
dac .+1
|
||||
jmp .. i
|
||||
|
||||
10
src/cmd/bl.s
10
src/cmd/bl.s
@@ -11,7 +11,7 @@ jmp start
|
||||
cma
|
||||
tad lastv
|
||||
dac lastv
|
||||
imq
|
||||
lmq
|
||||
lac sp
|
||||
tad d1
|
||||
dac sp i
|
||||
@@ -82,10 +82,10 @@ getc: 0
|
||||
jmp getc i
|
||||
|
||||
putc: 0
|
||||
and 0777
|
||||
and o777
|
||||
sna
|
||||
jmp putc i
|
||||
imq
|
||||
lmq
|
||||
lac oflg
|
||||
sza
|
||||
jmp 1f
|
||||
@@ -115,7 +115,7 @@ stop:
|
||||
jms flush
|
||||
las
|
||||
sma
|
||||
sys save
|
||||
sys exit " XXX replaced for now: sys save
|
||||
sys exit
|
||||
|
||||
flush: 0
|
||||
@@ -132,7 +132,7 @@ flush: 0
|
||||
lac obufp
|
||||
dac 1f
|
||||
lac .fout
|
||||
sys write; 1: :.; ..
|
||||
sys write; 1: ..; ..
|
||||
lac obufp
|
||||
dac cobufp
|
||||
dzm oflg
|
||||
|
||||
9
src/other/hello.b
Normal file
9
src/other/hello.b
Normal file
@@ -0,0 +1,9 @@
|
||||
main $(
|
||||
write('He');
|
||||
write('ll');
|
||||
write('o,');
|
||||
write(' W');
|
||||
write('or');
|
||||
write('ld');
|
||||
write('!*n');
|
||||
$)
|
||||
40
src/other/hello.s
Normal file
40
src/other/hello.s
Normal file
@@ -0,0 +1,40 @@
|
||||
.main: .+1
|
||||
s 2
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
36965
|
||||
n 3 " etcop call
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
55404
|
||||
n 3 " etcop call
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
56876
|
||||
n 3 " etcop call
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
16471
|
||||
n 3 " etcop call
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
56946
|
||||
n 3 " etcop call
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
55396
|
||||
n 3 " etcop call
|
||||
x .write
|
||||
n 2 " etcop mark
|
||||
n 5 " etcop litrl
|
||||
16906
|
||||
n 3 " etcop call
|
||||
x .flush
|
||||
n 1 " etcop mcall
|
||||
n 7 " etcop retrn
|
||||
10
tools/a7out
10
tools/a7out
@@ -543,6 +543,16 @@ sub eae {
|
||||
$PC++;
|
||||
return;
|
||||
}
|
||||
if ( $maskedinstr == 0640600 ) { # lls: long left shift
|
||||
dprintf( "lls AC %06o step %d\n", $AC, $step );
|
||||
foreach my $i ( 1 .. $step ) {
|
||||
my $MQmsb = ( $MQ & SIGN ) ? 1 : 0;
|
||||
$AC = ( ( $AC << 1 ) | $MQmsb ) & MAXINT;
|
||||
$MQ = ( ( $MQ << 1 ) | ( ($LINK) ? 1 : 0 ) ) & MAXINT; # XXX how to handle unsigned?
|
||||
}
|
||||
$PC++;
|
||||
return;
|
||||
}
|
||||
if ( $maskedinstr == 0640700 ) { # als: AC left shift
|
||||
dprintf( "als AC %06o step %d\n", $AC, $step );
|
||||
$AC = ( $AC << $step ) & MAXINT;
|
||||
|
||||
Reference in New Issue
Block a user