Patrick Finnegan wrote:
I'm trying to get some assembly code to run on my
11/23 by entering it in
at the ODT, and it seems like I'm having trouble with device I/O
addresses.
Below is a listing of the assembled code I'm trying - I got the I/O
address out of a PDP-11 assembly programming book I got from the library.
Most likely the book was written with a UNIBUS -11 in mind, not a QBUS
one... is that a problem?
1 000000 LC=.
2 001000 .=LC+1000
3
4 177564 XSR=177564
5 177566 XBUF=177566
6
7 001000 012767 000110 177566' MOV #110,XBUF
8 001006 105767 177564' L1: TSTB XSR
9 001012 100375 BPL L1
10 001014 012767 000064 177566' MOV #64,XBUF
11 001022 105767 177564' L2: TSTB XSR
12 001026 100375 BPL L2
13 001030 012767 000130 177566' MOV #130,XBUF
14 001036 105767 177564' L3: TSTB XSR
15 001042 100375 BPL L3
16 001044 012767 000060 177566' MOV #60,XBUF
17 001052 105767 177564' L4: TSTB XSR
18 001056 100375 BPL L4
19 001060 012767 000122 177566' MOV #122,XBUF
20 001066 105767 177564' L5: TSTB XSR
21 001072 100375 BPL L5
22 001074 000005 RESET
23 001076 000000 HALT
Jerome Fine replies:
I see the string 177564' for XSR and 177566' for XBUF, but the
listing does not have the actual value. Depending on the translation, that
could be the problem.
NORMALLY, in order to avoid problems, I use the code:
001000 112737 000110 177566 MovB #110, @#XBUF
which forces the output to 177566 no matter what address is used for the
instruction. Note that I also output ONLY a byte.
Please let us know if this helps.
Sincerely yours,
Jerome Fine
--
If you attempted to send a reply and the original e-mail
address has been discontinued due a high volume of junk
e-mail, then the semi-permanent e-mail address can be
obtained by replacing the four characters preceding the
'at' with the four digits of the current year.