PDP 11/45 light chaser
Guy Sotomayor
ggs at shiresoft.com
Mon May 23 10:38:28 CDT 2005
On Sun, 2005-05-22 at 20:49 -0500, Jay West wrote:
> Jim wrote....
> > Location Content Op-code comment
> > 001000 012700 mov #1,r0 load ro with 1
> > 001002 000001
> > 001004 006100 rol rotate r1 left
> > 001006 012701 mov delay r1 load register r1 with delay
> > 001010 007777 delay
> > 001012 005301 dec r1 decrement register 1
> > 001014 001376 bne -2 continue to decrement r1 until
> > r1=0
> > 001016 000772 br -12 back to 001002 (dec r0)
>
> This runs on my /45, but produces a steady light display, not a cylon or
> "blinking" effect. It's been decades since I looked at '11 assembler. I'm
> confused about something in the listing above. If the 012700 at location
> 1000 is a load r0 with 1, I'm guessing the next word (1002) is the constant
> to be loaded? So, why would the branch at location 1016 go back to the data
> at 1002? Obviously there's something I'm missing. Guidance? If 1002 is a DEC
> R0 instruction, then where's the constant "1" for the mov#1,r0 stored in the
> object? Humm?
Here's the light chaser I use:
1 .asect
2 001000 . = 1000
3 start:
4 001000 005000 clr r0
5 001002 005200 inc r0
6 loop:
7 001004 006100 rol r0
8 001006 000005 reset
9 001010 000775 br loop
10 .end start
--
TTFN - Guy
More information about the cctalk
mailing list