re duplicates Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
On 2017-Jan-11, at 12:04 AM, Brent Hilpert wrote:
>> I've never heard of that '' bizzaro-stuff - where did you find that?
> 
> This one:
>   http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt
> 
> Reading more closely, the encoding has some relation back to BBC BASIC.
> I was beginning to wonder if it was some html character-encoding screwup.


Pardon all the duplicates. Other messages I was sending to cctalk in the same 
period were distributed by the list and received within milliseconds,
while these were just disappearing across hours.
Thought it might be some content causing them to be rejected so was trying 
editing out bits.
Never seen that behaviour before.



Re: pdp-11 assembly standards

2017-01-11 Thread Noel Chiappa
> From: Brent Hilpert

> This one:
> ...
> Reading more closely, the encoding has some relation back to BBC BASIC.

Given this (from the documentation):

  Assembler directives
  
  #include  Includes the specified file.
  #ifndef  Continue assembling if  is undefined.
  #ifdef   Continue assembling if  is defined.
  #if  Continue assembling if  is non-zero.
  #else   Toggle assembly.
  #endif  Continue assembling.

which is clearly C-related, I wonder if there is some relationship there (the
'%o' looks rather printf()-ish).

Although I note the documentation says "any valid value recognised by BBC
BASIC" - does BBC basic use the leading '%' notation for constants?

Noel


Re: pdp-11 assembly standards

2017-01-11 Thread Pete Turnbull

On 11/01/2017 08:02, Brent Hilpert wrote:

I've never heard of that '' bizzaro-stuff - where did you find that?


This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt

Reading more closely, the encoding has some relation back to BBC BASIC.


Yes, that syntax (&, , %) has nothing at all to do with DEC, and 
everything to do with how BBC BASIC works.


--
Pete
Pete Turnbull


Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
> I've never heard of that '' bizzaro-stuff - where did you find that?

This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt

Reading more closely, the encoding has some relation back to BBC BASIC.
I was beginning to wonder if it was some html character-encoding screwup.



Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
> I've never heard of that '' bizzaro-stuff - where did you find that?

This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt

Reading more closely, the encoding has some relation back to BBC BASIC.
I was beginning to wonder if it was some html character-encoding screwup.



Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
> I've never heard of that '' bizzaro-stuff - where did you find that?

This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt

Reading more closely, the encoding has some relation back to BBC BASIC.
I was beginning to wonder if it was some html character-encoding screwup.



Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
On 2017-Jan-10, at 5:03 AM, Noel Chiappa wrote:
>> From: Brent Hilpert
> One assembler doc uses a prefix of ""
>> 
>> So the answer is, by modern expectations the old standard would be
>> ambiguous or misleading.
> 
> Well, the ideas of 'assembler' and 'standard' don't really go together in my
> mind... :-)
> 
> But seriously, I don't know how many different PDP-11 assemblers there were,
> but the two _main_ ones (DEC's, and Unix's) both use the same numeric
> convention (although they differed in other ways, probably because of the
> CTSS/Multics erase character convention): a sequence of digits is an octal
> number, unless there's a trailing '.', in which case it's decimal.
> 
> (Well, technically, DEC had PAL-11 and MACRO-11, but PAL-11 was basically a
> subset of MACRO-11, and used the same number syntax.)
> 
> I've never heard of that '' bizzaro-stuff - where did you find that?
> 
>   Noel


This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt
Reading more closely, the encoding has some relation back to BBC BASIC.
I was beginning to wonder if it was some html character-encoding screwup.



Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
On 2017-Jan-10, at 5:03 AM, Noel Chiappa wrote:
>> From: Brent Hilpert
> One assembler doc uses a prefix of ""
>> 
>> So the answer is, by modern expectations the old standard would be
>> ambiguous or misleading.
> 
> Well, the ideas of 'assembler' and 'standard' don't really go together in my
> mind... :-)
> 
> But seriously, I don't know how many different PDP-11 assemblers there were,
> but the two _main_ ones (DEC's, and Unix's) both use the same numeric
> convention (although they differed in other ways, probably because of the
> CTSS/Multics erase character convention): a sequence of digits is an octal
> number, unless there's a trailing '.', in which case it's decimal.
> 
> (Well, technically, DEC had PAL-11 and MACRO-11, but PAL-11 was basically a
> subset of MACRO-11, and used the same number syntax.)
> 
> I've never heard of that '' bizzaro-stuff - where did you find that?
> 
>   Noel


