(termi~als -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a...

19
r-" '1 ',I :\ r .l,., .. ;.·..· ..... l ,I l./.P ,I l/ "- ...- * "" * MACR0 PACKAGE FOR META-APL ASSEMBLIES. * * * THE SYNTAX FOR A ASSEMBLY PROGRAM IS AS FOLLOWS: * ARE QUOTED, * PARENTHESES ARE METACHARACTERS, * A SUFFIX QUESTION MARK MEANS 0 OR 1 OCCURRENCES, AND * A SUFFIX ASTERISK MEANS 0 OR MORE OCCURRENCES.> * * "PR0GRAt-1" GL0BSIZE "," LOCSIZE CR * (GLOBNAME "GLVAR tt CR)* * (FNAtJiE "FCN" CR >* *( *FNAf'1E "FUNCTHJ:-J" RESULT "," NSTMTS "," :JARGS "," NLOCAlS CR * ("LOCAL" L0CNAME ("," lOCNAME>* CR>* * ("LOCAL" ARGNAME ("," CR>* * ( * "STATEMENT" STNO CR * (INSTRUCTI0:-J CR>* * )* * "E:-JDFU:-JCT I o,'-,J" CR * "ENDPROGRAM" CR DEC 18 .,;r- \ * * * THIS * LIST OUTSYM NNN MACRO OUTPUTS 0F SYM80lS. t'1ACR0 NARC RPT REM DJDR ENDM (TO THE LISTING FILE) THE VALUE 0F A SYMBOL OR o NNN, ( II 1= 1, 1 > _,

Upload: trantu

Post on 24-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

r-" '1 ',I :\ r .l,., ..

1'~' ~ ,~J4 ;.·..·..... l ,I

l./.P ,I l/ " - ...-

*""* MACR0 PACKAGE FOR META-APL ASSEMBLIES.

*** THE SYNTAX FOR A MET~-APL ASSEMBLY PROGRAM IS AS FOLLOWS:* (TERMI~ALS ARE QUOTED,* PARENTHESES ARE METACHARACTERS,* A SUFFIX QUESTION MARK MEANS 0 OR 1 OCCURRENCES, AND* A SUFFIX ASTERISK MEANS 0 OR MORE OCCURRENCES.>

** "PR0GRAt-1" GL0BSIZE "," LOCSIZE CR* (GLOBNAME "GLVAR tt CR)** (FNAtJiE "FCN" CR >** (*FNAf'1E "FUNCTHJ:-J" RESULT "," NSTMTS "," :JARGS "," NLOCAlS CR* ("LOCAL" L0CNAME ("," lOCNAME>* CR>** ("LOCAL" ARGNAME ("," I~RCNAME)* CR>** (* "STATEMENT" STNO CR* (INSTRUCTI0:-J CR>** )** "E:-JDFU:-JCT I o,'-,J" CR

* "ENDPROGRAM" CR

DEC 18

.,;r­\

*** THIS* LISTOUTSYMNNN

MACRO OUTPUTS0F SYM80lS.

t'1ACR0NARCRPTREMDJDRENDM

(TO THE LISTING FILE) THE VALUE 0F A SYMBOL OR

o

NNN, ( I I 1= 1, 1 > _,CD(III~=(f(IIIj)

Page 2: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

DEC 18

( **

* SBASE,SPTR* FLAGS,LBASE* TRAP INF0RMATl0N* SAVE N0ABR* ROVER* BL0CKPTR

DESCRIPT0F<DESCRIPT0RDESCRIPTOR

C0MMAND hlORDSTATUS ~.J0RD

DATA SEGMENTPROC SEG~1ENT

ALI PR0C SEGDFIRSTGFIRST

* THIS MACRO BEGINS A META-APL ASSEMBLY PROGRAM.PR0GRAM MAGR0 0* 0(1) IS THE SIZE FOR THE GLOBAL SEGMENT;* 0(2) IS THE SIZE FOR THE LOCAL SEGMENT.

RELCRG -04"1S.:r~

DATA O~ 0 .J~~{::l ~\, *OAT A 0 ~ 0 ,.."../ .~--"..._/~...... *DATA &Rst> DLEN *DATA OF I R"Sl) PO~g:~.. .~~. *DATA 0" 0·_-_··..· '~'--(10 Cf B+- Dt...fN) *EO U */2 C,__~'-./,._·/"

EQU */2 ...._-- e:t-LElJOAT A (h~!J~~~ 1DATA 0 .. 0DATA 0,0BSS 2*3DATA FREEBL0CK,ODATA 0,0

*GLEN EQU D ( 1 )LLEN EQU 0(2)DLEN EQU D(1)+0(2)

*C

reNO SQU 0

* ENOM

Page 3: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

DEC 1 B

<6~~--+/---

,. -r., I :'

DATA 0DATA 0

FC:-JO+lFC·:-JOD{O).&:ND(0).&:8;

OJ

A FUNCTION NAME.oFCNO=O

EQU

Mf\CRO DEF I :-JESU1ACROIFFREESPACELOCSEGEQU --•.

ENDFEQUEQUOUTSYMDATADATA

} .. ["NOM

FCN

POFIRST

UNOFTYPE8,

*** THIS

* /;~~s-_··_·

* II* THIS MACRO DECLARES A GLOBAL VARIAB~E.GLVAR LMACRO D /"-~ '"DCO}. &: G EQU f */2-GF I RST~LOIl;.AL{)rH:Cr }

OUTSYM ·-DCO).&:G '....•.DATA UNDFTYPEBJ DATA 0ENOM

r

\.~

{If!!.

Page 4: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

DEC 18

THISFREEB; DATA FREESIZE-2FREEBLOCK+F'REESIZE-2; DATA FREEaLOC~+FREESIZE-2

2*[FR£ESIZE-2-3J0; DATA FREESIZE-2

DATA FREEBL0CK

*/2-GFIRSTGL E:'J - FREEBL0 Ci-<

SPACE

AREA.

Fr~EE

OJ D(~Tr\ aFREEdLOC~( ;

FREESIZE<5NO R00\\1 FOR

** THIS MACRG ASSEMBLES THE FREE SPACEFREESPACE ~>1ACR0

FF~EEBLOCK EQUFHEESIZE EQU* FREE BL~JC-<.

IF'REtJlE:\lDFDATADATABSSOt1TA

* DUt¥\ ~·1Y BLO CI< •DATAD/\T i\

* ENDM

* ftLBASE"* FDESCR,PCTR

L0CAL SEGMENT.

1000008

*/21777778,0

.. ~~~~~~~0FFSET*~

EQU

MACR0 ASSEMBLES THEi'IjACRI2lEQUDATADATABSSENOM

*TtiISFREEB

*** THISLOCSEGLFIRST

*C0DE0FFSEI EOU 2

(\

Page 5: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

DEC 18

c *** THIS MACRO BEGINS A FUNCTION B0DY.FUNCTION LMACR0 D* D(O) IS THE FUNCTI0N NAME;* 0(1) IS THE RESULT FLAG;* 0(2) IS THE NUMBER 0F STATEMENTS;* 0(3) IS THE NUMBER OF ARGUMENTS;* D(4) IS THE NUMBER OF OTHER LOCALS.

** "PATCH UP" THE FUNCTION DIRECTORY ENTRY BY DEFINING BASE r-\DDf<ESS.0(0).&:8 EQU */2-PFIRST

0UTSYM 0(0).&:8

** ASSEMBLE THE FUNCTION BODY HEADER.DATA [D(1)]*2112+(D(2)]; DATA ED(3)]*2t12+(D(4)]DATA O(O).&:L; DATA 0

BYTE P0SITI0~ C0UNTER.1 6

,'n ,",

TE~1P, (1::1,1)L0CN0&77778L0CNO-l

FOR DECLARING L0CAL VARIABLES (ARGS & OTHERS).E

THE ~·1ACR0

MACR0·NARGRPT

D(O).&E(I) EQU~.

L0CN0 EQUENORENOM

** INITIALIZE THEGENP0S EQU

** DEFINEL0CALTEMP

(

** INITIALIZE THE L0CAL VARIABLE CURS0R.L0CN0 EQU -1

** DEFINE THE MACROS FOR REFERENCING L0CAL VARIABLES.SH0RTL0CAL MACRO E

GEN8 0008+(D(0).&E(I)&778]ENDM

*L0NGL0CAL MACR0GEN16ENOM

E0400008+0(0).&[(1)

** DEFINE THE MACR0STATErv1ENT i"1ACH0

IFIF

STN0 EOUO(O).&($STN0) EQU

0UTSY~~

ELSEREMENDFELSE

FOR INDICATING STATEMENT BOUNDARIES.ESTN0+1::E(1)E(I)<::0(2)S'TN0+12*(*-2*PFIRST]+[GENP0S=8]-4*DCO).&:8OCO).&($STN0)

T00 MANY STATEMENTS

-- ---

Page 6: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

DEC 18

HEMENDFENOM

STATEMENT NUMBER 0UT 0F SEQUE~CE

T00 FEW STATEMENTS

0(2)/2*2#DC2)- 1

5T;\10=D (2)

[*/2-PFIRSTJ-[OCO).&:B+2JDCO).&:L

TABLE.D(2),(I=I,I)0(0).&($1)

D(O).&:L

** I~ITIALIZE THE STATEMENT C0U~TER.

STN0 EQU 0

** DEFINE THE MACR0 WHICH TERMINATES A FUNCTI0N 80DY.ENDFU~CTI0N MACR0

IFFLUSHEQU0UTSYM

* GENERATE THE LINERPTDATAENORIFDATAENOFELSEREMENDFEND~·1

(

** END 0F "FUNCTI0N" MACR0.ENDM

c

Page 7: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

*** THISGENS

GENW0RDGENP0S

GENP0S

iVlACR0 0UTPUTSMACR0IFEQUEQUELSEDATAEQUENDrENOM

ONE BYTE 0F C0DE.DGENP0S=16[ 0 ( 1 ) ] *2 t 88

GEN W0 R0 ! [ 0 ( 1 ) ]1 6

DEC 18

GENW0RD!((O(1)]&177400B]/2t8[(0(1)]&0003778]*2t8

TW0 BYTES 0F CODE.DGENP0S=16D( 1 )

c

*** THISGEN16

GEN 1lJ0RD

*** THISFLUSH

GENP0S

MACR0 OUTPUTSMACR0IF'DATAELSEDATAEQUENDF'ENOM

MACRO tfFLUSHESMACR0IF'DATAEQUENOF'IFDATAENOFENDM

0UT" THE LAST W0RD 0F CODE.

GENP0S=8GEN\tJ0RD! 016

Page 8: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

c **L0NGGL0BAL MACR0

GEN16ENDM

*** MEMREF <SUB0PC0DE>t-1EMREF ~IjACRO

GEN8ENOM

o0500008+D(1).&:G

MUST BE F0LL0WED BY A L0CAL OR GL0BAL REFERENCE.D1408+D(1)

D,EC 18

** ASINDEXED IS 00ASSIGN EQUASN0RESULT EQUf~EFERENCE EQUTESTDEF EQU* 248 THR0UGH 378

**GENSCALAR MACR0

GENSEND!"1

THROUGH 178.20B218228238

ARE UNUSED.

o2008+0(})

(~

*IDENTITYNEGATIVE

CEILI:-JGMAGNITU-':DTTESTNUMC": VERTSlWDIFFERENCEP::'H3DUCTQU0TIENTAND0RLESS

IC\L.

**INDEX

EGUEQUEQUEQUEQUEQUF. UEQUEGUEauEQU[ r' t J:~~, :.;.: 1

EQUE(JUEQUEQU

GENSEND~1

OOB01B0280380'4805806807BlOB1 1 '

1281381481 581 (.1 78

o2208+0(1)

**SHQlRTC0i\JST f'.lf~CR0

IFCt:;-,J 1 6ELSEGEN16ENDF

D(l)<O1200008+(0100008-D(I)J

1200008+D(I)

Page 9: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

o. **ETC

TEM~

ENDH

MACROGENSIF"GCaNSCALARELSF'NARGIF'GCONVECELSF"GCONVECELSEREMENDFELSFGEN16ENDF'ENDM

D3008+D<I)CONSCALAR=D(l)D(2)CONVEC=D(I)

TEMP=20(2)TEMP=30(2)"D(3)

8AD OPERANDS FOR CONVEC

CALLFCN=[)(I)D(2)*2t12+D(3).&:N

GEN16 D(2)DD (1 ) J

008018028038f?J48058068078108lIB128t 38148158168178 ..' .... _ .." ~

........,-"--..------ .'..- ....""",., ........ .....-'t;;~!". ...........

2eJB ~'~~l,~f#.'p -:;";:112 ')2 18 .'I \~\Ju'.:"~~~,,,,,22~ '2~t ~----"-"--".

-2-3B--Jo'

I* I* I'

GCO~VEC MACRO D* Dt 1) IS THE NUMBER OF' ELEMENTS,;* 0(2) THROUGH D(NARG) ARE ELEMENTS.* IF NECESSARY" GCONSCALAR CALLS CAN BE USED FOR FURTHER ELEMENTS.

GENS D (1 )* M~VE TO NEXT F"ULLWORD.

* :;UND:EF" I NED EgUEATh EQUINT~RCH~NGE EQUSETIOR 16 I N EgUGETiORIGIN EQUSfIAPE EQURESlHAPE EgURA~L EQUCATENATE EgUINDtEXGEN EQUCO~CALAR EQUCO~VEC EQU8RA(NCH EQUGO " EQUGOTjRUE EQUGOFALSE EQURETiURNF EgUCALiLFCN EgU8KP1TTRAP EQUATTNTRAP EgU

** ,IiGCONSCALAR MACRO

GEN16ENDM

0,

'0

\\

\I,

Page 10: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

o FLUSHNARGRPT tTEMP-l],(I=2,1)GCONSCALAR 0(1)ENDRENBM

MACROEQUeUTSYMENDENDM

o

* i* ~ESCRIPTOR TYPESINT1tYPEB EQUCHT'y,:PEB EQU* I

* Ii

END~ROGRAMP0LEN

** FREEZE

END

0200008010000B

*/2-PF'IRSTGrIRST,FREEBLOCK,GLEN,LF'IRSr,LLEN,PFIRST,P0LEN

" . .

I'\

\\

\,------........i-.-----------r-- --------

Page 11: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

c

'\

**ENDPR0 GRA~1

POLENMACR0EQU0UTSYM

~

ENDM I

*/2-PFIRST 0GFIRST~FREEBL0CK,GLEN,LFIRST,LLEN,PFIRST,PLE~

A

DEC 1 r:

Page 12: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

nEC 18

R .. F NBRANCH (2 4)[I0RG + N>OlR .. 1BRAN CH 0 ..... ... -_..,,- PR .. 0J etJMis~ N-lRETURN

DEL[ 1 J[2](3)[4 ]

[5]

DEL

* META-APL ASSEMBLY TEST PROGRAM

********

c'

PR0GRAM 40,40

*PF

*P

FCNFeN

FUNCTION 0,1,0,0/'STATEMENT 1 //SH0RTC0NST~ETC CALLFCN,l,FETC ATTNTRAPENDFUNCTI0N

\.;~2.:~,

*F' FUNCTI0NL0CALL0CAL

C' * STATEMENTSHORT C00J STSH0RTL0CALETCGENSCALARETCGENSCALARETCINDEXETC

*

1,5,1,1RN

1oNINTERCHANGELESSGET0RIGINSUMC0NVEC,2,«INTTYPEB,2),(INTTYPEB,4»1BRA:JCH

*

STATEME:JT 2SH0RTC0NST 1MEMREF AS~0RESULT; SH0RTL0CAL R

*

STATE~1E~JT 3SHORTC0NST O.ET C BRAN CI1'--.

STATEMENTSH0RTCONSTSH0RTL0CALGENSCALARETCSHORTLGCALGENSCALAR

41NDIFFEHENCECi~LLFC0J" 1"F.\1PRODUCT

Page 13: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

c

*

*

*

MEMREF ASN0RESULT; SH0RTL0CAL R

STATEMENT 5ETC RETURNF

ENDFUNCTIIZlN

ENDPR0GRAM

nEe 18

Page 14: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

I/I

/

GLVARGLVARGLVARGLVARGLVARGLVAR

FCN

F'UNCTION

PROGRAM

*ABCIJK

*P*P

-** StTORIGIN 1STATEMENT 1

. SHORTCONST 1ETC SETORIGINETC EATI

*A~(2 2 2) RESH~PE INDEXGEN 8STATEMENT 2SHORTCONST 8ETC INDEXGENETC CONVECI3~«INtTYPEBI2)I(INTTYPEBI2)I(INTTYPEBI2»

ETC RESHAPE,MEHREF ASNORESULT; LONGGLOBAL A

'* B.C~(SHAPE A) RESHAPE 0STATEMENT 3SHORTCONST 0LONG GLOBAL AETC SHAPEETC RESHAPEMEMREF ASSIGN; LONGGLOBAL C ,MEMREF ASNORESULT; LONGGLOBAL B

o

o

* I totSTATEMENT <4SHORTCONST tMEHREr ASNORESULT; LONGGLOBAL I

* JtotSTATEMENT 5SHORTCONST 1MEHREr ASNORESULT; LONGGlOBAL J

* Kt'l

o

STATEMENT 6SHORTCONST 1MEMREr ASNORESULTJ LONGGLOBAL K

* B[I.IJ.IKJ~A[I.IJ.IKJ

STATEMENT 7LONGGLOBAL KJ LONGGLOBAL J; LONGGLOBAL ILONGGLOBAL AINDEX 3LONGGLOBAL KJ LONGGLOBAL J; LONGGLOBAL IMEMREF 3; LONGGLOBAL BETC EATt

Page 15: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

I/

///

/

//

10

j

o

I

i

1°I •

STATEMENT 8SHORTCONST 1LONGGLOBAL KGENSCALAR SUMMEMREr ASNORESULTJ LONGGLOBAL K

* BRANCH 7 PRODUCT INDEXGEN KLESS 3STATEMENT 9SHORTCONST 3LONGGLOBAL KGENSCALAR LESSETC INDEXGENSHORTCONST 7GENSCALAR PRODUCTETC BRANCH

STATEMENT 10SHORTCONST 1LONG GLOBAL JGENSCALAR SUMMEHREr ASNORESULTJ LONGGLOBAL J

* BRANCH 6 PRODUCT INDEXGEN J LESS 3STATEMENT 11SHORTCONST 3LONGGLOBAL JGENSCALAR LESSETC INDEXGENSHORTCONST 6GENSCALAR PRODUCTETC BRANCH

* 1 .. 1+1STATEMENT 12SHORTCONST 1LONGGLOBAL IGENSCALAR SUMMEMREr ASNORESULT; LONGGLOBAL I

* BRANCH 5 PRODUCT INDEXGEN I LESS 3.STATEMENT t 3SHORTCONST 3LONGGLOBAL IGENSCALAR LESSETC INDEXGENSHORTCONST 5GENSCALAR PRODUCTETC $ BRANCH

* ATTNTRAPSTATEMENT 14ETC ATTNTRAP

* ENDrUNCTION

* ENDPROGRAM

Page 16: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

*A*

PFHJGRA~'1 LIO.,

CL

FUNCII 0,2.0,0STAT Ef'lENT(\1E:l"1f~EF f~~EFEEE[\JCl\; L \.1 ;_:LETC CALLFC~, I.FSTATE~~ENT :~?

ETC Tl~T APE:NDFU~JCT IO>J

i.:JI

F

*1:<" F' LJ\JC·1' I ~3 NLOC{\LST l\'T F\"1 E:-\lT

(),~1,1,1

EfEf~E>~C ; LD>JGLOCf'1L LREFERENCE; LONGL0CAL X

*G

Te CALLFCN,2,GS T !-\ T E>,; E>J TETC ATINTRAP

ETC RETURNFENDFUNCT I O~J

FUNCTION 0,3,2,0L~0Ci':\L"X, YST {\ T E:r< [[\IT

S;-HJ F~ TCO~J ST

*

ST/\TE~llENT ;~

MEMREF ASN0 ESULIJ L0NGLOCAL YSTt~TFl'"IENT :3ETC RETURNFENDFU;'JCT I O\j

Page 17: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

, 200" 50

GLVARGLVARGLVARGLVAR

FCNFCN

PROGRAM

*A8IR

*PD

*P FUNCTION* S~rORIGIN 1

STATEMENT 1SHORTCONST IETC SETORIGINETC EATI

* Arl.0 PRODUCT INDEXGEN 25STATEMENT 2SHORTCONST 25ETC INDEX GEN ,ETC CONSCALAR,,(040000B,,000e00B)GENSCALAR PRODUCTMEHREF ASNORESULT; LONGGLOBAL A

i

II c)i

I

* Bt"A+ASTATEMENT 3LONGGLOBAL ALONG GLOBAL AGENSCALAR SUMMEHREr ASNORESULTJ LONGGLOBAL B

* I rl ·0STATEMENTETCMEHREr

R"DrA."B."IJSTATEMENTLONG GLOBALETCMEHREr

4CONSCALAR,,(040000B,,000200B)ASNORESULTJ LONGGLOBAL 1

5IJ LONGGLOBAL B; LONG GLOBAL ACALLFCN"3,,DASNORESULTJ LONGGLOBAL R

* ATTNTRAP\ STATEMENT 6

ETC ATTNTRAP* BRANCH LOOP PRODUCT INDEXGEN (1 ..1+1)<5

STATEMENT 7SHORTCONST 5SHORTCONST 1LONGG.lOBAL IGENSCALAR SUMMEMREr ASSIGN; LONGGL08AL 1GENSCALAR LESSETC INDEXGENSHORTCONST 5GENSCALAR PRODUCTETC BRANCH

* R~(0 0 1 1) AND (0 1 0 1)

Page 18: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

---------....r...-".......----~----··---·-------"-·-··-- ..-.. ·-··-···· .f

ENDFUNCTION

STATEMENT 16ETC RETURNF

STATEMENT 15ETC ATTNTRAP

LONGGLOBAL R

9ATTNTRAP(21 1)

10CONVEC,4INTTYPEB,0INTTYPEB"tINTTYPEB,0INTTYPE8"tCONVEC,4INTTYPEB,0INTTYPEB,0INTTYPEB,tINTTYPEB"tORASNORESULTJ

8CONVEC,,4INTTYPEB,,0INTTYPEB,lINTTYPEB,00400008,0002008CONVEC,4INTTYPEB;0INTTYPEB,0INTTYPEB,l040000B,,0002008ANDASNORESULTJ LONGGLOBAL R

STATEMENT'ETC1) OR «(21 1ST.ATEMENTETCGCONSCALARGCONSCALARGCONSCALARGCONSCALARETCGCONSCALARGCONSCALARGCONSCALARGCONSCALARGENSCALARMEMREF'

STATEMENT 14LONGGLOBAL BJ LONGGLOBAL AGENSCALAR EQUALMEMREF ASNORESULT; LONGGLOBAL R

STATEMENT 11ETC ATTNTRAP

STATEMENT 13ETC ATTNTRAP

STATEMENT 12LONGGLOBAL BJ LONGGLOBAL AGENSCALAR LESSMEMREF ASNORESULTJ LONGGLOBAL R

STATEMENTETCGCONSCALARGCONSCALARGCONSCALARGCONSCALARETCGCONSCALARGCONSCALARGCONSCALARGCONSCALARSENSCALARMEHREF

* ATTNTRAP

* RtA=B

* ATTNTRAP

* ATTNTRAP

* Rr-A<B

* BELI

* R~TURN

* ATTNTRAP

C\·"../

Page 19: (TERMI~ALS -  · ""* macr0 package for meta-apl assemblies. * ** the syntax for a met~-apl assembly program is as follows: ** (termi~als are quoted, parentheses are metacharacters,

* D~L R~D[A.~B.~N]D FUNCTION

LOCALLOCAL

* BRANCH <2 3 4 5 6 7STATEMENTSHORT LOCALETCGCONSCALARGCONSCALARGCONSCALARGCONSCALARGCONSCALARGCONSCALARGCONSCALARGCONSCAI.ARINDEXETC

*S* DCt) IS* DCg) IS

1~9~3~1

RA~B~N

8 9)[NJ1NCONVEC~8

INTTYPEB~2

INTTYPEB~3

INTTYPEB~4

INTTYPEB~5

INTTYPEB~6

INTTYPEB~7

INTTYPEB~8

INTTYPEB~9

1BRANCH

3"DIFFERENCEPRODUCT B

4"PRODUCTQUOTIENT' B

5"QUOTIENT

MACRO IDTHE STATEMENT NUMBER~

THE. (SCALAR) OPERATOR.STATEMENT 0(1)SRORTLOCAL 8J SHORTLOCAL A6ENSCALAR D(2)MEHREF ASSIGNJ SHORTLOCAL RSHORTCONST (2)

ETC CATENATEETC BRANCHENDM

0~R~A+B

S0"R~A-8

S0"R"A

S0~R~A

S0~R~A AND B

S'0"R~A OR B

S0~R~A LESS B

, S 8~LESS

0~R~A EQUAL BS 9~EQUAL

* BRANCH

** B~ANCH

* B:RANCHi

* B~ANCH

* B~ANCH

, *\ B;f(ANCH

* BJi1ANCH

* BRANCHf

o

*ENDF"UNCTION

ENDPROGRAM

II

I

I

I

\--------_....................._-------------------------...................._------