re duplicates Re: pdp-11 assembly standards
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
> 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
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
> 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
> 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
> 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
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
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
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
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
> 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
> 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
> On Jan 10, 2017, at 8:03 AM, Noel Chiappawrote: > >> 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
> On Jan 10, 2017, at 11:37 AM, Phil Budnewrote: > > 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
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
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
> 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
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
> 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
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 Koningwrote: >> >>> 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
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 Koningwrote: > >> 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
> On Jan 9, 2017, at 12:38 AM, Don Northwrote: > > 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
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.