Skip to main content
added 1 character in body
Source Link
Raffzahn
  • 228.3k
  • 22
  • 658
  • 941

While the mentioned COLUMBUS Assembler (*1) package was AFAIK a Siemens specific development, it was 100% F-Assembler macro code. In addition to the macro librarieslibrary there were as well listing formatters that turned a straight assembler listing into an intended or Nassi/Shneiderman listings.

While the mentioned COLUMBUS Assembler (*1) package was AFAIK a Siemens specific development, it was 100% F-Assembler macro code. In addition the macro libraries there were as well listing formatters that turned a straight assembler listing into an intended or Nassi/Shneiderman listings.

While the mentioned COLUMBUS Assembler (*1) package was AFAIK a Siemens specific development, it was 100% F-Assembler macro code. In addition to the macro library there were as well listing formatters that turned a straight assembler listing into an intended or Nassi/Shneiderman listings.

Corrected Spelling
Source Link
LаngLаngС
  • 1.6k
  • 1
  • 9
  • 19

Well, reducing it to "string manipulation" might fall short, as there is no similarity to the usual string manipulation languages. It's a rather full figured imperative programming language. Programs get executed when 'assembled'. It provides typed typed global and local variables (Boolbool, Integerinteger, Stringstring), arrays (depending on assembler version) and more.

Not just 'sllightly''slightly' higher.

For structured programming (which ofc includes calligncalling conventions and data structures) this has already be kind of answered in a question about stacks on stackless machines:

While the mentioned COLUMBUS Assembler (*1) package was AFAIK a Siemens specific development, it was 100% F-Assembler macro code. In addition the the macro librarylibraries there were as well listing formatersformatters that turned a straight Assemblerassembler listing into an intended or Nassi/Shneiderman listings.

BesideBesides that, projects/companies of course did build macro packages to enable easy handling of more complex issues. Plus, of course, every OS did supply macros for whatever services they had as well.

