Frankenstein Cross Assemblers, Intel 8048 "Flavor, Part 1 of 2
Mark Zenier
markz at ssc.UUCP
Tue Dec 4 19:15:35 AEST 1990
---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is Frankasm/As8048, a shell archive (shar 3.43)
# made 12/04/1990 08:46 UTC by markz at 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
# ------ ---------- ------------------------------------------
# 2554 -r--r----- as8041.tst
# 5150 -r--r----- as8041.tut
# 1657 -r--r----- as8048.1
# 5235 -r--r----- as8048.doc
# 2647 -r--r----- as8048.tst
# 5316 -r--r----- as8048.tut
# 38589 -r--r--r-- as8048.y
#
# ============= as8041.tst ==============
if test -f 'as8041.tst' -a X"$1" != X"-c"; then
echo 'x - skipping as8041.tst (File already exists)'
else
echo 'x - extracting as8041.tst (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'as8041.tst' &&
X cpu "8041"
Ximmed equ $77
X add a, # immed
X add a, @ r0
X add a, @ r1
X add a, r0
X add a, r1
X add a, r2
X add a, r3
X add a, r4
X add a, r5
X add a, r6
X add a, r7
X addc a, # immed
X addc a, @ r0
X addc a, @ r1
X addc a, r0
X addc a, r1
X addc a, r2
X addc a, r3
X addc a, r4
X addc a, r5
X addc a, r6
X addc a, r7
X anl a, # immed
X anl a, @ r0
X anl a, @ r1
X anl a, r0
X anl a, r1
X anl a, r2
X anl a, r3
X anl a, r4
X anl a, r5
X anl a, r6
X anl a, r7
X anl p1, # immed
X anl p2, # immed
X anld p4, a
X anld p5, a
X anld p6, a
X anld p7, a
X call $023
X call $123
X call $223
X call $323
X call $423
X call $523
X call $623
X call $723
X clr a
X clr c
X clr f0
X clr f1
X cpl a
X cpl c
X cpl f0
X cpl f1
X da a
X dec a
X dec r0
X dec r1
X dec r2
X dec r3
X dec r4
X dec r5
X dec r6
X dec r7
X dis i
X dis tcnti
X djnz r0 , dest
X djnz r1 , dest
X djnz r2 , dest
X djnz r3 , dest
X djnz r4 , dest
X djnz r5 , dest
X djnz r6 , dest
X djnz r7 , dest
X en dma
X en flags
X en i
X en tcnti
X in a, dbb
Xdest in a, p1
X in a, p2
X inc @ r0
X inc @ r1
X inc a
X inc r0
X inc r1
X inc r2
X inc r3
X inc r4
X inc r5
X inc r6
X inc r7
X jb0 dest
X jb1 dest
X jb2 dest
X jb3 dest
X jb4 dest
X jb5 dest
X jb6 dest
X jb7 dest
X jc dest
X jf0 dest
X jf1 dest
X jmp $023
X jmp $123
X jmp $223
X jmp $323
X jmp $423
X jmp $523
X jmp $623
X jmp $723
X jmpp @a
X jnc dest
X jnibf dest
X jnt0 dest
X jnt1 dest
X jnz dest
X jobf dest
X jt0 dest
X jt1 dest
X jtf dest
X jz dest
X mov @ r0, # immed
X mov @ r0, a
X mov @ r1, # immed
X mov @ r1, a
X mov a, # immed
X mov a, @ r0
X mov a, @ r1
X mov a, psw
X mov a, r0
X mov a, r1
X mov a, r2
X mov a, r3
X mov a, r4
X mov a, r5
X mov a, r6
X mov a, r7
X mov a, t
X mov psw, a
X mov r0, # immed
X mov r0, a
X mov r1, # immed
X mov r1, a
X mov r2, # immed
X mov r2, a
X mov r3, # immed
X mov r3, a
X mov r4, # immed
X mov r4, a
X mov r5, # immed
X mov r5, a
X mov r6, # immed
X mov r6, a
X mov r7, # immed
X mov r7, a
X mov sts, a
X mov t, a
X movd a, p4
X movd a, p5
X movd a, p6
X movd a, p7
X movd p4, a
X movd p5, a
X movd p6, a
X movd p7, a
X movp a, @a
X movp3 a, @a
X nop
X orl a, # immed
X orl a, @ r0
X orl a, @ r1
X orl a, r0
X orl a, r1
X orl a, r2
X orl a, r3
X orl a, r4
X orl a, r5
X orl a, r6
X orl a, r7
X orl p1, # immed
X orl p2, # immed
X orld p4, a
X orld p5, a
X orld p6, a
X orld p7, a
X out dbb, a
X outl p1, a
X outl p2, a
X ret
X retr
X rl a
X rlc a
X rr a
X rrc a
X sel rb0
X sel rb1
X stop tcnt
X strt cnt
X strt t
X swap a
X xch a, @ r0
X xch a, @ r1
X xch a, r0
X xch a, r1
X xch a, r2
X xch a, r3
X xch a, r4
X xch a, r5
X xch a, r6
X xch a, r7
X xchd a, @ r0
X xchd a, @ r1
X xrl a, # immed
X xrl a, @ r0
X xrl a, @ r1
X xrl a, r0
X xrl a, r1
X xrl a, r2
X xrl a, r3
X xrl a, r4
X xrl a, r5
X xrl a, r6
X xrl a, r7
SHAR_EOF
true || echo 'restore of as8041.tst failed'
fi
# ============= as8041.tut ==============
if test -f 'as8041.tut' -a X"$1" != X"-c"; then
echo 'x - skipping as8041.tut (File already exists)'
else
echo 'x - extracting as8041.tut (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'as8041.tut' &&
X00000077 immed 00000065 dest
X cpu "8041"
X 0x77 immed equ $77
X0000 03 77 add a, # immed
X0002 60 add a, @ r0
X0003 61 add a, @ r1
X0004 68 add a, r0
X0005 69 add a, r1
X0006 6a add a, r2
X0007 6b add a, r3
X0008 6c add a, r4
X0009 6d add a, r5
X000a 6e add a, r6
X000b 6f add a, r7
X000c 13 77 addc a, # immed
X000e 70 addc a, @ r0
X000f 71 addc a, @ r1
X0010 78 addc a, r0
X0011 79 addc a, r1
X0012 7a addc a, r2
X0013 7b addc a, r3
X0014 7c addc a, r4
X0015 7d addc a, r5
X0016 7e addc a, r6
X0017 7f addc a, r7
X0018 53 77 anl a, # immed
X001a 50 anl a, @ r0
X001b 51 anl a, @ r1
X001c 58 anl a, r0
X001d 59 anl a, r1
X001e 5a anl a, r2
X001f 5b anl a, r3
X0020 5c anl a, r4
X0021 5d anl a, r5
X0022 5e anl a, r6
X0023 5f anl a, r7
X0024 99 77 anl p1, # immed
X0026 9a 77 anl p2, # immed
X0028 9c anld p4, a
X0029 9d anld p5, a
X002a 9e anld p6, a
X002b 9f anld p7, a
X002c 14 23 call $023
X002e 34 23 call $123
X0030 54 23 call $223
X0032 74 23 call $323
X0034 94 23 call $423
X0036 b4 23 call $523
X0038 d4 23 call $623
X003a f4 23 call $723
X003c 27 clr a
X003d 97 clr c
X003e 85 clr f0
X003f a5 clr f1
X0040 37 cpl a
X0041 a7 cpl c
X0042 95 cpl f0
X0043 b5 cpl f1
X0044 57 da a
X0045 07 dec a
X0046 c8 dec r0
X0047 c9 dec r1
X0048 ca dec r2
X0049 cb dec r3
X004a cc dec r4
X004b cd dec r5
X004c ce dec r6
X004d cf dec r7
X004e 15 dis i
X004f 35 dis tcnti
X0050 e8 65 djnz r0 , dest
X0052 e9 65 djnz r1 , dest
X0054 ea 65 djnz r2 , dest
X0056 eb 65 djnz r3 , dest
X0058 ec 65 djnz r4 , dest
X005a ed 65 djnz r5 , dest
X005c ee 65 djnz r6 , dest
X005e ef 65 djnz r7 , dest
X0060 e5 en dma
X0061 f5 en flags
X0062 05 en i
X0063 25 en tcnti
X0064 22 in a, dbb
X0065 09 dest in a, p1
X0066 0a in a, p2
X0067 10 inc @ r0
X0068 11 inc @ r1
X0069 17 inc a
X006a 18 inc r0
X006b 19 inc r1
X006c 1a inc r2
X006d 1b inc r3
X006e 1c inc r4
X006f 1d inc r5
X0070 1e inc r6
X0071 1f inc r7
X0072 12 65 jb0 dest
X0074 32 65 jb1 dest
X0076 52 65 jb2 dest
X0078 72 65 jb3 dest
X007a 92 65 jb4 dest
X007c b2 65 jb5 dest
X007e d2 65 jb6 dest
X0080 f2 65 jb7 dest
X0082 f6 65 jc dest
X0084 b6 65 jf0 dest
X0086 76 65 jf1 dest
X0088 04 23 jmp $023
X008a 24 23 jmp $123
X008c 44 23 jmp $223
X008e 64 23 jmp $323
X0090 84 23 jmp $423
X0092 a4 23 jmp $523
X0094 c4 23 jmp $623
X0096 e4 23 jmp $723
X0098 b3 jmpp @a
X0099 e6 65 jnc dest
X009b d6 65 jnibf dest
X009d 26 65 jnt0 dest
X009f 46 65 jnt1 dest
X00a1 96 65 jnz dest
X00a3 86 65 jobf dest
X00a5 36 65 jt0 dest
X00a7 56 65 jt1 dest
X00a9 16 65 jtf dest
X00ab c6 65 jz dest
X00ad b0 77 mov @ r0, # immed
X00af a0 mov @ r0, a
X00b0 b1 77 mov @ r1, # immed
X00b2 a1 mov @ r1, a
X00b3 23 77 mov a, # immed
X00b5 f0 mov a, @ r0
X00b6 f1 mov a, @ r1
X00b7 c7 mov a, psw
X00b8 f8 mov a, r0
X00b9 f9 mov a, r1
X00ba fa mov a, r2
X00bb fb mov a, r3
X00bc fc mov a, r4
X00bd fd mov a, r5
X00be fe mov a, r6
X00bf ff mov a, r7
X00c0 42 mov a, t
X00c1 d7 mov psw, a
X00c2 b8 77 mov r0, # immed
X00c4 a8 mov r0, a
X00c5 b9 77 mov r1, # immed
X00c7 a9 mov r1, a
X00c8 ba 77 mov r2, # immed
X00ca aa mov r2, a
X00cb bb 77 mov r3, # immed
X00cd ab mov r3, a
X00ce bc 77 mov r4, # immed
X00d0 ac mov r4, a
X00d1 bd 77 mov r5, # immed
X00d3 ad mov r5, a
X00d4 be 77 mov r6, # immed
X00d6 ae mov r6, a
X00d7 bf 77 mov r7, # immed
X00d9 af mov r7, a
X00da 50 mov sts, a
X00db 62 mov t, a
X00dc 0c movd a, p4
X00dd 0d movd a, p5
X00de 0e movd a, p6
X00df 0f movd a, p7
X00e0 3c movd p4, a
X00e1 3d movd p5, a
X00e2 3e movd p6, a
X00e3 3f movd p7, a
X00e4 a3 movp a, @a
X00e5 e3 movp3 a, @a
X00e6 00 nop
X00e7 43 77 orl a, # immed
X00e9 40 orl a, @ r0
X00ea 41 orl a, @ r1
X00eb 48 orl a, r0
X00ec 49 orl a, r1
X00ed 4a orl a, r2
X00ee 4b orl a, r3
X00ef 4c orl a, r4
X00f0 4d orl a, r5
X00f1 4e orl a, r6
X00f2 4f orl a, r7
X00f3 89 77 orl p1, # immed
X00f5 8a 77 orl p2, # immed
X00f7 8c orld p4, a
X00f8 8d orld p5, a
X00f9 8e orld p6, a
X00fa 8f orld p7, a
X00fb 02 out dbb, a
X00fc 39 outl p1, a
X00fd 3a outl p2, a
X00fe 83 ret
X00ff 93 retr
X0100 e7 rl a
X0101 f7 rlc a
X0102 77 rr a
X0103 67 rrc a
X0104 c5 sel rb0
X0105 d5 sel rb1
X0106 65 stop tcnt
X0107 45 strt cnt
X0108 55 strt t
X0109 47 swap a
X010a 20 xch a, @ r0
X010b 21 xch a, @ r1
X010c 28 xch a, r0
X010d 29 xch a, r1
X010e 2a xch a, r2
X010f 2b xch a, r3
X0110 2c xch a, r4
X0111 2d xch a, r5
X0112 2e xch a, r6
X0113 2f xch a, r7
X0114 30 xchd a, @ r0
X0115 31 xchd a, @ r1
X0116 d3 77 xrl a, # immed
X0118 d0 xrl a, @ r0
X0119 d1 xrl a, @ r1
X011a d8 xrl a, r0
X011b d9 xrl a, r1
X011c da xrl a, r2
X011d db xrl a, r3
X011e dc xrl a, r4
X011f dd xrl a, r5
X0120 de xrl a, r6
X0121 df xrl a, r7
X ERROR SUMMARY - ERRORS DETECTED 0
X - WARNINGS 0
SHAR_EOF
true || echo 'restore of as8041.tut failed'
fi
# ============= as8048.1 ==============
if test -f 'as8048.1' -a X"$1" != X"-c"; then
echo 'x - skipping as8048.1 (File already exists)'
else
echo 'x - extracting as8048.1 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'as8048.1' &&
X.TH AS8048 1L
X.SH NAME
Xas8048, as8041, as80c50 \- cross assemblers for microcomputers
X.SH SYNOPSIS
X.nf
Xas8048 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input
Xas8041 [-p cpu] [-l listfile] [-o hexfile] [-d] [-s symbolfile] input
Xetc.
X.fi
X.SH DESCRIPTION
XThe as8048, as8041 commands assemble 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
X80C48 80c48 80C35 80c35 80C49 80c49 80C39 80c39 80C50 80c50 80C40 80c40
X8048 8035 8049 8039 8050 8040 8041 8042
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 as8048 Frankenstein Assembler (file as8048.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 as8048.1 failed'
fi
# ============= as8048.doc ==============
if test -f 'as8048.doc' -a X"$1" != X"-c"; then
echo 'x - skipping as8048.doc (File already exists)'
else
echo 'x - extracting as8048.doc (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'as8048.doc' &&
X.HM A 1 1 1 1 1 1
X.H 1 "Appendix for as8048 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"
XRESERVE
XRMB
X.LI "Define Byte Data"
XBYTE
XDB
XFCB
X.LI "Define Word Data"
XDW
XFDB
XWORD
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 "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 "80C48"
XC48
Xc48
XC35
Xc35
X.LI "80C49"
XC49
Xc49
XC39
Xc39
X.LI "80C50"
XC50
Xc50
XC40
Xc40
X.LI "8048"
X48
X35
X.LI "8049"
X49
X39
X.LI "8050"
X50
X40
X.LI "8041"
X41
X.LI "8042"
X42
X.LE
X.H 4 "Register Set"
X.DS I N
XLabel REGISTER expr
X.DE
X.P
XThe REGISTER statement is a version of the SET statement that checks that the
Xvalue of its expression is a valid data register location for the current
XCPU selection.
XThe REGISTER statement sets the symbol specified in the label field with the
Xnumeric value of the expression.
XThe REGISTER statement can change the value of a symbol, but only if the
Xsymbol is originally defined in a previous SET or REGISTER statement.
X.DS I N
XExample
X.SP
Xdtabl register 32
X
X mov r1, #dtabl
X mov a, @r1
X.DE
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 A ',' '#' expr
XADD A ',' '@' REG
XADD A ',' REG
X.sp
XADDC A ',' '#' expr
XADDC A ',' '@' REG
XADDC A ',' REG
X.sp
XANL A ',' '#' expr
XANL A ',' '@' REG
XANL A ',' REG
XANL BUS ',' '#' expr INSTNOT41
XANL P1 ',' '#' expr
XANL P2 ',' '#' expr
X.sp
XANLD P47 ',' A
X.sp
XCALL expr
X.sp
XCLR A
XCLR C
XCLR F0
XCLR F1
X.sp
XCPL A
XCPL C
XCPL F0
XCPL F1
X.sp
XDA A
X.sp
XDEC A
XDEC REG
X.sp
XDIS I
XDIS TCNTI
X.sp
XDJNZ REG ',' expr
X.sp
XEN DMA INST41
XEN FLAGS INST41
XEN I
XEN TCNTI
X.sp
XENT0 CLK INSTNOT41
X.sp
XHALT INSTIDL
X.sp
XIDL INSTIDL
X.sp
XIN A ',' DBB INST41
XIN A ',' P1
XIN A ',' P2
X.sp
XINC '@' REG
XINC A
XINC REG
X.sp
XINS A ',' BUS INSTNOT41
X.sp
XJB0 expr
X.sp
XJB1 expr
X.sp
XJB2 expr
X.sp
XJB3 expr
X.sp
XJB4 expr
X.sp
XJB5 expr
X.sp
XJB6 expr
X.sp
XJB7 expr
X.sp
XJC expr
X.sp
XJF0 expr
X.sp
XJF1 expr
X.sp
XJMP expr
X.sp
XJMPP '@' A
X.sp
XJNC expr
X.sp
XJNI expr INSTNOT41
X.sp
XJNIBF expr INST41
X.sp
XJNT0 expr
X.sp
XJNT1 expr
X.sp
XJNZ expr
X.sp
XJOBF expr INST41
X.sp
XJT0 expr
X.sp
XJT1 expr
X.sp
XJTF expr
X.sp
XJZ expr
X.sp
XMOV '@' REG ',' '#' expr
XMOV '@' REG ',' A
XMOV A ',' '#' expr
XMOV A ',' '@' REG
XMOV A ',' PSW
XMOV A ',' T
XMOV A ',' REG
XMOV PSW ',' A
XMOV STS ',' A
XMOV T ',' A
XMOV REG ',' '#' expr
XMOV REG ',' A
X.sp
XMOVD A ',' P47
XMOVD P47 ',' A
X.sp
XMOVP3 A ',' '@' A
X.sp
XMOVP A ',' '@' A
X.sp
XMOVX '@' REG ',' A INSTNOT41
XMOVX A ',' '@' REG INSTNOT41
X.sp
XNOP
X.sp
XORL A ',' '#' expr
XORL A ',' '@' REG
XORL A ',' REG
XORL BUS ',' '#' expr INSTNOT41
XORL P1 ',' '#' expr
XORL P2 ',' '#' expr
X.sp
XORLD P47 ',' A
X.sp
XOUT DBB ',' A INST41
X.sp
XOUTL BUS ',' A INSTNOT41
XOUTL P1 ',' A
XOUTL P2 ',' A
X.sp
XRET
X.sp
XRETR
X.sp
XRL A
X.sp
XRLC A
X.sp
XRR A
X.sp
XRRC A
X.sp
XSEL MSELC INSTNOT41
XSEL RSELC
X.sp
XSTOP TCNT
X.sp
XSTRT CNT
XSTRT T
X.sp
XSWAP A
X.sp
XXCH A ',' '@' REG
XXCH A ',' REG
X.sp
XXCHD A ',' '@' REG
X.sp
XXRL A ',' '#' expr
XXRL A ',' '@' REG
XXRL A ',' REG
X.TE
X.H 3 "Operands"
X.VL 25 5
X.LI REG
XREG can be any of r0, r1, r2, r3, r4, r5, r6, r7, unless proceeded by a
X'@' where only r0, and r1 are accepted.
X.LI MSELC
XMSELC represents the symbols mb0 and mb1.
X.LI RSELC
XRSELC represents the symbols rb0 and rb1.
X.LI P47
XP47 represents the symbols p4, p5, p6, p7.
X.LE
X.P
XThere are uppercase versions of all the reserved symbols.
X.H 3 "Selection Criteria Keywords"
X.VL 25 5
X.LI INSTIDL
XThe instruction is only available on CMOS implementations.
X.LI INSTNOT41
XThe instruction is not available in the 8041.
X.LI INST41
XThe instruction is only available in the 8041.
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 "Reserved Symbols"
X.H 4 "Machine Dependent Reserved Symbols"
XA
XBUS
XC
XCLK
XCNT
XDBB
XDMA
XF0
XF1
XFLAGS
XI
XMB0
XMB1
XP1
XP2
XP4
XP5
XP6
XP7
XPSW
XR0
XR1
XR2
XR3
XR4
XR5
XR6
XR7
XRB0
XRB1
XSTS
XT
XTCNT
XTCNTI
Xa
Xbus
Xc
Xclk
Xcnt
Xdbb
Xdma
Xf0
Xf1
Xflags
Xi
Xmb0
Xmb1
Xp1
Xp2
Xp4
Xp5
Xp6
Xp7
Xpsw
Xr0
Xr1
Xr2
Xr3
Xr4
Xr5
Xr6
Xr7
Xrb0
Xrb1
Xsts
Xt
Xtcnt
Xtcnti
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 as8048.doc failed'
fi
# ============= as8048.tst ==============
if test -f 'as8048.tst' -a X"$1" != X"-c"; then
echo 'x - skipping as8048.tst (File already exists)'
else
echo 'x - extracting as8048.tst (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'as8048.tst' &&
X cpu "80c50"
X
Ximmed equ $55
X
X add a, # immed
X add a, @ r0
X add a, @ r1
X add a, r0
X add a, r1
X add a, r2
X add a, r3
X add a, r4
X add a, r5
X add a, r6
X add a, r7
X addc a, # immed
X addc a, @ r0
X addc a, @ r1
X addc a, r0
X addc a, r1
X addc a, r2
X addc a, r3
X addc a, r4
X addc a, r5
X addc a, r6
X addc a, r7
X anl a, # immed
X anl a, @ r0
X anl a, @ r1
X anl a, r0
X anl a, r1
X anl a, r2
X anl a, r3
X anl a, r4
X anl a, r5
X anl a, r6
X anl a, r7
X anl bus, # immed
X anl p1, # immed
X anl p2, # immed
X anld p4, a
X anld p5, a
X anld p6, a
X anld p7, a
X call $023
X call $123
X call $223
X call $323
X call $423
X call $523
X call $623
X call $723
X clr a
X clr c
X clr f0
X clr f1
X cpl a
X cpl c
X cpl f0
X cpl f1
X da a
X dec a
X dec r0
X dec r1
X dec r2
X dec r3
X dec r4
X dec r5
X dec r6
X dec r7
X dis i
X dis tcnti
X djnz r0 , dest
X djnz r1 , dest
X djnz r2 , dest
X djnz r3 , dest
X djnz r4 , dest
X djnz r5 , dest
X djnz r6 , dest
X djnz r7 , dest
X en i
X en tcnti
X ent0 clk
X halt
X idl
X in a, p1
X in a, p2
X inc @ r0
X inc @ r1
Xdest inc a
X inc r0
X inc r1
X inc r2
X inc r3
X inc r4
X inc r5
X inc r6
X inc r7
X ins a, bus
X jb0 dest
X jb1 dest
X jb2 dest
X jb3 dest
X jb4 dest
X jb5 dest
X jb6 dest
X jb7 dest
X jc dest
X jf0 dest
X jf1 dest
X jmp $023
X jmp $123
X jmp $223
X jmp $323
X jmp $423
X jmp $523
X jmp $623
X jmp $723
X jmpp @a
X jnc dest
X jni dest
X jnt0 dest
X jnt1 dest
X jnz dest
X jt0 dest
X jt1 dest
X jtf dest
X jz dest
X mov @ r0, # immed
X mov @ r0, a
X mov @ r1, # immed
X mov @ r1, a
X mov a, # immed
X mov a, @ r0
X mov a, @ r1
X mov a, psw
X mov a, r0
X mov a, r1
X mov a, r2
X mov a, r3
X mov a, r4
X mov a, r5
X mov a, r6
X mov a, r7
X mov a, t
X mov psw, a
X mov r0, # immed
X mov r0, a
X mov r1, # immed
X mov r1, a
X mov r2, # immed
X mov r2, a
X mov r3, # immed
X mov r3, a
X mov r4, # immed
X mov r4, a
X mov r5, # immed
X mov r5, a
X mov r6, # immed
X mov r6, a
X mov r7, # immed
X mov r7, a
X mov t, a
X movd a, p4
X movd a, p5
X movd a, p6
X movd a, p7
X movd p4, a
X movd p5, a
X movd p6, a
X movd p7, a
X movp a, @a
X movp3 a, @a
X movx @ r0, a
X movx @ r1, a
X movx a, @ r0
X movx a, @ r1
X nop
X orl a, # immed
X orl a, @ r0
X orl a, @ r1
X orl a, r0
X orl a, r1
X orl a, r2
X orl a, r3
X orl a, r4
X orl a, r5
X orl a, r6
X orl a, r7
X orl bus, # immed
X orl p1, # immed
X orl p2, # immed
X orld p4, a
X orld p5, a
X orld p6, a
X orld p7, a
X outl bus, a
X outl p1, a
X outl p2, a
X ret
X retr
X rl a
X rlc a
X rr a
X rrc a
X sel mb0
X sel mb1
X sel rb0
X sel rb1
X stop tcnt
X strt cnt
X strt t
X swap a
X xch a, @ r0
X xch a, @ r1
X xch a, r0
X xch a, r1
X xch a, r2
X xch a, r3
X xch a, r4
X xch a, r5
X xch a, r6
X xch a, r7
X xchd a, @ r0
X xchd a, @ r1
X xrl a, # immed
X xrl a, @ r0
X xrl a, @ r1
X xrl a, r0
X xrl a, r1
X xrl a, r2
X xrl a, r3
X xrl a, r4
X xrl a, r5
X xrl a, r6
X xrl a, r7
SHAR_EOF
true || echo 'restore of as8048.tst failed'
fi
# ============= as8048.tut ==============
if test -f 'as8048.tut' -a X"$1" != X"-c"; then
echo 'x - skipping as8048.tut (File already exists)'
else
echo 'x - extracting as8048.tut (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'as8048.tut' &&
X00000055 immed 0000006b dest
X cpu "80c50"
X
X 0x55 immed equ $55
X
X0000 03 55 add a, # immed
X0002 60 add a, @ r0
X0003 61 add a, @ r1
X0004 68 add a, r0
X0005 69 add a, r1
X0006 6a add a, r2
X0007 6b add a, r3
X0008 6c add a, r4
X0009 6d add a, r5
X000a 6e add a, r6
X000b 6f add a, r7
X000c 13 55 addc a, # immed
X000e 70 addc a, @ r0
X000f 71 addc a, @ r1
X0010 78 addc a, r0
X0011 79 addc a, r1
X0012 7a addc a, r2
X0013 7b addc a, r3
X0014 7c addc a, r4
X0015 7d addc a, r5
X0016 7e addc a, r6
X0017 7f addc a, r7
X0018 53 55 anl a, # immed
X001a 50 anl a, @ r0
X001b 51 anl a, @ r1
X001c 58 anl a, r0
X001d 59 anl a, r1
X001e 5a anl a, r2
X001f 5b anl a, r3
X0020 5c anl a, r4
X0021 5d anl a, r5
X0022 5e anl a, r6
X0023 5f anl a, r7
X0024 98 55 anl bus, # immed
X0026 99 55 anl p1, # immed
X0028 9a 55 anl p2, # immed
X002a 9c anld p4, a
X002b 9d anld p5, a
X002c 9e anld p6, a
X002d 9f anld p7, a
X002e 14 23 call $023
X0030 34 23 call $123
X0032 54 23 call $223
X0034 74 23 call $323
X0036 94 23 call $423
X0038 b4 23 call $523
X003a d4 23 call $623
X003c f4 23 call $723
X003e 27 clr a
X003f 97 clr c
X0040 85 clr f0
X0041 a5 clr f1
X0042 37 cpl a
X0043 a7 cpl c
X0044 95 cpl f0
X0045 b5 cpl f1
X0046 57 da a
X0047 07 dec a
X0048 c8 dec r0
X0049 c9 dec r1
X004a ca dec r2
X004b cb dec r3
X004c cc dec r4
X004d cd dec r5
X004e ce dec r6
X004f cf dec r7
X0050 15 dis i
X0051 35 dis tcnti
X0052 e8 6b djnz r0 , dest
X0054 e9 6b djnz r1 , dest
X0056 ea 6b djnz r2 , dest
X0058 eb 6b djnz r3 , dest
X005a ec 6b djnz r4 , dest
X005c ed 6b djnz r5 , dest
X005e ee 6b djnz r6 , dest
X0060 ef 6b djnz r7 , dest
X0062 05 en i
X0063 25 en tcnti
X0064 75 ent0 clk
X0065 01 halt
X0066 01 idl
X0067 09 in a, p1
X0068 0a in a, p2
X0069 10 inc @ r0
X006a 11 inc @ r1
X006b 17 dest inc a
X006c 18 inc r0
X006d 19 inc r1
X006e 1a inc r2
X006f 1b inc r3
X0070 1c inc r4
X0071 1d inc r5
X0072 1e inc r6
X0073 1f inc r7
X0074 08 ins a, bus
X0075 12 6b jb0 dest
X0077 32 6b jb1 dest
X0079 52 6b jb2 dest
X007b 72 6b jb3 dest
X007d 92 6b jb4 dest
X007f b2 6b jb5 dest
X0081 d2 6b jb6 dest
X0083 f2 6b jb7 dest
X0085 f6 6b jc dest
X0087 b6 6b jf0 dest
X0089 76 6b jf1 dest
X008b 04 23 jmp $023
X008d 24 23 jmp $123
X008f 44 23 jmp $223
X0091 64 23 jmp $323
X0093 84 23 jmp $423
X0095 a4 23 jmp $523
X0097 c4 23 jmp $623
X0099 e4 23 jmp $723
X009b b3 jmpp @a
X009c e6 6b jnc dest
X009e 86 6b jni dest
X00a0 26 6b jnt0 dest
X00a2 46 6b jnt1 dest
X00a4 96 6b jnz dest
X00a6 36 6b jt0 dest
X00a8 56 6b jt1 dest
X00aa 16 6b jtf dest
X00ac c6 6b jz dest
X00ae b0 55 mov @ r0, # immed
X00b0 a0 mov @ r0, a
X00b1 b1 55 mov @ r1, # immed
X00b3 a1 mov @ r1, a
X00b4 23 55 mov a, # immed
X00b6 f0 mov a, @ r0
X00b7 f1 mov a, @ r1
X00b8 c7 mov a, psw
X00b9 f8 mov a, r0
X00ba f9 mov a, r1
X00bb fa mov a, r2
X00bc fb mov a, r3
X00bd fc mov a, r4
X00be fd mov a, r5
X00bf fe mov a, r6
X00c0 ff mov a, r7
X00c1 42 mov a, t
X00c2 d7 mov psw, a
X00c3 b8 55 mov r0, # immed
X00c5 a8 mov r0, a
X00c6 b9 55 mov r1, # immed
X00c8 a9 mov r1, a
X00c9 ba 55 mov r2, # immed
X00cb aa mov r2, a
X00cc bb 55 mov r3, # immed
X00ce ab mov r3, a
X00cf bc 55 mov r4, # immed
X00d1 ac mov r4, a
X00d2 bd 55 mov r5, # immed
X00d4 ad mov r5, a
X00d5 be 55 mov r6, # immed
X00d7 ae mov r6, a
X00d8 bf 55 mov r7, # immed
X00da af mov r7, a
X00db 62 mov t, a
X00dc 0c movd a, p4
X00dd 0d movd a, p5
X00de 0e movd a, p6
X00df 0f movd a, p7
X00e0 3c movd p4, a
X00e1 3d movd p5, a
X00e2 3e movd p6, a
X00e3 3f movd p7, a
X00e4 a3 movp a, @a
X00e5 e3 movp3 a, @a
X00e6 90 movx @ r0, a
X00e7 91 movx @ r1, a
X00e8 80 movx a, @ r0
X00e9 81 movx a, @ r1
X00ea 00 nop
X00eb 43 55 orl a, # immed
X00ed 40 orl a, @ r0
X00ee 41 orl a, @ r1
X00ef 48 orl a, r0
X00f0 49 orl a, r1
X00f1 4a orl a, r2
X00f2 4b orl a, r3
X00f3 4c orl a, r4
X00f4 4d orl a, r5
X00f5 4e orl a, r6
X00f6 4f orl a, r7
X00f7 88 55 orl bus, # immed
X00f9 89 55 orl p1, # immed
X00fb 8a 55 orl p2, # immed
X00fd 8c orld p4, a
X00fe 8d orld p5, a
X00ff 8e orld p6, a
X0100 8f orld p7, a
X0101 02 outl bus, a
X0102 39 outl p1, a
X0103 3a outl p2, a
X0104 83 ret
X0105 93 retr
X0106 e7 rl a
X0107 f7 rlc a
X0108 77 rr a
X0109 67 rrc a
X010a e5 sel mb0
X010b f5 sel mb1
X010c c5 sel rb0
X010d d5 sel rb1
X010e 65 stop tcnt
X010f 45 strt cnt
X0110 55 strt t
X0111 47 swap a
X0112 20 xch a, @ r0
X0113 21 xch a, @ r1
X0114 28 xch a, r0
X0115 29 xch a, r1
X0116 2a xch a, r2
X0117 2b xch a, r3
X0118 2c xch a, r4
X0119 2d xch a, r5
X011a 2e xch a, r6
X011b 2f xch a, r7
X011c 30 xchd a, @ r0
X011d 31 xchd a, @ r1
X011e d3 55 xrl a, # immed
X0120 d0 xrl a, @ r0
X0121 d1 xrl a, @ r1
X0122 d8 xrl a, r0
X0123 d9 xrl a, r1
X0124 da xrl a, r2
X0125 db xrl a, r3
X0126 dc xrl a, r4
X0127 dd xrl a, r5
X0128 de xrl a, r6
X0129 df xrl a, r7
X ERROR SUMMARY - ERRORS DETECTED 0
X - WARNINGS 0
SHAR_EOF
true || echo 'restore of as8048.tut failed'
fi
true || echo 'restore of as8048.y failed'
echo End of part 1, continue with part 2
exit 0
More information about the Alt.sources
mailing list