This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt
Reading more closely, the encoding has some relation back to BBC BASIC.
I was beginning to wonder if it was some html character-encoding screwup.



Re: pdp-11 assembly standards

2017-01-11 Thread Brent Hilpert
On 2017-Jan-10, at 5:03 AM, Noel Chiappa wrote:
>> From: Brent Hilpert
> One assembler doc uses a prefix of ""
>> 
>> So the answer is, by modern expectations the old standard would be
>> ambiguous or misleading.
> 
> Well, the ideas of 'assembler' and 'standard' don't really go together in my
> mind... :-)
> 
> But seriously, I don't know how many different PDP-11 assemblers there were,
> but the two _main_ ones (DEC's, and Unix's) both use the same numeric
> convention (although they differed in other ways, probably because of the
> CTSS/Multics erase character convention): a sequence of digits is an octal
> number, unless there's a trailing '.', in which case it's decimal.
> 
> (Well, technically, DEC had PAL-11 and MACRO-11, but PAL-11 was basically a
> subset of MACRO-11, and used the same number syntax.)
> 
> I've never heard of that '' bizzaro-stuff - where did you find that?
> 
>   Noel


This one:
http://mdfs.net/Software/PDP11/Assembler/AsmPDP.txt
Reading more closely, the encoding has some relation back to BBC BASIC.
I was beginning to wonder if it was some html character-encoding screwup.




Re: pdp-11 assembly standards

2017-01-10 Thread Lars Brinkhoff
Noel Chiappa wrote:

> > From: Phil Budne
> > I've always assumed the P in PAL was for paper tape.
> > The Wikipedia artile for PDP-8 says that PAL-8 assembled from paper
> > tape into memory, so the A and L could have been for Assembler and
> > Loader.
>
> I have a number of different versions of the "PDP-11 Paper Tape
> Software" manual, and the earliest one (DEC-11-GGPB-D, March '71)
> turns out to be for PAL-11A, and it says it stands for "Program
> Assembly Language for the PDP-11's Absolute Assembler" (pg. 3-1).

Someone with a talent for making lists (*cough*Phil*cough*) ought to
compile a comprehensive table with all PAL and MACRO variants.


Re: pdp-11 assembly standards

2017-01-10 Thread Noel Chiappa
> From: Paul Koning

> Is that the Unix assembler convention?

Yup. From "Unix Assembler Reference Manual" (by DMR; no date, but the one I'm
looking at came with V6): "An octal constant consists of a sequence of digits
... A decimal constant consists of a sequence of digits terminated by a decimal
point '.'."

> It certainly isn't the one used by the GNU assemblers, which are modeled
> after the old Unix syntax.

Except when they gratuitously change things.

   Noel


Re: pdp-11 assembly standards

2017-01-10 Thread Noel Chiappa
> From: Phil Budne

> I've always assumed the P in PAL was for paper tape.
> The Wikipedia artile for PDP-8 says that PAL-8 assembled from paper
> tape into memory, so the A and L could have been for Assembler and
> Loader.