Well, I do still have somewhere a tape with several versions (we did modify it quite a lot from it'sits original version). In addition I did port it a long time ago to ORCA/M for the Apple II. Just, finding either may take some time.

D/E/F-Assembler (and it'sits macro language) was published short after the /360 was introduced with F being the 'full' version, but also commingcoming with a huge RAM requirement of 64 KiB :)) So this is most likely the base for your package.

Well, reducing it to "string manipulation" might fall short, as there is no similarity to the usual string manipulation languages. It's a rather full figured imperative programming language. Programs get executed when 'assembled'. It provides typed typed global and local variables (Bool, Integer, String), arrays (depending on assembler version) and more.

Not just 'sllightly' higher.

For structured programming (which ofc includes callign conventions and data structures) this has already be kind of answered in a question about stacks on stackless machines:

While the mentioned COLUMBUS Assembler (*1) package was AFAIK a Siemens specific development, it was 100% F-Assembler macro code. In addition the the macro library there were as well listing formaters that turned a straight Assembler listing into an intended or Nassi/Shneiderman listings.

Beside that, projects/companies of course did build macro packages to enable easy handling of more complex issues. Plus, of course, every OS did supply macros for whatever services they had as well.

Well, I do still have somewhere a tape with several versions (we did modify it quite a lot from it's original version). In addition I did port it a long time ago to ORCA/M for the Apple II. Just, finding either may take some time.

D/E/F-Assembler (and it's macro language) was published short after the /360 was introduced with F being the 'full' version, but also comming with a huge RAM requirement of 64 KiB :)) So this is most likely the base for your package.

Well, reducing it to "string manipulation" might fall short, as there is no similarity to the usual string manipulation languages. It's a rather full figured imperative programming language. Programs get executed when 'assembled'. It provides typed global and local variables (bool, integer, string), arrays (depending on assembler version) and more.

Not just 'slightly' higher.

For structured programming (which ofc includes calling conventions and data structures) this has already be kind of answered in a question about stacks on stackless machines:

While the mentioned COLUMBUS Assembler (*1) package was AFAIK a Siemens specific development, it was 100% F-Assembler macro code. In addition the macro libraries there were as well listing formatters that turned a straight assembler listing into an intended or Nassi/Shneiderman listings.

Besides that, projects/companies of course did build macro packages to enable easy handling of more complex issues. Plus, of course, every OS did supply macros for whatever services they had as well.

Well, I do still have somewhere a tape with several versions (we did modify it quite a lot from its original version). In addition I did port it a long time ago to ORCA/M for the Apple II. Just, finding either may take some time.

D/E/F-Assembler (and its macro language) was published short after the /360 was introduced with F being the 'full' version, but also coming with a huge RAM requirement of 64 KiB :)) So this is most likely the base for your package.

added 244 characters in body
Source Link
Raffzahn
  • 228.3k
  • 22
  • 658
  • 941
    @ENTR TYPE=M,NAME=MAIN  ** Main programm, execution starts here
    ...
    @PASS NAME=FUBAR,PLIST=(FCB,RECORD)
    @IF   NE
    LTR   R15,R15         * Return Code Not Zero?
    @THEN
    @EXIT RC=#UNSATISFIED * Finish Program with Return Code UNSATISFIED
    @BEND
    ...
    @EXIT RC=#HAPPYENDING * Finish Program with Return Code HAPPYENDING
    @END


    @ENTR TYPE=L,NAME=FUBAR,PLIST=(FCB,RECORD)  * Function FUBAR, called by MAIN
    ...
    (do whatever needed with FCB and RECORD)
    ...
    @EXIT RC=0            * Finish Function with Return Code Zero
    @END

Then again, building such a lib for structured programming is, with F-Assembler (or better) macros or higher/compatible, a mostly trivial task of building a parsing stack to check syntax and generate labels. Drop me a note, if you like some hints.


D/E/F-Assembler (and it's macro language) was published short after the /360 was introduced with F being the 'full' version, but also comming with a huge RAM requirement of 64 KiB :)) So this is most likely the base for your package.

    @ENTR TYPE=M,NAME=MAIN
    ...
    @PASS NAME=FUBAR,PLIST=(FCB,RECORD)
    @IF   NE
    LTR   R15,R15         * Return Code Not Zero?
    @THEN
    @EXIT RC=#UNSATISFIED * Finish Program with Return Code UNSATISFIED
    @BEND
    ...
    @EXIT RC=#HAPPYENDING * Finish Program with Return Code HAPPYENDING
    @END


    @ENTR TYPE=L,NAME=FUBAR,PLIST=(FCB,RECORD)
    ...
    (do whatever needed with FCB and RECORD)
    ...
    @EXIT RC=0            * Finish Function with Return Code Zero
    @END

Then again, building such a lib for structured programming is, with F-Assembler (or better) macros or higher/compatible, a mostly trivial task of building a parsing stack to check syntax and generate labels. Drop me a note, if you like some hints.

    @ENTR TYPE=M,NAME=MAIN  ** Main programm, execution starts here
    ...
    @PASS NAME=FUBAR,PLIST=(FCB,RECORD)
    @IF   NE
    LTR   R15,R15         * Return Code Not Zero?
    @THEN
    @EXIT RC=#UNSATISFIED * Finish Program with Return Code UNSATISFIED
    @BEND
    ...
    @EXIT RC=#HAPPYENDING * Finish Program with Return Code HAPPYENDING
    @END


    @ENTR TYPE=L,NAME=FUBAR,PLIST=(FCB,RECORD)  * Function FUBAR, called by MAIN
    ...
    (do whatever needed with FCB and RECORD)
    ...
    @EXIT RC=0            * Finish Function with Return Code Zero
    @END

Then again, building such a lib for structured programming is, with F-Assembler (or better) macros or higher/compatible, a mostly trivial task of building a parsing stack to check syntax and generate labels. Drop me a note, if you like some hints.


D/E/F-Assembler (and it's macro language) was published short after the /360 was introduced with F being the 'full' version, but also comming with a huge RAM requirement of 64 KiB :)) So this is most likely the base for your package.

added 844 characters in body
Source Link
Raffzahn
  • 228.3k
  • 22
  • 658
  • 941
Loading
Source Link
Raffzahn
  • 228.3k
  • 22
  • 658
  • 941
Loading