home *** CD-ROM | disk | FTP | other *** search
Text File | 1985-08-11 | 12.1 KB | 559 lines | [TEXT/Anon] |
-
- MAC.68K
-
-
-
- BSS BSS BSS
-
-
- PURPOSE To switch assembly into the block storage segment.
-
-
- FORMAT BSS
-
-
- DESCRIPTION BSS changes the current assembly segment to the
- block storage segment. Instructions and data
- generating op codes may not be used within this
- segment. Storage may be allocated and symbols defined
- by using the DS op codes.
-
-
-
- EXAMPLE BSS
- BUFF DS 128
- NAME DS.B 8
-
-
-
-
-
-
-
- COMM COMM COMM
-
-
- PURPOSE To declare a common area.
-
-
- FORMAT COMM label,expression
-
-
- DESCRIPTION COMM specifies a symbol name (label) and a length
- (expression) to be set up as a shared area with other
- programs. The link utility LO68 (CPM-68K only) will
- establish one starting address for all common areas
- with the same label name. The length of this area will
- be the largest value specified from the linked
- programs.
-
-
-
- EXAMPLES
- COMM BUFFER,$100
- COMM FOO,2
-
-
-
-
-
-
-
-
- -21- MAC.68K
- MAC.68K
-
-
- DATA DATA DATA
-
-
-
- PURPOSE To switch assembly into the data segment.
-
-
-
- FORMAT DATA
-
-
-
- DESCRIPTION DATA changes the current assembly segment to the
- data segment. Any data, instruction, or reservation op
- code may be used within the DATA segment.
-
-
-
- EXAMPLE DATA
- ANAME DC.L 'QUIRK'
- BOOKS DS 120
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -22-
- MAC.68K
-
-
- DC DC DC
- DC.B DC.B DC.B
- DC.L DC.L DC.L
-
-
-
- PURPOSE To declare data values.
-
-
-
- FORMAT symbol DC expression
-
-
-
- DESCRIPTION DC places the value of expression into one or more
- word, byte, or long word memory locations. Numeric
- data types are placed into a single unit of the
- specified memory size. Character data types are
- aligned and placed into however many units of sized
- memory necessary to contain the entire string. DC and
- DC.L are automatically aligned to an even word
- boundary. DC.B may begin on an odd byte boundary.
-
-
-
- EXAMPLES
- DATE DC 10L 04/21/78
- TIME DC.L #L* 11:34 *
- LIST DC.B 'A','Z',0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -23- MAC.68K
- MAC.68K
-
-
- DEFER DEFER DEFER
-
-
-
- PURPOSE To define a block of source line input that is to be
- saved and then inserted later.
-
-
-
- FORMAT DEFER
- defname DEFER
-
-
-
- DESCRIPTION DEFER marks the beginning and end of a block of
- code that is to be appended to an internal buffer.
- Multiple named DEFER buffers may be active and are
- specified by use of the defname in the location field
- of the beginning DEFER. A subsequent HERE pseudo op
- empties the specified buffer, and the accumulated
- block(s) of code are assembled. DEFERs cannot be
- nested.
-
- Defered code is saved in memory buffers until it
- is used. The number of active buffers and the amount
- of code in them is limited only by available memory
- space.
-
-
-
- EXAMPLES see example for pseudo op HERE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -24-
- MAC.68K
-
-
- DS DS DS
- DS.B DS.B DS.B
- DS.L DS.L DS.L
-
-
-
- PURPOSE To reserve storage.
-
-
-
- FORMAT DS expression
- symbol DS expression
-
-
-
- DESCRIPTION DS reserves expression number of words, bytes, or
- long words in memory. If a symbol is used in the
- location field it is assigned the current value of the
- location counter. DS and DS.L are automatically
- aligned to an even word boundary. DS.B may begin on an
- odd byte boundary.
-
-
-
- EXAMPLES
- BUFFER DS.B $128
- DS 4
- FILENAME DS.L 2
- ALIGN DS.W 0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -25- MAC.68K
- MAC.68K
-
-
- DUP DUP DUP
-
-
-
- PURPOSE To define a block of code that is to be duplicated.
-
-
-
- FORMAT DUP dupcount
- dupname DUP dupcount
-
-
-
- DESCRIPTION DUP marks the beginning of a block of code
- terminated by an ENDD. The expression dupcount
- specifies the number of times the block is to be
- duplicated. The duplication may be terminated at any
- time with a STOPDUP pseudo op. A dupcount of zero
- results in no assembly of the block of code.
-
- DUP blocks may be nested up to 5 levels by using a
- dupname on the DUP/ENDD pairs.
-
-
-
- EXAMPLES DUP 10 REP4 DUP 4
- DS.B 1 DS.L 1
- ENDD DC 20
- REP4 ENDD
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -26-
- MAC.68K
-
-
- ECHO ECHO ECHO
-
-
-
- PURPOSE To duplicate a block of code while supplying arguments
- for inline parameter substitution.
-
-
-
- FORMAT ECHO lnct,p1=(list1)
- dupname ECHO ,p1=(list1),p2=(list2),...
-
-
-
- DESCRIPTION ECHO marks the beginning of a block of code
- specified by the optional line count field lnct, or
- terminated by an ENDD when no line count field is
- supplied. Up to 127 parameter names with variable
- length lists may be used. The block is duplicated the
- number of times equal to the shortest argument count
- present in any of the lists. The duplication may be
- terminated at any time with a STOPDUP pseudo op. A
- list with no arguments results in no assembly of the
- block of code.
-
- Parameter names and substitution rules are the
- same as for MACRO. Null arguments are allowed, and
- arguments may be embedded within parenthesis pairs.
-
- ECHO blocks may be nested up to 5 levels by using
- a dupname on the ECHO/ENDD pairs.
-
-
-
- EXAMPLES ECHO 1,CC=(A,B,C)
- DC.B 'CC'
-
- ECHO ,AA=(1,1,2),BB=(A,B,C2)
- DS.B AA
- DC.B 'BB'
- ENDD
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -27- MAC.68K
- MAC.68K
-
-
- ELSE ELSE ELSE
-
-
-
- PURPOSE To reverse the current state of an IF test.
-
-
-
- FORMAT ELSE ELSE lnct
- ifname ELSE ifname ELSE lnct
-
-
-
- DESCRIPTION An ELSE is used to stop assembly and begin skipping
- source lines within an IF block, or to stop skipping
- source lines and resume assembly. A named ELSE with an
- ifname that matches the current skip ifname, or an
- unnamed ELSE stops source line skipping started by an
- IF, SKIP, or another ELSE.
-
- If a line count lnct is specified, then an ELSE
- that stops assembly ignores the next lnct lines.
- Otherwise the assembly ignores lines until an unnamed
- ENDC, an ENDC with a matching ifname, or another ELSE
- is encountered.
-
-
-
- EXAMPLES
-
- IFEQ OPT,10 IFEQ OPT,10 FOO IFEQ OPT,10
- MOVEQ #1,D0 MOVEQ #1,D0 MOVEQ #1,D0
- ELSE ELSE 1 FOO ELSE
- MOVEQ #2,D0 MOVEQ #2,D0 MOVEQ #2,D0
- ENDC FOO ENDC
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- MAC.68K -28-
- MAC.68K
-
-
- END END END
-
-
- PURPOSE To signal the end of program text.
-
-
- FORMAT END
-
-
- DESCRIPTION END terminates the assembly of a program. It is a
- required card and an error will be flagged if an end
- of source file input is reached without an END card.
-
-
-
-
-
-
-
- ENDC ENDC ENDC
-
-
- PURPOSE To terminate source line skipping and resume assembly.
-
-
- FORMAT ENDC
- ifname ENDC
-
-
- DESCRIPTION ENDC terminates source line skipping. If skipping
- is not active ENDC has no effect. If skipping is being
- done with a line count, the ENDC is counted as a line
- but otherwise has no effect. A named ENDC terminates
- skipping only if its name matches the active ifname.
-
-
-
- EXAMPLES IFEQ X IFEQ X
- MOVE A2,D1 MOVE A2,D1
- ELSE 6 ELSE
- IFEQ Z FOO IFEQ Z
- MOVE A3,D1 MOVE A3,D1
- ELSE 2 FOO ELSE 2
- MOVE A4,A1 MOVE A4,D1
- ENDC ENDC
-
-
-
-
-
-
-
-
-
-
-
-
-
- -29- MAC.68K