1
0
mirror of https://github.com/DoctorWkt/unix-jun72.git synced 2026-04-04 21:17:40 +00:00

- reviewed some of the notes made during entry and adjusted them

according to what seemed right by reading the code.  Documented
  all of the changes in notes.txt.  Mostly accepting the hand written
  corrections in the pdf file.
This commit is contained in:
tim.newsham
2008-05-01 03:02:29 +00:00
parent e45f816e9f
commit f7108bb0eb
5 changed files with 30 additions and 5 deletions

View File

@@ -97,9 +97,15 @@ e01-06
e02-05
- label "1:" is overstruck with "/" in the listing. leaving the
label in place. Should be reviewed for semantic meaning.
- the struck label is referenced below as "1b" right before
"nig:" on e02-06. I believe removing the label would cause
an extra comparison to occur but not change he semantics of
the loop.
e02-09
- extra label "sysquit:" handwritten after "sysintr:". Leaving
the extra label out.
- adding it back in. this label is referenced in the syscall
table (u1.s) but not defined elsewhere.
e02-10
- comment says "cdev has device =" it probably means "#" and could
have just been a weak print of "#", but leaving as "=".
@@ -125,9 +131,10 @@ indicate two different people commenting the code. I left each as the original.
e05-01
- line 9 has a crossed out term, so i used the correction "r2"
e05-01
e05-02
- line 48 comment says "panic / found no tres storage" - left it as "tres"
no idea whether it is supposed to be "tree", "free", or "tres"
- reviewed, looks clearly "free", fixed.
e05-04
- some of the latter parts of the code have comments "/ ?", left as is
@@ -150,12 +157,19 @@ if the rule is specified, so I leave them there.
e07-01
- left "cmp r0,$4" as is. There is a write in correction
for "r1" for "r0".
- reviewed this, r1 has the character at this point and $4 is
control-D. The write-in looks correct.
- left "to" as is after ttych: There is a write in correction
for "from" instead of "to".
e07-04
- left "asr r0" as is. There is a write in correction
for "r2" for "r0".
- changed it to "r2". The comments clearly say "r2". The
value comes from a call to "get" right before the call to
this code ("put"), a page earlier inside the getc function.
"r2" was previously multipled by 2 in get, so this divide
by 2 makese sense to undo that.
e07-07
- printout has: "mov $240.*$ps" but this is invalid syntax and
@@ -174,17 +188,28 @@ e08-*
e09-01
- I'm using tabs between opcode and operands now
- left "bic $!77,r1" although written comment says "? !177"
- changing to "$!177". This is masking off the high bit of
the received ascii character. shortly after this it compares
with $177 (delete) so clearly its not supposed to mask off
both hight bits ($!77). Also later in the other e09 pages
similar operations are performed.
e09-02
- left "movb tty+38r0),r1" as is. There's a write in
correction for "(" instead of "8". This concerns me as it
means there are probably some errors in this listing as
the paren is most likely the right character here.
- fixed this to allow assembly to work.
e09-03
- hard to tell due to hand written correction, but I believe
the line before "rts r0" reads "mov (sp)+,r0"
- this makes sense since r0 is pushed onto the stack at the
start of the function.
- comment "ASC11" (one instead of I) left as is.
e09-04
- text comment says a label was lost! leaving it out for now.
- adding it back. This looks like a switch table starting
at the missing label (or actually one instruction before
the label, weird that they wrote it this way).
- correction "if count >=0" obscures original text in comment.
no choice but to use new text.
- "ASC11" sic

View File

@@ -46,7 +46,7 @@ alloc:
add $16.,r1
cmp r1 ,(sp) / have we examined all free storage bytes
blo 1b
jmp panic / found no tres storage
jmp panic / found no free storage
1:
asr r3 / find a free block
bcs 1f / branch when free block found; bit for block k is in

View File

@@ -1,5 +1,5 @@
put:
asr r0 / divide r2 by 2; r2 is offset in clist
asr r2 / divide r2 by 2; r2 is offset in clist
mov r2,-(sp) / save r2 on stack
movb cl+1(r1),r2 / move offset of last char in list (r1) into r2
beq 1f / offset = 0 then go to 1f (i.e., start a new list)

View File

@@ -32,7 +32,7 @@ trcv:
bitb $100,tty+4(r0)
beq 2f / non-37 parity not allowed
4:
bic !77,r1
bic $!177,r1
bit $40,tty+4(r0)
bne 3f / raw
cmp r1,$177

View File

@@ -21,7 +21,7 @@
incb (r2) / normal / jmp to location determined by digits
/ 0 and 1 of character's entry in "partab" which
/ is now in r3
rts r0 / non-printing
1: rts r0 / non-printing
br 1f / bs
br 2f / nl (line feed)
br 3f / tab (horizontal tab)