{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,1,12]],"date-time":"2025-01-12T00:10:23Z","timestamp":1736640623414,"version":"3.32.0"},"reference-count":22,"publisher":"Wiley","issue":"4","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":11349,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1975,10]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Users of small computers must often program in assembler language. Macros are described which assist in the construction of block structured programs in assembler language. The macros are used in practical day\u2010to\u2010day programming in a cardiac electrophysiology laboratory in which the coarse grained control provided by the local FORTRAN compiler is not sufficient for, and even hinders, the writing of clear, easy to understand programs. The macros provide nestable control structures in place of the less structured transfers of conventional assembler language. The arithmetic and input\/output control provided by the architecture of the machine is left fully available. The control structures implemented include conditional (IF, CASE), iteration (WHILE, REPEAT\/UNTIL, FOR) and subroutine (PROC, CALL, etc.) constructs. No control of variable scope is provided. The macro implementation is discussed along with the code generated. There is a discussion of architectural features which allow the macros to be independent of specific register usage and addressing mode. Experience with use of the macros in a high\u2010speed, real\u2010time data acquisition and display environment is presented. We conclude that these macros are easy to use and assist in program readability and documentation.<\/jats:p>","DOI":"10.1002\/spe.4380050406","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T13:54:44Z","timestamp":1163771684000},"page":"359-374","source":"Crossref","is-referenced-by-count":6,"title":["Biomac: Block structured programming using PDP\u201011 assembler language"],"prefix":"10.1002","volume":"5","author":[{"given":"G. S.","family":"Herman\u2010Giddens","sequence":"first","affiliation":[]},{"given":"R. B.","family":"Warren","sequence":"additional","affiliation":[]},{"given":"R. C.","family":"Barr","sequence":"additional","affiliation":[]},{"given":"M. S.","family":"Spach","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_2","unstructured":"PDP\u201011\/20\/15\/r20 processor handbook Digital Equipment Corporation Maynard Mass. 1971."},{"key":"e_1_2_1_3_2","unstructured":"MACRO\u201011 assembler programmer's manual DEC\u201311\u2013OMACA\u2013A\u2013D Digital Equipment Corporation Maynard Mass. 1972."},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF00264291"},{"volume-title":"Systematic Programming: An Introduction","year":"1973","author":"Wirth N.","key":"e_1_2_1_5_2"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/362929.362947"},{"volume-title":"Structured Programming","year":"1972","author":"Dahl O.\u2010J.","key":"e_1_2_1_7_2"},{"key":"e_1_2_1_8_2","unstructured":"H. D.Mills.Mathematical Foundations for Structured Programming FSC 72\u20136012 IBM Corporation Federal Systems Division Gaithersburg Maryland 20760 1972."},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"W. A.Wulf. \u2018A Case against the GO TO\u2019 Proc. ACM Ann. Conf. pp.791\u2013797 1972.","DOI":"10.1145\/800194.805861"},{"key":"e_1_2_1_10_2","unstructured":"H. D.Mills.How to Write Correct Programs and Know It FSC 73\u20135008 IBM Corporation Gaithersburg Maryland 20760 1973."},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/363717.363746"},{"key":"e_1_2_1_12_2","doi-asserted-by":"crossref","unstructured":"B. N.Dickman. \u2018ETC\u2014an extensible macro\u2010based compiler\u2019 Proc. SJCC 529\u2013538(1971).","DOI":"10.1145\/1478786.1478860"},{"key":"e_1_2_1_13_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380020405"},{"issue":"11","key":"e_1_2_1_14_2","first-page":"389","article-title":"A macro\u2010generable language for the 360 computers","volume":"13","author":"Griffiths M.","year":"1969","journal-title":"The Computer Bulletin"},{"key":"e_1_2_1_15_2","unstructured":"M. M.Kessler.*CONCEPT* Report 14 Implementation of Macros to Permit Structure Programming in OS\/360 IBM Corporation Gaithersburg Maryland 20760 1970."},{"key":"e_1_2_1_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/321439.321442"},{"key":"e_1_2_1_17_2","doi-asserted-by":"crossref","unstructured":"C. A.Lang. \u2018SAL\u2010systems assembly languages\u2019 Proc. SJCC 543\u2013555(1969).","DOI":"10.1145\/1476793.1476879"},{"key":"e_1_2_1_18_2","doi-asserted-by":"crossref","unstructured":"M.Richards. \u2018BCPL: a tool for compiler writing and system programming\u2019 Proc. SJCC pp.557\u2013566(1969).","DOI":"10.1145\/1476793.1476880"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380010106"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/362919.362936"},{"key":"e_1_2_1_21_2","unstructured":"W.Wulf J.Apperson R.Brender C.Geschke P.Knueven C.Weinstock J.ZarrellaandD.Wite. BLISS\/11 Reference Manual: A Basic Language for the Implementation of System Software for the PDP\u201011 AD\u2013739 964 Computer Science Department Carnegie\u2013Mello University Pittsburgh Pennsylvania 1972."},{"key":"e_1_2_1_22_2","unstructured":"R.Russell.Preliminary Specifications PL\u201011: A Programming Language for the DEC PDP\u2010 Computer OM Development Note SW\u201329 Organisation Europ\u00e9ene pour La Recherche Nucl\u00e9air CERN 1211 Geneve 23 Switzerland (Helvetia) 1971."},{"key":"e_1_2_1_23_2","unstructured":"D.Knuth.Structured Programming with \u2018GO TO\u2019 Statements STAN\u2013CS\u201371\u2013416 Computer Science Department Stanford University Stanford California 94305 1974."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380050406","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380050406","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,11]],"date-time":"2025-01-11T23:47:59Z","timestamp":1736639279000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380050406"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1975,10]]},"references-count":22,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1975,10]]}},"alternative-id":["10.1002\/spe.4380050406"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380050406","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"type":"print","value":"0038-0644"},{"type":"electronic","value":"1097-024X"}],"subject":[],"published":{"date-parts":[[1975,10]]}}}