[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: /real/ programmers...[OFFTOPIC]



You got me alright! But then I haven't even seen a PDP 11 since early 1985. BTW,
do you remember the 47's  test? As far as I recall, you loaded 004747 into some
memory location,
and set its address into R7 ...

Ilya Tsindlekht wrote:

> On Mon, Apr 05, 1999 at 02:07:12AM +0200, Daniel Feiglin wrote:
> > Oh, tush!
> >
> > And do any of you /real/programmers recall RSX 11 sysgens?
> I do!! I do!! (Well, actually, not the real thing but Eastern-block ripoffs of
> it).  I even was hired to do a sysgen!
> > SET TTY=/COFFEEBREAK
> Eh, gotcha! Shouldn't it be  'SET /COFFEEBREAK=TI:'?

Probably.

> I wrote a version of tetris in assembly for it! I could crack priveleged
> access on it! I think I even remember some opcodes! Let's see, in octal, of
> course,
> 010102 : MOV R1,R2       ;copy value of R1 in R2
> 011102 : MOV (R1),R2     ;copy word at address pointed by R1 into R2
> 111102 : MOVB (R1),R2    ;-"- byte -"-.................
> 012102 : MOV (R1)+,R2    ; copy word at address pointed by R1 into R2 and
>                          ;increment R1 by its size (2)
>                          ; probably inspired *p++ construct in C
> 013102 : MOV @(R1)+,R2   ; *(*p++)
> 014102 : MOV -(R1),R2    ; note, that decrement, unlike increment, is done
>                          ; before operation (like *--p, not *p--)
> 015212 : MOV @-(R2),(R3)
> 023102 : ADD @(R1)+,R2   ; add first operand to second
> 033102 : BIC @(R1)+,R2   ; clear bitmask specified by first operand in second
>                          ; operand (i.e. AND NOT)
> 043102 : BIS @(R1)+,R2   ; set -"- ... -"- (i.e. or )
> 016212 <foo> : MOV foo(R2),(R3)
> 017212 <foo> : MOV @foo(R2),(R3)
> This illustrates all 7 basic addressing modes. Since R7 is program counter, we
> have additional modes by using it as addressing register, e.g.:
> 012700 foo: MOV #foo,R0; constant
> 013700 foo: MOV @#foo,R0 ; absolute address.
> 016700 foo: MOV bar,R0 ; relative address: bar = foo + address of next
>                        ; instruction
> 016700 foo: MOV @bar,R0; indirect relative address:
>
> Also,IIRC:
> 000000 : HALT
> 000001 : WAIT
> 000004 : IOT ; What do you quiche eaters think SIGIOT stands for?
> 000005 : RESET
> Which prize do I get?

 Hmmm. You might be caught in your trap for a long time. Can't recall the details,
apart from that you've placed each
instruction at an address eqaul to its opcode. Can that do anything?
begin:          vcard
fn:             Daniel Feiglin
n:              Feiglin;Daniel
org:            Dilog Computers Ltd.
adr:            POB 36;;;Shavei Shomron, Mobile Post;;44858;ISRAEL
email;internet: dilogsys@inter.net.il
tel;work:       972 9 861 6204
tel;fax:        972 9 862 1052
tel;home:       972 9 832 0939
x-mozilla-cpt:  ;0
x-mozilla-html: FALSE
version:        2.1
end:            vcard