home *** CD-ROM | disk | FTP | other *** search
- From: markz@ssc.UUCP (Mark Zenier)
- Newsgroups: alt.sources
- Subject: Frankenstein Cross Assemblers, Intel 8096 flavor, Part 1 of 2
- Message-ID: <606@ssc.UUCP>
- Date: 5 Dec 90 06:16:49 GMT
-
- ---- Cut Here and feed the following to sh ----
- #!/bin/sh
- # This is Frankasm/As8096, a shell archive (shar 3.43)
- # made 12/04/1990 08:46 UTC by markz@ssc.uucp
- # Source directory /usr/mark/frank.shar
- #
- # existing files will NOT be overwritten unless -c is specified
- # This format requires very little intelligence at unshar time.
- # "if test", "echo", "true", and "sed" may be needed.
- #
- # This shar contains:
- # length mode name
- # ------ ---------- ------------------------------------------
- # 1546 -r--r----- as8096.1
- # 14058 -r--r----- as8096.doc
- # 9469 -r--r----- as8096.tst
- # 16566 -r--r----- as8096.tut
- # 55463 -r--r--r-- as8096.y
- #
- # ============= as8096.1 ==============
- if test -f 'as8096.1' -a X"$1" != X"-c"; then
- echo 'x - skipping as8096.1 (File already exists)'
- else
- echo 'x - extracting as8096.1 (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'as8096.1' &&
- X.TH AS8096 1L
- X.SH NAME
- Xas8096, as80196 \- cross assemblers for microcomputers
- X.SH SYNOPSIS
- X.nf
- Xas8096 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input
- Xas80196 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input
- X.fi
- X.SH DESCRIPTION
- XThe as8096, as80196 commands assembles the input file into a
- Xtext output file representing the program memory for a microcomputer.
- X
- XOptions
- X.IP "-p cpu"
- XOverride the instruction set selection.
- X.RS 10
- XValid Values for Cpu
- X.RS 5
- X8096, 80196
- X.RE
- X.RE
- X.IP "-l listfile"
- XOutput a file formated with the memory address, data, and source input lines.
- X.IP "-o hexfile"
- XOutput the memory data image in a form accepted by most prom programmers.
- X.IP "-h hexfile"
- XSame as \-o.
- X.IP \-d
- XSave the intermediate data file (see FILE) and abort the execution at the
- Xend of processing.
- X.IP "-s symbolfile"
- XPrint the symbol table values and names, one per line in the specified file.
- X.SH FILES
- X/usr/tmp/frtXXXXXX
- X.SH SEE ALSO
- XFrankenstein Cross Assemblers Users Manual (file base.doc)
- XAppendix for as8096 Frankenstein Assembler (file as8096.doc)
- X.SH NOTES
- XThere is only one input file.
- X
- XThe program can select which subset of instructions is accepted.
- XThe program first uses the name with which it is invoked.
- XThis is scanned for a substring which indicates which set to use.
- XThe -p options overrides this selction by performing the same substring
- Xsearch.
- XFinally the input file can select which subset to use with the CPU statement.
- X
- XThere should only be one executable file with all of its names linked to it.
- SHAR_EOF
- true || echo 'restore of as8096.1 failed'
- fi
- # ============= as8096.doc ==============
- if test -f 'as8096.doc' -a X"$1" != X"-c"; then
- echo 'x - skipping as8096.doc (File already exists)'
- else
- echo 'x - extracting as8096.doc (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'as8096.doc' &&
- X.HM A 1 1 1 1 1 1
- X.H 1 "Appendix for as8096 Frankenstein Assembler"
- X.H 2 "Pseudo Operations"
- X.H 3 "Standard Pseudo Operation Mnemonics"
- X.VL 40 5 1
- X.LI "End"
- XEND
- X.LI "File Inclusion"
- XINCL
- XINCLUDE
- X.LI "If"
- XIF
- X.LI "Else"
- XELSE
- X.LI "End If"
- XENDI
- X.LI "Equate"
- XEQU
- X.LI "Set"
- XSET
- X.LI "Org"
- XORG
- X.LI "Reserve Memory"
- XDSB
- XRESERVE
- XRMB
- X.LI "Define Byte Data"
- XBYTE
- XDCB
- XFCB
- X.LI "Define String Data"
- XFCC
- XSTRING
- X.LI "Define Character Set Translation"
- XCHARSET
- X.LI "Define Character Value"
- XCHARDEF
- XCHD
- X.LI "Use Character Translation"
- XCHARUSE
- X.LE
- X.H 3 "Machine Dependent Pseudo Operations"
- X.H 4 "Define Word Data, Aligned"
- X.DS I N
- X[Label] WORD expression [, expression] ...
- X[Label] FDB expression [, expression] ...
- X[Label] DCW expression [, expression] ...
- X.DE
- X.P
- XThe define word statement generates a two byte integer for each expression
- Xin the expression list.
- XThere can be up to 128 expressions on a line, more than the line length will
- Xallow.
- XThe location counter is adjusted by skipping bytes to make the first
- Xlocation address divisible by 2.
- XThe generated constants are in byte reversed order, with the low order
- Xbyte first, followed by the high order byte.
- XThe optional label is set to the first location of this area.
- X.H 4 "Define Long Word Data, Aligned"
- X.DS I N
- X[Label] LONG expression [, expression] ...
- X[Label] DCL expression [, expression] ...
- X.DE
- X.P
- XThe define long word statement generates a four byte integer
- Xfor each expression in the expression list.
- XThere can be up to 128 expressions on a line, more than the line length will
- Xallow.
- XThe location counter is adjusted by skipping bytes to make the first
- Xlocation address divisible by 4.
- XThe generated constants are in byte reversed order, with the low order
- Xbyte first, followed by the high order bytes.
- XThe optional label is set to the first location of this area.
- X.H 4 "Reserve Memory, Word Aligned"
- X.DS I N
- X[Label] DSW expression
- X.DE
- X.P
- XThis statement moves the location counter forward by
- Xthe number of bytes specified in the expression.
- XThe location counter is adjusted by skipping bytes to make the
- Xfirst location address divisible by 2.
- XThe label is set to the first location of this area.
- X.H 4 "Reserve Memory, Long Word Aligned"
- X.DS I N
- X[Label] DSL expression
- X.DE
- X.P
- XThis statement moves the location counter forward by
- Xthe number of long words specified in the expression.
- XThe location counter is adjusted by skipping bytes to make
- Xthe first location address divisible by 4.
- XThe label is set to the first location of this area.
- X.H 4 "Instruction Set Selection"
- X.DS I N
- XCPU string
- X.DE
- XThe instruction set can be specified in the source file with the CPU
- Xpseudooperation.
- XThe string, delimited by quotes or apostrophes, is scanned for a
- Xsubstring which selects which instruction set is used.
- XWhen the program is invoked, this operation is performed on the name of
- Xthe program, then the -p optional arguement, if any, and then any CPU
- Xstatements.
- XThe last one selects which subset of the instructions the assembler will
- Xaccept.
- XThe instruction set can be changed at any place in the source file.
- X.VL 30 5 1
- X.LI "Instruction Set"
- XSubstrings
- X.LI "80c196"
- X19
- X.LI "8096"
- X9
- X.LE
- X.H 2 "Instructions"
- X.H 3 "Instruction List"
- X.TS H
- X;
- Xl l l.
- XOpcode Syntax Selection Criteria
- X.sp
- X.TH
- X.sp
- XADD expr ',' '#' expr
- XADD expr ',' '[' expr ']'
- XADD expr ',' expr ',' '#' expr
- XADD expr ',' expr ',' '[' expr ']'
- XADD expr ',' expr ',' expr '[' expr ']' DIRECT
- XADD expr ',' expr ',' expr '[' expr ']' EXTENDED
- XADD expr ',' expr ',' expr DIRECT
- XADD expr ',' expr ',' expr EXTENDED
- XADD expr ',' expr '[' expr ']' DIRECT
- XADD expr ',' expr '[' expr ']' EXTENDED
- XADD expr ',' expr DIRECT
- XADD expr ',' expr EXTENDED
- X.sp
- XADDB expr ',' '#' expr
- XADDB expr ',' '[' expr ']'
- XADDB expr ',' expr ',' '#' expr
- XADDB expr ',' expr ',' '[' expr ']'
- XADDB expr ',' expr ',' expr '[' expr ']' DIRECT
- XADDB expr ',' expr ',' expr '[' expr ']' EXTENDED
- XADDB expr ',' expr ',' expr DIRECT
- XADDB expr ',' expr ',' expr EXTENDED
- XADDB expr ',' expr '[' expr ']' DIRECT
- XADDB expr ',' expr '[' expr ']' EXTENDED
- XADDB expr ',' expr DIRECT
- XADDB expr ',' expr EXTENDED
- X.sp
- XADDC expr ',' '#' expr
- XADDC expr ',' '[' expr ']'
- XADDC expr ',' expr '[' expr ']' DIRECT
- XADDC expr ',' expr '[' expr ']' EXTENDED
- XADDC expr ',' expr DIRECT
- XADDC expr ',' expr EXTENDED
- X.sp
- XADDCB expr ',' '#' expr
- XADDCB expr ',' '[' expr ']'
- XADDCB expr ',' expr '[' expr ']' DIRECT
- XADDCB expr ',' expr '[' expr ']' EXTENDED
- XADDCB expr ',' expr DIRECT
- XADDCB expr ',' expr EXTENDED
- X.sp
- XAND expr ',' '#' expr
- XAND expr ',' '[' expr ']'
- XAND expr ',' expr ',' '#' expr
- XAND expr ',' expr ',' '[' expr ']'
- XAND expr ',' expr ',' expr '[' expr ']' DIRECT
- XAND expr ',' expr ',' expr '[' expr ']' EXTENDED
- XAND expr ',' expr ',' expr DIRECT
- XAND expr ',' expr ',' expr EXTENDED
- XAND expr ',' expr '[' expr ']' DIRECT
- XAND expr ',' expr '[' expr ']' EXTENDED
- XAND expr ',' expr DIRECT
- XAND expr ',' expr EXTENDED
- X.sp
- XANDB expr ',' '#' expr
- XANDB expr ',' '[' expr ']'
- XANDB expr ',' expr ',' '#' expr
- XANDB expr ',' expr ',' '[' expr ']'
- XANDB expr ',' expr ',' expr '[' expr ']' DIRECT
- XANDB expr ',' expr ',' expr '[' expr ']' EXTENDED
- XANDB expr ',' expr ',' expr DIRECT
- XANDB expr ',' expr ',' expr EXTENDED
- XANDB expr ',' expr '[' expr ']' DIRECT
- XANDB expr ',' expr '[' expr ']' EXTENDED
- XANDB expr ',' expr DIRECT
- XANDB expr ',' expr EXTENDED
- X.sp
- XBMOV expr ',' expr CPU196
- X.sp
- XBR '[' expr ']'
- X.sp
- XCLR expr
- X.sp
- XCLRB expr
- X.sp
- XCLRC
- X.sp
- XCLRVT
- X.sp
- XCMP expr ',' '#' expr
- XCMP expr ',' '[' expr ']'
- XCMP expr ',' expr '[' expr ']' DIRECT
- XCMP expr ',' expr '[' expr ']' EXTENDED
- XCMP expr ',' expr DIRECT
- XCMP expr ',' expr EXTENDED
- X.sp
- XCMPB expr ',' '#' expr
- XCMPB expr ',' '[' expr ']'
- XCMPB expr ',' expr '[' expr ']' DIRECT
- XCMPB expr ',' expr '[' expr ']' EXTENDED
- XCMPB expr ',' expr DIRECT
- XCMPB expr ',' expr EXTENDED
- X.sp
- XCMPL expr ',' expr CPU196
- X.sp
- XDEC expr
- X.sp
- XDECB expr
- X.sp
- XDI
- X.sp
- XDIV expr ',' '#' expr
- XDIV expr ',' '[' expr ']'
- XDIV expr ',' expr '[' expr ']' DIRECT
- XDIV expr ',' expr '[' expr ']' EXTENDED
- XDIV expr ',' expr DIRECT
- XDIV expr ',' expr EXTENDED
- X.sp
- XDIVB expr ',' '#' expr
- XDIVB expr ',' '[' expr ']'
- XDIVB expr ',' expr '[' expr ']' DIRECT
- XDIVB expr ',' expr '[' expr ']' EXTENDED
- XDIVB expr ',' expr DIRECT
- XDIVB expr ',' expr EXTENDED
- X.sp
- XDIVU expr ',' '#' expr
- XDIVU expr ',' '[' expr ']'
- XDIVU expr ',' expr '[' expr ']' DIRECT
- XDIVU expr ',' expr '[' expr ']' EXTENDED
- XDIVU expr ',' expr DIRECT
- XDIVU expr ',' expr EXTENDED
- X.sp
- XDIVUB expr ',' '#' expr
- XDIVUB expr ',' '[' expr ']'
- XDIVUB expr ',' expr '[' expr ']' DIRECT
- XDIVUB expr ',' expr '[' expr ']' EXTENDED
- XDIVUB expr ',' expr DIRECT
- XDIVUB expr ',' expr EXTENDED
- X.sp
- XDJNZ expr ',' expr
- X.sp
- XDJNZW expr ',' expr CPU196
- X.sp
- XEI
- X.sp
- XEXT expr
- X.sp
- XEXTB expr
- X.sp
- XIDLPD '#' expr CPU196
- X.sp
- XINC expr
- X.sp
- XINCB expr
- X.sp
- XJBC expr ',' expr ',' expr
- X.sp
- XJBS expr ',' expr ',' expr
- X.sp
- XJC expr
- X.sp
- XJE expr
- X.sp
- XJGE expr
- X.sp
- XJGT expr
- X.sp
- XJH expr
- X.sp
- XJLE expr
- X.sp
- XJLT expr
- X.sp
- XJNC expr
- X.sp
- XJNE expr
- X.sp
- XJNH expr
- X.sp
- XJNST expr
- X.sp
- XJNV expr
- X.sp
- XJNVT expr
- X.sp
- XJST expr
- X.sp
- XJV expr
- X.sp
- XJVT expr
- X.sp
- XLCALL expr
- X.sp
- XLD expr ',' '#' expr
- XLD expr ',' '[' expr ']'
- XLD expr ',' expr '[' expr ']' DIRECT
- XLD expr ',' expr '[' expr ']' EXTENDED
- XLD expr ',' expr DIRECT
- XLD expr ',' expr EXTENDED
- X.sp
- XLDB expr ',' '#' expr
- XLDB expr ',' '[' expr ']'
- XLDB expr ',' expr '[' expr ']' DIRECT
- XLDB expr ',' expr '[' expr ']' EXTENDED
- XLDB expr ',' expr DIRECT
- XLDB expr ',' expr EXTENDED
- X.sp
- XLDBSE expr ',' '#' expr
- XLDBSE expr ',' '[' expr ']'
- XLDBSE expr ',' expr '[' expr ']' DIRECT
- XLDBSE expr ',' expr '[' expr ']' EXTENDED
- XLDBSE expr ',' expr DIRECT
- XLDBSE expr ',' expr EXTENDED
- X.sp
- XLDBZE expr ',' '#' expr
- XLDBZE expr ',' '[' expr ']'
- XLDBZE expr ',' expr '[' expr ']' DIRECT
- XLDBZE expr ',' expr '[' expr ']' EXTENDED
- XLDBZE expr ',' expr DIRECT
- XLDBZE expr ',' expr EXTENDED
- X.sp
- XLJMP expr
- X.sp
- XMUL expr ',' '#' expr
- XMUL expr ',' '[' expr ']'
- XMUL expr ',' expr ',' '#' expr
- XMUL expr ',' expr ',' '[' expr ']'
- XMUL expr ',' expr ',' expr '[' expr ']' DIRECT
- XMUL expr ',' expr ',' expr '[' expr ']' EXTENDED
- XMUL expr ',' expr ',' expr DIRECT
- XMUL expr ',' expr ',' expr EXTENDED
- XMUL expr ',' expr '[' expr ']' DIRECT
- XMUL expr ',' expr '[' expr ']' EXTENDED
- XMUL expr ',' expr DIRECT
- XMUL expr ',' expr EXTENDED
- X.sp
- XMULB expr ',' '#' expr
- XMULB expr ',' '[' expr ']'
- XMULB expr ',' expr ',' '#' expr
- XMULB expr ',' expr ',' '[' expr ']'
- XMULB expr ',' expr ',' expr '[' expr ']' DIRECT
- XMULB expr ',' expr ',' expr '[' expr ']' EXTENDED
- XMULB expr ',' expr ',' expr DIRECT
- XMULB expr ',' expr ',' expr EXTENDED
- XMULB expr ',' expr '[' expr ']' DIRECT
- XMULB expr ',' expr '[' expr ']' EXTENDED
- XMULB expr ',' expr DIRECT
- XMULB expr ',' expr EXTENDED
- X.sp
- XMULU expr ',' '#' expr
- XMULU expr ',' '[' expr ']'
- XMULU expr ',' expr ',' '#' expr
- XMULU expr ',' expr ',' '[' expr ']'
- XMULU expr ',' expr ',' expr '[' expr ']' DIRECT
- XMULU expr ',' expr ',' expr '[' expr ']' EXTENDED
- XMULU expr ',' expr ',' expr DIRECT
- XMULU expr ',' expr ',' expr EXTENDED
- XMULU expr ',' expr '[' expr ']' DIRECT
- XMULU expr ',' expr '[' expr ']' EXTENDED
- XMULU expr ',' expr DIRECT
- XMULU expr ',' expr EXTENDED
- X.sp
- XMULUB expr ',' '#' expr
- XMULUB expr ',' '[' expr ']'
- XMULUB expr ',' expr ',' '#' expr
- XMULUB expr ',' expr ',' '[' expr ']'
- XMULUB expr ',' expr ',' expr '[' expr ']' DIRECT
- XMULUB expr ',' expr ',' expr '[' expr ']' EXTENDED
- XMULUB expr ',' expr ',' expr DIRECT
- XMULUB expr ',' expr ',' expr EXTENDED
- XMULUB expr ',' expr '[' expr ']' DIRECT
- XMULUB expr ',' expr '[' expr ']' EXTENDED
- XMULUB expr ',' expr DIRECT
- XMULUB expr ',' expr EXTENDED
- X.sp
- XNEG expr
- X.sp
- XNEGB expr
- X.sp
- XNOP
- X.sp
- XNORML expr ',' expr
- X.sp
- XNOT expr
- X.sp
- XNOTB expr
- X.sp
- XOR expr ',' '#' expr
- XOR expr ',' '[' expr ']'
- XOR expr ',' expr '[' expr ']' DIRECT
- XOR expr ',' expr '[' expr ']' EXTENDED
- XOR expr ',' expr DIRECT
- XOR expr ',' expr EXTENDED
- X.sp
- XORB expr ',' '#' expr
- XORB expr ',' '[' expr ']'
- XORB expr ',' expr '[' expr ']' DIRECT
- XORB expr ',' expr '[' expr ']' EXTENDED
- XORB expr ',' expr DIRECT
- XORB expr ',' expr EXTENDED
- X.sp
- XPOP '[' expr ']'
- XPOP expr '[' expr ']' DIRECT
- XPOP expr '[' expr ']' EXTENDED
- XPOP expr DIRECT
- XPOP expr EXTENDED
- X.sp
- XPOPA CPU196
- X.sp
- XPOPF
- X.sp
- XPUSH '#' expr
- XPUSH '[' expr ']'
- XPUSH expr '[' expr ']' DIRECT
- XPUSH expr '[' expr ']' EXTENDED
- XPUSH expr DIRECT
- XPUSH expr EXTENDED
- X.sp
- XPUSHA CPU196
- X.sp
- XPUSHF
- X.sp
- XRET
- X.sp
- XRST
- X.sp
- XSCALL expr
- X.sp
- XSETC
- X.sp
- XSHL expr ',' '#' expr
- XSHL expr ',' expr
- X.sp
- XSHLB expr ',' '#' expr
- XSHLB expr ',' expr
- X.sp
- XSHLL expr ',' '#' expr
- XSHLL expr ',' expr
- X.sp
- XSHR expr ',' '#' expr
- XSHR expr ',' expr
- X.sp
- XSHRA expr ',' '#' expr
- XSHRA expr ',' expr
- X.sp
- XSHRAB expr ',' '#' expr
- XSHRAB expr ',' expr
- X.sp
- XSHRAL expr ',' '#' expr
- XSHRAL expr ',' expr
- X.sp
- XSHRB expr ',' '#' expr
- XSHRB expr ',' expr
- X.sp
- XSHRL expr ',' '#' expr
- XSHRL expr ',' expr
- X.sp
- XSJMP expr
- X.sp
- XSKIP expr
- X.sp
- XST expr ',' '[' expr ']'
- XST expr ',' expr '[' expr ']' DIRECT
- XST expr ',' expr '[' expr ']' EXTENDED
- XST expr ',' expr DIRECT
- XST expr ',' expr EXTENDED
- X.sp
- XSTB expr ',' '[' expr ']'
- XSTB expr ',' expr '[' expr ']' DIRECT
- XSTB expr ',' expr '[' expr ']' EXTENDED
- XSTB expr ',' expr DIRECT
- XSTB expr ',' expr EXTENDED
- X.sp
- XSUB expr ',' '#' expr
- XSUB expr ',' '[' expr ']'
- XSUB expr ',' expr ',' '#' expr
- XSUB expr ',' expr ',' '[' expr ']'
- XSUB expr ',' expr ',' expr '[' expr ']' DIRECT
- XSUB expr ',' expr ',' expr '[' expr ']' EXTENDED
- XSUB expr ',' expr ',' expr DIRECT
- XSUB expr ',' expr ',' expr EXTENDED
- XSUB expr ',' expr '[' expr ']' DIRECT
- XSUB expr ',' expr '[' expr ']' EXTENDED
- XSUB expr ',' expr DIRECT
- XSUB expr ',' expr EXTENDED
- X.sp
- XSUBB expr ',' '#' expr
- XSUBB expr ',' '[' expr ']'
- XSUBB expr ',' expr ',' '#' expr
- XSUBB expr ',' expr ',' '[' expr ']'
- XSUBB expr ',' expr ',' expr '[' expr ']' DIRECT
- XSUBB expr ',' expr ',' expr '[' expr ']' EXTENDED
- XSUBB expr ',' expr ',' expr DIRECT
- XSUBB expr ',' expr ',' expr EXTENDED
- XSUBB expr ',' expr '[' expr ']' DIRECT
- XSUBB expr ',' expr '[' expr ']' EXTENDED
- XSUBB expr ',' expr DIRECT
- XSUBB expr ',' expr EXTENDED
- X.sp
- XSUBC expr ',' '#' expr
- XSUBC expr ',' '[' expr ']'
- XSUBC expr ',' expr '[' expr ']' DIRECT
- XSUBC expr ',' expr '[' expr ']' EXTENDED
- XSUBC expr ',' expr DIRECT
- XSUBC expr ',' expr EXTENDED
- X.sp
- XSUBCB expr ',' '#' expr
- XSUBCB expr ',' '[' expr ']'
- XSUBCB expr ',' expr '[' expr ']' DIRECT
- XSUBCB expr ',' expr '[' expr ']' EXTENDED
- XSUBCB expr ',' expr DIRECT
- XSUBCB expr ',' expr EXTENDED
- X.sp
- XXOR expr ',' '#' expr
- XXOR expr ',' '[' expr ']'
- XXOR expr ',' expr '[' expr ']' DIRECT
- XXOR expr ',' expr '[' expr ']' EXTENDED
- XXOR expr ',' expr DIRECT
- XXOR expr ',' expr EXTENDED
- X.sp
- XXORB expr ',' '#' expr
- XXORB expr ',' '[' expr ']'
- XXORB expr ',' expr '[' expr ']' DIRECT
- XXORB expr ',' expr '[' expr ']' EXTENDED
- XXORB expr ',' expr DIRECT
- XXORB expr ',' expr EXTENDED
- X.TE
- X.H 3 "Selection Criteria Keywords"
- X.VL 25 5
- X.LI DIRECT
- XThe instruction will be generated with a short form if the last operand
- Xwill fit in one byte, and is defined when the instruction is processed in
- Xthe first pass.
- X.LI EXTENDED
- XThe instruction can be generated with a long form.
- X.LI CPU196
- XThe instruction is implemented only in the 80c196.
- X.LE
- X.H 3 "Apostrophes"
- XThe apostrophes in the syntax field are a notation used for the
- Xparser generator and are not put in the assembler source statement.
- X.H 2 "Notes"
- X.H 3 "Data Alignment"
- XIn the second pass, data address are checked for alignment.
- XIf the operand field is not divisible by 2 for word references, or
- Xby 4 for long word references, the error message
- X"expression fails validity test" occurs.
- X.H 3 "Generic Jumps"
- XThe assembler requires that the length of an instruction
- Xbe able to be determined at the first pass, so generalized generic jumps
- Xcould not be implemented.
- X.H 3 "Reserved Symbols"
- X.H 4 "Standard Reserved Symbols"
- XAND
- XDEFINED
- XEQ
- XGE
- XGT
- XHIGH
- XLE
- XLOW
- XLT
- XMOD
- XNE
- XNOT
- XOR
- XSHL
- XSHR
- XXOR
- Xand
- Xdefined
- Xeq
- Xge
- Xgt
- Xhigh
- Xle
- Xlow
- Xlt
- Xmod
- Xne
- Xnot
- Xor
- Xshl
- Xshr
- Xxor
- X.TC 1 1 7
- SHAR_EOF
- true || echo 'restore of as8096.doc failed'
- fi
- # ============= as8096.tst ==============
- if test -f 'as8096.tst' -a X"$1" != X"-c"; then
- echo 'x - skipping as8096.tst (File already exists)'
- else
- echo 'x - extracting as8096.tst (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'as8096.tst' &&
- Ximmed equ 98h
- Xsrcreg equ 38h
- Xdstreg equ 30h
- Xlongoff equ 7654h
- Xshortoff equ 33h
- Xextern equ 1234h
- Xsrcreg2 equ 44h
- Xshiftcount equ 10
- X add dstreg, #immed
- X add dstreg, [ srcreg ]
- X add dstreg, [ srcreg ] +
- X add dstreg, extern
- X add dstreg, longoff [ srcreg ]
- X add dstreg, shortoff [ srcreg ]
- X add dstreg, srcreg
- X add dstreg, srcreg2, #immed
- X add dstreg, srcreg2, [ srcreg ]
- X add dstreg, srcreg2, [ srcreg ] +
- X add dstreg, srcreg2, extern
- X add dstreg, srcreg2, longoff [ srcreg ]
- X add dstreg, srcreg2, shortoff [ srcreg ]
- X add dstreg, srcreg2, srcreg
- X addb dstreg, #immed
- X addb dstreg, [ srcreg ]
- X addb dstreg, [ srcreg ] +
- X addb dstreg, extern
- X addb dstreg, longoff [ srcreg ]
- X addb dstreg, shortoff [ srcreg ]
- X addb dstreg, srcreg
- X addb dstreg, srcreg2, #immed
- X addb dstreg, srcreg2, [ srcreg ]
- X addb dstreg, srcreg2, [ srcreg ] +
- X addb dstreg, srcreg2, extern
- X addb dstreg, srcreg2, longoff [ srcreg ]
- X addb dstreg, srcreg2, shortoff [ srcreg ]
- X addb dstreg, srcreg2, srcreg
- X addc dstreg, #immed
- X addc dstreg, [ srcreg ]
- X addc dstreg, [ srcreg ] +
- X addc dstreg, extern
- X addc dstreg, longoff [ srcreg ]
- X addc dstreg, shortoff [ srcreg ]
- X addc dstreg, srcreg
- X addcb dstreg, #immed
- X addcb dstreg, [ srcreg ]
- X addcb dstreg, [ srcreg ] +
- X addcb dstreg, extern
- X addcb dstreg, longoff [ srcreg ]
- X addcb dstreg, shortoff [ srcreg ]
- X addcb dstreg, srcreg
- X and dstreg, #immed
- X and dstreg, [ srcreg ]
- X and dstreg, [ srcreg ] +
- X and dstreg, extern
- X and dstreg, longoff [ srcreg ]
- X and dstreg, shortoff [ srcreg ]
- X and dstreg, srcreg
- X and dstreg, srcreg2, #immed
- X and dstreg, srcreg2, [ srcreg ]
- X and dstreg, srcreg2, [ srcreg ] +
- X and dstreg, srcreg2, extern
- X and dstreg, srcreg2, longoff [ srcreg ]
- X and dstreg, srcreg2, shortoff [ srcreg ]
- X and dstreg, srcreg2, srcreg
- X andb dstreg, #immed
- X andb dstreg, [ srcreg ]
- X andb dstreg, [ srcreg ] +
- X andb dstreg, extern
- X andb dstreg, longoff [ srcreg ]
- X andb dstreg, shortoff [ srcreg ]
- X andb dstreg, srcreg
- X andb dstreg, srcreg2, #immed
- X andb dstreg, srcreg2, [ srcreg ]
- X andb dstreg, srcreg2, [ srcreg ] +
- X andb dstreg, srcreg2, extern
- X andb dstreg, srcreg2, longoff [ srcreg ]
- X andb dstreg, srcreg2, shortoff [ srcreg ]
- X andb dstreg, srcreg2, srcreg
- X br [ srcreg ]
- X clrc
- X clr dstreg
- X clrb dstreg
- X clrvt
- X cmp dstreg, #immed
- X cmp dstreg, [ srcreg ]
- X cmp dstreg, [ srcreg ] +
- X cmp dstreg, extern
- X cmp dstreg, longoff [ srcreg ]
- X cmp dstreg, shortoff [ srcreg ]
- X cmp dstreg, srcreg
- X cmpb dstreg, #immed
- X cmpb dstreg, [ srcreg ]
- X cmpb dstreg, [ srcreg ] +
- X cmpb dstreg, extern
- X cmpb dstreg, longoff [ srcreg ]
- X cmpb dstreg, shortoff [ srcreg ]
- X cmpb dstreg, srcreg
- X dec dstreg
- X decb dstreg
- X di
- X div dstreg, #immed
- X div dstreg, [ srcreg ]
- X div dstreg, [ srcreg ] +
- X div dstreg, extern
- X div dstreg, longoff [ srcreg ]
- X div dstreg, shortoff [ srcreg ]
- X div dstreg, srcreg
- X divb dstreg, #immed
- X divb dstreg, [ srcreg ]
- X divb dstreg, [ srcreg ] +
- X divb dstreg, extern
- X divb dstreg, longoff [ srcreg ]
- X divb dstreg, shortoff [ srcreg ]
- X divb dstreg, srcreg
- X divu dstreg, #immed
- X divu dstreg, [ srcreg ]
- X divu dstreg, [ srcreg ] +
- X divu dstreg, extern
- X divu dstreg, longoff [ srcreg ]
- X divu dstreg, shortoff [ srcreg ]
- X divu dstreg, srcreg
- X divub dstreg, #immed
- X divub dstreg, [ srcreg ]
- X divub dstreg, [ srcreg ] +
- X divub dstreg, extern
- X divub dstreg, longoff [ srcreg ]
- X divub dstreg, shortoff [ srcreg ]
- X divub dstreg, srcreg
- X djnz srcreg, jmpdst
- X ei
- X ext dstreg
- X extb dstreg
- X inc dstreg
- X incb dstreg
- X jbc srcreg, 0, jmpdst
- X jbc srcreg, 1, jmpdst
- X jbc srcreg, 2, jmpdst
- X jbc srcreg, 3, jmpdst
- X jbc srcreg, 4, jmpdst
- X jbc srcreg, 5, jmpdst
- X jbc srcreg, 6, jmpdst
- X jbc srcreg, 7, jmpdst
- X jbs srcreg, 0, jmpdst
- X jbs srcreg, 1, jmpdst
- X jbs srcreg, 2, jmpdst
- X jbs srcreg, 3, jmpdst
- X jbs srcreg, 4, jmpdst
- X jbs srcreg, 5, jmpdst
- X jbs srcreg, 6, jmpdst
- X jbs srcreg, 7, jmpdst
- X jc jmpdst
- Xjmpdst je jmpdst
- X jge jmpdst
- X jgt jmpdst
- X jh jmpdst
- X jle jmpdst
- X jlt jmpdst
- X jnc jmpdst
- X jne jmpdst
- X jnh jmpdst
- X jnst jmpdst
- X jnv jmpdst
- X jnvt jmpdst
- X jst jmpdst
- X jv jmpdst
- X jvt jmpdst
- X lcall jmpdst
- X ld dstreg, #immed
- X ld dstreg, [ srcreg ]
- X ld dstreg, [ srcreg ] +
- X ld dstreg, extern
- X ld dstreg, longoff [ srcreg ]
- X ld dstreg, shortoff [ srcreg ]
- X ld dstreg, srcreg
- X ldb dstreg, #immed
- X ldb dstreg, [ srcreg ]
- X ldb dstreg, [ srcreg ] +
- X ldb dstreg, extern
- X ldb dstreg, longoff [ srcreg ]
- X ldb dstreg, shortoff [ srcreg ]
- X ldb dstreg, srcreg
- X ldbse dstreg, #immed
- X ldbse dstreg, [ srcreg ]
- X ldbse dstreg, [ srcreg ] +
- X ldbse dstreg, extern
- X ldbse dstreg, longoff [ srcreg ]
- X ldbse dstreg, shortoff [ srcreg ]
- X ldbse dstreg, srcreg
- X ldbze dstreg, #immed
- X ldbze dstreg, [ srcreg ]
- X ldbze dstreg, [ srcreg ] +
- X ldbze dstreg, extern
- X ldbze dstreg, longoff [ srcreg ]
- X ldbze dstreg, shortoff [ srcreg ]
- X ldbze dstreg, srcreg
- X ljmp jmpdst
- X mul dstreg, #immed
- X mul dstreg, [ srcreg ]
- X mul dstreg, [ srcreg ] +
- X mul dstreg, extern
- X mul dstreg, longoff [ srcreg ]
- X mul dstreg, shortoff [ srcreg ]
- X mul dstreg, srcreg
- X mul dstreg, srcreg2, #immed
- X mul dstreg, srcreg2, [ srcreg ]
- X mul dstreg, srcreg2, [ srcreg ] +
- X mul dstreg, srcreg2, extern
- X mul dstreg, srcreg2, longoff [ srcreg ]
- X mul dstreg, srcreg2, shortoff [ srcreg ]
- X mul dstreg, srcreg2, srcreg
- X mulb dstreg, #immed
- X mulb dstreg, [ srcreg ]
- X mulb dstreg, [ srcreg ] +
- X mulb dstreg, extern
- X mulb dstreg, longoff [ srcreg ]
- X mulb dstreg, shortoff [ srcreg ]
- X mulb dstreg, srcreg
- X mulb dstreg, srcreg2, #immed
- X mulb dstreg, srcreg2, [ srcreg ]
- X mulb dstreg, srcreg2, [ srcreg ] +
- X mulb dstreg, srcreg2, extern
- X mulb dstreg, srcreg2, longoff [ srcreg ]
- X mulb dstreg, srcreg2, shortoff [ srcreg ]
- X mulb dstreg, srcreg2, srcreg
- X mulu dstreg, #immed
- X mulu dstreg, [ srcreg ]
- X mulu dstreg, [ srcreg ] +
- X mulu dstreg, extern
- X mulu dstreg, longoff [ srcreg ]
- X mulu dstreg, shortoff [ srcreg ]
- X mulu dstreg, srcreg
- X mulu dstreg, srcreg2, #immed
- X mulu dstreg, srcreg2, [ srcreg ]
- X mulu dstreg, srcreg2, [ srcreg ] +
- X mulu dstreg, srcreg2, extern
- X mulu dstreg, srcreg2, longoff [ srcreg ]
- X mulu dstreg, srcreg2, shortoff [ srcreg ]
- X mulu dstreg, srcreg2, srcreg
- X mulub dstreg, #immed
- X mulub dstreg, [ srcreg ]
- X mulub dstreg, [ srcreg ] +
- X mulub dstreg, extern
- X mulub dstreg, longoff [ srcreg ]
- X mulub dstreg, shortoff [ srcreg ]
- X mulub dstreg, srcreg
- X mulub dstreg, srcreg2, #immed
- X mulub dstreg, srcreg2, [ srcreg ]
- X mulub dstreg, srcreg2, [ srcreg ] +
- X mulub dstreg, srcreg2, extern
- X mulub dstreg, srcreg2, longoff [ srcreg ]
- X mulub dstreg, srcreg2, shortoff [ srcreg ]
- X mulub dstreg, srcreg2, srcreg
- X neg dstreg
- X negb dstreg
- X nop
- X norml dstreg, srcreg
- X not dstreg
- X notb dstreg
- X or dstreg, #immed
- X or dstreg, [ srcreg ]
- X or dstreg, [ srcreg ] +
- X or dstreg, extern
- X or dstreg, longoff [ srcreg ]
- X or dstreg, shortoff [ srcreg ]
- X or dstreg, srcreg
- X orb dstreg, #immed
- X orb dstreg, [ srcreg ]
- X orb dstreg, [ srcreg ] +
- X orb dstreg, extern
- X orb dstreg, longoff [ srcreg ]
- X orb dstreg, shortoff [ srcreg ]
- X orb dstreg, srcreg
- X pop [ srcreg ]
- X pop [ srcreg ] +
- X pop extern
- X pop longoff [ srcreg ]
- X pop shortoff [ srcreg ]
- X pop srcreg
- X popf
- X push #immed
- X push [ srcreg ]
- X push [ srcreg ] +
- X push extern
- X push longoff [ srcreg ]
- X push shortoff [ srcreg ]
- X push srcreg
- X pushf
- X ret
- X rst
- X scall jmpdst
- X setc
- X shl dstreg, # shiftcount
- X shl dstreg, srcreg
- X shlb dstreg, # shiftcount
- X shlb dstreg, srcreg
- X shll dstreg, # shiftcount
- X shll dstreg, srcreg
- X shr dstreg, # shiftcount
- X shr dstreg, srcreg
- X shra dstreg, # shiftcount
- X shra dstreg, srcreg
- X shrab dstreg, # shiftcount
- X shrab dstreg, srcreg
- X shral dstreg, # shiftcount
- X shral dstreg, srcreg
- X shrb dstreg, # shiftcount
- X shrb dstreg, srcreg
- X shrl dstreg, # shiftcount
- X shrl dstreg, srcreg
- X sjmp jmpdst
- X skip dstreg
- X st dstreg, [ srcreg ]
- X st dstreg, [ srcreg ] +
- X st dstreg, extern
- X st dstreg, longoff [ srcreg ]
- X st dstreg, shortoff [ srcreg ]
- X st dstreg, srcreg
- X stb dstreg, [ srcreg ]
- X stb dstreg, [ srcreg ] +
- X stb dstreg, extern
- X stb dstreg, longoff [ srcreg ]
- X stb dstreg, shortoff [ srcreg ]
- X stb dstreg, srcreg
- X sub dstreg, #immed
- X sub dstreg, [ srcreg ]
- X sub dstreg, [ srcreg ] +
- X sub dstreg, extern
- X sub dstreg, longoff [ srcreg ]
- X sub dstreg, shortoff [ srcreg ]
- X sub dstreg, srcreg
- X sub dstreg, srcreg2, #immed
- X sub dstreg, srcreg2, [ srcreg ]
- X sub dstreg, srcreg2, [ srcreg ] +
- X sub dstreg, srcreg2, extern
- X sub dstreg, srcreg2, longoff [ srcreg ]
- X sub dstreg, srcreg2, shortoff [ srcreg ]
- X sub dstreg, srcreg2, srcreg
- X subb dstreg, #immed
- X subb dstreg, [ srcreg ]
- X subb dstreg, [ srcreg ] +
- X subb dstreg, extern
- X subb dstreg, longoff [ srcreg ]
- X subb dstreg, shortoff [ srcreg ]
- X subb dstreg, srcreg
- X subb dstreg, srcreg2, #immed
- X subb dstreg, srcreg2, [ srcreg ]
- X subb dstreg, srcreg2, [ srcreg ] +
- X subb dstreg, srcreg2, extern
- X subb dstreg, srcreg2, longoff [ srcreg ]
- X subb dstreg, srcreg2, shortoff [ srcreg ]
- X subb dstreg, srcreg2, srcreg
- X subc dstreg, #immed
- X subc dstreg, [ srcreg ]
- X subc dstreg, [ srcreg ] +
- X subc dstreg, extern
- X subc dstreg, longoff [ srcreg ]
- X subc dstreg, shortoff [ srcreg ]
- X subc dstreg, srcreg
- X subcb dstreg, #immed
- X subcb dstreg, [ srcreg ]
- X subcb dstreg, [ srcreg ] +
- X subcb dstreg, extern
- X subcb dstreg, longoff [ srcreg ]
- X subcb dstreg, shortoff [ srcreg ]
- X subcb dstreg, srcreg
- X xor dstreg, #immed
- X xor dstreg, [ srcreg ]
- X xor dstreg, [ srcreg ] +
- X xor dstreg, extern
- X xor dstreg, longoff [ srcreg ]
- X xor dstreg, shortoff [ srcreg ]
- X xor dstreg, srcreg
- X xorb dstreg, #immed
- X xorb dstreg, [ srcreg ]
- X xorb dstreg, [ srcreg ] +
- X xorb dstreg, extern
- X xorb dstreg, longoff [ srcreg ]
- X xorb dstreg, shortoff [ srcreg ]
- X xorb dstreg, srcreg
- SHAR_EOF
- true || echo 'restore of as8096.tst failed'
- fi
- # ============= as8096.tut ==============
- if test -f 'as8096.tut' -a X"$1" != X"-c"; then
- echo 'x - skipping as8096.tut (File already exists)'
- else
- echo 'x - extracting as8096.tut (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'as8096.tut' &&
- X00000098 immed 00000038 srcreg 00000030 dstreg
- X00007654 longoff 00000033 shortoff 00001234 extern
- X00000044 srcreg2 0000000a shiftcount 0000021d jmpdst
- X 0x98 immed equ 98h
- X 0x38 srcreg equ 38h
- X 0x30 dstreg equ 30h
- X 0x7654 longoff equ 7654h
- X 0x33 shortoff equ 33h
- X 0x1234 extern equ 1234h
- X 0x44 srcreg2 equ 44h
- X 0xa shiftcount equ 10
- X0000 65 98 00 30 add dstreg, #immed
- X0004 66 38 30 add dstreg, [ srcreg ]
- X0007 66 39 30 add dstreg, [ srcreg ] +
- X000a 67 01 34 12 30 add dstreg, extern
- X000f 67 39 54 76 30 add dstreg, longoff [ srcreg ]
- X0014 67 38 33 30 add dstreg, shortoff [ srcreg ]
- X0018 64 38 30 add dstreg, srcreg
- X001b 45 98 00 44 30 add dstreg, srcreg2, #immed
- X0020 46 38 44 30 add dstreg, srcreg2, [ srcreg ]
- X0024 46 39 44 30 add dstreg, srcreg2, [ srcreg ] +
- X0028 47 01 34 12 44 30 add dstreg, srcreg2, extern
- X002e 47 39 54 76 44 30 add dstreg, srcreg2, longoff [ srcreg ]
- X0034 47 38 33 44 30 add dstreg, srcreg2, shortoff [ srcreg ]
- X0039 44 38 44 30 add dstreg, srcreg2, srcreg
- X003d 75 98 30 addb dstreg, #immed
- X0040 76 38 30 addb dstreg, [ srcreg ]
- X0043 76 39 30 addb dstreg, [ srcreg ] +
- X0046 77 01 34 12 30 addb dstreg, extern
- X004b 77 39 54 76 30 addb dstreg, longoff [ srcreg ]
- X0050 77 38 33 30 addb dstreg, shortoff [ srcreg ]
- X0054 74 38 30 addb dstreg, srcreg
- X0057 55 98 44 30 addb dstreg, srcreg2, #immed
- X005b 56 38 44 30 addb dstreg, srcreg2, [ srcreg ]
- X005f 56 39 44 30 addb dstreg, srcreg2, [ srcreg ] +
- X0063 57 01 34 12 44 30 addb dstreg, srcreg2, extern
- X0069 57 39 54 76 44 30 addb dstreg, srcreg2, longoff [ srcreg ]
- X006f 57 38 33 44 30 addb dstreg, srcreg2, shortoff [ srcreg ]
- X0074 54 38 44 30 addb dstreg, srcreg2, srcreg
- X0078 a5 98 00 30 addc dstreg, #immed
- X007c a6 38 30 addc dstreg, [ srcreg ]
- X007f a6 39 30 addc dstreg, [ srcreg ] +
- X0082 a7 01 34 12 30 addc dstreg, extern
- X0087 a7 39 54 76 30 addc dstreg, longoff [ srcreg ]
- X008c a7 38 33 30 addc dstreg, shortoff [ srcreg ]
- X0090 a4 38 30 addc dstreg, srcreg
- X0093 b5 98 30 addcb dstreg, #immed
- X0096 b6 38 30 addcb dstreg, [ srcreg ]
- X0099 b6 39 30 addcb dstreg, [ srcreg ] +
- X009c b7 01 34 12 30 addcb dstreg, extern
- X00a1 b7 39 54 76 30 addcb dstreg, longoff [ srcreg ]
- X00a6 b7 38 33 30 addcb dstreg, shortoff [ srcreg ]
- X00aa b4 38 30 addcb dstreg, srcreg
- X00ad 61 98 00 30 and dstreg, #immed
- X00b1 62 38 30 and dstreg, [ srcreg ]
- X00b4 62 39 30 and dstreg, [ srcreg ] +
- X00b7 63 01 34 12 30 and dstreg, extern
- X00bc 63 39 54 76 30 and dstreg, longoff [ srcreg ]
- X00c1 63 38 33 30 and dstreg, shortoff [ srcreg ]
- X00c5 60 38 30 and dstreg, srcreg
- X00c8 41 98 00 44 30 and dstreg, srcreg2, #immed
- X00cd 42 38 44 30 and dstreg, srcreg2, [ srcreg ]
- X00d1 42 39 44 30 and dstreg, srcreg2, [ srcreg ] +
- X00d5 43 01 34 12 44 30 and dstreg, srcreg2, extern
- X00db 43 39 54 76 44 30 and dstreg, srcreg2, longoff [ srcreg ]
- X00e1 43 38 33 44 30 and dstreg, srcreg2, shortoff [ srcreg ]
- X00e6 40 38 44 30 and dstreg, srcreg2, srcreg
- X00ea 71 98 30 andb dstreg, #immed
- X00ed 72 38 30 andb dstreg, [ srcreg ]
- X00f0 72 39 30 andb dstreg, [ srcreg ] +
- X00f3 73 01 34 12 30 andb dstreg, extern
- X00f8 73 39 54 76 30 andb dstreg, longoff [ srcreg ]
- X00fd 73 38 33 30 andb dstreg, shortoff [ srcreg ]
- X0101 70 38 30 andb dstreg, srcreg
- X0104 51 98 44 30 andb dstreg, srcreg2, #immed
- X0108 52 38 44 30 andb dstreg, srcreg2, [ srcreg ]
- X010c 52 39 44 30 andb dstreg, srcreg2, [ srcreg ] +
- X0110 53 01 34 12 44 30 andb dstreg, srcreg2, extern
- X0116 53 39 54 76 44 30 andb dstreg, srcreg2, longoff [ srcreg ]
- X011c 53 38 33 44 30 andb dstreg, srcreg2, shortoff [ srcreg ]
- X0121 50 38 44 30 andb dstreg, srcreg2, srcreg
- X0125 e3 38 br [ srcreg ]
- X0127 f8 clrc
- X0128 01 30 clr dstreg
- X012a 11 30 clrb dstreg
- X012c fc clrvt
- X012d 89 98 00 30 cmp dstreg, #immed
- X0131 8a 38 30 cmp dstreg, [ srcreg ]
- X0134 8a 39 30 cmp dstreg, [ srcreg ] +
- X0137 8b 01 34 12 30 cmp dstreg, extern
- X013c 8b 39 54 76 30 cmp dstreg, longoff [ srcreg ]
- X0141 8b 38 33 30 cmp dstreg, shortoff [ srcreg ]
- X0145 88 38 30 cmp dstreg, srcreg
- X0148 99 98 30 cmpb dstreg, #immed
- X014b 9a 38 30 cmpb dstreg, [ srcreg ]
- X014e 9a 39 30 cmpb dstreg, [ srcreg ] +
- X0151 9b 01 34 12 30 cmpb dstreg, extern
- X0156 9b 39 54 76 30 cmpb dstreg, longoff [ srcreg ]
- X015b 9b 38 33 30 cmpb dstreg, shortoff [ srcreg ]
- X015f 98 38 30 cmpb dstreg, srcreg
- X0162 05 30 dec dstreg
- X0164 15 30 decb dstreg
- X0166 fa di
- X0167 fe 8d 98 00 30 div dstreg, #immed
- X016c fe 8e 38 30 div dstreg, [ srcreg ]
- X0170 fe 8e 39 30 div dstreg, [ srcreg ] +
- X0174 fe 8f 01 34 12 30 div dstreg, extern
- X017a fe 8f 39 54 76 30 div dstreg, longoff [ srcreg ]
- X0180 fe 8f 38 33 30 div dstreg, shortoff [ srcreg ]
- X0185 fe 8c 38 30 div dstreg, srcreg
- X0189 fe 9d 98 30 divb dstreg, #immed
- X018d fe 9e 38 30 divb dstreg, [ srcreg ]
- X0191 fe 9e 39 30 divb dstreg, [ srcreg ] +
- X0195 fe 9f 01 34 12 30 divb dstreg, extern
- X019b fe 9f 39 54 76 30 divb dstreg, longoff [ srcreg ]
- X01a1 fe 9f 38 33 30 divb dstreg, shortoff [ srcreg ]
- X01a6 fe 9c 38 30 divb dstreg, srcreg
- X01aa 8d 98 00 30 divu dstreg, #immed
- X01ae 8e 38 30 divu dstreg, [ srcreg ]
- X01b1 8e 39 30 divu dstreg, [ srcreg ] +
- X01b4 8f 01 34 12 30 divu dstreg, extern
- X01b9 8f 39 54 76 30 divu dstreg, longoff [ srcreg ]
- X01be 8f 38 33 30 divu dstreg, shortoff [ srcreg ]
- X01c2 8c 38 30 divu dstreg, srcreg
- X01c5 9d 98 30 divub dstreg, #immed
- X01c8 9e 38 30 divub dstreg, [ srcreg ]
- X01cb 9e 39 30 divub dstreg, [ srcreg ] +
- X01ce 9f 01 34 12 30 divub dstreg, extern
- X01d3 9f 39 54 76 30 divub dstreg, longoff [ srcreg ]
- X01d8 9f 38 33 30 divub dstreg, shortoff [ srcreg ]
- X01dc 9c 38 30 divub dstreg, srcreg
- X01df e0 38 3b djnz srcreg, jmpdst
- X01e2 fb ei
- X01e3 06 30 ext dstreg
- X01e5 16 30 extb dstreg
- X01e7 07 30 inc dstreg
- X01e9 17 30 incb dstreg
- X01eb 30 38 2f jbc srcreg, 0, jmpdst
- X01ee 31 38 2c jbc srcreg, 1, jmpdst
- X01f1 32 38 29 jbc srcreg, 2, jmpdst
- X01f4 33 38 26 jbc srcreg, 3, jmpdst
- X01f7 34 38 23 jbc srcreg, 4, jmpdst
- X01fa 35 38 20 jbc srcreg, 5, jmpdst
- X01fd 36 38 1d jbc srcreg, 6, jmpdst
- X0200 37 38 1a jbc srcreg, 7, jmpdst
- X0203 38 38 17 jbs srcreg, 0, jmpdst
- X0206 39 38 14 jbs srcreg, 1, jmpdst
- X0209 3a 38 11 jbs srcreg, 2, jmpdst
- X020c 3b 38 0e jbs srcreg, 3, jmpdst
- X020f 3c 38 0b jbs srcreg, 4, jmpdst
- X0212 3d 38 08 jbs srcreg, 5, jmpdst
- X0215 3e 38 05 jbs srcreg, 6, jmpdst
- X0218 3f 38 02 jbs srcreg, 7, jmpdst
- X021b db 00 jc jmpdst
- X021d df fe jmpdst je jmpdst
- X021f d6 fc jge jmpdst
- X0221 d2 fa jgt jmpdst
- X0223 d9 f8 jh jmpdst
- X0225 da f6 jle jmpdst
- X0227 de f4 jlt jmpdst
- X0229 d3 f2 jnc jmpdst
- X022b d7 f0 jne jmpdst
- X022d d1 ee jnh jmpdst
- X022f d0 ec jnst jmpdst
- X0231 d5 ea jnv jmpdst
- X0233 d4 e8 jnvt jmpdst
- X0235 d8 e6 jst jmpdst
- X0237 dd e4 jv jmpdst
- X0239 dc e2 jvt jmpdst
- X023b ef df ff lcall jmpdst
- X023e a1 98 00 30 ld dstreg, #immed
- X0242 a2 38 30 ld dstreg, [ srcreg ]
- X0245 a2 39 30 ld dstreg, [ srcreg ] +
- X0248 a3 01 34 12 30 ld dstreg, extern
- X024d a3 39 54 76 30 ld dstreg, longoff [ srcreg ]
- X0252 a3 38 33 30 ld dstreg, shortoff [ srcreg ]
- X0256 a0 38 30 ld dstreg, srcreg
- X0259 b1 98 30 ldb dstreg, #immed
- X025c b2 38 30 ldb dstreg, [ srcreg ]
- X025f b2 39 30 ldb dstreg, [ srcreg ] +
- X0262 b3 01 34 12 30 ldb dstreg, extern
- X0267 b3 39 54 76 30 ldb dstreg, longoff [ srcreg ]
- X026c b3 38 33 30 ldb dstreg, shortoff [ srcreg ]
- X0270 b0 38 30 ldb dstreg, srcreg
- X0273 bd 98 30 ldbse dstreg, #immed
- X0276 be 38 30 ldbse dstreg, [ srcreg ]
- X0279 be 39 30 ldbse dstreg, [ srcreg ] +
- X027c bf 01 34 12 30 ldbse dstreg, extern
- X0281 bf 39 54 76 30 ldbse dstreg, longoff [ srcreg ]
- X0286 bf 38 33 30 ldbse dstreg, shortoff [ srcreg ]
- X028a bc 38 30 ldbse dstreg, srcreg
- X028d ad 98 30 ldbze dstreg, #immed
- X0290 ae 38 30 ldbze dstreg, [ srcreg ]
- X0293 ae 39 30 ldbze dstreg, [ srcreg ] +
- X0296 af 01 34 12 30 ldbze dstreg, extern
- X029b af 39 54 76 30 ldbze dstreg, longoff [ srcreg ]
- X02a0 af 38 33 30 ldbze dstreg, shortoff [ srcreg ]
- X02a4 ac 38 30 ldbze dstreg, srcreg
- X02a7 e7 73 ff ljmp jmpdst
- X02aa fe 6d 98 00 30 mul dstreg, #immed
- X02af fe 6e 38 30 mul dstreg, [ srcreg ]
- X02b3 fe 6e 39 30 mul dstreg, [ srcreg ] +
- X02b7 fe 6f 01 34 12 30 mul dstreg, extern
- X02bd fe 6f 39 54 76 30 mul dstreg, longoff [ srcreg ]
- X02c3 fe 6f 38 33 30 mul dstreg, shortoff [ srcreg ]
- X02c8 fe 6c 38 30 mul dstreg, srcreg
- X02cc fe 4d 98 00 44 30 mul dstreg, srcreg2, #immed
- X02d2 fe 4e 38 44 30 mul dstreg, srcreg2, [ srcreg ]
- X02d7 fe 4e 39 44 30 mul dstreg, srcreg2, [ srcreg ] +
- X02dc fe 4f 01 34 12 44 mul dstreg, srcreg2, extern
- X02e2 30
- X02e3 fe 4f 39 54 76 44 mul dstreg, srcreg2, longoff [ srcreg ]
- X02e9 30
- X02ea fe 4f 38 33 44 30 mul dstreg, srcreg2, shortoff [ srcreg ]
- X02f0 fe 4c 38 44 30 mul dstreg, srcreg2, srcreg
- X02f5 fe 7d 98 30 mulb dstreg, #immed
- X02f9 fe 7e 38 30 mulb dstreg, [ srcreg ]
- X02fd fe 7e 39 30 mulb dstreg, [ srcreg ] +
- X0301 fe 7f 01 34 12 30 mulb dstreg, extern
- X0307 fe 7f 39 54 76 30 mulb dstreg, longoff [ srcreg ]
- X030d fe 7f 38 33 30 mulb dstreg, shortoff [ srcreg ]
- X0312 fe 7c 38 30 mulb dstreg, srcreg
- X0316 fe 5d 98 44 30 mulb dstreg, srcreg2, #immed
- X031b fe 5e 38 44 30 mulb dstreg, srcreg2, [ srcreg ]
- X0320 fe 5e 39 44 30 mulb dstreg, srcreg2, [ srcreg ] +
- X0325 fe 5f 01 34 12 44 mulb dstreg, srcreg2, extern
- X032b 30
- X032c fe 5f 39 54 76 44 mulb dstreg, srcreg2, longoff [ srcreg ]
- X0332 30
- X0333 fe 5f 38 33 44 30 mulb dstreg, srcreg2, shortoff [ srcreg ]
- X0339 fe 5c 38 44 30 mulb dstreg, srcreg2, srcreg
- X033e 6d 98 00 30 mulu dstreg, #immed
- X0342 6e 38 30 mulu dstreg, [ srcreg ]
- X0345 6e 39 30 mulu dstreg, [ srcreg ] +
- X0348 6f 01 34 12 30 mulu dstreg, extern
- X034d 6f 39 54 76 30 mulu dstreg, longoff [ srcreg ]
- X0352 6f 38 33 30 mulu dstreg, shortoff [ srcreg ]
- X0356 6c 38 30 mulu dstreg, srcreg
- X0359 4d 98 00 44 30 mulu dstreg, srcreg2, #immed
- X035e 4e 38 44 30 mulu dstreg, srcreg2, [ srcreg ]
- X0362 4e 39 44 30 mulu dstreg, srcreg2, [ srcreg ] +
- X0366 4f 01 34 12 44 30 mulu dstreg, srcreg2, extern
- X036c 4f 39 54 76 44 30 mulu dstreg, srcreg2, longoff [ srcreg ]
- X0372 4f 38 33 44 30 mulu dstreg, srcreg2, shortoff [ srcreg ]
- X0377 4c 38 44 30 mulu dstreg, srcreg2, srcreg
- X037b 7d 98 30 mulub dstreg, #immed
- X037e 7e 38 30 mulub dstreg, [ srcreg ]
- X0381 7e 39 30 mulub dstreg, [ srcreg ] +
- X0384 7f 01 34 12 30 mulub dstreg, extern
- X0389 7f 39 54 76 30 mulub dstreg, longoff [ srcreg ]
- X038e 7f 38 33 30 mulub dstreg, shortoff [ srcreg ]
- X0392 7c 38 30 mulub dstreg, srcreg
- X0395 5d 98 44 30 mulub dstreg, srcreg2, #immed
- X0399 5e 38 44 30 mulub dstreg, srcreg2, [ srcreg ]
- X039d 5e 39 44 30 mulub dstreg, srcreg2, [ srcreg ] +
- X03a1 5f 01 34 12 44 30 mulub dstreg, srcreg2, extern
- X03a7 5f 39 54 76 44 30 mulub dstreg, srcreg2, longoff [ srcreg ]
- X03ad 5f 38 33 44 30 mulub dstreg, srcreg2, shortoff [ srcreg ]
- X03b2 5c 38 44 30 mulub dstreg, srcreg2, srcreg
- X03b6 03 30 neg dstreg
- X03b8 13 30 negb dstreg
- X03ba fd nop
- X03bb 0f 38 30 norml dstreg, srcreg
- X03be 02 30 not dstreg
- X03c0 12 30 notb dstreg
- X03c2 81 98 00 30 or dstreg, #immed
- X03c6 82 38 30 or dstreg, [ srcreg ]
- X03c9 82 39 30 or dstreg, [ srcreg ] +
- X03cc 83 01 34 12 30 or dstreg, extern
- X03d1 83 39 54 76 30 or dstreg, longoff [ srcreg ]
- X03d6 83 38 33 30 or dstreg, shortoff [ srcreg ]
- X03da 80 38 30 or dstreg, srcreg
- X03dd 91 98 30 orb dstreg, #immed
- X03e0 92 38 30 orb dstreg, [ srcreg ]
- X03e3 92 39 30 orb dstreg, [ srcreg ] +
- X03e6 93 01 34 12 30 orb dstreg, extern
- X03eb 93 39 54 76 30 orb dstreg, longoff [ srcreg ]
- X03f0 93 38 33 30 orb dstreg, shortoff [ srcreg ]
- X03f4 90 38 30 orb dstreg, srcreg
- X03f7 ce 38 pop [ srcreg ]
- X03f9 ce 39 pop [ srcreg ] +
- X03fb cf 01 34 12 pop extern
- X03ff cf 39 54 76 pop longoff [ srcreg ]
- X0403 cf 38 33 pop shortoff [ srcreg ]
- X0406 cc 38 pop srcreg
- X0408 f3 popf
- X0409 c9 98 00 push #immed
- X040c ca 38 push [ srcreg ]
- X040e ca 39 push [ srcreg ] +
- X0410 cb 01 34 12 push extern
- X0414 cb 39 54 76 push longoff [ srcreg ]
- X0418 cb 38 33 push shortoff [ srcreg ]
- X041b c8 38 push srcreg
- X041d f2 pushf
- X041e f0 ret
- X041f ff rst
- X0420 2d fb scall jmpdst
- X0422 f9 setc
- X0423 09 0a 30 shl dstreg, # shiftcount
- X0426 09 38 30 shl dstreg, srcreg
- X0429 19 0a 30 shlb dstreg, # shiftcount
- X042c 19 38 30 shlb dstreg, srcreg
- X042f 0d 0a 30 shll dstreg, # shiftcount
- X0432 0d 38 30 shll dstreg, srcreg
- X0435 08 0a 30 shr dstreg, # shiftcount
- X0438 08 38 30 shr dstreg, srcreg
- X043b 0a 0a 30 shra dstreg, # shiftcount
- X043e 0a 38 30 shra dstreg, srcreg
- X0441 1a 0a 30 shrab dstreg, # shiftcount
- X0444 1a 38 30 shrab dstreg, srcreg
- X0447 0e 0a 30 shral dstreg, # shiftcount
- X044a 0e 38 30 shral dstreg, srcreg
- X044d 18 0a 30 shrb dstreg, # shiftcount
- X0450 18 38 30 shrb dstreg, srcreg
- X0453 0c 0a 30 shrl dstreg, # shiftcount
- X0456 0c 38 30 shrl dstreg, srcreg
- X0459 25 c2 sjmp jmpdst
- X045b 00 30 skip dstreg
- X045d c2 38 30 st dstreg, [ srcreg ]
- X0460 c2 39 30 st dstreg, [ srcreg ] +
- X0463 c3 01 34 12 30 st dstreg, extern
- X0468 c3 39 54 76 30 st dstreg, longoff [ srcreg ]
- X046d c3 38 33 30 st dstreg, shortoff [ srcreg ]
- X0471 c0 38 30 st dstreg, srcreg
- X0474 c6 38 30 stb dstreg, [ srcreg ]
- X0477 c6 39 30 stb dstreg, [ srcreg ] +
- X047a c7 01 34 12 30 stb dstreg, extern
- X047f c7 39 54 76 30 stb dstreg, longoff [ srcreg ]
- X0484 c7 38 33 30 stb dstreg, shortoff [ srcreg ]
- X0488 c4 38 30 stb dstreg, srcreg
- X048b 69 98 00 30 sub dstreg, #immed
- X048f 6a 38 30 sub dstreg, [ srcreg ]
- X0492 6a 39 30 sub dstreg, [ srcreg ] +
- X0495 6b 01 34 12 30 sub dstreg, extern
- X049a 6b 39 54 76 30 sub dstreg, longoff [ srcreg ]
- X049f 6b 38 33 30 sub dstreg, shortoff [ srcreg ]
- X04a3 68 38 30 sub dstreg, srcreg
- X04a6 49 98 00 44 30 sub dstreg, srcreg2, #immed
- X04ab 4a 38 44 30 sub dstreg, srcreg2, [ srcreg ]
- X04af 4a 39 44 30 sub dstreg, srcreg2, [ srcreg ] +
- X04b3 4b 01 34 12 44 30 sub dstreg, srcreg2, extern
- X04b9 4b 39 54 76 44 30 sub dstreg, srcreg2, longoff [ srcreg ]
- X04bf 4b 38 33 44 30 sub dstreg, srcreg2, shortoff [ srcreg ]
- X04c4 48 38 44 30 sub dstreg, srcreg2, srcreg
- X04c8 79 98 30 subb dstreg, #immed
- X04cb 7a 38 30 subb dstreg, [ srcreg ]
- X04ce 7a 39 30 subb dstreg, [ srcreg ] +
- X04d1 7b 01 34 12 30 subb dstreg, extern
- X04d6 7b 39 54 76 30 subb dstreg, longoff [ srcreg ]
- X04db 7b 38 33 30 subb dstreg, shortoff [ srcreg ]
- X04df 78 38 30 subb dstreg, srcreg
- X04e2 59 98 44 30 subb dstreg, srcreg2, #immed
- X04e6 5a 38 44 30 subb dstreg, srcreg2, [ srcreg ]
- X04ea 5a 39 44 30 subb dstreg, srcreg2, [ srcreg ] +
- X04ee 5b 01 34 12 44 30 subb dstreg, srcreg2, extern
- X04f4 5b 39 54 76 44 30 subb dstreg, srcreg2, longoff [ srcreg ]
- X04fa 5b 38 33 44 30 subb dstreg, srcreg2, shortoff [ srcreg ]
- X04ff 58 38 44 30 subb dstreg, srcreg2, srcreg
- X0503 a9 98 00 30 subc dstreg, #immed
- X0507 aa 38 30 subc dstreg, [ srcreg ]
- X050a aa 39 30 subc dstreg, [ srcreg ] +
- X050d ab 01 34 12 30 subc dstreg, extern
- X0512 ab 39 54 76 30 subc dstreg, longoff [ srcreg ]
- X0517 ab 38 33 30 subc dstreg, shortoff [ srcreg ]
- X051b a8 38 30 subc dstreg, srcreg
- X051e b9 98 30 subcb dstreg, #immed
- X0521 ba 38 30 subcb dstreg, [ srcreg ]
- X0524 ba 39 30 subcb dstreg, [ srcreg ] +
- X0527 bb 01 34 12 30 subcb dstreg, extern
- X052c bb 39 54 76 30 subcb dstreg, longoff [ srcreg ]
- X0531 bb 38 33 30 subcb dstreg, shortoff [ srcreg ]
- X0535 b8 38 30 subcb dstreg, srcreg
- X0538 85 98 00 30 xor dstreg, #immed
- X053c 86 38 30 xor dstreg, [ srcreg ]
- X053f 86 39 30 xor dstreg, [ srcreg ] +
- X0542 87 01 34 12 30 xor dstreg, extern
- X0547 87 39 54 76 30 xor dstreg, longoff [ srcreg ]
- X054c 87 38 33 30 xor dstreg, shortoff [ srcreg ]
- X0550 84 38 30 xor dstreg, srcreg
- X0553 95 98 30 xorb dstreg, #immed
- X0556 96 38 30 xorb dstreg, [ srcreg ]
- X0559 96 39 30 xorb dstreg, [ srcreg ] +
- X055c 97 01 34 12 30 xorb dstreg, extern
- X0561 97 39 54 76 30 xorb dstreg, longoff [ srcreg ]
- X0566 97 38 33 30 xorb dstreg, shortoff [ srcreg ]
- X056a 94 38 30 xorb dstreg, srcreg
- X ERROR SUMMARY - ERRORS DETECTED 0
- X - WARNINGS 0
- SHAR_EOF
- true || echo 'restore of as8096.tut failed'
- fi
- true || echo 'restore of as8096.y failed'
- echo End of part 1, continue with part 2
- exit 0
-