I have a number of different versions of the "PDP-11 Paper Tape Software"
manual, and the earliest one (DEC-11-GGPB-D, March '71) turns out to be for
PAL-11A, and it says it stands for "Program Assembly Language for the
PDP-11's Absolute Assembler" (pg. 3-1).

Amusing factoid: the manual says it takes about 45 minutes to re-assemble
PAL-11A from the source tape, and punch a new binary tape (this is using the
HSRP).

> ISTR PAL-11A was also an "absolute" assembler (did not output REL
> files), but there was also a PAL-11R.

Yup. PAL-11A took an input an ASCII tape with the program, and produced as
output "an absolute binary tape" (pg. 3-23).

A later version of the 'Paper Tape Software' manual (DEC-11-ASDB-D, May '71)
covers PAL11-R (although it does not, alas, decribe the relocatable output
format in detail - although I think it's documented elsewhere), and also
Link-11 and Libr-11. PAL11-R require DOS.

Noel


Re: pdp-11 assembly standards

2017-01-10 Thread Paul Koning

> On Jan 10, 2017, at 8:03 AM, Noel Chiappa  wrote:
> 
>> From: Brent Hilpert
> 
> One assembler doc uses a prefix of ""
> 
>> So the answer is, by modern expectations the old standard would be
>> ambiguous or misleading.
> 
> Well, the ideas of 'assembler' and 'standard' don't really go together in my
> mind... :-)
> 
> But seriously, I don't know how many different PDP-11 assemblers there were,
> but the two _main_ ones (DEC's, and Unix's) both use the same numeric
> convention (although they differed in other ways, probably because of the
> CTSS/Multics erase character convention): a sequence of digits is an octal
> number, unless there's a trailing '.', in which case it's decimal.

Is that the Unix assembler convention?  It certainly isn't the one used by the 
GNU assemblers, which are modeled after the old Unix syntax.  That one assumes 
decimal, and doesn't appreciate decimal points after a digit string.  

I wonder why DEC changed comment markers in their assemblers (from / in the 
PDP-8 to ; in the PDP-11).  Yes, not using / frees it for use in expressions, 
but at least early on it wasn't supported there.

paul




Re: pdp-11 assembly standards

2017-01-10 Thread Paul Koning

> On Jan 10, 2017, at 11:37 AM, Phil Budne  wrote:
> 
> I've always assumed the P in PAL was for paper tape.
> 
> The Wikipedia artile for PDP-8 says that PAL-8 assembled from paper
> tape into memory, so the A and L could have been for Assembler and Loader.

Could be.  I took it to be PDP11 Assembly Language, but I'll admit that was 
just made up on the spot and I never saw a real explanation.

> ISTR PAL-11A was also an "absolute" assembler (did not output REL
> files), but there was also a PAL-11R.

The PAL I remember was part of the Paper Tape Software package for the PDP-11.  
Two pass assembler, you actually had to feed it the source tape twice, if I 
remember the manual right.  (I never had to use it for real.)

There's also a non-Macro assembler for RT11 for systems with just 8k of memory. 
 ASEMBL.SAV?  It came with a separate macro processor called EXPAND, so you 
could assemble PDP-11 assembly code with macros, it just took more steps.

paul



Re: pdp-11 assembly standards

2017-01-10 Thread Phil Budne
I've always assumed the P in PAL was for paper tape.

The Wikipedia artile for PDP-8 says that PAL-8 assembled from paper
tape into memory, so the A and L could have been for Assembler and Loader.

ISTR PAL-11A was also an "absolute" assembler (did not output REL
files), but there was also a PAL-11R.


Re: pdp-11 assembly standards

2017-01-10 Thread Lars Brinkhoff
Noel Chiappa wrote:
> > What's the difference between PAL-11 and MACRO-11?
> Without going through the manuals at length, basically MACRO-11 supports
> macros, and PAL-11 doesn't. The syntax is otherwise very similar.

So I wonder if this holds true in general, PAL are simpler assemblers
without macros?

> > PALX is also the name for a cross assembler targeting PDP-11.
> I know it was used on ITS (although the PALX source had assembly
> options for all the main PDP-10 OS's, except TOPS-10), was that where
> it was written, do you happen to know? It's in MIDAS, so probably...

http://www.saildart.org/PRUNE.DAT[1,3] says:
PALX ... MIT'S PDP-11 ASSEMBLER


Re: pdp-11 assembly standards

2017-01-10 Thread Noel Chiappa
> From: Lars Brinkhoff

> What's the difference between PAL-11 and MACRO-11?

Without going through the manuals at length, basically MACRO-11 supports
macros, and PAL-11 doesn't. The syntax is otherwise very similar.

> PALX is also the name for a cross assembler targeting PDP-11.

I know it was used on ITS (although the PALX source had assembly options for
all the main PDP-10 OS's, except TOPS-10), was that where it was written, do
you happen to know? It's in MIDAS, so probably...

Noel


Re: pdp-11 assembly standards

2017-01-10 Thread Lars Brinkhoff
Noel Chiappa wrote:
> Well, technically, DEC had PAL-11 and MACRO-11, but PAL-11 was
> basically a subset of MACRO-11, and used the same number syntax.)

I've been wondering about this!

What's the difference between PAL-11 and MACRO-11?

There's PAL III, PALX, PAL-D, PAL-8, PAL-10, and MACRO-8 for the PDP-8.
What's up with all those?!?

PALX is also the name for a cross assembler targeting PDP-11.


Re: pdp-11 assembly standards

2017-01-10 Thread Noel Chiappa
> From: Brent Hilpert

 One assembler doc uses a prefix of ""

> So the answer is, by modern expectations the old standard would be
> ambiguous or misleading.

Well, the ideas of 'assembler' and 'standard' don't really go together in my
mind... :-)

But seriously, I don't know how many different PDP-11 assemblers there were,
but the two _main_ ones (DEC's, and Unix's) both use the same numeric
convention (although they differed in other ways, probably because of the
CTSS/Multics erase character convention): a sequence of digits is an octal
number, unless there's a trailing '.', in which case it's decimal.

(Well, technically, DEC had PAL-11 and MACRO-11, but PAL-11 was basically a
subset of MACRO-11, and used the same number syntax.)

I've never heard of that '' bizzaro-stuff - where did you find that?

Noel


Re: pdp-11 assembly standards

2017-01-09 Thread Brent Hilpert
On 2017-Jan-09, at 6:27 AM, Pete Lancashire wrote:
> wow ... the memories ... someday I've got to get a PDP-11 again :-).
> 
> had most of the opcodes memorized, for a story 
> 
> Had a coworker who played the piano, he could enter/patch code from
> the 11/35's panel from memory so fast all you saw was a blur.
> 
> When we replacing the 11/35's with 11/34A he hated it.
> 
> -pete
> 
> On Mon, Jan 9, 2017 at 6:13 AM, Paul Koning  wrote:
>> 
>>> On Jan 9, 2017, at 12:38 AM, Don North  wrote:
>>> 
>>> On 1/8/2017 9:10 PM, Brent Hilpert wrote:
 OK, what was the standard (if there was one) number-base syntax for PDP-11 
 assembler?
 
 Despite all the PDP-11 assembly info on web sites, this seems to be a 
 buried bit of info.
 One assembler doc uses a prefix of "", another specifies octal as 
 default and prefix of zero for decimal (opposite of the common C-derived 
 standard . . great).
 
 Is this for example standard?:
 
 BIT #, @#  ; test 2^7 bit at address 
 octal 177564
 
 (I'm just trying to make some written commentary consistent with common 
 policy.)
 
 
>>> MACRO11 Language Manual v5.5 section 6.4
>>> 
>>> All numbers are octal radix, unless the default radix is changed via the 
>>> .RADIX N directive (N can be 2, 8, 10, or 16). N blank resets the radix to 
>>> octal.
>>> 
>>> So 0100, 100 would be octal 100, decimal value 64.
>>> 
>>> Any number followed by a period (decimal point) is forced to be base 10.
>>> 
>>> So 100. would be decimal 100, octal 144.
>>> 
>>> Prefix operators ^B (binary), ^O (octal), ^D (decimal), ^X (hexadecimal) 
>>> force the following digits/characters to the designated radix.
>>> 
>>> So ^B101000 == ^O50 == ^D40 == ^X28 all represent the same value (decimal 
>>> 40.) irrespective of the current .RADIX N setting.
>> 
>> I don't remember ^X.  Other ways to specify numeric values is with prefix ' 
>> (single quote) for a single byte value, i.e., 'x is the ASCII code for 
>> character x.  Similarly, "xy is a 16 bit value for the two-character 
>> sequence xy (little endian).  And ^Rxyz is the RAD50 coded value for the 
>> three characters xyz.
>> 
>>  doesn't match anything I've ever seen, not even in the wildly different 
>> world of Unix.


So the answer is, by modern expectations the old standard would be ambiguous or 
misleading.
I guess I should just comment it.



Re: pdp-11 assembly standards

2017-01-09 Thread Pete Lancashire
wow ... the memories ... someday I've got to get a PDP-11 again :-).

had most of the opcodes memorized, for a story 

Had a coworker who played the piano, he could enter/patch code from
the 11/35's panel from memory so fast all you saw was a blur.

When we replacing the 11/35's with 11/34A he hated it.

-pete



On Mon, Jan 9, 2017 at 6:13 AM, Paul Koning  wrote:
>
>> On Jan 9, 2017, at 12:38 AM, Don North  wrote:
>>
>> On 1/8/2017 9:10 PM, Brent Hilpert wrote:
>>> OK, what was the standard (if there was one) number-base syntax for PDP-11 
>>> assembler?
>>>
>>> Despite all the PDP-11 assembly info on web sites, this seems to be a 
>>> buried bit of info.
>>> One assembler doc uses a prefix of "", another specifies octal as default 
>>> and prefix of zero for decimal (opposite of the common C-derived standard . 
>>> . great).
>>>
>>> Is this for example standard?:
>>>
>>>  BIT #, @#  ; test 2^7 bit at address 
>>> octal 177564
>>>
>>> (I'm just trying to make some written commentary consistent with common 
>>> policy.)
>>>
>>>
>> MACRO11 Language Manual v5.5 section 6.4
>>
>> All numbers are octal radix, unless the default radix is changed via the 
>> .RADIX N directive (N can be 2, 8, 10, or 16). N blank resets the radix to 
>> octal.
>>
>> So 0100, 100 would be octal 100, decimal value 64.
>>
>> Any number followed by a period (decimal point) is forced to be base 10.
>>
>> So 100. would be decimal 100, octal 144.
>>
>> Prefix operators ^B (binary), ^O (octal), ^D (decimal), ^X (hexadecimal) 
>> force the following digits/characters to the designated radix.
>>
>> So ^B101000 == ^O50 == ^D40 == ^X28 all represent the same value (decimal 
>> 40.) irrespective of the current .RADIX N setting.
>
> I don't remember ^X.  Other ways to specify numeric values is with prefix ' 
> (single quote) for a single byte value, i.e., 'x is the ASCII code for 
> character x.  Similarly, "xy is a 16 bit value for the two-character sequence 
> xy (little endian).  And ^Rxyz is the RAD50 coded value for the three 
> characters xyz.
>
>  doesn't match anything I've ever seen, not even in the wildly different 
> world of Unix.
>
> paul
>
>
>


Re: pdp-11 assembly standards

2017-01-09 Thread Paul Koning

> On Jan 9, 2017, at 12:38 AM, Don North  wrote:
> 
> On 1/8/2017 9:10 PM, Brent Hilpert wrote:
>> OK, what was the standard (if there was one) number-base syntax for PDP-11 
>> assembler?
>> 
>> Despite all the PDP-11 assembly info on web sites, this seems to be a buried 
>> bit of info.
>> One assembler doc uses a prefix of "", another specifies octal as default 
>> and prefix of zero for decimal (opposite of the common C-derived standard . 
>> . great).
>> 
>> Is this for example standard?:
>> 
>>  BIT #, @#  ; test 2^7 bit at address octal 
>> 177564
>> 
>> (I'm just trying to make some written commentary consistent with common 
>> policy.)
>> 
>> 
> MACRO11 Language Manual v5.5 section 6.4
> 
> All numbers are octal radix, unless the default radix is changed via the 
> .RADIX N directive (N can be 2, 8, 10, or 16). N blank resets the radix to 
> octal.
> 
> So 0100, 100 would be octal 100, decimal value 64.
> 
> Any number followed by a period (decimal point) is forced to be base 10.
> 
> So 100. would be decimal 100, octal 144.
> 
> Prefix operators ^B (binary), ^O (octal), ^D (decimal), ^X (hexadecimal) 
> force the following digits/characters to the designated radix.
> 
> So ^B101000 == ^O50 == ^D40 == ^X28 all represent the same value (decimal 
> 40.) irrespective of the current .RADIX N setting.

I don't remember ^X.  Other ways to specify numeric values is with prefix ' 
(single quote) for a single byte value, i.e., 'x is the ASCII code for 
character x.  Similarly, "xy is a 16 bit value for the two-character sequence 
xy (little endian).  And ^Rxyz is the RAD50 coded value for the three 
characters xyz.

 doesn't match anything I've ever seen, not even in the wildly different 
world of Unix.

paul




Re: pdp-11 assembly standards

2017-01-08 Thread Don North

On 1/8/2017 9:10 PM, Brent Hilpert wrote:

OK, what was the standard (if there was one) number-base syntax for PDP-11 
assembler?

Despite all the PDP-11 assembly info on web sites, this seems to be a buried 
bit of info.
One assembler doc uses a prefix of "", another specifies octal as default and 
prefix of zero for decimal (opposite of the common C-derived standard . . great).

Is this for example standard?:

BIT #, @#  ; test 2^7 bit at address octal 
177564

(I'm just trying to make some written commentary consistent with common policy.)



MACRO11 Language Manual v5.5 section 6.4

All numbers are octal radix, unless the default radix is changed via the .RADIX 
N directive (N can be 2, 8, 10, or 16). N blank resets the radix to octal.


So 0100, 100 would be octal 100, decimal value 64.

Any number followed by a period (decimal point) is forced to be base 10.

So 100. would be decimal 100, octal 144.

Prefix operators ^B (binary), ^O (octal), ^D (decimal), ^X (hexadecimal) force 
the following digits/characters to the designated radix.


So ^B101000 == ^O50 == ^D40 == ^X28 all represent the same value (decimal 40.) 
irrespective of the current .RADIX N setting.