<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">+1 Paul's comments</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">some resources - cut and pasted from a message to a young engineer/mentee/student I have at the moment ;-)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div class="gmail_default" style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><font face="arial, helvetica, sans-serif"><a href="http://bitsavers.trailing-edge.com/pdf/dec/pdp11/handbooks/PDP11_Handbook1979.pdf">PDP11 Processor Handbook 1979</a></font><br></div><div class="gmail_default" style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div class="gmail_default" style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><a href="http://www.bitsavers.org/www.computer.museum.uq.edu.au/RT-11/AA-5075A-TC%20PDP-11%20MACRO-11%20Language%20Reference%20Manual.pdf">AA-5075A-TC PDP-11 MACRO-11 Language Reference Manual (RT-11)</a><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;color:rgb(34,34,34);font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="color:rgb(34,34,34);font-family:arial,helvetica,sans-serif;font-size:16px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">$5 used on Amazon: <span> </span></span><a href="https://www.amazon.com/Introduction-Assembly-Language-Prentice-Hall-software/dp/0134917049" target="_blank" style="color:rgb(17,85,204);font-family:arial,helvetica,sans-serif;font-size:16px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255)">https://www.amazon.com/<wbr>Introduction-Assembly-<wbr>Language-Prentice-Hall-<wbr>software/dp/0134917049</a><span style="color:rgb(34,34,34);font-family:arial,helvetica,sans-serif;font-size:16px;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">  </span></div><br class="gmail-Apple-interchange-newline"></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><br></div><div hspace="streak-pt-mark" style="max-height:1px"><img alt="" style="width:0px;max-height:0px;overflow:hidden" src="https://mailfoogae.appspot.com/t?sender=aY2xlbWNAY2NjLmNvbQ%3D%3D&type=zerocontent&guid=bb8236ff-a5a7-4467-ad05-2261550a3b15"><font color="#ffffff" size="1">ᐧ</font></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 16, 2018 at 10:15 AM, Paul Koning <span dir="ltr"><<a href="mailto:paulkoning@comcast.net" target="_blank">paulkoning@comcast.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mike,<br>
<br>
You should get yourself a good intro to the PDP-11, for example one of the PDP-11 Processor Handbook copies you can find on Bitsavers.  It answers that question and many others.<br>
<br>
The key point is that you have to distinguish virtual addresses from physical ones.  The I/O device addresses are physical addresses.  The program uses virtual addresses.  Physical addresses can be 16, 18, or 22 bits depending on the model; virtual addresses are always 16 bits.<br>
<br>
The power on default mapping is that physical addresses 0-157777 map to physical addresses with leading zeroes; virtual addresses 160000 and up map to physical adddresses with leading ones.  So, for example,<br>
<br>
        mov     #101, @#177566<br>
<br>
moves the value 0101 (decimal 65, the ASCII code for "A") to physical address 17 777 566 which should result in A appearing on the console output.<br>
<br>
On machines with an MMU (which is most of them) the mapping from virtual to physical can be changed, and for example the "I/O page" (top 4kW of physical memory) might not be accessible.  But by universal software convention, in kernel mode 160000 and up (MMU page 7) are always mapped to the physical I/O page address range.<br>
<span class="HOEnZb"><font color="#888888"><br>
        paul<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
> On Feb 16, 2018, at 10:05 AM, Mike Stramba <<a href="mailto:mikestramba@gmail.com">mikestramba@gmail.com</a>> wrote:<br>
><br>
> Greetings,<br>
><br>
> I'm trying to figure out how console I/O works with the PD11.<br>
><br>
> Or more generally I/O addressing<br>
><br>
> E.g.<br>
> A  "sh TTO"  gives :<br>
><br>
> TTO, address=17777564-17777567, vector=64, 7p<br>
><br>
> And 17777564 (octal) is 4,194,164 dec, which is obviously out of range<br>
> of the 64K addressable by any MOV instruction.<br>
><br>
> But various diagnostic routines, e.g. below, are using<br>
>     movb rX,@#177566       ; output to console<br>
><br>
> <a href="https://www.ak6dn.com/PDP-11/M9312/23-248F1/23-248F1.mac" rel="noreferrer" target="_blank">https://www.ak6dn.com/PDP-11/<wbr>M9312/23-248F1/23-248F1.mac</a><br>
><br>
> Are I/O devices always at the "top 64k" of memory ?<br>
><br>
> If so, why doesn't  SH DEV display :<br>
><br>
> xxx xxx-177 777  ?<br>
><br>
> Mike<br>
> ______________________________<wbr>_________________<br>
> Simh mailing list<br>
> <a href="mailto:Simh@trailing-edge.com">Simh@trailing-edge.com</a><br>
> <a href="http://mailman.trailing-edge.com/mailman/listinfo/simh" rel="noreferrer" target="_blank">http://mailman.trailing-edge.<wbr>com/mailman/listinfo/simh</a><br>
<br>
______________________________<wbr>_________________<br>
Simh mailing list<br>
<a href="mailto:Simh@trailing-edge.com">Simh@trailing-edge.com</a><br>
<a href="http://mailman.trailing-edge.com/mailman/listinfo/simh" rel="noreferrer" target="_blank">http://mailman.trailing-edge.<wbr>com/mailman/listinfo/simh</a></div></div></blockquote></div><br></div>