From 1fd982bea64bd29ddbebfe39735426cc9273ebb6 Mon Sep 17 00:00:00 2001 From: wayne Date: Sat, 27 Oct 2012 11:20:45 +0000 Subject: [PATCH] Merge trunk -> wbw --- branches/wbw/LSource/Makefile | 369 ++++++++++++++++ branches/wbw/LSource/bin/CPMCHATTR | Bin 0 -> 105078 bytes branches/wbw/LSource/bin/CPMCHMOD | Bin 0 -> 102664 bytes branches/wbw/LSource/bin/CPMCP | Bin 0 -> 114262 bytes branches/wbw/LSource/bin/CPMLS | Bin 0 -> 126970 bytes branches/wbw/LSource/bin/CPMRM | Bin 0 -> 102186 bytes branches/wbw/LSource/bin/CVT2LINUX | Bin 0 -> 19624 bytes branches/wbw/LSource/bin/TASM | Bin 0 -> 62282 bytes branches/wbw/LSource/bin/TASM05.TAB | 215 ++++++++++ branches/wbw/LSource/bin/TASM3210.TAB | 205 +++++++++ branches/wbw/LSource/bin/TASM3225.TAB | 456 ++++++++++++++++++++ branches/wbw/LSource/bin/TASM48.TAB | 281 ++++++++++++ branches/wbw/LSource/bin/TASM51.TAB | 285 ++++++++++++ branches/wbw/LSource/bin/TASM65.TAB | 222 ++++++++++ branches/wbw/LSource/bin/TASM68.TAB | 348 +++++++++++++++ branches/wbw/LSource/bin/TASM70.TAB | 290 +++++++++++++ branches/wbw/LSource/bin/TASM80.TAB | 594 ++++++++++++++++++++++++++ branches/wbw/LSource/bin/TASM85.TAB | 257 +++++++++++ branches/wbw/LSource/bin/TASM96.TAB | 393 +++++++++++++++++ branches/wbw/LSource/bin/tasm180.tab | 594 ++++++++++++++++++++++++++ 20 files changed, 4509 insertions(+) create mode 100644 branches/wbw/LSource/Makefile create mode 100755 branches/wbw/LSource/bin/CPMCHATTR create mode 100755 branches/wbw/LSource/bin/CPMCHMOD create mode 100755 branches/wbw/LSource/bin/CPMCP create mode 100755 branches/wbw/LSource/bin/CPMLS create mode 100755 branches/wbw/LSource/bin/CPMRM create mode 100755 branches/wbw/LSource/bin/CVT2LINUX create mode 100755 branches/wbw/LSource/bin/TASM create mode 100644 branches/wbw/LSource/bin/TASM05.TAB create mode 100644 branches/wbw/LSource/bin/TASM3210.TAB create mode 100644 branches/wbw/LSource/bin/TASM3225.TAB create mode 100644 branches/wbw/LSource/bin/TASM48.TAB create mode 100644 branches/wbw/LSource/bin/TASM51.TAB create mode 100644 branches/wbw/LSource/bin/TASM65.TAB create mode 100644 branches/wbw/LSource/bin/TASM68.TAB create mode 100644 branches/wbw/LSource/bin/TASM70.TAB create mode 100644 branches/wbw/LSource/bin/TASM80.TAB create mode 100644 branches/wbw/LSource/bin/TASM85.TAB create mode 100644 branches/wbw/LSource/bin/TASM96.TAB create mode 100644 branches/wbw/LSource/bin/tasm180.tab diff --git a/branches/wbw/LSource/Makefile b/branches/wbw/LSource/Makefile new file mode 100644 index 00000000..0a7c36d1 --- /dev/null +++ b/branches/wbw/LSource/Makefile @@ -0,0 +1,369 @@ +# RomWBW/branches/dwg/LSource/Makefile 10/27/2012 dwg - +# +# GCC based makefile +# +# 10/27/2012 2.x dwg - updated for Linux +# +# 09/28/2012 2.2 dwg - updated for Mac OS X 10.8.2 Mountain Lion +# +# 06/18/2012 2.0 dgg - updated for v2.0 +# +# 02/22/2012 1.5 dgg - modified for assembly under Linux +# +# 01/11/2011 1.4 wbw - added support for ZSDOS/ZDDOS/ZCPR +# +# 12/22/2011 1.3 wbw - removed all built-in config stuff, operation is now entirely +# dependent on variables CONFIG, ROMSIZE, and CPU +# +# 12/02/2011 1.3 wbw - replaced makever functionality with built-in makefile stuff +# +# 11/29/2011 1.3 dwg - uses makever to generate stdincl.inc from the version.hpp file +# +# 11/19/2011 1.3 dwg - added n8vem_vdu to "usage" and "all" rules +# enhanced clean to get files in $(OUTDIR) +# added custom to "all" rule + +# +# The operation of this makefile is entirely dependent on the setting +# of three variables: CONFIG, ROMSIZE, and CPU: +# +# CONFIG determines which configuration to build which means that +# it will determine the config_xxx.asm config settings file to +# include as well as the output file names. So, for example, +# if CONFIG is "n8vem", the config_n8vem.asm file will be used +# for BIOS configuration settings and the output files will be +# n8vem.rom, n8vem.sys, and n8vem.com. +# +# ROMSIZE specifies the size of the ROM image to be produced and +# currently must be either "1024" for a 1MB ROM or "512" for a +# 512KB ROM. +# +# CPU specifies the instruction set to be used in assembly and +# must be either "80" for Z80 or "180" for Z180. Currently, +# you should use 180 for N8 ROMs and 80 for everything else. +# +# SYS specifies the system variant to build in. CPM will +# build traditional CP/M. ZSYS will build ZSystem which +# currently means ZSDOS 1.2 & ZCPR 1.0 +# +# ROMNAME names the output file. It defaults to +# CONFIG. The output of the build will be: +# .rom, .sys, and .com. +# +# These variables can be passed into the makefile by the command +# line, hardcoded in this file, or set as environment variables +# in the OS. To use a command line, use the following format: +# +# make CONFIG= ROMSIZE= CPU= SYS= ROMNAME= +# +# An example of this is: +# +# make CONFIG=n8vem ROMSIZE=512 CPU=80 SYS=CPM ROMNAME=n8vem +# +# Alternatively, you can specify the variables by hardcoding them +# in this file. To do so, uncomment the five lines after these +# comments and change the values as desired. +# If the variables are specified this way, you would then invoke +# the make by simply using "make" +# +# If you want to set them as environment variables, you can +# do this with commands like the following at an OS command +# prompt or in a batch file: +# +# SET CONFIG=zeta +# SET ROMSIZE=512 +# SET CPU=80 +# SET SYS=CPM +# SET ROMNAME=zeta +# +# Note: use "make clean" to delete temporary and output files +# +# A good idea is to do a clean with every build and this can be +# accomplished on one command line doing something like this: +# +# make clean all CONFIG=n8vem ROMSIZE=512 CPU=80 SYS=CPM ROMNAME=n8vem +# +# or, if you are using hard coded variables above: +# +# make clean all +# +# Uncomment and update values below to hardcode settings: +# +CONFIG := n8_2312 +ROMSIZE := 512 +CPU := 180 +SYS := CPM +ROMNAME := n8_2312 + +ifndef ROMNAME +ROMNAME := $(CONFIG) +endif + +CPMCP := bin/CPMCP +CVT := bin/CVT2LINUX + +SRC := ../Source/ + +ROMDSKFILES := ../RomDsk/$(SYS)_$(ROMSIZE)KB/*.* ../RomDsk/cfg_$(CONFIG)/*.* ../Apps/core/*.* + +ifeq "$(SYS)" "CPM" +DOSBIN := bdosb01.bin +CPBIN := ccpb03.bin +else +DOSBIN :s= zsdos.bin +CPBIN := zcprw.bin +endif + +OUTDIR := ../Output + +TASM := bin/TASM +TASMTABS := bin +export TASMTABS + +ASMOPT80 := -t$(CPU) -g3 +ASMOPT85 := -t85 -g3 + +ASM80 := $(TASM) $(ASMOPT80) +ASM85 := $(TASM) $(ASMOPT85) +ASMIMG := $(TASM) $(ASMOPT80) -b -fE5 + +NULL := +SPACE := ${NULL} ${NULL} + +%.bin: %.asm + $(ASM80) $< $@ + +%.com: %.asm + $(ASM80) $< $@ + +%.img: %.asm + $(ASMIMG) $< $@ + +%.exe: %.cpp + $(CC) $< -o $@ + +ifneq ($(MAKECMDGOALS),clean) +ifeq "$(and $(CONFIG), $(ROMSIZE), $(CPU), $(SYS), $(ROMNAME))" "" +$(error sage: make CONFIG= ROMSIZE=[512|1024] CPU=[80|180] SYS=[CPM|ZSYS] ROMNAME=) +endif +endif + +all: tasm80.tab tasm85.tab $(OUTDIR)/$(ROMNAME).rom $(OUTDIR)/$(ROMNAME).sys $(OUTDIR)/$(ROMNAME).com + +tasm80.tab: bin/TASM80.TAB + cp bin/TASM80.TAB tasm80.tab + +tasm85.tab: bin/TASM85.TAB + cp bin/TASM85.TAB tasm85.tab + + +build.inc: + /bin/echo ';' >$@ + /bin/echo -n '; RomWBW Configured for '$(CONFIG)' ' >>$@ + date >> $@ + /bin/echo ; >>$@ + /bin/echo -n '#DEFINE TIMESTAMP "' >>$@ + date '+%Y %m %d %H%M"' >>$@ + /bin/echo ; >>$@ + /bin/echo '#DEFINE VARIANT "WBW-$(USERNAME)"' >>$@ + /bin/echo ; >>$@ + /bin/echo ROMSIZE .EQU $(ROMSIZE) >>$@ + /bin/echo ; >>$@ + /bin/echo '#INCLUDE "config_'$(CONFIG)'.asm"' >>$@ + /bin/echo ; >>$@ + +bootrom.bin : bootrom.asm std.asm build.inc ver.inc memmgr.asm config_$(CONFIG).asm + $(TASM) $(ASMOPT80) $< $@ + +bootapp.bin: bootapp.asm std.asm build.inc ver.inc + $(TASM) $(ASMOPT80) $< $@ + +pgzero.bin: pgzero.asm std.asm build.inc ver.inc + $(TASM) $(ASMOPT80) $< $@ + +zcprw.bin: zcprw.asm zcpr.asm + $(TASM) $(ASMOPT85) $< $@ + +zsdos.bin: zsdos.asm zsdos.lib zsdos-gp.z80 + $(TASM) $(ASMOPT80) $< $@ + +cbios.bin: cbios.asm fd_data.asm ide_data.asm ppide_data.asm sd_data.asm prp_data.asm ppp_data.asm uart.asm vdu.asm std.asm ver.inc build.inc infolist.inc + $(TASM) $(ASMOPT80) -dBLD_SYS=SYS_$(SYS) $< $@ + +dbgmon.bin: dbgmon.asm std.asm ver.inc build.inc + +syscfg.bin: syscfg.asm std.asm build.inc ver.inc + +os.bin: $(CPBIN) $(DOSBIN) cbios.bin + cat $(CPBIN) $(DOSBIN) cbios.bin >>$@ + +rom0.bin: pgzero.bin bootrom.bin syscfg.bin loader.bin romfill.bin dbgmon.bin os.bin hbfill.bin + cat pgzero.bin bootrom.bin syscfg.bin loader.bin romfill.bin dbgmon.bin os.bin hbfill.bin >>$@ + +rom1.bin: pgzero.bin bootrom.bin syscfg.bin loader.bin bnk1.bin + cat pgzero.bin bootrom.bin syscfg.bin loader.bin bnk1.bin >>$@ + +$(OUTDIR)/$(ROMNAME).rom: rom0.bin rom1.bin $(ROMDISKFILES) $(OUTDIR)/$(ROMNAME).sys diskdefs + cp $(SRC)blank$(ROMSIZE)KB.dat RomDisk.tmp + $(CPMCP) -f rom$(ROMSIZE)KB RomDisk.tmp $(ROMDSKFILES) 0: + $(CPMCP) -f rom$(ROMSIZE)KB RomDisk.tmp ../Output/$(ROMNAME).sys 0:$(SYS).sys + cat rom0.bin rom1.bin RomDisk.tmp >>$@ + +$(OUTDIR)/$(ROMNAME).com: bootapp.bin syscfg.bin loader.bin bnk1.bin dbgmon.bin os.bin + cat bootapp.bin syscfg.bin loader.bin bnk1.bin dbgmon.bin os.bin >>$@ + +$(OUTDIR)/$(ROMNAME).sys: prefix.bin os.bin + cat prefix.bin os.bin >>$@ + +ansi.asm: $(SRC)ansi.asm + cp $< $@ + $(CVT) $@ + +bdosb01.asm: $(SRC)bdosb01.asm + cp $< $@ + $(CVT) $@ + +bnk1.asm: $(SRC)bnk1.asm fd.asm ppide.asm n8v.asm ppk.asm sd.asm tty.asm ansi.asm + cp $(SRC)bnk1.asm $@ + $(CVT) $@ + +bootapp.asm: $(SRC)bootapp.asm + cp $< $@ + $(CVT) $@ + +bootrom.asm: $(SRC)bootrom.asm + cp $< $@ + $(CVT) $@ + +cbios.asm: $(SRC)cbios.asm + cp $< $@ + $(CVT) $@ + +ccpb03.asm: $(SRC)ccpb03.asm + cp $< $@ + $(CVT) $@ + +cnfgdata.inc: $(SRC)cnfgdata.inc + cp $< $@ + $(CVT) $@ + +##config_zeta.asm: $(SRC)config_zeta.asm +## cp $< $@ +## $(CVT) $@ + +config_$(CONFIG).asm: $(SRC)config_$(CONFIG).asm + cp $< $@ + $(CVT) $@ + +dbgmon.asm: $(SRC)dbgmon.asm + cp $< $@ + $(CVT) $@ + +diskdefs: $(SRC)diskdefs + cp $< $@ + $(CVT) $@ + +fd.asm: $(SRC)fd.asm + cp $< $@ + $(CVT) $@ + +fd_data.asm: $(SRC)fd_data.asm + cp $< $@ + $(CVT) $@ + +hbfill.asm: $(SRC)hbfill.asm + cp $< $@ + $(CVT) $@ + +ide_data.asm: $(SRC)ide_data.asm + cp $< $@ + $(CVT) $@ + +infolist.inc: $(SRC)infolist.inc + cp $< $@ + $(CVT) $@ + +loader.asm: $(SRC)loader.asm util.asm + cp $(SRC)loader.asm $@ + $(CVT) $@ + +memmgr.asm: $(SRC)memmgr.asm + cp $< $@ + $(CVT) $@ + +n8v.asm: $(SRC)n8v.asm + cp $< $@ + $(CVT) $@ + +pgzero.asm: $(SRC)pgzero.asm + cp $< $@ + $(CVT) $@ + +ppide.asm: $(SRC)ppide.asm + cp $< $@ + $(CVT) $@ + +ppide_data.asm: $(SRC)ppide_data.asm + cp $< $@ + $(CVT) $@ + +ppk.asm: $(SRC)ppk.asm + cp $< $@ + $(CVT) $@ + +ppp_data.asm: $(SRC)ppp_data.asm + cp $< $@ + $(CVT) $@ + +prefix.asm: $(SRC)prefix.asm + cp $< $@ + $(CVT) $@ + +prp_data.asm: $(SRC)prp_data.asm + cp $< $@ + $(CVT) $@ + +romfill.asm: $(SRC)romfill.asm + cp $< $@ + $(CVT) $@ + +sd.asm: $(SRC)sd.asm + cp $< $@ + $(CVT) $@ + +sd_data.asm: $(SRC)sd_data.asm + cp $< $@ + $(CVT) $@ + +std.asm: $(SRC)std.asm + cp $< $@ + $(CVT) $@ + +syscfg.asm: $(SRC)syscfg.asm config_$(CONFIG).asm cnfgdata.inc + cp $< $@ + $(CVT) $@ + +tty.asm: $(SRC)tty.asm + cp $< $@ + $(CVT) $@ + +uart.asm: $(SRC)uart.asm + cp $< $@ + $(CVT) $@ + +util.asm: $(SRC)util.asm + cp $< $@ + $(CVT) $@ + +vdu.asm: $(SRC)vdu.asm + cp $< $@ + $(CVT) $@ + +ver.inc: $(SRC)ver.inc + cp $< $@ + $(CVT) $@ + +clean: + rm -f *.tab *.TAB *.inc *.asm *.bin *.com *.img *.rom *.lst *.exp *.tmp + rm -f build.inc diskdefs + rm -f $(OUTDIR)/*.* diff --git a/branches/wbw/LSource/bin/CPMCHATTR b/branches/wbw/LSource/bin/CPMCHATTR new file mode 100755 index 0000000000000000000000000000000000000000..adf84bb43bfb179f91a84a991532b1f524bd644d GIT binary patch literal 105078 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 literal 0 HcmV?d00001 diff --git a/branches/wbw/LSource/bin/CPMCHMOD b/branches/wbw/LSource/bin/CPMCHMOD new file mode 100755 index 0000000000000000000000000000000000000000..2f89a4b0b243e378ceb7b4e31ece100f5fb5d8bb GIT binary patch literal 102664 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 MebhS*HBuY@AHN1BiU0rr literal 0 HcmV?d00001 diff --git a/branches/wbw/LSource/bin/CPMCP b/branches/wbw/LSource/bin/CPMCP new file mode 100755 index 0000000000000000000000000000000000000000..b74af05a3fb24f3c51c2836b1dae7c8eb39f724a GIT binary patch literal 114262 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 |lGcDJ9 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 literal 0 HcmV?d00001 diff --git a/branches/wbw/LSource/bin/CPMLS b/branches/wbw/LSource/bin/CPMLS new file mode 100755 index 0000000000000000000000000000000000000000..ff570616f004684bbc3a55c7872294105e9e99b9 GIT binary patch literal 126970 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 Bx_bZs literal 0 HcmV?d00001 diff --git a/branches/wbw/LSource/bin/CPMRM b/branches/wbw/LSource/bin/CPMRM new file mode 100755 index 0000000000000000000000000000000000000000..589392e465b874175d7875543f4f7f95a572b04f GIT binary patch literal 102186 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 SSLpX3I_jg|Y3bqE`u_l)I=xc> literal 0 HcmV?d00001 diff --git a/branches/wbw/LSource/bin/CVT2LINUX b/branches/wbw/LSource/bin/CVT2LINUX new file mode 100755 index 0000000000000000000000000000000000000000..f5592e6a279a0e6eafe1345032341cb5f95995c6 GIT binary patch literal 19624 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%0A!csFHut0wbDGQMwwxeEl={JNe=5oWEY3c? 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 U3Pph#MDawS+S)qNt@5+>-|gwq-~a#s literal 0 HcmV?d00001 diff --git a/branches/wbw/LSource/bin/TASM05.TAB b/branches/wbw/LSource/bin/TASM05.TAB new file mode 100644 index 00000000..1072d3dc --- /dev/null +++ b/branches/wbw/LSource/bin/TASM05.TAB @@ -0,0 +1,215 @@ +"TASM 6805 Assembler. " +/*************************************************************************** +/* $Id +/*************************************************************************** +/* This is the instruction set definition table for the 6805 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorported, April 1988. +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT OR */ +/*-------------------------------------------*/ + +ADC #* A9 2 NOP 1 +ADC ,X F9 1 NOP 1 +ADC *,X D9 3 MZERO 1 +ADC * C9 3 MZERO 1 + +ADD #* AB 2 NOP 1 +ADD ,X FB 1 NOP 1 +ADD *,X DB 3 MZERO 1 +ADD * CB 3 MZERO 1 + +AND #* A4 2 NOP 1 +AND ,X F4 1 NOP 1 +AND *,X D4 3 MZERO 1 +AND * C4 3 MZERO 1 + +ASLA "" 48 1 NOP 1 +ASLX "" 58 1 NOP 1 +ASL ,X 78 1 NOP 1 +ASL *,X 68 2 NOP 1 +ASL * 38 2 NOP 1 + +ASRA "" 47 1 NOP 1 +ASRX "" 57 1 NOP 1 +ASR ,X 77 1 NOP 1 +ASR *,X 67 2 NOP 1 +ASR * 37 2 NOP 1 + +BCC * 24 2 R1 1 +BCLR *,* 11 2 MBIT 1 +BCS * 25 2 R1 1 +BEQ * 27 2 R1 1 +BHCC * 28 2 R1 1 +BHCS * 29 2 R1 1 +BHI * 22 2 R1 1 +BHS * 24 2 R1 1 +BIH * 2F 2 R1 1 +BIL * 2E 2 R1 1 + +BIT #* A5 2 NOP 1 +BIT ,X F5 1 NOP 1 +BIT *,X D5 3 MZERO 1 +BIT * C5 3 MZERO 1 + +BLO * 25 2 R1 1 +BLS * 23 2 R1 1 +BMC * 2C 2 R1 1 +BMI * 2B 2 R1 1 +BMS * 2D 2 R1 1 +BNE * 26 2 R1 1 +BPL * 2A 2 R1 1 +BRA * 20 2 R1 1 + +BRCLR *,*,* 01 3 MBIT 1 +BRN * 21 2 R1 1 +BRSET *,*,* 00 3 MBIT 1 +BSET *,* 10 2 MBIT 1 +BSR * AD 2 R1 1 + +CLC "" 98 1 NOP 1 +CLI "" 9A 1 NOP 1 + +CLRA "" 4F 1 NOP 1 +CLRX "" 5F 1 NOP 1 +CLR ,X 7F 1 NOP 1 +CLR *,X 6F 2 NOP 1 +CLR * 3F 2 NOP 1 + +CMP #* A1 2 NOP 1 +CMP ,X F1 1 NOP 1 +CMP *,X D1 3 MZERO 1 +CMP * C1 3 MZERO 1 + +CMPX #* A3 2 NOP 1 /* equivalent to CPX */ +CMPX ,X F3 1 NOP 1 +CMPX *,X D3 3 MZERO 1 +CMPX * C3 3 MZERO 1 + +COMA "" 43 1 NOP 1 +COMX "" 53 1 NOP 1 +COM ,X 73 1 NOP 1 +COM *,X 63 2 NOP 1 +COM * 33 2 NOP 1 + +CPX #* A3 2 NOP 1 +CPX ,X F3 1 NOP 1 +CPX *,X D3 3 MZERO 1 +CPX * C3 3 MZERO 1 + +DECA "" 4A 1 NOP 1 +DECX "" 5A 1 NOP 1 +DEX "" 5A 1 NOP 1 +DEC ,X 7A 1 NOP 1 +DEC *,X 6A 2 NOP 1 +DEC * 3A 2 NOP 1 + +EOR #* A8 2 NOP 1 +EOR ,X F8 1 NOP 1 +EOR *,X D8 3 MZERO 1 +EOR * C8 3 MZERO 1 + +INCA "" 4C 1 NOP 1 +INCX "" 5C 1 NOP 1 +INX "" 5C 1 NOP 1 +INC ,X 7C 1 NOP 1 +INC *,X 6C 2 NOP 1 +INC * 3C 2 NOP 1 + +JMP ,X FC 1 NOP 1 +JMP *,X DC 3 MZERO 1 +JMP * CC 3 MZERO 1 + +JSR ,X FD 1 NOP 1 +JSR *,X DD 3 MZERO 1 +JSR * CD 3 MZERO 1 + +LDA #* A6 2 NOP 1 +LDA ,X F6 1 NOP 1 +LDA *,X D6 3 MZERO 1 +LDA * C6 3 MZERO 1 + +LDX #* AE 2 NOP 1 +LDX ,X FE 1 NOP 1 +LDX *,X DE 3 MZERO 1 +LDX * CE 3 MZERO 1 + +LSLA "" 48 1 NOP 1 +LSLX "" 58 1 NOP 1 +LSL ,X 78 1 NOP 1 +LSL *,X 68 2 NOP 1 +LSL * 38 2 NOP 1 + +LSRA "" 44 1 NOP 1 +LSRX "" 54 1 NOP 1 +LSR ,X 74 1 NOP 1 +LSR *,X 64 2 NOP 1 +LSR * 34 2 NOP 1 + +MUL "" 42 1 NOP 4 /* HC05C4 only */ + +NEGA "" 40 1 NOP 1 +NEGX "" 50 1 NOP 1 +NEG ,X 70 1 NOP 1 +NEG *,X 60 2 NOP 1 +NEG * 30 2 NOP 1 + +NOP "" 9D 1 NOP 1 + +ORA #* AA 2 NOP 1 +ORA ,X FA 1 NOP 1 +ORA *,X DA 3 MZERO 1 +ORA * CA 3 MZERO 1 + +ROLA "" 49 1 NOP 1 +ROLX "" 59 1 NOP 1 +ROL ,X 79 1 NOP 1 +ROL *,X 69 2 NOP 1 +ROL * 39 2 NOP 1 + +RORA "" 46 1 NOP 1 +RORX "" 56 1 NOP 1 +ROR ,X 76 1 NOP 1 +ROR *,X 66 2 NOP 1 +ROR * 36 2 NOP 1 + +RSP "" 9C 1 NOP 1 +RTI "" 80 1 NOP 1 +RTS "" 81 1 NOP 1 + +SBC #* A2 2 NOP 1 +SBC ,X F2 1 NOP 1 +SBC *,X D2 3 MZERO 1 +SBC * C2 3 MZERO 1 + +SEC "" 99 1 NOP 1 +SEI "" 9B 1 NOP 1 + +STA ,X F7 1 NOP 1 +STA *,X D7 3 MZERO 1 +STA * C7 3 MZERO 1 + +STOP "" 8E 1 NOP 2 /* M146805 CMOS only */ + +STX ,X FF 1 NOP 1 +STX *,X DF 3 MZERO 1 +STX * CF 3 MZERO 1 + +SUB #* A0 2 NOP 1 +SUB ,X F0 1 NOP 1 +SUB *,X D0 3 MZERO 1 +SUB * C0 3 MZERO 1 + +SWI "" 83 1 NOP 1 + +TAX "" 97 1 NOP 1 + +TSTA "" 4D 1 NOP 1 +TSTX "" 5D 1 NOP 1 +TST ,X 7D 1 NOP 1 +TST *,X 6D 2 NOP 1 +TST * 3D 2 NOP 1 + +TXA "" 9F 1 NOP 1 + +WAIT "" 8F 1 NOP 2 /* M146805 CMOS only */ + diff --git a/branches/wbw/LSource/bin/TASM3210.TAB b/branches/wbw/LSource/bin/TASM3210.TAB new file mode 100644 index 00000000..d5aed946 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM3210.TAB @@ -0,0 +1,205 @@ +"TASM TMS32010 Assembler." +/**************************************************************************** +/* $Id: tasm3210.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table +/* for the TMS32010 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorporated +/* +/* See TASM manual for info on table structure. +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT MASK */ +/*-------------------------------------------*/ + +/* Generate opcodes high byte first */ +.MSFIRST +/* Don't use '*' as the wild card since it is used for indirect addressing */ +/* In this table '@' is the wild card indicating where expression may appear*/ +.ALTWILD +/* Use word addressing (not byte addressing) +.WORDADDRS +/* All shift/and stuff applies to opcodes, not args +.NOARGSHIFT + +.REGSET *+ A0 1 +.REGSET *- 90 1 +.REGSET * 80 1 + +ABS "" 7F88 2 NOP 1 + +ADD !,@,@ 0000 2 T1 1 8 0F00 +ADD !,@ 0008 2 T1 1 8 0F00 +ADD ! 0008 2 NOP 1 +ADD @,@ 0000 2 TDMA 1 8 0F00 +ADD @ 0000 2 T1 1 0 007F + +ADDH !,@ 6000 2 T1 1 0 01 +ADDH ! 6008 2 NOP 1 +ADDH @ 6000 2 T1 1 0 007F + +ADDS !,@ 6100 2 T1 1 0 01 +ADDS ! 6108 2 NOP 1 +ADDS @ 6100 2 T1 1 0 007F + +AND !,@ 7900 2 T1 1 0 01 +AND ! 7908 2 NOP 1 +AND @ 7900 2 T1 1 0 7F + +APAC "" 7F8F 2 NOP 1 +B @ F900 4 SWAP 1 +BANZ @ F400 4 SWAP 1 +BGEZ @ FD00 4 SWAP 1 +BGZ @ FC00 4 SWAP 1 +BIOZ @ F600 4 SWAP 1 +BLEZ @ FB00 4 SWAP 1 +BLZ @ FA00 4 SWAP 1 +BNZ @ FE00 4 SWAP 1 +BV @ F500 4 SWAP 1 +BZ @ FF00 4 SWAP 1 +CALA "" 7F8C 2 NOP 1 +CALL @ F800 4 SWAP 1 +DINT "" 7F81 2 NOP 1 + +DMOV !,@ 6900 2 T1 1 0 01 +DMOV ! 6908 2 NOP 1 +DMOV @ 6900 2 T1 1 0 007F + +EINT "" 7F82 2 NOP 1 + +IN !,@,@ 4000 2 T1 1 8 0700 +IN !,@ 4008 2 T1 1 8 0700 +IN @,@ 4000 2 TDMA 1 8 0700 + +LAC !,@,@ 2000 2 T1 1 8 0F00 +LAC !,@ 2008 2 T1 1 8 0F00 +LAC ! 2008 2 NOP 1 +LAC @,@ 2000 2 TDMA 1 8 0F00 +LAC @ 2000 2 T1 1 0 007F + +LACK @ 7E00 2 T1 1 0 00FF + +LAR @,!,@ 3800 2 TAR 1 0 0001 +LAR @,! 3808 2 TAR 1 0 0001 +LAR @,@ 3800 2 TAR 1 0 007F + +LARK @,@ 7000 2 TAR 1 0 00FF +LARP @ 6880 2 T1 1 0 0001 + +LDP !,@ 6F00 2 T1 1 0 01 +LDP ! 6F08 2 NOP 1 +LDP @ 6F00 2 T1 1 0 007F + +LDPK @ 6E00 2 T1 1 0 01 + +LST !,@ 7B00 2 T1 1 0 01 +LST ! 7B08 2 NOP 1 +LST @ 7B00 2 T1 1 0 007F + +LT !,@ 6A00 2 T1 1 0 01 +LT ! 6A08 2 NOP 1 +LT @ 6A00 2 T1 1 0 007F + +LTA !,@ 6C00 2 T1 1 0 01 +LTA ! 6C08 2 NOP 1 +LTA @ 6C00 2 T1 1 0 007F + +LTD !,@ 6B00 2 T1 1 0 01 +LTD ! 6B08 2 NOP 1 +LTD @ 6B00 2 T1 1 0 007F + +MAR !,@ 6800 2 T1 1 0 01 +MAR ! 6808 2 NOP 1 +MAR @ 6800 2 T1 1 0 007F + +MPY !,@ 6D00 2 T1 1 0 01 +MPY ! 6D08 2 NOP 1 +MPY @ 6D00 2 T1 1 0 007F + +MPYK @ 8000 2 T1 1 0 1FFF + +NOP "" 7F80 2 NOP 1 + +OR !,@ 7A00 2 T1 1 0 01 +OR ! 7A08 2 NOP 1 +OR @ 7A00 2 T1 1 0 007F + +OUT !,@,@ 4800 2 T1 1 8 0700 +OUT !,@ 4808 2 T1 1 8 0700 +OUT @,@ 4800 2 TDMA 1 8 0700 + +PAC "" 7F8E 2 NOP 1 +POP "" 7F9D 2 NOP 1 +PUSH "" 7F9C 2 NOP 1 +RET "" 7F8D 2 NOP 1 +ROVM "" 7F8A 2 NOP 1 + +/* shift count for SACH can only be 0,1, or 4. The mask allows */ +/* 0,1,4, or 5. Let the user beware */ +SACH !,@,@ 5800 2 T1 1 8 0500 +SACH !,@ 5808 2 T1 1 8 0500 +SACH ! 5808 2 NOP 1 +SACH @,@ 5800 2 TDMA 1 8 0500 +SACH @ 5800 2 T1 1 0 007F + +/* The data book shows a shift field for SACL but states it must be 0. +/* The previous version of this table left the shift field out +/* for simplicity, but here I have put it back for compatibility. +/* The AND mask is set to zero in this case so a error message +/* will result from non-zero shifts. +SACL !,@,@ 5000 2 T1 1 8 0000 +SACL !,@ 5008 2 T1 1 8 0000 +SACL ! 5008 2 NOP 1 +SACL @,@ 5000 2 TDMA 1 8 0000 +SACL @ 5000 2 T1 1 0 007F + +SAR @,!,@ 3000 2 TAR 1 0 0001 +SAR @,! 3008 2 TAR 1 0 0001 +SAR @,@ 3000 2 TAR 1 0 007F + +SOVM "" 7F8B 2 NOP 1 +SPAC "" 7F90 2 NOP 1 + +SST !,@ 7C00 2 T1 1 0 0001 +SST ! 7C08 2 NOP 1 +SST @ 7C00 2 T1 1 0 007F + +SUB !,@,@ 1000 2 T1 1 8 0F00 +SUB !,@ 1008 2 T1 1 8 0F00 +SUB ! 1008 2 NOP 1 +SUB @,@ 1000 2 TDMA 1 8 0F00 +SUB @ 1000 2 T1 1 0 007F + +SUBC !,@ 6400 2 T1 1 0 01 +SUBC ! 6408 2 NOP 1 +SUBC @ 6400 2 T1 1 0 007F + +SUBH !,@ 6200 2 T1 1 0 01 +SUBH ! 6208 2 NOP 1 +SUBH @ 6200 2 T1 1 0 007F + +SUBS !,@ 6300 2 T1 1 0 01 +SUBS ! 6308 2 NOP 1 +SUBS @ 6300 2 T1 1 0 007F + +TBLR !,@ 6700 2 T1 1 0 01 +TBLR ! 6708 2 NOP 1 +TBLR @ 6700 2 T1 1 0 007F + +TBLW !,@ 7D00 2 T1 1 0 01 +TBLW ! 7D08 2 NOP 1 +TBLW @ 7D00 2 T1 1 0 007F + +XOR !,@ 7800 2 T1 1 0 01 +XOR ! 7808 2 NOP 1 +XOR @ 7800 2 T1 1 0 007F + +ZAC "" 7F89 2 NOP 1 + +ZALH !,@ 6500 2 T1 1 0 01 +ZALH ! 6508 2 NOP 1 +ZALH @ 6500 2 T1 1 0 007F + +ZALS !,@ 6600 2 T1 1 0 01 +ZALS ! 6608 2 NOP 1 +ZALS @ 6600 2 T1 1 0 007F + diff --git a/branches/wbw/LSource/bin/TASM3225.TAB b/branches/wbw/LSource/bin/TASM3225.TAB new file mode 100644 index 00000000..30dcd4c8 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM3225.TAB @@ -0,0 +1,456 @@ +"TASM TMS32025 Assembler." +/**************************************************************************** +/* $Id: tasm3225.tab 1.2 1997/09/28 22:16:44 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table +/* for the TMS32025 version of TASM. +/* Bob Stricklin +/* +/* See TASM manual for info on table structure. +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT MASK */ +/*-------------------------------------------*/ + +/* Generate opcodes high byte first */ +.MSFIRST +/* Don't use '*' as the wild card since it is used for indirect addressing */ +/* In this table '@' is the wild card indicating where expression may appear*/ +.ALTWILD +.WORDADDRS +.NOARGSHIFT + +/* Addressing mode definitions. +/* Value gets OR'd in to the opcode if the +/* addressing mode is recognized +/* Note: no special classes are defined, so if this +/* table is used for TMS32020, invalid instructions +/* will not result in errors (no BR0+/- addressing mode (for example) +/* The ! character can match any of the patterns in the REGSET: +.REGSET *BR0+ F0 1 +.REGSET *BR0- C0 1 +.REGSET *0+ E0 1 +.REGSET *0- D0 1 +.REGSET *+ A0 1 +.REGSET *- 90 1 +.REGSET * 80 1 + + + + +ABS "" CE1B 2 NOP 1 + +ADD !,@,@ 0088 2 T1 1 8 0F00 +ADD !,@ 0080 2 T1 1 8 0F00 +ADD ! 0080 2 NOP 1 +ADD @,@ 0000 2 TDMA 1 8 0F00 +ADD @ 0000 2 T1 1 0 007F + +ADDC !,@ 4388 2 T1 1 0 0007 +ADDC ! 4380 2 NOP 1 +ADDC @ 4300 2 T1 1 0 007F + +ADDH !,@ 4888 2 T1 1 0 0007 +ADDH ! 4880 2 NOP 1 +ADDH @ 4800 2 T1 1 0 007F + +ADDK @ CC00 2 T1 1 0 00FF ;8 bit constant + +ADDS !,@ 4988 2 T1 1 0 0007 +ADDS ! 4980 2 NOP 1 +ADDS @ 4900 2 T1 1 0 007F + +ADDT !,@ 4A88 2 T1 1 0 0007 +ADDT ! 4A80 2 NOP 1 +ADDT @ 4A00 2 T1 1 0 007F + +ADLK @,@ D002 4 TLK 1 8 0F00 +ADLK @ D002 4 TLK 1 + +ADRK @ 7E00 2 T1 1 0 00FF ;8 bit constant + +AND !,@ 4E88 2 T1 1 0 0007 +AND ! 4E80 2 NOP 1 +AND @ 4E00 2 T1 1 0 007F + +ANDK @,@ D004 4 TLK 1 8 0F00 +ANDK @ D004 4 TLK 1 + +APAC "" CE15 2 NOP 1 + +B @,!,@ FF88 4 TLK 1 0 07 +B @,! FF80 4 SWAP 1 +B @ FF80 4 SWAP 1 + +BACC "" CE25 2 NOP 1 + +BANZ @,!,@ FB88 4 TLK 1 0 07 +BANZ @,! FB80 4 SWAP 1 +BANZ @ FB90 4 SWAP 1 ; Default to the equivalent of + ; BANZ loop,*- (as per spec) for + ; TMS32010 compatibility. + +BBNZ @,!,@ F988 4 TLK 1 0 07 +BBNZ @,! F980 4 SWAP 1 +BBNZ @ F980 4 SWAP 1 + +BBZ @,!,@ F888 4 TLK 1 0 07 +BBZ @,! F880 4 SWAP 1 +BBZ @ F880 4 SWAP 1 + +BC @,!,@ 5E88 4 TLK 1 0 07 +BC @,! 5E80 4 SWAP 1 +BC @ 5E80 4 SWAP 1 + +BGEZ @,!,@ F488 4 TLK 1 0 07 +BGEZ @,! F480 4 SWAP 1 +BGEZ @ F480 4 SWAP 1 + +BGZ @,!,@ F188 4 TLK 1 0 07 +BGZ @,! F180 4 SWAP 1 +BGZ @ F180 4 SWAP 1 + +BIOZ @,!,@ FA88 4 TLK 1 0 07 +BIOZ @,! FA80 4 SWAP 1 +BIOZ @ FA80 4 SWAP 1 + +BIT !,@,@ 9088 2 T1 1 8 0F00 ;8 bit shift +BIT !,@ 9080 2 T1 1 8 0F00 +BIT @,@ 9000 2 TDMA 1 8 0F00 + +BITT !,@ 5788 2 T1 1 0 07 +BITT ! 5780 2 T1 1 +BITT @ 5700 2 T1 1 0 7F + +BLEZ @,!,@ F288 4 TLK 1 0 07 +BLEZ @,! F280 4 SWAP 1 +BLEZ @ F280 4 SWAP 1 + +BLKD @,!,@ FD88 4 TLK 1 0 07 +BLKD @,! FD80 4 TLK 1 0 07 +BLKD @,@ FD00 4 TLK 1 0 FF + +BLKP @,!,@ FC88 4 TLK 1 0 07 +BLKP @,! FC80 4 TLK 1 0 07 +BLKP @,@ FC00 4 TLK 1 0 FF + +BLZ @,!,@ F388 4 TLK 1 0 07 +BLZ @,! F380 4 SWAP 1 +BLZ @ F380 4 SWAP 1 + +BNC @,!,@ 5F88 4 TLK 1 0 07 +BNC @,! 5F80 4 SWAP 1 +BNC @ 5F80 4 SWAP 1 + +BNV @,!,@ F788 4 TLK 1 0 07 +BNV @,! F780 4 SWAP 1 +BNV @ F780 4 SWAP 1 + +BNZ @,!,@ F588 4 TLK 1 0 07 +BNZ @,! F580 4 SWAP 1 +BNZ @ F580 4 SWAP 1 + +BV @,!,@ F088 4 TLK 1 0 07 +BV @,! F080 4 SWAP 1 +BV @ F080 4 SWAP 1 + +BZ @,!,@ F688 4 TLK 1 0 07 +BZ @,! F680 4 SWAP 1 +BZ @ F680 4 SWAP 1 + +CALA "" CE24 2 NOP 1 + +CALL @,!,@ FE88 4 TLK 1 0 07 +CALL @,! FE80 4 SWAP 1 +CALL @ FE80 4 SWAP 1 + +CMPL "" CE27 2 NOP 1 + +CMPR @ CE50 2 T1 1 0 03 ;2 BIT CONTANT + +CNFD "" CE04 2 NOP 1 + +CNFP "" CE05 2 NOP 1 + +CONF "" CE3C 2 T1 4 0 03 ; c26 ONLY + +DINT "" CE01 2 NOP 1 + +DMOV !,@ 5688 2 T1 1 0 07 +DMOV ! 5680 2 NOP 1 +DMOV @ 5600 2 T1 1 0 007F + +EINT "" CE00 2 NOP 1 + +FORT @ CE0E 2 T1 1 0 01 + +IDLE "" CE1F 2 NOP 1 + +IN !,@,@ 8088 2 T1 1 8 0F00 +IN !,@ 8080 2 T1 1 8 0F00 +IN @,@ 8000 2 TDMA 1 8 0F00 + +LAC !,@,@ 2088 2 T1 1 8 0F00 +LAC !,@ 2080 2 T1 1 8 0F00 +LAC ! 2080 2 NOP 1 +LAC @,@ 2000 2 TDMA 1 8 0F00 +LAC @ 2000 2 T1 1 0 007F + +LACK @ CA00 2 T1 1 0 00FF ;tested for -25 + +LACT !,@ 4288 2 T1 1 0 07 +LACT ! 4280 2 NOP 1 +LACT @ 4200 2 T1 1 0 007F + +LALK @,@ D001 4 TLK 1 8 0F00 +LALK @ D001 4 TLK 1 + +LAR @,!,@ 3088 2 TAR 1 0 07 +LAR @,! 3080 2 TAR 1 0 07 +LAR @,@ 3000 2 TAR 1 0 7F + +LARK @,@ C000 2 TAR 1 0 00FF +LARP @ 5588 2 T1 1 0 0007 + +LDP !,@ 5288 2 T1 1 0 07 +LDP ! 5280 2 NOP 1 +LDP @ 5200 2 T1 1 0 007F + +LDPK @ C800 2 T1 1 0 01FF ;9 bit constant + +LPH !,@ 5388 2 T1 1 0 07 +LPH ! 5380 2 NOP 1 +LPH @ 5300 2 T1 1 0 7F + +LRLK @,@ D000 4 T5 1 8 0700 ;, + +LST !,@ 5088 2 T1 1 0 07 +LST ! 5080 2 NOP 1 +LST @ 5000 2 T1 1 0 7F + +LST1 !,@ 5188 2 T1 1 0 07 +LST1 ! 5180 2 NOP 1 +LST1 @ 5100 2 T1 1 0 7F + +LT !,@ 3C88 2 T1 1 0 07 +LT ! 3C80 2 NOP 1 +LT @ 3C00 2 T1 1 0 7F + +LTA !,@ 3D88 2 T1 1 0 07 +LTA ! 3D80 2 NOP 1 +LTA @ 3D00 2 T1 1 0 7F + +LTD !,@ 3F88 2 T1 1 0 07 +LTD ! 3F80 2 NOP 1 +LTD @ 3F00 2 T1 1 0 7F + +LTP !,@ 3E88 2 T1 1 0 07 +LTP ! 3E80 2 NOP 1 +LTP @ 3E00 2 T1 1 0 7F + +LTS !,@ 5B88 2 T1 1 0 07 +LTS ! 5B80 2 NOP 1 +LTS @ 5B00 2 T1 1 0 7F + +MAC @,!,@ 5D88 4 TLK 1 0 07 +MAC @,! 5D80 4 TLK 1 0 07 +MAC @,@ 5D00 4 TLK 1 0 7F + +MACD @,!,@ 5C88 4 TLK 1 0 07 +MACD @,! 5C80 4 TLK 1 0 07 +MACD @,@ 5C00 4 TLK 1 0 7F + +MAR !,@ 5588 2 T1 1 0 07 +MAR ! 5580 2 NOP 1 +MAR @ 5500 2 T1 1 0 7F + +MPY !,@ 3888 2 T1 1 0 07 +MPY ! 3880 2 NOP 1 +MPY @ 3800 2 T1 1 0 7F + +MPYA !,@ 3A88 2 T1 1 0 07 +MPYA ! 3A80 2 NOP 1 +MPYA @ 3A00 2 T1 1 0 7F + +MPYK @ A000 2 T1 1 0 1FFF ;13 BIT CONTSTANT + +MPYS !,@ 3B88 2 T1 1 0 07 +MPYS ! 3B80 2 NOP 1 +MPYS @ 3B00 2 T1 1 0 7F + +MPYU !,@ CF88 2 T1 1 0 07 +MPYU ! CF80 2 NOP 1 +MPYU @ CF00 2 T1 1 0 7F + +NEG "" CE23 2 NOP 1 + +NOP "" 5500 2 NOP 1 + +NORM ! CE82 2 NOP 1 ; C25 +NORM "" CEA2 2 NOP 1 ; C20 + +OR !,@ 4D88 2 T1 1 0 07 +OR ! 4D80 2 NOP 1 +OR @ 4D00 2 T1 1 0 7F + +ORK @,@ D005 4 TLK 1 8 0F00 +ORK @ D005 4 TLK 1 + +OUT !,@,@ E088 2 T1 1 8 0F00 +OUT !,@ E080 2 T1 1 8 0F00 +OUT @,@ E000 2 TDMA 1 8 0F00 + +PAC "" CE14 2 NOP 1 + +POP "" CE1D 2 NOP 1 + +POPD !,@ 7A88 2 T1 1 0 07 +POPD ! 7A80 2 NOP 1 +POPD @ 7A00 2 T1 1 0 7F + +PSHD !,@ 5488 2 T1 1 0 07 +PSHD ! 5480 2 NOP 1 +PSHD @ 5400 2 T1 1 0 7F + +PUSH "" CE1C 2 NOP 1 +RC "" CE30 2 NOP 1 +RET "" CE26 2 NOP 1 +RFSM "" CE36 2 NOP 1 +RHM "" CE38 2 NOP 1 +ROL "" CE34 2 NOP 1 +ROR "" CE35 2 NOP 1 +ROVM "" CE02 2 NOP 1 + +RPT !,@ 4B88 2 T1 1 0 07 +RPT ! 4B80 2 NOP 1 +RPT @ 4B00 2 T1 1 0 7F + +RPTK @ CB00 2 T1 1 0 00FF ;8 bit constant + +RSXM "" CE06 2 NOP 1 +RTC "" CE32 2 NOP 1 +RTXM "" CE20 2 NOP 1 +RXF "" CE0C 2 NOP 1 + +/* shift count for SACH can only be 0,1, or 4 FOR 32020 +/* 0-7 FOR 320c25. For now, build the table specifically for the 320C25 +SACH !,@,@ 6888 2 T1 1 8 0700 +SACH !,@ 6880 2 T1 1 8 0700 +SACH ! 6880 2 NOP 1 +SACH @,@ 6800 2 TDMA 1 8 0700 +SACH @ 6800 2 T1 1 0 007F + +SACL !,@,@ 6088 2 T1 1 8 0700 +SACL !,@ 6080 2 T1 1 8 0700 +SACL ! 6080 2 NOP 1 +SACL @,@ 6000 2 TDMA 1 8 0700 +SACL @ 6000 2 T1 1 0 007F + +SAR @,!,@ 7088 2 TAR 1 0 0007 +SAR @,! 7080 2 TAR 1 0 0007 +SAR @,@ 7000 2 TAR 1 0 007F + +SBLK @,@ D003 4 TLK 1 8 0F00 +SBLK @ D003 4 TLK 1 + +SBRK @ 7F00 2 T1 1 0 00FF + +SC "" CE31 2 NOP 1 +SFL "" CE18 2 NOP 1 +SFR "" CE19 2 NOP 1 +SFSM "" CE37 2 NOP 1 +SHM "" CE39 2 NOP 1 +SOVM "" CE03 2 NOP 1 +SPAC "" CE16 2 NOP 1 + +SPH !,@ 7D88 2 T1 1 0 07 +SPH ! 7D80 2 NOP 1 +SPH @ 7D00 2 T1 1 0 7F + +SPL !,@ 7C88 2 T1 1 0 07 +SPL ! 7C80 2 NOP 1 +SPL @ 7C00 2 T1 1 0 7F + +SPM @ CE08 2 T1 1 0 03 ;2 bit constant + +SQRA !,@ 3988 2 T1 1 0 07 +SQRA ! 3980 2 NOP 1 +SQRA @ 3900 2 T1 1 0 7F + +SQRS !,@ 5A88 2 T1 1 0 07 +SQRS ! 5A80 2 NOP 1 +SQRS @ 5A00 2 T1 1 0 7F + +SST !,@ 7888 2 T1 1 0 07 +SST ! 7880 2 NOP 1 +SST @ 7800 2 T1 1 0 7F + +SST1 !,@ 7988 2 T1 1 0 07 +SST1 ! 7980 2 NOP 1 +SST1 @ 7900 2 T1 1 0 7F + +SSXM "" CE07 2 NOP 1 +STC "" CE33 2 NOP 1 +STXM "" CE21 2 NOP 1 + + +SUB !,@,@ 1088 2 T1 1 8 0F00 +SUB !,@ 1080 2 T1 1 8 0F00 +SUB ! 1080 2 NOP 1 +SUB @,@ 1000 2 TDMA 1 8 0F00 +SUB @ 1000 2 T1 1 0 007F + +SUBB !,@ 4F88 2 T1 1 0 07 +SUBB ! 4F80 2 NOP 1 +SUBB @ 4F00 2 T1 1 0 7F + +SUBC !,@ 4788 2 T1 1 0 07 +SUBC ! 4780 2 NOP 1 +SUBC @ 4700 2 T1 1 0 7F + +SUBH !,@ 4488 2 T1 1 0 07 +SUBH ! 4480 2 NOP 1 +SUBH @ 4400 2 T1 1 0 7F + +SUBK @ CD00 2 T1 1 0 00FF + +SUBS !,@ 4588 2 T1 1 0 07 +SUBS ! 4580 2 NOP 1 +SUBS @ 4500 2 T1 1 0 7F + +SUBT !,@ 4688 2 T1 1 0 07 +SUBT ! 4680 2 NOP 1 +SUBT @ 4600 2 T1 1 0 7F + +SXF "" CE0D 2 NOP 1 + +TBLR !,@ 5888 2 T1 1 0 07 +TBLR ! 5880 2 NOP 1 +TBLR @ 5800 2 T1 1 0 7F + +TBLW !,@ 5988 2 T1 1 0 07 +TBLW ! 5980 2 NOP 1 +TBLW @ 5900 2 T1 1 0 7F + +TRAP "" CE1E 2 NOP 1 + +XOR !,@ 4C88 2 T1 1 0 07 +XOR ! 4C80 2 NOP 1 +XOR @ 4C00 2 T1 1 0 7F + +XORK @,@ D006 4 TLK 1 8 0F00 +XORK @ D006 4 TLK 1 + +ZAC "" CA00 2 NOP 1 + +ZALH !,@ 4088 2 T1 1 0 07 +ZALH ! 4080 2 NOP 1 +ZALH @ 4000 2 T1 1 0 7F + +ZALR !,@ 7B88 2 T1 1 0 07 +ZALR ! 7B80 2 NOP 1 +ZALR @ 7B00 2 T1 1 0 7F + +ZALS !,@ 4188 2 T1 1 0 07 +ZALS ! 4180 2 NOP 1 +ZALS @ 4100 2 T1 1 0 7F + diff --git a/branches/wbw/LSource/bin/TASM48.TAB b/branches/wbw/LSource/bin/TASM48.TAB new file mode 100644 index 00000000..a76454ae --- /dev/null +++ b/branches/wbw/LSource/bin/TASM48.TAB @@ -0,0 +1,281 @@ +"TASM 8048 Assembler. " +/**************************************************************************** +/* $Id: tasm48.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table for the 8048 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorported, June 1987. +/* CLASS bits are assigned as follows: +/* bit 0 = 8X48, 8035, 8039, 8049 instructions +/* bit 1 = 8X41A +/* bit 2 = 8022 +/* bit 3 = 8021 +/* Note that some of the base instructions should be disabled for the +/* 8041, 8022, and 8021, but are not. +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT OR */ +/*-------------------------------------------*/ +ADD A,R0 68 1 NOP 1 +ADD A,R1 69 1 NOP 1 +ADD A,R2 6A 1 NOP 1 +ADD A,R3 6B 1 NOP 1 +ADD A,R4 6C 1 NOP 1 +ADD A,R5 6D 1 NOP 1 +ADD A,R6 6E 1 NOP 1 +ADD A,R7 6F 1 NOP 1 +ADD A,@R0 60 1 NOP 1 +ADD A,@R1 61 1 NOP 1 +ADD A,#* 03 2 NOP 1 + +ADDC A,R0 78 1 NOP 1 +ADDC A,R1 79 1 NOP 1 +ADDC A,R2 7A 1 NOP 1 +ADDC A,R3 7B 1 NOP 1 +ADDC A,R4 7C 1 NOP 1 +ADDC A,R5 7D 1 NOP 1 +ADDC A,R6 7E 1 NOP 1 +ADDC A,R7 7F 1 NOP 1 +ADDC A,@R0 70 1 NOP 1 +ADDC A,@R1 71 1 NOP 1 +ADDC A,#* 13 2 NOP 1 + +ANL A,R0 58 1 NOP 1 +ANL A,R1 59 1 NOP 1 +ANL A,R2 5A 1 NOP 1 +ANL A,R3 5B 1 NOP 1 +ANL A,R4 5C 1 NOP 1 +ANL A,R5 5D 1 NOP 1 +ANL A,R6 5E 1 NOP 1 +ANL A,R7 5F 1 NOP 1 +ANL A,@R0 50 1 NOP 1 +ANL A,@R1 51 1 NOP 1 +ANL A,#* 53 2 NOP 1 +ANL BUS,#* 98 2 NOP 1 +ANL P1,#* 99 2 NOP 1 +ANL P2,#* 9A 2 NOP 1 + +ANLD P4,A 9C 1 NOP 1 +ANLD P5,A 9D 1 NOP 1 +ANLD P6,A 9E 1 NOP 1 +ANLD P7,A 9F 1 NOP 1 + +CALL * 14 2 JMP 1 + +CLR A 27 1 NOP 1 +CLR C 97 1 NOP 1 +CLR F0 85 1 NOP 1 +CLR F1 A5 1 NOP 1 + +CPL A 37 1 NOP 1 +CPL C A7 1 NOP 1 +CPL F0 95 1 NOP 1 +CPL F1 B5 1 NOP 1 + +DA A 57 1 NOP 1 + +DEC A 07 1 NOP 1 +DEC R0 C8 1 NOP 1 +DEC R1 C9 1 NOP 1 +DEC R2 CA 1 NOP 1 +DEC R3 CB 1 NOP 1 +DEC R4 CC 1 NOP 1 +DEC R5 CD 1 NOP 1 +DEC R6 CE 1 NOP 1 +DEC R7 CF 1 NOP 1 + +DIS I 15 1 NOP 1 +DIS TCNTI 35 1 NOP 1 + +DJNZ R0,* E8 2 JTHISPAGE 1 +DJNZ R1,* E9 2 JTHISPAGE 1 +DJNZ R2,* EA 2 JTHISPAGE 1 +DJNZ R3,* EB 2 JTHISPAGE 1 +DJNZ R4,* EC 2 JTHISPAGE 1 +DJNZ R5,* ED 2 JTHISPAGE 1 +DJNZ R6,* EE 2 JTHISPAGE 1 +DJNZ R7,* EF 2 JTHISPAGE 1 + +EN DMA E5 1 NOP 2 ;8041 +EN FLAGS F5 1 NOP 2 ;8041 +EN I 05 1 NOP 1 +EN TCNTI 25 1 NOP 1 +ENT0 CLK 75 1 NOP 1 + +IN A,DBB 22 1 NOP 2 ;8041 +IN A,P0 08 1 NOP 8 ;8021 +IN A,P1 09 1 NOP 1 +IN A,P2 0A 1 NOP 1 + +INC A 17 1 NOP 1 +INC R0 18 1 NOP 1 +INC R1 19 1 NOP 1 +INC R2 1A 1 NOP 1 +INC R3 1B 1 NOP 1 +INC R4 1C 1 NOP 1 +INC R5 1D 1 NOP 1 +INC R6 1E 1 NOP 1 +INC R7 1F 1 NOP 1 +INC @R0 10 1 NOP 1 +INC @R1 11 1 NOP 1 + +INS A,BUS 08 1 NOP 1 + +JB0 * 12 2 JTHISPAGE 1 +JB1 * 32 2 JTHISPAGE 1 +JB2 * 52 2 JTHISPAGE 1 +JB3 * 72 2 JTHISPAGE 1 +JB4 * 92 2 JTHISPAGE 1 +JB5 * B2 2 JTHISPAGE 1 +JB6 * D2 2 JTHISPAGE 1 +JB7 * F2 2 JTHISPAGE 1 + +JMP * 04 2 JMP 1 + +JC * F6 2 JTHISPAGE 1 +JF0 * B6 2 JTHISPAGE 1 +JF1 * 76 2 JTHISPAGE 1 +JNC * E6 2 JTHISPAGE 1 +JNI * 86 2 JTHISPAGE 1 +JNIBF * D6 2 JTHISPAGE 2 ;8041 +JNT0 * 26 2 JTHISPAGE 1 +JNT1 * 46 2 JTHISPAGE 1 +JNZ * 96 2 JTHISPAGE 1 +JOBF * 86 2 JTHISPAGE 2 ;8041 +JTF * 16 2 JTHISPAGE 1 +JT0 * 36 2 JTHISPAGE 1 +JT1 * 56 2 JTHISPAGE 1 +JZ * C6 2 JTHISPAGE 1 + +JMPP @A B3 1 NOP 1 + +MOV A,PSW C7 1 NOP 1 +MOV A,R0 F8 1 NOP 1 +MOV A,R1 F9 1 NOP 1 +MOV A,R2 FA 1 NOP 1 +MOV A,R3 FB 1 NOP 1 +MOV A,R4 FC 1 NOP 1 +MOV A,R5 FD 1 NOP 1 +MOV A,R6 FE 1 NOP 1 +MOV A,R7 FF 1 NOP 1 +MOV A,T 42 1 NOP 1 +MOV A,@R0 F0 1 NOP 1 +MOV A,@R1 F1 1 NOP 1 +MOV A,#* 23 2 NOP 1 +MOV PSW,A D7 1 NOP 1 +MOV R0,A A8 1 NOP 1 +MOV R1,A A9 1 NOP 1 +MOV R2,A AA 1 NOP 1 +MOV R3,A AB 1 NOP 1 +MOV R4,A AC 1 NOP 1 +MOV R5,A AD 1 NOP 1 +MOV R6,A AE 1 NOP 1 +MOV R7,A AF 1 NOP 1 +MOV R0,#* B8 2 NOP 1 +MOV R1,#* B9 2 NOP 1 +MOV R2,#* BA 2 NOP 1 +MOV R3,#* BB 2 NOP 1 +MOV R4,#* BC 2 NOP 1 +MOV R5,#* BD 2 NOP 1 +MOV R6,#* BE 2 NOP 1 +MOV R7,#* BF 2 NOP 1 +MOV STS,A 90 1 NOP 2 ;8041 +MOV T,A 62 1 NOP 1 +MOV @R0,A A0 1 NOP 1 +MOV @R1,A A1 1 NOP 1 +MOV @R0,#* B0 2 NOP 1 +MOV @R1,#* B1 2 NOP 1 + +MOVD A,P4 0C 1 NOP 1 +MOVD A,P5 0D 1 NOP 1 +MOVD A,P6 0E 1 NOP 1 +MOVD A,P7 0F 1 NOP 1 +MOVD P4,A 3C 1 NOP 1 +MOVD P5,A 3D 1 NOP 1 +MOVD P6,A 3E 1 NOP 1 +MOVD P7,A 3F 1 NOP 1 + +MOVP A,@A A3 1 NOP 1 +MOVP3 A,@A E3 1 NOP 1 + +MOVX A,@R0 80 1 NOP 1 +MOVX A,@R1 81 1 NOP 1 +MOVX @R0,A 90 1 NOP 1 +MOVX @R1,A 91 1 NOP 1 + +NOP "" 00 1 NOP 1 + +ORL A,R0 48 1 NOP 1 +ORL A,R1 49 1 NOP 1 +ORL A,R2 4A 1 NOP 1 +ORL A,R3 4B 1 NOP 1 +ORL A,R4 4C 1 NOP 1 +ORL A,R5 4D 1 NOP 1 +ORL A,R6 4E 1 NOP 1 +ORL A,R7 4F 1 NOP 1 +ORL A,@R0 40 1 NOP 1 +ORL A,@R1 41 1 NOP 1 +ORL A,#* 43 2 NOP 1 +ORL BUS,#* 88 2 NOP 1 +ORL P1,#* 89 2 NOP 1 +ORL P2,#* 8A 2 NOP 1 + +ORLD P4,A 8C 1 NOP 1 +ORLD P5,A 8D 1 NOP 1 +ORLD P6,A 8E 1 NOP 1 +ORLD P7,A 8F 1 NOP 1 + +OUTL BUS,A 02 1 NOP 1 +OUT DBB,A 02 1 NOP 2 ;8041 +OUTL P0,A 90 1 NOP 8 ;8021 +OUTL P1,A 39 1 NOP 1 +OUTL P2,A 3A 1 NOP 1 + +RAD "" 80 1 NOP 4 ;8022 + +RET "" 83 1 NOP 1 +RETI "" 93 1 NOP 4 ;8022 +RETR "" 93 1 NOP 1 + +RL A E7 1 NOP 1 +RLC A F7 1 NOP 1 +RR A 77 1 NOP 1 +RRC A 67 1 NOP 1 + +SEL AN0 85 1 NOP 4 ;8022 +SEL AN1 95 1 NOP 4 ;8022 +SEL MB0 E5 1 NOP 1 +SEL MB1 F5 1 NOP 1 +SEL RB0 C5 1 NOP 1 +SEL RB1 D5 1 NOP 1 + +STOP TCNT 65 1 NOP 1 +STRT CNT 45 1 NOP 1 +STRT T 55 1 NOP 1 + +SWAP A 47 1 NOP 1 + +XCH A,R0 28 1 NOP 1 +XCH A,R1 29 1 NOP 1 +XCH A,R2 2A 1 NOP 1 +XCH A,R3 2B 1 NOP 1 +XCH A,R4 2C 1 NOP 1 +XCH A,R5 2D 1 NOP 1 +XCH A,R6 2E 1 NOP 1 +XCH A,R7 2F 1 NOP 1 +XCH A,@R0 20 1 NOP 1 +XCH A,@R1 21 1 NOP 1 + +XCHD A,@R0 30 1 NOP 1 +XCHD A,@R1 31 1 NOP 1 + +XRL A,R0 D8 1 NOP 1 +XRL A,R1 D9 1 NOP 1 +XRL A,R2 DA 1 NOP 1 +XRL A,R3 DB 1 NOP 1 +XRL A,R4 DC 1 NOP 1 +XRL A,R5 DD 1 NOP 1 +XRL A,R6 DE 1 NOP 1 +XRL A,R7 DF 1 NOP 1 +XRL A,@R0 D0 1 NOP 1 +XRL A,@R1 D1 1 NOP 1 +XRL A,#* D3 2 NOP 1 + diff --git a/branches/wbw/LSource/bin/TASM51.TAB b/branches/wbw/LSource/bin/TASM51.TAB new file mode 100644 index 00000000..24c2a142 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM51.TAB @@ -0,0 +1,285 @@ +"TASM 8051 Assembler. " +/**************************************************************************** +/* $Id: tasm51.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table for the 8051 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorported, June 1987. +/* + +.NOARGSHIFT + +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT OR */ +/*-------------------------------------------*/ +ACALL * 11 2 JMP 1 0 F800 + +ADD A,R0 28 1 NOP 1 +ADD A,R1 29 1 NOP 1 +ADD A,R2 2A 1 NOP 1 +ADD A,R3 2B 1 NOP 1 +ADD A,R4 2C 1 NOP 1 +ADD A,R5 2D 1 NOP 1 +ADD A,R6 2E 1 NOP 1 +ADD A,R7 2F 1 NOP 1 +ADD A,@R0 26 1 NOP 1 +ADD A,@R1 27 1 NOP 1 +ADD A,#* 24 2 NOP 1 +ADD A,* 25 2 NOP 1 + +ADDC A,R0 38 1 NOP 1 +ADDC A,R1 39 1 NOP 1 +ADDC A,R2 3A 1 NOP 1 +ADDC A,R3 3B 1 NOP 1 +ADDC A,R4 3C 1 NOP 1 +ADDC A,R5 3D 1 NOP 1 +ADDC A,R6 3E 1 NOP 1 +ADDC A,R7 3F 1 NOP 1 +ADDC A,@R0 36 1 NOP 1 +ADDC A,@R1 37 1 NOP 1 +ADDC A,#* 34 2 NOP 1 +ADDC A,* 35 2 NOP 1 + +AJMP * 01 2 JMP 1 0 F800 + +ANL A,R0 58 1 NOP 1 +ANL A,R1 59 1 NOP 1 +ANL A,R2 5A 1 NOP 1 +ANL A,R3 5B 1 NOP 1 +ANL A,R4 5C 1 NOP 1 +ANL A,R5 5D 1 NOP 1 +ANL A,R6 5E 1 NOP 1 +ANL A,R7 5F 1 NOP 1 +ANL A,@R0 56 1 NOP 1 +ANL A,@R1 57 1 NOP 1 +ANL A,#* 54 2 NOP 1 +ANL A,* 55 2 NOP 1 +ANL C,/* b0 2 NOP 1 +ANL C,* 82 2 NOP 1 +ANL *,A 52 2 NOP 1 +ANL *,#* 53 3 COMBINE 1 + +CJNE A,#*,* b4 3 CR 1 +CJNE A,*,* b5 3 CR 1 +CJNE R0,#*,* b8 3 CR 1 +CJNE R1,#*,* b9 3 CR 1 +CJNE R2,#*,* ba 3 CR 1 +CJNE R3,#*,* bb 3 CR 1 +CJNE R4,#*,* bc 3 CR 1 +CJNE R5,#*,* bd 3 CR 1 +CJNE R6,#*,* be 3 CR 1 +CJNE R7,#*,* bf 3 CR 1 +CJNE @R0,#*,* b6 3 CR 1 +CJNE @R1,#*,* b7 3 CR 1 + +CLR A e4 1 NOP 1 +CLR C c3 1 NOP 1 +CLR * c2 2 NOP 1 + +CPL A f4 1 NOP 1 +CPL C b3 1 NOP 1 +CPL * b2 2 NOP 1 + +DA A d4 1 NOP 1 + +DEC A 14 1 NOP 1 +DEC R0 18 1 NOP 1 +DEC R1 19 1 NOP 1 +DEC R2 1A 1 NOP 1 +DEC R3 1B 1 NOP 1 +DEC R4 1C 1 NOP 1 +DEC R5 1D 1 NOP 1 +DEC R6 1E 1 NOP 1 +DEC R7 1F 1 NOP 1 +DEC @R0 16 1 NOP 1 +DEC @R1 17 1 NOP 1 +DEC * 15 2 NOP 1 + +DIV AB 84 1 NOP 1 + +DJNZ R0,* d8 2 R1 1 +DJNZ R1,* d9 2 R1 1 +DJNZ R2,* dA 2 R1 1 +DJNZ R3,* dB 2 R1 1 +DJNZ R4,* dC 2 R1 1 +DJNZ R5,* dD 2 R1 1 +DJNZ R6,* dE 2 R1 1 +DJNZ R7,* dF 2 R1 1 +DJNZ *,* d5 3 CR 1 + +INC A 04 1 NOP 1 +INC R0 08 1 NOP 1 +INC R1 09 1 NOP 1 +INC R2 0A 1 NOP 1 +INC R3 0B 1 NOP 1 +INC R4 0C 1 NOP 1 +INC R5 0D 1 NOP 1 +INC R6 0E 1 NOP 1 +INC R7 0F 1 NOP 1 +INC @R0 06 1 NOP 1 +INC @R1 07 1 NOP 1 +INC DPTR a3 1 NOP 1 +INC * 05 2 NOP 1 + +JB *,* 20 3 CR 1 +JBC *,* 10 3 CR 1 +JC * 40 2 R1 1 +JMP @A+DPTR 73 1 NOP 1 +JNB *,* 30 3 CR 1 +JNC * 50 2 R1 1 +JNZ * 70 2 R1 1 +JZ * 60 2 R1 1 + +LCALL * 12 3 SWAP 1 + +LJMP * 02 3 SWAP 1 + +MOV A,R0 e8 1 NOP 1 +MOV A,R1 e9 1 NOP 1 +MOV A,R2 eA 1 NOP 1 +MOV A,R3 eB 1 NOP 1 +MOV A,R4 eC 1 NOP 1 +MOV A,R5 eD 1 NOP 1 +MOV A,R6 eE 1 NOP 1 +MOV A,R7 eF 1 NOP 1 +MOV A,@R0 e6 1 NOP 1 +MOV A,@R1 e7 1 NOP 1 +MOV A,#* 74 2 NOP 1 +MOV A,* e5 2 NOP 1 +MOV C,* a2 2 NOP 1 +MOV DPTR,#* 90 3 SWAP 1 +MOV R0,A f8 1 NOP 1 +MOV R1,A f9 1 NOP 1 +MOV R2,A fA 1 NOP 1 +MOV R3,A fB 1 NOP 1 +MOV R4,A fC 1 NOP 1 +MOV R5,A fD 1 NOP 1 +MOV R6,A fE 1 NOP 1 +MOV R7,A fF 1 NOP 1 +MOV R0,#* 78 2 NOP 1 +MOV R1,#* 79 2 NOP 1 +MOV R2,#* 7A 2 NOP 1 +MOV R3,#* 7B 2 NOP 1 +MOV R4,#* 7C 2 NOP 1 +MOV R5,#* 7D 2 NOP 1 +MOV R6,#* 7E 2 NOP 1 +MOV R7,#* 7F 2 NOP 1 +MOV R0,* a8 2 NOP 1 +MOV R1,* a9 2 NOP 1 +MOV R2,* aA 2 NOP 1 +MOV R3,* aB 2 NOP 1 +MOV R4,* aC 2 NOP 1 +MOV R5,* aD 2 NOP 1 +MOV R6,* aE 2 NOP 1 +MOV R7,* aF 2 NOP 1 +MOV @R0,A f6 1 NOP 1 +MOV @R1,A f7 1 NOP 1 +MOV @R0,#* 76 2 NOP 1 +MOV @R1,#* 77 2 NOP 1 +MOV @R0,* a6 2 NOP 1 +MOV @R1,* a7 2 NOP 1 +MOV *,A f5 2 NOP 1 +MOV *,C 92 2 NOP 1 +MOV *,R0 88 2 NOP 1 +MOV *,R1 89 2 NOP 1 +MOV *,R2 8A 2 NOP 1 +MOV *,R3 8B 2 NOP 1 +MOV *,R4 8C 2 NOP 1 +MOV *,R5 8D 2 NOP 1 +MOV *,R6 8E 2 NOP 1 +MOV *,R7 8F 2 NOP 1 +MOV *,@R0 86 2 NOP 1 +MOV *,@R1 87 2 NOP 1 +MOV *,#* 75 3 COMBINE 1 +MOV *,* 85 3 CSWAP 1 + +MOVC A,@A+DPTR 93 1 NOP 1 +MOVC A,@A+PC 83 1 NOP 1 + +MOVX A,@R0 e2 1 NOP 1 +MOVX A,@R1 e3 1 NOP 1 +MOVX A,@DPTR e0 1 NOP 1 +MOVX @R0,A f2 1 NOP 1 +MOVX @R1,A f3 1 NOP 1 +MOVX @DPTR,A f0 1 NOP 1 + +MUL AB a4 1 NOP 1 + +NOP "" 00 1 NOP 1 + +ORL A,R0 48 1 NOP 1 +ORL A,R1 49 1 NOP 1 +ORL A,R2 4A 1 NOP 1 +ORL A,R3 4B 1 NOP 1 +ORL A,R4 4C 1 NOP 1 +ORL A,R5 4D 1 NOP 1 +ORL A,R6 4E 1 NOP 1 +ORL A,R7 4F 1 NOP 1 +ORL A,@R0 46 1 NOP 1 +ORL A,@R1 47 1 NOP 1 +ORL A,#* 44 2 NOP 1 +ORL A,* 45 2 NOP 1 +ORL C,/* a0 2 NOP 1 +ORL C,* 72 2 NOP 1 +ORL *,A 42 2 NOP 1 +ORL *,#* 43 3 COMBINE 1 + +POP * d0 2 NOP 1 +PUSH * c0 2 NOP 1 + +RET "" 22 1 NOP 1 +RETI "" 32 1 NOP 1 + +RL A 23 1 NOP 1 +RLC A 33 1 NOP 1 +RR A 03 1 NOP 1 +RRC A 13 1 NOP 1 + +SETB C d3 1 NOP 1 +SETB * d2 2 NOP 1 + +SJMP * 80 2 R1 1 + +SUBB A,R0 98 1 NOP 1 +SUBB A,R1 99 1 NOP 1 +SUBB A,R2 9A 1 NOP 1 +SUBB A,R3 9B 1 NOP 1 +SUBB A,R4 9C 1 NOP 1 +SUBB A,R5 9D 1 NOP 1 +SUBB A,R6 9E 1 NOP 1 +SUBB A,R7 9F 1 NOP 1 +SUBB A,@R0 96 1 NOP 1 +SUBB A,@R1 97 1 NOP 1 +SUBB A,#* 94 2 NOP 1 +SUBB A,* 95 2 NOP 1 + +SWAP A c4 1 NOP 1 + +XCH A,R0 c8 1 NOP 1 +XCH A,R1 c9 1 NOP 1 +XCH A,R2 cA 1 NOP 1 +XCH A,R3 cB 1 NOP 1 +XCH A,R4 cC 1 NOP 1 +XCH A,R5 cD 1 NOP 1 +XCH A,R6 cE 1 NOP 1 +XCH A,R7 cF 1 NOP 1 +XCH A,@R0 c6 1 NOP 1 +XCH A,@R1 c7 1 NOP 1 +XCH A,* c5 2 NOP 1 + +XCHD A,@R0 d6 1 NOP 1 +XCHD A,@R1 d7 1 NOP 1 + +XRL A,R0 68 1 NOP 1 +XRL A,R1 69 1 NOP 1 +XRL A,R2 6A 1 NOP 1 +XRL A,R3 6B 1 NOP 1 +XRL A,R4 6C 1 NOP 1 +XRL A,R5 6D 1 NOP 1 +XRL A,R6 6E 1 NOP 1 +XRL A,R7 6F 1 NOP 1 +XRL A,@R0 66 1 NOP 1 +XRL A,@R1 67 1 NOP 1 +XRL A,#* 64 2 NOP 1 +XRL A,* 65 2 NOP 1 +XRL *,A 62 2 NOP 1 +XRL *,#* 63 3 COMBINE 1 + diff --git a/branches/wbw/LSource/bin/TASM65.TAB b/branches/wbw/LSource/bin/TASM65.TAB new file mode 100644 index 00000000..c6b95ce7 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM65.TAB @@ -0,0 +1,222 @@ +"TASM 6502 Assembler. " +/**************************************************************************** +/* $Id: tasm65.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table for the 6502 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorported, June 1987. +/* Note that there are two classes of extended instructions beyond +/* the standard set. The classes are assigned bits as follows: +/* bit 0 = standard set +/* bit 1 = extended instructions for R65C02 +/* bit 2 = extended instructions for R65C00/21 +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT OR */ +/*-------------------------------------------*/ +ADC #* 69 2 NOP 1 +ADC (*,X) 61 2 NOP 1 +ADC (*),Y 71 2 NOP 1 +ADC (*) 72 2 NOP 2 +ADC *,X 7D 3 ZP 1 +ADC *,Y 79 3 NOP 1 +ADC * 6D 3 ZP 1 + +AND #* 29 2 NOP 1 +AND (*,X) 21 2 NOP 1 +AND (*),Y 31 2 NOP 1 +AND (*) 32 2 NOP 2 +AND *,X 3D 3 ZP 1 +AND *,Y 39 3 NOP 1 +AND * 2D 3 ZP 1 + +ASL A 0A 1 NOP 1 +ASL *,X 1E 3 ZP 1 +ASL * 0E 3 ZP 1 + +BBR0 *,* 0f 3 CR 6 +BBR1 *,* 1f 3 CR 6 +BBR2 *,* 2f 3 CR 6 +BBR3 *,* 3f 3 CR 6 +BBR4 *,* 4f 3 CR 6 +BBR5 *,* 5f 3 CR 6 +BBR6 *,* 6f 3 CR 6 +BBR7 *,* 7f 3 CR 6 + +BBS0 *,* 8f 3 CR 6 +BBS1 *,* 9f 3 CR 6 +BBS2 *,* af 3 CR 6 +BBS3 *,* bf 3 CR 6 +BBS4 *,* cf 3 CR 6 +BBS5 *,* df 3 CR 6 +BBS6 *,* ef 3 CR 6 +BBS7 *,* ff 3 CR 6 + +BCC * 90 2 R1 1 +BCS * B0 2 R1 1 +BEQ * F0 2 R1 1 +BMI * 30 2 R1 1 +BNE * D0 2 R1 1 +BPL * 10 2 R1 1 +BRA * 80 2 R1 6 +BVC * 50 2 R1 1 +BVS * 70 2 R1 1 + +BIT #* 89 2 NOP 2 +BIT *,X 3C 3 ZP 2 +BIT * 2C 3 ZP 1 + +BRK "" 00 1 NOP 1 + +CLC "" 18 1 NOP 1 +CLD "" D8 1 NOP 1 +CLI "" 58 1 NOP 1 +CLV "" B8 1 NOP 1 + +CMP #* C9 2 NOP 1 +CMP (*,X) C1 2 NOP 1 +CMP (*),Y D1 2 NOP 1 +CMP (*) D2 2 NOP 2 +CMP *,X DD 3 ZP 1 +CMP *,Y D9 3 NOP 1 +CMP * CD 3 ZP 1 + +CPX #* E0 2 NOP 1 +CPX * EC 3 ZP 1 + +CPY #* C0 2 NOP 1 +CPY * CC 3 ZP 1 + +DEC A 3A 1 NOP 2 +DEC *,X DE 3 ZP 1 +DEC * CE 3 ZP 1 + +DEX "" CA 1 NOP 1 +DEY "" 88 1 NOP 1 + +EOR #* 49 2 NOP 1 +EOR (*,X) 41 2 NOP 1 +EOR (*),Y 51 2 NOP 1 +EOR (*) 52 2 NOP 2 +EOR *,X 5D 3 ZP 1 +EOR *,Y 59 3 NOP 1 +EOR * 4D 3 ZP 1 + +INC A 1A 1 NOP 2 +INC *,X FE 3 ZP 1 +INC * EE 3 ZP 1 + +INX "" E8 1 NOP 1 +INY "" C8 1 NOP 1 + +JMP (*,X) 7C 3 NOP 2 +JMP (*) 6C 3 NOP 1 +JMP * 4C 3 NOP 1 + +JSR * 20 3 NOP 1 + +LDA #* A9 2 NOP 1 +LDA (*,X) A1 2 NOP 1 +LDA (*),Y B1 2 NOP 1 +LDA (*) B2 2 NOP 2 +LDA *,X BD 3 ZP 1 +LDA *,Y B9 3 NOP 1 +LDA * AD 3 ZP 1 + +LDX #* A2 2 NOP 1 +LDX *,Y BE 3 ZP 1 +LDX * AE 3 ZP 1 + +LDY #* A0 2 NOP 1 +LDY *,X BC 3 ZP 1 +LDY * AC 3 ZP 1 + +LSR A 4A 1 NOP 1 +LSR *,X 5E 3 ZP 1 +LSR * 4E 3 ZP 1 + +MUL "" 02 1 NOP 4 /* R65C00/21 only*/ + +NOP "" EA 1 NOP 1 + +ORA #* 09 2 NOP 1 +ORA (*,X) 01 2 NOP 1 +ORA (*),Y 11 2 NOP 1 +ORA (*) 12 2 NOP 2 +ORA *,X 1D 3 ZP 1 +ORA *,Y 19 3 NOP 1 +ORA * 0D 3 ZP 1 + +PHA "" 48 1 NOP 1 +PHP "" 08 1 NOP 1 +PHX "" DA 1 NOP 6 +PHY "" 5A 1 NOP 6 +PLA "" 68 1 NOP 1 +PLP "" 28 1 NOP 1 +PLX "" FA 1 NOP 6 +PLY "" 7A 1 NOP 6 + +RMB0 * 07 2 NOP 6 +RMB1 * 17 2 NOP 6 +RMB2 * 27 2 NOP 6 +RMB3 * 37 2 NOP 6 +RMB4 * 47 2 NOP 6 +RMB5 * 57 2 NOP 6 +RMB6 * 67 2 NOP 6 +RMB7 * 77 2 NOP 6 + +ROL A 2A 1 NOP 1 +ROL *,X 3E 3 ZP 1 +ROL * 2E 3 ZP 1 + +ROR A 6A 1 NOP 1 +ROR *,X 7E 3 ZP 1 +ROR * 6E 3 ZP 1 + +RTI "" 40 1 NOP 1 +RTS "" 60 1 NOP 1 + +SBC #* E9 2 NOP 1 +SBC (*,X) E1 2 NOP 1 +SBC (*),Y F1 2 NOP 1 +SBC (*) F2 2 NOP 2 +SBC *,X FD 3 ZP 1 +SBC *,Y F9 3 NOP 1 +SBC * ED 3 ZP 1 + +SEC "" 38 1 NOP 1 +SED "" F8 1 NOP 1 +SEI "" 78 1 NOP 1 + +SMB0 * 87 2 NOP 6 +SMB1 * 97 2 NOP 6 +SMB2 * a7 2 NOP 6 +SMB3 * b7 2 NOP 6 +SMB4 * c7 2 NOP 6 +SMB5 * d7 2 NOP 6 +SMB6 * e7 2 NOP 6 +SMB7 * f7 2 NOP 6 + +STA (*,X) 81 2 NOP 1 +STA (*),Y 91 2 NOP 1 +STA (*) 92 2 NOP 2 +STA *,X 9D 3 ZP 1 +STA *,Y 99 3 NOP 1 +STA * 8D 3 ZP 1 + +STX *,Y 96 2 ZP 1 +STX * 8E 3 ZP 1 + +STY *,X 94 2 NOP 1 +STY * 8C 3 ZP 1 + +STZ *,X 9e 3 ZP 2 +STZ * 9c 3 ZP 2 + +TAX "" AA 1 NOP 1 +TAY "" A8 1 NOP 1 +TRB * 1c 3 ZP 2 +TSB * 0c 3 ZP 2 +TSX "" BA 1 NOP 1 +TXA "" 8A 1 NOP 1 +TXS "" 9A 1 NOP 1 +TYA "" 98 1 NOP 1 + diff --git a/branches/wbw/LSource/bin/TASM68.TAB b/branches/wbw/LSource/bin/TASM68.TAB new file mode 100644 index 00000000..7b9f5190 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM68.TAB @@ -0,0 +1,348 @@ +"TASM 6800-6811 Assembler" +/**************************************************************************** +/* $Id: tasm68.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* Originally submitted by Richard P. White, June 4,1989 */ +/* Corrected and enhanced by T.N. Anderson, STI */ +/* Enhanced for the 68HC11 by George Blat, Nov 3, 1990 +/* Class bits defined as follows: +/* +/* bit 0 for 6800 +/* bit 1 for 6801/6803 +/* bit 2 for 68HC11 +/* +/* Note that TASM deviates from motorola syntax for BCLR, BSET, +/* BRCLR, and BRSET instructions. TASM requires commas between +/* each arg. Motorola requires white space before the make and +/* label args. + +.MSFIRST + +ABA "" 1B 1 NOP 1 +ABX "" 3A 1 NOP 2 +ABY "" 183A 2 NOP 4 + +ADCA #* 89 2 NOP 1 +ADCA *,Y 18A9 3 NOP 4 +ADCA *,X A9 2 NOP 1 +ADCA * B9 3 MZERO 1 + +ADCB #* C9 2 NOP 1 +ADCB *,Y 18E9 3 NOP 4 +ADCB *,X E9 2 NOP 1 +ADCB * F9 3 MZERO 1 + +ADDA #* 8B 2 NOP 1 +ADDA *,Y 18AB 3 NOP 4 +ADDA *,X AB 2 NOP 1 +ADDA * BB 3 MZERO 1 + +ADDB #* CB 2 NOP 1 +ADDB *,Y 18EB 3 NOP 4 +ADDB *,X EB 2 NOP 1 +ADDB * FB 3 MZERO 1 + +ADDD #* C3 3 SWAP 2 +ADDD *,Y 18E3 3 NOP 4 +ADDD *,X E3 2 NOP 2 +ADDD * F3 3 MZERO 2 + +ANDA #* 84 2 NOP 1 +ANDA *,Y 18A4 3 NOP 4 +ANDA *,X A4 2 NOP 1 +ANDA * B4 3 MZERO 1 + +ANDB #* C4 2 NOP 1 +ANDB *,Y 18E4 3 NOP 4 +ANDB *,X E4 2 NOP 1 +ANDB * F4 3 MZERO 1 + +ASL *,Y 1868 3 NOP 4 +ASL *,X 68 2 NOP 1 +ASL * 78 3 SWAP 1 +ASLA "" 48 1 NOP 1 +ASLB "" 58 1 NOP 1 +ASLD "" 05 1 NOP 2 + +ASR *,Y 1867 3 NOP 4 +ASR *,X 67 2 NOP 1 +ASR * 77 3 SWAP 1 +ASRA "" 47 1 NOP 1 +ASRB "" 57 1 NOP 1 + +BCC * 24 2 R1 1 +BCLR *,X,* 1D 3 COMB 4 +BCLR *,Y,* 181D 4 COMB 4 +BCLR *,#* 15 3 COMB 4 /* allow # since mask is immediate data +BCLR *,* 15 3 COMB 4 +BCS * 25 2 R1 1 +BEQ * 27 2 R1 1 +BGE * 2C 2 R1 1 +BGT * 2E 2 R1 1 +BHI * 22 2 R1 1 +BHS * 24 2 R1 1 +BITA #* 85 2 NOP 1 +BITA *,Y 18A5 3 NOP 4 +BITA *,X A5 2 NOP 1 +BITA * B5 3 MZERO 1 +BITB #* C5 2 NOP 1 +BITB *,Y 18E5 3 NOP 4 +BITB *,X E5 2 NOP 1 +BITB * F5 3 MZERO 1 +BLE * 2F 2 R1 1 +BLO * 25 2 R1 1 +BLS * 23 2 R1 1 +BLT * 2D 2 R1 1 +BMI * 2B 2 R1 1 +BNE * 26 2 R1 1 +BPL * 2A 2 R1 1 +BRA * 20 2 R1 1 +BRCLR *,X,*,* 1F 4 3REL 4 +BRCLR *,Y,*,* 181F 5 3REL 4 +BRCLR *,*,* 13 4 3REL 4 +BRN * 21 2 R1 2 /* NOT SURE ABOUT 6803 */ +BRSET *,X,*,* 1E 4 3REL 4 +BRSET *,Y,*,* 181E 5 3REL 4 +BRSET *,*,* 12 4 3REL 4 +BSET *,X,* 1C 3 COMB 4 +BSET *,Y,* 181C 4 COMB 4 +BSET *,#* 14 3 COMB 4 /* allow # +BSET *,* 14 3 COMB 4 +BSR * 8D 2 R1 1 +BVC * 28 2 R1 1 +BVS * 29 2 R1 1 +CBA "" 11 1 NOP 1 +CLC "" 0C 1 NOP 1 +CLI "" 0E 1 NOP 1 +CLR *,Y 186F 3 NOP 4 +CLR *,X 6F 2 NOP 1 +CLR * 7F 3 SWAP 1 +CLRA "" 4F 1 NOP 1 +CLRB "" 5F 1 NOP 1 +CLV "" 0A 1 NOP 1 +CMPA #* 81 2 NOP 1 +CMPA *,X A1 2 NOP 1 +CMPA *,Y 18A1 3 NOP 4 +CMPA * B1 3 MZERO 1 +CMPB #* C1 2 NOP 1 +CMPB *,Y 18E1 3 NOP 4 +CMPB *,X E1 2 NOP 1 +CMPB * F1 3 MZERO 1 +CMPD #* 1A83 4 SWAP 4 /* alias for CPD */ +CMPD *,X 1AA3 3 NOP 4 +CMPD *,Y CDA3 3 NOP 4 +CMPD * 1AB3 4 MZERO 4 +COM *,X 63 2 NOP 1 +COM *,Y 1863 3 NOP 4 +COM * 73 3 SWAP 1 +COMA "" 43 1 NOP 1 +COMB "" 53 1 NOP 1 +CPD #* 1A83 4 SWAP 4 +CPD *,X 1AA3 3 NOP 4 +CPD *,Y CDA3 3 NOP 4 +CPD * 1AB3 4 MZERO 4 +CPX #* 8C 3 SWAP 1 +CPX *,X AC 2 NOP 1 +CPX *,Y CDAC 3 NOP 4 +CPX * BC 3 MZERO 1 +CPY #* 188C 4 SWAP 4 +CPY *,Y 18AC 3 NOP 4 +CPY *,X 1AAC 3 NOP 4 +CPY * 18BC 4 MZERO 4 +DAA "" 19 1 NOP 1 +DEC *,Y 186A 3 NOP 4 +DEC *,X 6A 2 NOP 1 +DEC * 7A 3 SWAP 1 +DECA "" 4A 1 NOP 1 +DECB "" 5A 1 NOP 1 +DES "" 34 1 NOP 1 +DEX "" 09 1 NOP 1 +DEY "" 1809 2 NOP 4 +EORA #* 88 2 NOP 1 +EORA *,Y 18A8 3 NOP 4 +EORA *,X A8 2 NOP 1 +EORA * B8 3 MZERO 1 +EORB #* C8 2 NOP 1 +EORB *,Y 18E8 3 NOP 4 +EORB *,X E8 2 NOP 1 +EORB * F8 3 MZERO 1 +FDIV "" 03 1 NOP 4 +IDIV "" 02 1 NOP 4 +INC *,Y 186C 3 NOP 4 +INC *,X 6C 2 NOP 1 +INC * 7C 3 SWAP 1 +INCA "" 4C 1 NOP 1 +INCB "" 5C 1 NOP 1 +INS "" 31 1 NOP 1 +INX "" 08 1 NOP 1 +INY "" 1808 2 NOP 4 +JMP *,Y 186E 3 NOP 4 +JMP *,X 6E 2 NOP 1 +JMP * 7E 3 SWAP 1 +JSR *,Y 18AD 3 NOP 4 +JSR *,X AD 2 NOP 1 +JSR * BD 3 MZERO 1 + +LDAA #* 86 2 NOP 1 +LDAA *,Y 18A6 3 NOP 4 +LDAA *,X A6 2 NOP 1 +LDAA >* B6 3 SWAP 1 /* Force EXT mode */ +LDAA * B6 3 MZERO 1 + +LDAB #* C6 2 NOP 1 +LDAB *,Y 18E6 3 NOP 4 +LDAB *,X E6 2 NOP 1 +LDAB >* F6 3 SWAP 1 /* Force EXT mode */ +LDAB * F6 3 MZERO 1 + +LDD #* CC 3 SWAP 2 +LDD *,Y 18EC 3 NOP 4 +LDD *,X EC 2 NOP 2 +LDD >* FC 3 SWAP 2 /* Force EXT mode */ +LDD * FC 3 MZERO 2 + +LDS #* 8E 3 SWAP 1 +LDS *,Y 18AE 3 NOP 4 +LDS *,X AE 2 NOP 1 +LDS >* BE 3 SWAP 1 /* Force EXT mode */ +LDS * BE 3 MZERO 1 + +LDX #* CE 3 SWAP 1 +LDX *,X EE 2 NOP 1 +LDX *,Y CDEE 3 NOP 4 +LDX >* FE 3 SWAP 1 /* Force EXT mode */ +LDX * FE 3 MZERO 1 + +LDY #* 18CE 4 SWAP 4 +LDY *,Y 18EE 3 NOP 4 +LDY *,X 1AEE 3 NOP 4 +LDY >* 18FE 4 SWAP 4 /* Force EXT mode */ +LDY * 18FE 4 MZERO 4 + +LSL *,Y 1868 3 NOP 4 +LSL *,X 68 2 NOP 1 /*SAME AS ASL */ +LSL * 78 3 SWAP 1 +LSLA "" 48 1 NOP 1 +LSLB "" 58 1 NOP 1 +LSLD "" 05 1 NOP 2 +LSR *,Y 1864 3 NOP 4 +LSR *,X 64 2 NOP 1 +LSR * 74 3 SWAP 1 +LSRA "" 44 1 NOP 1 +LSRB "" 54 1 NOP 1 +LSRD "" 04 1 NOP 2 +MUL "" 3D 1 NOP 2 +NEG *,Y 1860 3 NOP 4 +NEG *,X 60 2 NOP 1 +NEG * 70 3 SWAP 1 +NEGA "" 40 1 NOP 1 +NEGB "" 50 1 NOP 1 +NOP "" 01 1 NOP 1 +ORAA #* 8A 2 NOP 1 +ORAA *,Y 18AA 3 NOP 4 +ORAA *,X AA 2 NOP 1 +ORAA * BA 3 MZERO 1 +ORAB #* CA 2 NOP 1 +ORAB *,Y 18EA 3 NOP 4 +ORAB *,X EA 2 NOP 1 +ORAB * FA 3 MZERO 1 +PSHA "" 36 1 NOP 1 +PSHB "" 37 1 NOP 1 +PSHX "" 3C 1 NOP 2 +PSHY "" 183C 2 NOP 4 +PULA "" 32 1 NOP 1 +PULB "" 33 1 NOP 1 +PULX "" 38 1 NOP 2 +PULY "" 1838 2 NOP 4 +ROL *,Y 1869 3 NOP 4 +ROL *,X 69 2 NOP 1 +ROL * 79 3 SWAP 1 +ROLA "" 49 1 NOP 1 +ROLB "" 59 1 NOP 1 +ROR *,Y 1866 3 NOP 4 +ROR *,X 66 2 NOP 1 +ROR * 76 3 SWAP 1 +RORA "" 46 1 NOP 1 +RORB "" 56 1 NOP 1 +RTI "" 3B 1 NOP 1 +RTS "" 39 1 NOP 1 +SBA "" 10 1 NOP 1 +SBCA #* 82 2 NOP 1 +SBCA *,Y 18A2 3 NOP 4 +SBCA *,X A2 2 NOP 1 +SBCA * B2 3 MZERO 1 +SBCB #* C2 2 NOP 1 +SBCB *,Y 18E2 3 NOP 4 +SBCB *,X E2 2 NOP 1 +SBCB * F2 3 MZERO 1 +SEC "" 0D 1 NOP 1 +SEI "" 0F 1 NOP 1 +SEV "" 0B 1 NOP 1 + +STAA *,Y 18A7 3 NOP 4 +STAA *,X A7 2 NOP 1 +STAA >* B7 3 SWAP 1 /* Force EXT mode */ +STAA * B7 3 MZERO 1 + +STAB *,Y 18E7 3 NOP 4 +STAB *,X E7 2 NOP 1 +STAB >* F7 3 SWAP 1 /* Force EXT mode */ +STAB * F7 3 MZERO 1 + +STD *,Y 18ED 3 NOP 4 +STD *,X ED 2 NOP 2 +STD >* FD 3 SWAP 2 /* Force EXT mode */ +STD * FD 3 MZERO 2 + +STOP "" CF 1 NOP 1 + +STS *,X AF 2 NOP 1 +STS *,Y 18AF 3 NOP 4 +STS >* BF 3 SWAP 1 /* Force EXT mode */ +STS * BF 3 MZERO 1 + +STX *,X EF 2 NOP 1 +STX *,Y CDEF 3 NOP 4 +STX >* FF 3 SWAP 1 /* Force EXT mode */ +STX * FF 3 MZERO 1 + +STY *,Y 18EF 3 NOP 4 +STY *,X 1AEF 3 NOP 4 +STY >* 18FF 4 SWAP 4 /* Force EXT mode */ +STY * 18FF 4 MZERO 4 + +SUBA #* 80 2 NOP 1 +SUBA *,Y 18A0 3 NOP 4 +SUBA *,X A0 2 NOP 1 +SUBA * B0 3 MZERO 1 + +SUBB #* C0 2 NOP 1 +SUBB *,Y 18E0 3 NOP 4 +SUBB *,X E0 2 NOP 1 +SUBB * F0 3 MZERO 1 + +SUBD #* 83 3 SWAP 2 +SUBD *,Y 18A3 3 NOP 4 +SUBD *,X A3 2 NOP 2 +SUBD * B3 3 MZERO 2 + +SWI "" 3F 1 NOP 1 +TAB "" 16 1 NOP 1 +TAP "" 06 1 NOP 1 +TBA "" 17 1 NOP 1 +TEST "" 00 1 NOP 1 +TPA "" 07 1 NOP 1 +TST *,Y 186D 3 NOP 4 +TST *,X 6D 2 NOP 1 +TST * 7D 3 SWAP 1 +TSTA "" 4D 1 NOP 1 +TSTB "" 5D 1 NOP 1 +TSX "" 30 1 NOP 1 +TSY "" 1830 2 NOP 4 +TXS "" 35 1 NOP 1 +TYS "" 1835 2 NOP 4 +WAI "" 3E 1 NOP 1 +XGDX "" 8F 1 NOP 4 +XGDY "" 188F 2 NOP 4 +/* That's all folks */ + diff --git a/branches/wbw/LSource/bin/TASM70.TAB b/branches/wbw/LSource/bin/TASM70.TAB new file mode 100644 index 00000000..b1cc5e04 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM70.TAB @@ -0,0 +1,290 @@ +"TASM 7000 Assembler. " +/**************************************************************************** +/* $Id: tasm70.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* Table for TMS7000 micros +/* Note that the table does not require the 'Rnn' nomenclature +/* for reference of locations in the register file. Any expression +/* will do, the value of which indicates the register. This is more +/* flexible then making an entry like "ADC R*,A". +/* +/* TASM has trouble with the MOVD +(B),+ instruction so +/* we convert it to MOVD +[B],+ +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT OR */ +/*-------------------------------------------*/ +.ALTWILD+ + +ADC B,A 69 1 NOP 1 +ADC %+,A 29 2 NOP 1 +ADC %+,B 59 2 NOP 1 +ADC %+,+ 79 3 COMB 1 +ADC +,A 19 2 NOP 1 +ADC +,B 39 2 NOP 1 +ADC +,+ 49 3 COMB 1 + +ADD B,A 68 1 NOP 1 +ADD %+,A 28 2 NOP 1 +ADD %+,B 58 2 NOP 1 +ADD %+,+ 78 3 COMB 1 +ADD +,A 18 2 NOP 1 +ADD +,B 38 2 NOP 1 +ADD +,+ 48 3 COMB 1 + +AND B,A 63 1 NOP 1 +AND %+,A 23 2 NOP 1 +AND %+,B 53 2 NOP 1 +AND %+,+ 73 3 COMB 1 +AND +,A 13 2 NOP 1 +AND +,B 33 2 NOP 1 +AND +,+ 43 3 COMB 1 + +ANDP A,+ 83 2 NOP 1 +ANDP B,+ 93 2 NOP 1 +ANDP %+,+ A3 3 COMB 1 + +BTJO B,A,+ 66 2 R1 1 +BTJO %+,A,+ 26 3 CREL 1 +BTJO %+,B,+ 56 3 CREL 1 +BTJO %+,+,+ 76 4 3REL 1 +BTJO +,A,+ 16 3 CREL 1 +BTJO +,B,+ 36 3 CREL 1 +BTJO +,+,+ 46 4 3REL 1 + + +BTJOP A,+,+ 86 3 CREL 1 +BTJOP B,+,+ 96 3 CREL 1 +BTJOP %+,+,+ A6 4 3REL 1 + +BTJZ B,A,+ 67 2 R1 1 +BTJZ %+,A,+ 27 3 CREL 1 +BTJZ %+,B,+ 57 3 CREL 1 +BTJZ %+,+,+ 77 4 3REL 1 +BTJZ +,A,+ 17 3 CREL 1 +BTJZ +,B,+ 37 3 CREL 1 +BTJZ +,+,+ 47 4 3REL 1 + +BTJZP A,+,+ 87 3 CREL 1 +BTJZP B,+,+ 97 3 CREL 1 +BTJZP %+,+,+ A7 4 3REL 1 + +BR @+(B) AC 3 SWAP 1 +BR @+[B] AC 3 SWAP 1 +BR @+ 8C 3 SWAP 1 +BR *+ 9C 2 NOP 1 + +CALL @+(B) AE 3 SWAP 1 +CALL @+[B] AE 3 SWAP 1 +CALL @+ 8E 3 SWAP 1 +CALL *+ 9E 2 NOP 1 + +CLR A B5 1 NOP 1 +CLR B C5 1 NOP 1 +CLR + D5 2 NOP 1 + +CLRC "" B0 1 NOP 1 + +CMP B,A 6D 1 NOP 1 +CMP %+,A 2D 2 NOP 1 +CMP %+,B 5D 2 NOP 1 +CMP %+,+ 7D 3 COMB 1 +CMP +,A 1D 2 NOP 1 +CMP +,B 3D 2 NOP 1 +CMP +,+ 4D 3 COMB 1 + +CMPA @+(B) AD 3 SWAP 1 +CMPA @+[B] AD 3 SWAP 1 +CMPA @+ 8D 3 SWAP 1 +CMPA *+ 9D 2 NOP 1 + +DAC B,A 6E 1 NOP 1 +DAC %+,A 2E 2 NOP 1 +DAC %+,B 5E 2 NOP 1 +DAC %+,+ 7E 3 COMB 1 +DAC +,A 1E 2 NOP 1 +DAC +,B 3E 2 NOP 1 +DAC +,+ 4E 3 COMB 1 + +DEC A B2 1 NOP 1 +DEC B C2 1 NOP 1 +DEC + D2 2 NOP 1 + +DECD A BB 1 NOP 1 +DECD B CB 1 NOP 1 +DECD + DB 2 NOP 1 + +DINT "" 06 1 NOP 1 + +DJNZ A,+ BA 2 R1 1 +DJNZ B,+ CA 2 R1 1 +DJNZ +,+ DA 3 CREL 1 + +DSB B,A 6F 1 NOP 1 +DSB %+,A 2F 2 NOP 1 +DSB %+,B 5F 2 NOP 1 +DSB %+,+ 7F 3 COMB 1 +DSB +,A 1F 2 NOP 1 +DSB +,B 3F 2 NOP 1 +DSB +,+ 4F 3 COMB 1 + +EINT "" 05 1 NOP 1 + +IDLE "" 01 1 NOP 1 + +INC A B3 1 NOP 1 +INC B C3 1 NOP 1 +INC + D3 2 NOP 1 + +INV A B4 1 NOP 1 +INV B C4 1 NOP 1 +INV + D4 2 NOP 1 + +JMP + E0 2 R1 1 + +JC + E3 2 R1 1 +JEQ + E2 2 R1 1 +JGE + E5 2 R1 1 +JGT + E4 2 R1 1 +JHS + E3 2 R1 1 +JL + E7 2 R1 1 +JN + E1 2 R1 1 /+ ?? +JNC + E7 2 R1 1 +JNE + E6 2 R1 1 +JNZ + E6 2 R1 1 +JP + E4 2 R1 1 +JPZ + E5 2 R1 1 +JZ + E2 2 R1 1 + +LDA @+(B) AA 3 SWAP 1 +LDA @+[B] AA 3 SWAP 1 +LDA @+ 8A 3 SWAP 1 +LDA *+ 9A 2 NOP 1 + +LDSP "" 0D 1 NOP 1 + +MOV A,B C0 1 NOP 1 +MOV B,A 62 1 NOP 1 +MOV A,+ D0 2 NOP 1 +MOV B,+ D1 2 NOP 1 +MOV %+,A 22 2 NOP 1 +MOV %+,B 52 2 NOP 1 +MOV %+,+ 72 3 COMB 1 +MOV +,A 12 2 NOP 1 +MOV +,B 32 2 NOP 1 +MOV +,+ 42 3 COMB 1 + +MOVD %+[B],+ A8 4 CSWAP 1 +MOVD %+,+ 88 4 CSWAP 1 +MOVD +,+ 98 3 COMB 1 + +MOVP A,+ 82 2 NOP 1 +MOVP B,+ 92 2 NOP 1 +MOVP %+,+ A2 3 COMB 1 +MOVP +,A 80 2 NOP 1 +MOVP +,B 91 2 NOP 1 + +MPY B,A 6C 1 NOP 1 +MPY %+,A 2C 2 NOP 1 +MPY %+,B 5C 2 NOP 1 +MPY %+,+ 7C 3 COMB 1 +MPY +,A 1C 2 NOP 1 +MPY +,B 3C 2 NOP 1 +MPY +,+ 4C 3 COMB 1 + +NOP "" 00 1 NOP 1 + +OR B,A 64 1 NOP 1 +OR %+,A 24 2 NOP 1 +OR %+,B 54 2 NOP 1 +OR %+,+ 74 3 COMB 1 +OR +,A 14 2 NOP 1 +OR +,B 34 2 NOP 1 +OR +,+ 44 3 COMB 1 + +ORP A,+ 84 2 NOP 1 +ORP B,+ 94 2 NOP 1 +ORP %+,+ A4 3 COMB 1 + +POP A B9 1 NOP 1 +POP B C9 1 NOP 1 +POP ST 08 1 NOP 1 +POP + D9 2 NOP 1 +POPST "" 08 1 NOP 1 + +PUSH A B8 1 NOP 1 +PUSH B C8 1 NOP 1 +PUSH ST 0E 1 NOP 1 +PUSH + D8 2 NOP 1 +PUSHST "" 0E 1 NOP 1 + +RETI "" 0B 1 NOP 1 + +RETS "" 0A 1 NOP 1 + +RL A BE 1 NOP 1 +RL B CE 1 NOP 1 +RL + DE 2 NOP 1 + +RLC A BF 1 NOP 1 +RLC B CF 1 NOP 1 +RLC + DF 2 NOP 1 + +RR A BC 1 NOP 1 +RR B CC 1 NOP 1 +RR + DC 2 NOP 1 + +RRC A BD 1 NOP 1 +RRC B CD 1 NOP 1 +RRC + DD 2 NOP 1 + +SBB B,A 6B 1 NOP 1 +SBB %+,A 2B 2 NOP 1 +SBB %+,B 5B 2 NOP 1 +SBB %+,+ 7B 3 COMB 1 +SBB +,A 1B 2 NOP 1 +SBB +,B 3B 2 NOP 1 +SBB +,+ 4B 3 COMB 1 + +SETC "" 07 1 NOP 1 + +STA @+(B) AB 3 SWAP 1 +STA @+[B] AB 3 SWAP 1 +STA @+ 8B 3 SWAP 1 +STA *+ 9B 2 NOP 1 + +STSP "" 09 1 NOP 1 + +SUB B,A 6A 1 NOP 1 +SUB %+,A 2A 2 NOP 1 +SUB %+,B 5A 2 NOP 1 +SUB %+,+ 7A 3 COMB 1 +SUB +,A 1A 2 NOP 1 +SUB +,B 3A 2 NOP 1 +SUB +,+ 4A 3 COMB 1 + +SWAP A B7 1 NOP 1 +SWAP B C7 1 NOP 1 +SWAP + D7 2 NOP 1 + +TRAP + FF 1 SUB 1 + +TST A B0 1 NOP 1 +TSTA "" B0 1 NOP 1 +TST B C1 1 NOP 1 +TSTB "" C1 1 NOP 1 + +XCHB A B6 1 NOP 1 +XCHB + D6 2 NOP 1 + +XOR B,A 65 1 NOP 1 +XOR %+,A 25 2 NOP 1 +XOR %+,B 55 2 NOP 1 +XOR %+,+ 75 3 COMB 1 +XOR +,A 15 2 NOP 1 +XOR +,B 35 2 NOP 1 +XOR +,+ 45 3 COMB 1 + +XORP A,+ 85 2 NOP 1 +XORP B,+ 95 2 NOP 1 +XORP %+,+ A5 3 COMB 1 + diff --git a/branches/wbw/LSource/bin/TASM80.TAB b/branches/wbw/LSource/bin/TASM80.TAB new file mode 100644 index 00000000..f644ccd4 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM80.TAB @@ -0,0 +1,594 @@ +"TASM Z80 Assembler. " +/**************************************************************************** +/* $Id: tasm80.tab 1.2 1998/02/28 14:31:22 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table +/* for the Z80 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorporated +/* This table authored and submitted by Carl A. Wall, VE3APY. +/* +/* Class bits assigned as follows: +/* Bit-0 = Z80 (base instruction set) +/* Bit-1 = HD64180 (extended instructions) +/* See TASM manual for info on table structure. +/* +/*INSTR ARGS OP BYTES RULE CLASS SHIFT OR */ +/*-------------------------------------------*/ + +ADC A,(HL) 8E 1 NOP 1 +ADC A,(IX*) 8EDD 3 ZIX 1 +ADC A,(IY*) 8EFD 3 ZIX 1 +ADC A,A 8F 1 NOP 1 +ADC A,B 88 1 NOP 1 +ADC A,C 89 1 NOP 1 +ADC A,D 8A 1 NOP 1 +ADC A,E 8B 1 NOP 1 +ADC A,H 8C 1 NOP 1 +ADC A,L 8D 1 NOP 1 +ADC A,* CE 2 NOP 1 +ADC HL,BC 4AED 2 NOP 1 +ADC HL,DE 5AED 2 NOP 1 +ADC HL,HL 6AED 2 NOP 1 +ADC HL,SP 7AED 2 NOP 1 + +ADD A,(HL) 86 1 NOP 1 +ADD A,(IX*) 86DD 3 ZIX 1 +ADD A,(IY*) 86FD 3 ZIX 1 +ADD A,A 87 1 NOP 1 +ADD A,B 80 1 NOP 1 +ADD A,C 81 1 NOP 1 +ADD A,D 82 1 NOP 1 +ADD A,E 83 1 NOP 1 +ADD A,H 84 1 NOP 1 +ADD A,L 85 1 NOP 1 +ADD A,* C6 2 NOP 1 +ADD HL,BC 09 1 NOP 1 +ADD HL,DE 19 1 NOP 1 +ADD HL,HL 29 1 NOP 1 +ADD HL,SP 39 1 NOP 1 +ADD IX,BC 09DD 2 NOP 1 +ADD IX,DE 19DD 2 NOP 1 +ADD IX,IX 29DD 2 NOP 1 +ADD IX,SP 39DD 2 NOP 1 +ADD IY,BC 09FD 2 NOP 1 +ADD IY,DE 19FD 2 NOP 1 +ADD IY,IY 29FD 2 NOP 1 +ADD IY,SP 39FD 2 NOP 1 + +AND (HL) A6 1 NOP 1 +AND (IX*) A6DD 3 ZIX 1 +AND (IY*) A6FD 3 ZIX 1 +AND A A7 1 NOP 1 +AND B A0 1 NOP 1 +AND C A1 1 NOP 1 +AND D A2 1 NOP 1 +AND E A3 1 NOP 1 +AND H A4 1 NOP 1 +AND L A5 1 NOP 1 +AND * E6 2 NOP 1 + +BIT *,(HL) 46CB 2 ZBIT 1 +BIT *,(IX*) CBDD 4 ZBIT 1 0 4600 +BIT *,(IY*) CBFD 4 ZBIT 1 0 4600 +BIT *,A 47CB 2 ZBIT 1 +BIT *,B 40CB 2 ZBIT 1 +BIT *,C 41CB 2 ZBIT 1 +BIT *,D 42CB 2 ZBIT 1 +BIT *,E 43CB 2 ZBIT 1 +BIT *,H 44CB 2 ZBIT 1 +BIT *,L 45CB 2 ZBIT 1 + +CALL C,* DC 3 NOP 1 +CALL M,* FC 3 NOP 1 +CALL NC,* D4 3 NOP 1 +CALL NZ,* C4 3 NOP 1 +CALL P,* F4 3 NOP 1 +CALL PE,* EC 3 NOP 1 +CALL PO,* E4 3 NOP 1 +CALL Z,* CC 3 NOP 1 +CALL * CD 3 NOP 1 + +CCF "" 3F 1 NOP 1 + +CP (HL) BE 1 NOP 1 +CP (IX*) BEDD 3 ZIX 1 +CP (IY*) BEFD 3 ZIX 1 +CP A BF 1 NOP 1 +CP B B8 1 NOP 1 +CP C B9 1 NOP 1 +CP D BA 1 NOP 1 +CP E BB 1 NOP 1 +CP H BC 1 NOP 1 +CP L BD 1 NOP 1 +CP * FE 2 NOP 1 +CPD "" A9ED 2 NOP 1 +CPDR "" B9ED 2 NOP 1 +CPIR "" B1ED 2 NOP 1 +CPI "" A1ED 2 NOP 1 +CPL "" 2F 1 NOP 1 + +DAA "" 27 1 NOP 1 + +DEC (HL) 35 1 NOP 1 +DEC (IX*) 35DD 3 ZIX 1 +DEC (IY*) 35FD 3 ZIX 1 +DEC A 3D 1 NOP 1 +DEC B 05 1 NOP 1 +DEC BC 0B 1 NOP 1 +DEC C 0D 1 NOP 1 +DEC D 15 1 NOP 1 +DEC DE 1B 1 NOP 1 +DEC E 1D 1 NOP 1 +DEC H 25 1 NOP 1 +DEC HL 2B 1 NOP 1 +DEC IX 2BDD 2 NOP 1 +DEC IY 2BFD 2 NOP 1 +DEC L 2D 1 NOP 1 +DEC SP 3B 1 NOP 1 +DI "" F3 1 NOP 1 +DJNZ * 10 2 R1 1 + +EI "" FB 1 NOP 1 +EX (SP),HL E3 1 NOP 1 +EX (SP),IX E3DD 2 NOP 1 +EX (SP),IY E3FD 2 NOP 1 +EX AF,AF' 08 1 NOP 1 +EX DE,HL EB 1 NOP 1 +EXX "" D9 1 NOP 1 +HALT "" 76 1 NOP 1 + +IM 0 46ED 2 NOP 1 +IM 1 56ED 2 NOP 1 +IM 2 5EED 2 NOP 1 + +/* Alternate form of above +IM0 46ED 2 NOP 1 +IM1 56ED 2 NOP 1 +IM2 5EED 2 NOP 1 + +IN A,(C) 78ED 2 NOP 1 +IN B,(C) 40ED 2 NOP 1 +IN C,(C) 48ED 2 NOP 1 +IN D,(C) 50ED 2 NOP 1 +IN E,(C) 58ED 2 NOP 1 +IN H,(C) 60ED 2 NOP 1 +IN L,(C) 68ED 2 NOP 1 + +IN A,(*) DB 2 NOP 1 + +IN0 A,(*) 38ED 3 NOP 2 +IN0 B,(*) 00ED 3 NOP 2 +IN0 C,(*) 08ED 3 NOP 2 +IN0 D,(*) 10ED 3 NOP 2 +IN0 E,(*) 18ED 3 NOP 2 +IN0 H,(*) 20ED 3 NOP 2 +IN0 L,(*) 28ED 3 NOP 2 + +INC (HL) 34 1 NOP 1 +INC (IX*) 34DD 3 ZIX 1 +INC (IY*) 34FD 3 ZIX 1 +INC A 3C 1 NOP 1 +INC B 04 1 NOP 1 +INC BC 03 1 NOP 1 +INC C 0C 1 NOP 1 +INC D 14 1 NOP 1 +INC DE 13 1 NOP 1 +INC E 1C 1 NOP 1 +INC H 24 1 NOP 1 +INC HL 23 1 NOP 1 +INC IX 23DD 2 NOP 1 +INC IY 23FD 2 NOP 1 +INC L 2C 1 NOP 1 +INC SP 33 1 NOP 1 + + +IND "" AAED 2 NOP 1 +INDR "" BAED 2 NOP 1 +INI "" A2ED 2 NOP 1 +INIR "" B2ED 2 NOP 1 + +JP (HL) E9 1 NOP 1 +JP (IX) E9DD 2 NOP 1 +JP (IY) E9FD 2 NOP 1 +JP C,* DA 3 NOP 1 +JP M,* FA 3 NOP 1 +JP NC,* D2 3 NOP 1 +JP NZ,* C2 3 NOP 1 +JP P,* F2 3 NOP 1 +JP PE,* EA 3 NOP 1 +JP PO,* E2 3 NOP 1 +JP Z,* CA 3 NOP 1 +JP * C3 3 NOP 1 + +JR C,* 38 2 R1 1 +JR NC,* 30 2 R1 1 +JR NZ,* 20 2 R1 1 +JR Z,* 28 2 R1 1 +JR * 18 2 R1 1 + +LD (BC),A 02 1 NOP 1 +LD (DE),A 12 1 NOP 1 +LD (HL),A 77 1 NOP 1 +LD (HL),B 70 1 NOP 1 +LD (HL),C 71 1 NOP 1 +LD (HL),D 72 1 NOP 1 +LD (HL),E 73 1 NOP 1 +LD (HL),H 74 1 NOP 1 +LD (HL),L 75 1 NOP 1 +LD (HL),* 36 2 NOP 1 +LD (IX*),A 77DD 3 ZIX 1 +LD (IX*),B 70DD 3 ZIX 1 +LD (IX*),C 71DD 3 ZIX 1 +LD (IX*),D 72DD 3 ZIX 1 +LD (IX*),E 73DD 3 ZIX 1 +LD (IX*),H 74DD 3 ZIX 1 +LD (IX*),L 75DD 3 ZIX 1 +LD (IX*),* 36DD 4 ZIX 1 +LD (IY*),A 77FD 3 ZIX 1 +LD (IY*),B 70FD 3 ZIX 1 +LD (IY*),C 71FD 3 ZIX 1 +LD (IY*),D 72FD 3 ZIX 1 +LD (IY*),E 73FD 3 ZIX 1 +LD (IY*),H 74FD 3 ZIX 1 +LD (IY*),L 75FD 3 ZIX 1 +LD (IY*),* 36FD 4 ZIX 1 +LD (*),A 32 3 NOP 1 +LD (*),BC 43ED 4 NOP 1 +LD (*),DE 53ED 4 NOP 1 +LD (*),HL 22 3 NOP 1 +LD (*),IX 22DD 4 NOP 1 +LD (*),IY 22FD 4 NOP 1 +LD (*),SP 73ED 4 NOP 1 +LD A,(BC) 0A 1 NOP 1 +LD A,(DE) 1A 1 NOP 1 +LD A,(HL) 7E 1 NOP 1 +LD A,(IX*) 7EDD 3 ZIX 1 +LD A,(IY*) 7EFD 3 ZIX 1 +LD A,A 7F 1 NOP 1 +LD A,B 78 1 NOP 1 +LD A,C 79 1 NOP 1 +LD A,D 7A 1 NOP 1 +LD A,E 7B 1 NOP 1 +LD A,H 7C 1 NOP 1 +LD A,I 57ED 2 NOP 1 +LD A,L 7D 1 NOP 1 +LD A,R 5FED 2 NOP 1 +LD A,(*) 3A 3 NOP 1 +LD A,* 3E 2 NOP 1 +LD B,(HL) 46 1 NOP 1 +LD B,(IX*) 46DD 3 ZIX 1 +LD B,(IY*) 46FD 3 ZIX 1 +LD B,A 47 1 NOP 1 +LD B,B 40 1 NOP 1 +LD B,C 41 1 NOP 1 +LD B,D 42 1 NOP 1 +LD B,E 43 1 NOP 1 +LD B,H 44 1 NOP 1 +LD B,L 45 1 NOP 1 +LD B,* 06 2 NOP 1 +LD BC,(*) 4BED 4 NOP 1 +LD BC,* 01 3 NOP 1 +LD C,(HL) 4E 1 NOP 1 +LD C,(IX*) 4EDD 3 ZIX 1 +LD C,(IY*) 4EFD 3 ZIX 1 +LD C,A 4F 1 NOP 1 +LD C,B 48 1 NOP 1 +LD C,C 49 1 NOP 1 +LD C,D 4A 1 NOP 1 +LD C,E 4B 1 NOP 1 +LD C,H 4C 1 NOP 1 +LD C,L 4D 1 NOP 1 +LD C,* 0E 2 NOP 1 +LD D,(HL) 56 1 NOP 1 +LD D,(IX*) 56DD 3 ZIX 1 +LD D,(IY*) 56FD 3 ZIX 1 +LD D,A 57 1 NOP 1 +LD D,B 50 1 NOP 1 +LD D,C 51 1 NOP 1 +LD D,D 52 1 NOP 1 +LD D,E 53 1 NOP 1 +LD D,H 54 1 NOP 1 +LD D,L 55 1 NOP 1 +LD D,* 16 2 NOP 1 +LD DE,(*) 5BED 4 NOP 1 +LD DE,* 11 3 NOP 1 +LD E,(HL) 5E 1 NOP 1 +LD E,(IX*) 5EDD 3 ZIX 1 +LD E,(IY*) 5EFD 3 ZIX 1 +LD E,A 5F 1 NOP 1 +LD E,B 58 1 NOP 1 +LD E,C 59 1 NOP 1 +LD E,D 5A 1 NOP 1 +LD E,E 5B 1 NOP 1 +LD E,H 5C 1 NOP 1 +LD E,L 5D 1 NOP 1 +LD E,* 1E 2 NOP 1 +LD H,(HL) 66 1 NOP 1 +LD H,(IX*) 66DD 3 ZIX 1 +LD H,(IY*) 66FD 3 ZIX 1 +LD H,A 67 1 NOP 1 +LD H,B 60 1 NOP 1 +LD H,C 61 1 NOP 1 +LD H,D 62 1 NOP 1 +LD H,E 63 1 NOP 1 +LD H,H 64 1 NOP 1 +LD H,L 65 1 NOP 1 +LD H,* 26 2 NOP 1 +LD HL,(*) 2A 3 NOP 1 +LD HL,* 21 3 NOP 1 +LD I,A 47ED 2 NOP 1 +LD IX,(*) 2ADD 4 NOP 1 +LD IX,* 21DD 4 NOP 1 +LD IY,(*) 2AFD 4 NOP 1 +LD IY,* 21FD 4 NOP 1 +LD L,(HL) 6E 1 NOP 1 +LD L,(IX*) 6EDD 3 ZIX 1 +LD L,(IY*) 6EFD 3 ZIX 1 +LD L,A 6F 1 NOP 1 +LD L,B 68 1 NOP 1 +LD L,C 69 1 NOP 1 +LD L,D 6A 1 NOP 1 +LD L,E 6B 1 NOP 1 +LD L,H 6C 1 NOP 1 +LD L,L 6D 1 NOP 1 +LD L,* 2E 2 NOP 1 +LD R,A 4FED 2 NOP 1 +LD SP,(*) 7BED 4 NOP 1 +LD SP,HL F9 1 NOP 1 +LD SP,IX F9DD 2 NOP 1 +LD SP,IY F9FD 2 NOP 1 +LD SP,* 31 3 NOP 1 +LDD "" A8ED 2 NOP 1 +LDDR "" B8ED 2 NOP 1 +LDI "" A0ED 2 NOP 1 +LDIR "" B0ED 2 NOP 1 +NEG "" 44ED 2 NOP 1 +NOP "" 00 1 NOP 1 + +MLT BC 4CED 2 NOP 2 +MLT DE 5CED 2 NOP 2 +MLT HL 6CED 2 NOP 2 +MLT SP 7CED 2 NOP 2 + +OR (HL) B6 1 NOP 1 +OR (IX*) B6DD 3 ZIX 1 +OR (IY*) B6FD 3 ZIX 1 +OR A B7 1 NOP 1 +OR B B0 1 NOP 1 +OR C B1 1 NOP 1 +OR D B2 1 NOP 1 +OR E B3 1 NOP 1 +OR H B4 1 NOP 1 +OR L B5 1 NOP 1 +OR * F6 2 NOP 1 + +OTDM "" 8BED 2 NOP 2 +OTDMR "" 9BED 2 NOP 2 +OTDR "" BBED 2 NOP 1 +OTIM "" 83ED 2 NOP 2 +OTIMR "" 93ED 2 NOP 2 +OTIR "" B3ED 2 NOP 1 + +OUT (C),A 79ED 2 NOP 1 +OUT (C),B 41ED 2 NOP 1 +OUT (C),C 49ED 2 NOP 1 +OUT (C),D 51ED 2 NOP 1 +OUT (C),E 59ED 2 NOP 1 +OUT (C),H 61ED 2 NOP 1 +OUT (C),L 69ED 2 NOP 1 +OUT (*),A D3 2 NOP 1 + +OUT0 (*),A 39ED 3 NOP 2 +OUT0 (*),B 01ED 3 NOP 2 +OUT0 (*),C 09ED 3 NOP 2 +OUT0 (*),D 11ED 3 NOP 2 +OUT0 (*),E 19ED 3 NOP 2 +OUT0 (*),H 21ED 3 NOP 2 +OUT0 (*),L 29ED 3 NOP 2 + +OUTD "" ABED 2 NOP 1 +OUTI "" A3ED 2 NOP 1 + +POP AF F1 1 NOP 1 +POP BC C1 1 NOP 1 +POP DE D1 1 NOP 1 +POP HL E1 1 NOP 1 +POP IX E1DD 2 NOP 1 +POP IY E1FD 2 NOP 1 + +PUSH AF F5 1 NOP 1 +PUSH BC C5 1 NOP 1 +PUSH DE D5 1 NOP 1 +PUSH HL E5 1 NOP 1 +PUSH IX E5DD 2 NOP 1 +PUSH IY E5FD 2 NOP 1 + +RES *,(HL) 86CB 2 ZBIT 1 +RES *,(IX*) CBDD 4 ZBIT 1 0 8600 +RES *,(IY*) CBFD 4 ZBIT 1 0 8600 +RES *,A 87CB 2 ZBIT 1 +RES *,B 80CB 2 ZBIT 1 +RES *,C 81CB 2 ZBIT 1 +RES *,D 82CB 2 ZBIT 1 +RES *,E 83CB 2 ZBIT 1 +RES *,H 84CB 2 ZBIT 1 +RES *,L 85CB 2 ZBIT 1 + +RET "" C9 1 NOP 1 +RET C D8 1 NOP 1 +RET M F8 1 NOP 1 +RET NC D0 1 NOP 1 +RET NZ C0 1 NOP 1 +RET P F0 1 NOP 1 +RET PE E8 1 NOP 1 +RET PO E0 1 NOP 1 +RET Z C8 1 NOP 1 +RETI "" 4DED 2 NOP 1 +RETN "" 45ED 2 NOP 1 + +RL (HL) 16CB 2 NOP 1 +RL (IX*) CBDD 4 ZIX 1 0 1600 +RL (IY*) CBFD 4 ZIX 1 0 1600 +RL A 17CB 2 NOP 1 +RL B 10CB 2 NOP 1 +RL C 11CB 2 NOP 1 +RL D 12CB 2 NOP 1 +RL E 13CB 2 NOP 1 +RL H 14CB 2 NOP 1 +RL L 15CB 2 NOP 1 +RLA "" 17 1 NOP 1 + +RLC (HL) 06CB 2 NOP 1 +RLC (IX*) CBDD 4 ZIX 1 0 0600 +RLC (IY*) CBFD 4 ZIX 1 0 0600 +RLC A 07CB 2 NOP 1 +RLC B 00CB 2 NOP 1 +RLC C 01CB 2 NOP 1 +RLC D 02CB 2 NOP 1 +RLC E 03CB 2 NOP 1 +RLC H 04CB 2 NOP 1 +RLC L 05CB 2 NOP 1 +RLCA "" 07 1 NOP 1 +RLD "" 6FED 2 NOP 1 + +RR (HL) 1ECB 2 NOP 1 +RR (IX*) CBDD 4 ZIX 1 0 1E00 +RR (IY*) CBFD 4 ZIX 1 0 1E00 +RR A 1FCB 2 NOP 1 +RR B 18CB 2 NOP 1 +RR C 19CB 2 NOP 1 +RR D 1ACB 2 NOP 1 +RR E 1BCB 2 NOP 1 +RR H 1CCB 2 NOP 1 +RR L 1DCB 2 NOP 1 +RRA "" 1F 1 NOP 1 +RRC (HL) 0ECB 2 NOP 1 +RRC (IX*) CBDD 4 ZIX 1 0 0E00 +RRC (IY*) CBFD 4 ZIX 1 0 0E00 +RRC A 0FCB 2 NOP 1 +RRC B 08CB 2 NOP 1 +RRC C 09CB 2 NOP 1 +RRC D 0ACB 2 NOP 1 +RRC E 0BCB 2 NOP 1 +RRC H 0CCB 2 NOP 1 +RRC L 0DCB 2 NOP 1 +RRCA "" 0F 1 NOP 1 +RRD "" 67ED 2 NOP 1 + +RST 00H C7 1 NOP 1 +RST 08H CF 1 NOP 1 +RST 10H D7 1 NOP 1 +RST 18H DF 1 NOP 1 +RST 20H E7 1 NOP 1 +RST 28H EF 1 NOP 1 +RST 30H F7 1 NOP 1 +RST 38H FF 1 NOP 1 + +/* Alternate form of above +RST 00 C7 1 NOP 1 +RST 08 CF 1 NOP 1 +RST 10 D7 1 NOP 1 +RST 18 DF 1 NOP 1 +RST 20 E7 1 NOP 1 +RST 28 EF 1 NOP 1 +RST 30 F7 1 NOP 1 +RST 38 FF 1 NOP 1 + +SBC A,(HL) 9E 1 NOP 1 +SBC A,(IX*) 9EDD 3 ZIX 1 +SBC A,(IY*) 9EFD 3 ZIX 1 +SBC A,A 9F 1 NOP 1 +SBC A,B 98 1 NOP 1 +SBC A,C 99 1 NOP 1 +SBC A,D 9A 1 NOP 1 +SBC A,E 9B 1 NOP 1 +SBC A,H 9C 1 NOP 1 +SBC A,L 9D 1 NOP 1 +SBC HL,BC 42ED 2 NOP 1 +SBC HL,DE 52ED 2 NOP 1 +SBC HL,HL 62ED 2 NOP 1 +SBC HL,SP 72ED 2 NOP 1 +SBC A,* DE 2 NOP 1 +SCF "" 37 1 NOP 1 + +SET *,(HL) C6CB 2 ZBIT 1 +SET *,(IX*) CBDD 4 ZBIT 1 0 C600 +SET *,(IY*) CBFD 4 ZBIT 1 0 C600 +SET *,A C7CB 2 ZBIT 1 +SET *,B C0CB 2 ZBIT 1 +SET *,C C1CB 2 ZBIT 1 +SET *,D C2CB 2 ZBIT 1 +SET *,E C3CB 2 ZBIT 1 +SET *,H C4CB 2 ZBIT 1 +SET *,L C5CB 2 ZBIT 1 + +SLA (HL) 26CB 2 NOP 1 +SLA (IX*) CBDD 4 ZIX 1 0 2600 +SLA (IY*) CBFD 4 ZIX 1 0 2600 +SLA A 27CB 2 NOP 1 +SLA B 20CB 2 NOP 1 +SLA C 21CB 2 NOP 1 +SLA D 22CB 2 NOP 1 +SLA E 23CB 2 NOP 1 +SLA H 24CB 2 NOP 1 +SLA L 25CB 2 NOP 1 + +SLP "" 76ED 2 NOP 2 + +SRA (HL) 2ECB 2 NOP 1 +SRA (IX*) CBDD 4 ZIX 1 0 2E00 +SRA (IY*) CBFD 4 ZIX 1 0 2E00 +SRA A 2FCB 2 NOP 1 +SRA B 28CB 2 NOP 1 +SRA C 29CB 2 NOP 1 +SRA D 2ACB 2 NOP 1 +SRA E 2BCB 2 NOP 1 +SRA H 2CCB 2 NOP 1 +SRA L 2DCB 2 NOP 1 + +SRL (HL) 3ECB 2 NOP 1 +SRL (IX*) CBDD 4 ZIX 1 0 3E00 +SRL (IY*) CBFD 4 ZIX 1 0 3E00 +SRL A 3FCB 2 NOP 1 +SRL B 38CB 2 NOP 1 +SRL C 39CB 2 NOP 1 +SRL D 3ACB 2 NOP 1 +SRL E 3BCB 2 NOP 1 +SRL H 3CCB 2 NOP 1 +SRL L 3DCB 2 NOP 1 + +SUB (HL) 96 1 NOP 1 +SUB (IX*) 96DD 3 ZIX 1 +SUB (IY*) 96FD 3 ZIX 1 +SUB A 97 1 NOP 1 +SUB B 90 1 NOP 1 +SUB C 91 1 NOP 1 +SUB D 92 1 NOP 1 +SUB E 93 1 NOP 1 +SUB H 94 1 NOP 1 +SUB L 95 1 NOP 1 +SUB * D6 2 NOP 1 + +TST A 3CED 2 NOP 2 +TST B 04ED 2 NOP 2 +TST C 0CED 2 NOP 2 +TST D 14ED 2 NOP 2 +TST E 1CED 2 NOP 2 +TST H 24ED 2 NOP 2 +TST L 2CED 2 NOP 2 +TST (HL) 34ED 2 NOP 2 +TST * 64ED 3 NOP 2 + +TSTIO * 74ED 3 NOP 2 + +XOR (HL) AE 1 NOP 1 +XOR (IX*) AEDD 3 ZIX 1 +XOR (IY*) AEFD 3 ZIX 1 +XOR A AF 1 NOP 1 +XOR B A8 1 NOP 1 +XOR C A9 1 NOP 1 +XOR D AA 1 NOP 1 +XOR E AB 1 NOP 1 +XOR H AC 1 NOP 1 +XOR L AD 1 NOP 1 +XOR * EE 2 NOP 1 diff --git a/branches/wbw/LSource/bin/TASM85.TAB b/branches/wbw/LSource/bin/TASM85.TAB new file mode 100644 index 00000000..83c866bb --- /dev/null +++ b/branches/wbw/LSource/bin/TASM85.TAB @@ -0,0 +1,257 @@ +"TASM 8085 Assembler. " +/**************************************************************************** +/* $Id: tasm85.tab 1.1 1993/07/31 01:12:40 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table for the 8085 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorporated +/* This table authored and submitted by Gary Kirk Bach. +/* +/*INSTR ARGS OPCODE BYTES MOD CLASS */ +/*-----------------*/ +ACI * CE 2 NOP 1 +ADC B 88 1 NOP 1 +ADC C 89 1 NOP 1 +ADC D 8A 1 NOP 1 +ADC E 8B 1 NOP 1 +ADC H 8C 1 NOP 1 +ADC L 8D 1 NOP 1 +ADC M 8E 1 NOP 1 +ADC A 8F 1 NOP 1 +ADD B 80 1 NOP 1 +ADD C 81 1 NOP 1 +ADD D 82 1 NOP 1 +ADD E 83 1 NOP 1 +ADD H 84 1 NOP 1 +ADD L 85 1 NOP 1 +ADD M 86 1 NOP 1 +ADD A 87 1 NOP 1 +ADI * C6 2 NOP 1 +ANA B A0 1 NOP 1 +ANA C A1 1 NOP 1 +ANA D A2 1 NOP 1 +ANA E A3 1 NOP 1 +ANA H A4 1 NOP 1 +ANA L A5 1 NOP 1 +ANA M A6 1 NOP 1 +ANA A A7 1 NOP 1 +ANI * E6 2 NOP 1 +CALL * CD 3 NOP 1 +CC * DC 3 NOP 1 +CM * FC 3 NOP 1 +CMA "" 2F 1 NOP 1 +CMC "" 3F 1 NOP 1 +CMP B B8 1 NOP 1 +CMP C B9 1 NOP 1 +CMP D BA 1 NOP 1 +CMP E BB 1 NOP 1 +CMP H BC 1 NOP 1 +CMP L BD 1 NOP 1 +CMP M BE 1 NOP 1 +CMP A BF 1 NOP 1 +CNC * D4 3 NOP 1 +CNZ * C4 3 NOP 1 +CP * F4 3 NOP 1 +CPE * EC 3 NOP 1 +CPI * FE 2 NOP 1 +CPO * E4 3 NOP 1 +CZ * CC 3 NOP 1 +DAA "" 27 1 NOP 1 +DAD B 09 1 NOP 1 +DAD D 19 1 NOP 1 +DAD H 29 1 NOP 1 +DAD SP 39 1 NOP 1 +DCR B 05 1 NOP 1 +DCR C 0D 1 NOP 1 +DCR D 15 1 NOP 1 +DCR E 1D 1 NOP 1 +DCR H 25 1 NOP 1 +DCR L 2D 1 NOP 1 +DCR M 35 1 NOP 1 +DCR A 3D 1 NOP 1 +DCX B 0B 1 NOP 1 +DCX D 1B 1 NOP 1 +DCX H 2B 1 NOP 1 +DCX SP 3B 1 NOP 1 +DI "" F3 1 NOP 1 +EI "" FB 1 NOP 1 +HLT "" 76 1 NOP 1 +IN * DB 2 NOP 1 +INR B 04 1 NOP 1 +INR C 0C 1 NOP 1 +INR D 14 1 NOP 1 +INR E 1C 1 NOP 1 +INR H 24 1 NOP 1 +INR L 2C 1 NOP 1 +INR M 34 1 NOP 1 +INR A 3C 1 NOP 1 +INX B 03 1 NOP 1 +INX D 13 1 NOP 1 +INX H 23 1 NOP 1 +INX SP 33 1 NOP 1 +JC * DA 3 NOP 1 +JM * FA 3 NOP 1 +JMP * C3 3 NOP 1 +JNC * D2 3 NOP 1 +JNZ * C2 3 NOP 1 +JP * F2 3 NOP 1 +JPE * EA 3 NOP 1 +JPO * E2 3 NOP 1 +JZ * CA 3 NOP 1 +LDA * 3A 3 NOP 1 +LDAX B 0A 1 NOP 1 +LDAX D 1A 1 NOP 1 +LHLD * 2A 3 NOP 1 +LXI B,* 01 3 NOP 1 +LXI D,* 11 3 NOP 1 +LXI H,* 21 3 NOP 1 +LXI SP,* 31 3 NOP 1 +MOV B,B 40 1 NOP 1 +MOV B,C 41 1 NOP 1 +MOV B,D 42 1 NOP 1 +MOV B,E 43 1 NOP 1 +MOV B,H 44 1 NOP 1 +MOV B,L 45 1 NOP 1 +MOV B,M 46 1 NOP 1 +MOV B,A 47 1 NOP 1 +MOV C,B 48 1 NOP 1 +MOV C,C 49 1 NOP 1 +MOV C,D 4A 1 NOP 1 +MOV C,E 4B 1 NOP 1 +MOV C,H 4C 1 NOP 1 +MOV C,L 4D 1 NOP 1 +MOV C,M 4E 1 NOP 1 +MOV C,A 4F 1 NOP 1 +MOV D,B 50 1 NOP 1 +MOV D,C 51 1 NOP 1 +MOV D,D 52 1 NOP 1 +MOV D,E 53 1 NOP 1 +MOV D,H 54 1 NOP 1 +MOV D,L 55 1 NOP 1 +MOV D,M 56 1 NOP 1 +MOV D,A 57 1 NOP 1 +MOV E,B 58 1 NOP 1 +MOV E,C 59 1 NOP 1 +MOV E,D 5A 1 NOP 1 +MOV E,E 5B 1 NOP 1 +MOV E,H 5C 1 NOP 1 +MOV E,L 5D 1 NOP 1 +MOV E,M 5E 1 NOP 1 +MOV E,A 5F 1 NOP 1 +MOV H,B 60 1 NOP 1 +MOV H,C 61 1 NOP 1 +MOV H,D 62 1 NOP 1 +MOV H,E 63 1 NOP 1 +MOV H,H 64 1 NOP 1 +MOV H,L 65 1 NOP 1 +MOV H,M 66 1 NOP 1 +MOV H,A 67 1 NOP 1 +MOV L,B 68 1 NOP 1 +MOV L,C 69 1 NOP 1 +MOV L,D 6A 1 NOP 1 +MOV L,E 6B 1 NOP 1 +MOV L,H 6C 1 NOP 1 +MOV L,L 6D 1 NOP 1 +MOV L,M 6E 1 NOP 1 +MOV L,A 6F 1 NOP 1 +MOV M,B 70 1 NOP 1 +MOV M,C 71 1 NOP 1 +MOV M,D 72 1 NOP 1 +MOV M,E 73 1 NOP 1 +MOV M,H 74 1 NOP 1 +MOV M,L 75 1 NOP 1 +MOV M,A 77 1 NOP 1 +MOV A,B 78 1 NOP 1 +MOV A,C 79 1 NOP 1 +MOV A,D 7A 1 NOP 1 +MOV A,E 7B 1 NOP 1 +MOV A,H 7C 1 NOP 1 +MOV A,L 7D 1 NOP 1 +MOV A,M 7E 1 NOP 1 +MOV A,A 7F 1 NOP 1 +MVI B,* 06 2 NOP 1 +MVI C,* 0E 2 NOP 1 +MVI D,* 16 2 NOP 1 +MVI E,* 1E 2 NOP 1 +MVI H,* 26 2 NOP 1 +MVI L,* 2E 2 NOP 1 +MVI M,* 36 2 NOP 1 +MVI A,* 3E 2 NOP 1 +NOP "" 00 1 NOP 1 +ORA B B0 1 NOP 1 +ORA C B1 1 NOP 1 +ORA D B2 1 NOP 1 +ORA E B3 1 NOP 1 +ORA H B4 1 NOP 1 +ORA L B5 1 NOP 1 +ORA M B6 1 NOP 1 +ORA A B7 1 NOP 1 +ORI * F6 2 NOP 1 +OUT * D3 2 NOP 1 +PCHL "" E9 1 NOP 1 +POP B C1 1 NOP 1 +POP D D1 1 NOP 1 +POP H E1 1 NOP 1 +POP PSW F1 1 NOP 1 +PUSH B C5 1 NOP 1 +PUSH D D5 1 NOP 1 +PUSH H E5 1 NOP 1 +PUSH PSW F5 1 NOP 1 +RAL "" 17 1 NOP 1 +RAR "" 1F 1 NOP 1 +RC "" D8 1 NOP 1 +RET "" C9 1 NOP 1 +RIM "" 20 1 NOP 1 +RLC "" 07 1 NOP 1 +RM "" F8 1 NOP 1 +RNC "" D0 1 NOP 1 +RNZ "" C0 1 NOP 1 +RP "" F0 1 NOP 1 +RPE "" E8 1 NOP 1 +RPO "" E0 1 NOP 1 +RRC "" 0F 1 NOP 1 +RST 0 C7 1 NOP 1 +RST 1 CF 1 NOP 1 +RST 2 D7 1 NOP 1 +RST 3 DF 1 NOP 1 +RST 4 E7 1 NOP 1 +RST 5 EF 1 NOP 1 +RST 6 F7 1 NOP 1 +RST 7 FF 1 NOP 1 +RZ "" C8 1 NOP 1 +SBB B 98 1 NOP 1 +SBB C 99 1 NOP 1 +SBB D 9A 1 NOP 1 +SBB E 9B 1 NOP 1 +SBB H 9C 1 NOP 1 +SBB L 9D 1 NOP 1 +SBB M 9E 1 NOP 1 +SBB A 9F 1 NOP 1 +SBI * DE 2 NOP 1 +SHLD * 22 3 NOP 1 +SIM "" 30 1 NOP 1 +SPHL "" F9 1 NOP 1 +STA * 32 3 NOP 1 +STAX B 02 1 NOP 1 +STAX D 12 1 NOP 1 +STC "" 37 1 NOP 1 +SUB B 90 1 NOP 1 +SUB C 91 1 NOP 1 +SUB D 92 1 NOP 1 +SUB E 93 1 NOP 1 +SUB H 94 1 NOP 1 +SUB L 95 1 NOP 1 +SUB M 96 1 NOP 1 +SUB A 97 1 NOP 1 +SUI * D6 2 NOP 1 +XCHG "" EB 1 NOP 1 +XRA B A8 1 NOP 1 +XRA C A9 1 NOP 1 +XRA D AA 1 NOP 1 +XRA E AB 1 NOP 1 +XRA H AC 1 NOP 1 +XRA L AD 1 NOP 1 +XRA M AE 1 NOP 1 +XRA A AF 1 NOP 1 +XRI * EE 2 NOP 1 +XTHL "" E3 1 NOP 1 + diff --git a/branches/wbw/LSource/bin/TASM96.TAB b/branches/wbw/LSource/bin/TASM96.TAB new file mode 100644 index 00000000..ca6669b6 --- /dev/null +++ b/branches/wbw/LSource/bin/TASM96.TAB @@ -0,0 +1,393 @@ +"TASM 8096 Assembler." +/**************************************************************************** +/* $Id: tasm96.tab 1.5 1997/09/28 22:14:30 toma Exp $ +/**************************************************************************** +;* This is the instruction set definition table +;* for the 8096 version of TASM. +;* Thomas N. Anderson, Speech Technology Incorporated +;* +;* See TASM manual for info on table structure. +;* +;*INSTR ARGS OPCODE BYTES MOD CLASS SHIFT MASK +;*-------------------------------------------* +; Revisions: +; Added I7 rule for single arg direct/far (PUSH/POP) +; Changed ADDB *,*,*[*] entry from rule I1 to I6. +; +; Generate opcodes high byte first/ +.MSFIRST +.NOARGSHIFT +; +; Note: +; The I1 rule uses ARGVAL for arg validation. If the combined +; args AND ARGVAL is not equal to the combined args then an +; error message is generated. +; +; The I1 rule also uses ARGOR. The value of that mask is OR'd +; with the first byte of the args. +; +; ARGOR +; BYTES CLASS | +; | | | +;INST ARGS OP v RULE v v ARGVAL +;-----------------------------------------; +;OK ADD +ADD *,*,[*]+ 46 4 I1 1 01 00FeFeFe ; +ADD *,*,[*] 46 4 I1 1 00 00FeFeFe ; +ADD *,*,*[*] 47 6 I6 1 00 00FeFeFe ; +ADD *,*,#* 45 5 I1 1 00 FeFeFFFF ; +ADD *,[*]+ 66 3 I1 1 01 0000FFFe ; 1st arg must be even, make odd +ADD *,[*] 66 3 I1 1 00 0000FFFe ; 1st arg must be even +ADD *,*[*] 67 5 I6 1 00 00FFFFFF ; +ADD *,*,* 4701 6 I3 1 00 0000FeFe ; 3rd arg may be far +ADD *,#* 65 4 I1 1 00 00FeFFFF ; 1st arg must be even +ADD *,* 6701 5 I2 1 00 0000FeFe ; 2nd arg may be far + +;OK ADDB +ADDB *,*,[*]+ 56 4 I1 1 01 00000000 ; no validation yet +ADDB *,*,[*] 56 4 I1 1 00 00000000 ; no validation yet +ADDB *,*,*[*] 57 6 I6 1 00 00000000 ; no validation yet +ADDB *,*,#* 55 4 I1 1 00 00000000 ; no validation yet +ADDB *,[*]+ 76 3 I1 1 01 0000FFFe ; 1st arg must be even, make odd +ADDB *,[*] 76 3 I1 1 00 0000FFFe ; 1st arg must be even +ADDB *,*[*] 77 5 I6 1 00 00FeFFFe ; 1st,3rd must be even +ADDB *,*,* 5701 6 I3 1 00 00000000 ; 3rd arg may be far +ADDB *,#* 75 3 I1 1 00 00FFFFFF ; odd args ok for byte operations +ADDB *,* 7701 5 I2 1 00 00000000 ; 2nd arg may be far + +; No three arg forms for ADDC or ADDCB +ADDC *,[*]+ A6 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +ADDC *,[*] A6 3 I1 1 00 0000FFFe ;1st arg must be even +ADDC *,*[*] A7 5 I6 1 00 00FFFFFF ; +ADDC *,#* A5 4 I1 1 00 00FeFFFF ;1st arg must be even +ADDC *,* A701 5 I2 1 00 00000000 ;2nd arg may be far + +ADDCB *,[*]+ B6 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +ADDCB *,[*] B6 3 I1 1 00 0000FFFe ;1st arg must be even +ADDCB *,*[*] B7 5 I6 1 00 00FFFFFF ; +ADDCB *,#* B5 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +ADDCB *,* B701 5 I2 1 00 00000000 ;2nd arg may be far + +; OK AND +AND *,*,[*]+ 42 4 I1 1 01 00000000 ;no validation yet +AND *,*,[*] 42 4 I1 1 00 00000000 ;no validation yet +AND *,*,*[*] 43 6 I6 1 00 00000000 ;no validation yet +AND *,*,#* 41 5 I1 1 00 00000000 ;no validation yet +AND *,[*]+ 62 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +AND *,[*] 62 3 I1 1 00 0000FFFe ;1st arg must be even +AND *,*[*] 63 5 I6 1 00 00FeFFFe ;1st,3rd must be even +AND *,*,* 4301 6 I3 1 00 00000000 ;3rd arg may be far +AND *,#* 61 4 I1 1 00 00FeFFFF ;1st arg must be even +AND *,* 6301 5 I2 1 00 00000000 ;2nd arg may be far + +ANDB *,*,[*]+ 52 4 I1 1 01 00000000 ;no validation yet +ANDB *,*,[*] 52 4 I1 1 00 00000000 ;no validation yet +ANDB *,*,*[*] 53 6 I6 1 00 00000000 ;no validation yet +ANDB *,*,#* 51 4 I1 1 00 00000000 ;no validation yet +ANDB *,[*]+ 72 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +ANDB *,[*] 72 3 I1 1 00 0000FFFe ;1st arg must be even +ANDB *,*[*] 73 5 I6 1 00 00FFFFFF ; +ANDB *,*,* 5301 6 I3 1 00 00000000 ;3rd arg may be far +ANDB *,#* 71 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +ANDB *,* 7301 5 I2 1 00 00000000 ;2nd arg may be far + +BMOV *,* C1 3 I1 2 00 0000FcFF ;long word ptr to two words +BMOVI *,* AD 3 I1 2 00 0000FcFF ;long word ptr to two words + +BR [*] E3 2 I1 1 00 00000000 ; +BR * 2000 2 I5 1 00 00000000 ; Same As SJMP + +CLR * 01 2 NOP 1 00 00000000 ; +CLRB * 11 2 NOP 1 00 00000000 ; +CLRC "" F8 1 NOP 1 00 00000000 ; +CLRVT "" FC 1 NOP 1 00 00000000 ; + +CMP *,[*]+ 8A 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +CMP *,[*] 8A 3 I1 1 00 0000FFFe ;1st arg must be even +CMP *,*[*] 8B 5 I6 1 00 00FFFFFF ; +CMP *,#* 89 4 I1 1 00 00FeFFFF ;1st arg must be even +CMP *,* 8B01 5 I2 1 00 00000000 ;2nd arg may be far + +CMPB *,[*]+ 9A 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +CMPB *,[*] 9A 3 I1 1 00 0000FFFe ;1st arg must be even +CMPB *,*[*] 9B 5 I6 1 00 00FFFFFF ; +CMPB *,#* 99 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +CMPB *,* 9B01 5 I2 1 00 00000000 ;2nd arg may be far + +CMPL *,* C5 3 I1 2 00 0000FcFc ;long align multiple of 4 + +DEC * 05 2 NOP 1 00 00000000 ; +DECB * 15 2 NOP 1 00 00000000 ; +DJNZ *,* E0 3 CREL 1 00 00000000 ; +DJNZW *,* E1 3 CREL 2 00 00000000 ; + +DI "" FA 1 NOP 1 00 00000000 ; + +DIVU *,[*]+ 8E 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +DIVU *,[*] 8E 3 I1 1 00 0000FFFe ;1st arg must be even +DIVU *,*[*] 8F 5 I6 1 00 0000FFFe ;1st arg must be even +DIVU *,#* 8D 4 I1 1 00 00FeFFFF ;1st arg must be even +DIVU *,* 8F01 5 I2 1 00 00000000 ;2nd arg may be far + +DIVUB *,[*]+ 9E 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +DIVUB *,[*] 9E 3 I1 1 00 0000FFFe ;1st arg must be even +DIVUB *,*[*] 9F 5 I6 1 00 0000FFFF ; +DIVUB *,#* 9D 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +DIVUB *,* 9F01 5 I2 1 00 00000000 ;2nd arg may be far + +DIV *,[*]+ FE8E 4 I1 1 01 0000FFFe ;1st arg must be even, make odd +DIV *,[*] FE8E 4 I1 1 00 0000FFFe ;1st arg must be even +DIV *,*[*] FE8F 6 I6 1 00 0000FFFe ;1st arg must be even +DIV *,#* FE8D 5 I1 1 00 00FeFFFF ;1st arg must be even +DIV *,* FE8F01 6 I2 1 00 00000000 ;2nd arg may be far + +DIVB *,[*]+ FE9E 4 I1 1 01 0000FFFe ;1st arg must be even, make odd +DIVB *,[*] FE9E 4 I1 1 00 0000FFFe ;1st arg must be even +DIVB *,*[*] FE9F 6 I6 1 00 0000FFFF ; +DIVB *,#* FE9D 4 I1 1 00 00FFFFFF ;odd args ok for byte operations; +DIVB *,* FE9F01 6 I2 1 00 00000000 ;2nd arg may be far + +DPTS "" EC 1 NOP 2 00 00000000 ; +EPTS "" ED 1 NOP 2 00 00000000 ; + +EI "" FB 1 NOP 1 00 00000000 ; + +EXT * 06 2 NOP 1 00 00000000 ; +EXTB * 16 2 NOP 1 00 00000000 ; + +IDLPD #* F6 2 NOP 2 00 00000000 ; + +INC * 07 2 NOP 1 00 00000000 ; +INCB * 17 2 NOP 1 00 00000000 ; + +JC * DB 2 R1 1 00 00000000 +JNC * D3 2 R1 1 00 00000000 +JH * D9 2 R1 1 00 00000000 +JNH * D1 2 R1 1 00 00000000 +JE * DF 2 R1 1 00 00000000 +JNE * D7 2 R1 1 00 00000000 +JV * DD 2 R1 1 00 00000000 +JNV * D5 2 R1 1 00 00000000 +JGE * D6 2 R1 1 00 00000000 +JLT * DE 2 R1 1 00 00000000 +JVT * DC 2 R1 1 00 00000000 +JNVT * D4 2 R1 1 00 00000000 +JGT * D2 2 R1 1 00 00000000 +JLE * DA 2 R1 1 00 00000000 +JST * D8 2 R1 1 00 00000000 +JNST * D0 2 R1 1 00 00000000 + +JBC *,*,* 30 3 I4 1 00 00000000 +JBS *,*,* 38 3 I4 1 00 00000000 + +LJMP * E7 3 R2 1 00 00000000 +LCALL * EF 3 R2 1 00 00000000 + +LD *,[*]+ A2 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +LD *,[*] A2 3 I1 1 00 0000FFFe ;1st arg must be even +LD *,*[*] A3 5 I6 1 00 00FFFFFF ; +LD *,#* A1 4 I1 1 00 00FFFFFF ; +LD *,* A301 5 I2 1 00 00000000 ;2nd arg may be far + +LDB *,[*]+ B2 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +LDB *,[*] B2 3 I1 1 00 0000FFFe ;1st arg must be even +LDB *,*[*] B3 5 I6 1 00 00FFFFFF ; +LDB *,#* B1 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +LDB *,* B301 5 I2 1 00 00000000 ;2nd arg may be far + +LDBSE *,[*]+ BE 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +LDBSE *,[*] BE 3 I1 1 00 0000FFFe ;1st arg must be even +LDBSE *,*[*] BF 5 I6 1 00 00FeFFFe ;1st,3rd must be even +LDBSE *,#* BD 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +LDBSE *,* BF01 5 I2 1 00 00000000 ;2nd arg may be far + +LDBZE *,[*]+ AE 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +LDBZE *,[*] AE 3 I1 1 00 0000FFFe ;1st arg must be even +LDBZE *,*[*] AF 5 I6 1 00 00FeFFFe ;1st,3rd must be even +LDBZE *,#* AD 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +LDBZE *,* AF01 5 I2 1 00 00000000 ;2nd arg may be far + +MULU *,*,[*]+ 4E 4 I1 1 01 00000000 ;no validation yet +MULU *,*,[*] 4E 4 I1 1 00 00000000 ;no validation yet +MULU *,*,*[*] 4F 6 I6 1 00 00000000 ;no validation yet +MULU *,*,#* 4D 5 I1 1 00 00000000 ;no validation yet +MULU *,[*]+ 6E 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +MULU *,[*] 6E 3 I1 1 00 0000FFFe ;1st arg must be even +MULU *,*[*] 6F 5 I6 1 00 00FeFFFe ;1st,3rd must be even +MULU *,*,* 4F01 6 I3 1 00 00000000 ;3rd arg may be far +MULU *,#* 6D 4 I1 1 00 00FeFFFF ;1st arg must be even +MULU *,* 6F01 5 I2 1 00 00000000 ;2nd arg may be far + + +MULUB *,*,[*]+ 5E 4 I1 1 01 00000000 ;no validation yet +MULUB *,*,[*] 5E 4 I1 1 00 00000000 ;no validation yet +MULUB *,*,*[*] 5F 6 I6 1 00 00000000 ;no validation yet +MULUB *,*,#* 5D 4 I1 1 00 00000000 ;no validation yet +MULUB *,[*]+ 7E 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +MULUB *,[*] 7E 3 I1 1 00 0000FFFe ;1st arg must be even +MULUB *,*[*] 7F 5 I6 1 00 00FFFFFF ; +MULUB *,*,* 5F01 6 I3 1 00 00000000 ;3rd arg may be far +MULUB *,#* 7D 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +MULUB *,* 7F01 5 I2 1 00 00000000 ;2nd arg may be far + +MUL *,*,[*]+ FE4E 5 I1 1 01 00000000 ;no validation yet +MUL *,*,[*] FE4E 5 I1 1 00 00000000 ;no validation yet +MUL *,*,*[*] FE4F 7 I6 1 00 00000000 ;no validation yet +MUL *,*,#* FE4D 6 I1 1 00 00000000 ;no validation yet +MUL *,[*]+ FE6E 4 I1 1 01 0000FFFe ;1st arg must be even, make odd +MUL *,[*] FE6E 4 I1 1 00 0000FFFe ;1st arg must be even +MUL *,*[*] FE6F 6 I6 1 00 00FeFFFe ;1st,3rd must be even +MUL *,*,* FE4F01 7 I3 1 00 00000000 ;3rd arg may be far +MUL *,#* FE6D 5 I1 1 00 00FFFFFF ;odd args ok for byte operations +MUL *,* FE6F01 6 I2 1 00 00000000 ;2nd arg may be far + +MULB *,*,[*]+ FE5E 5 I1 1 01 00000000 ;no validation yet +MULB *,*,[*] FE5E 5 I1 1 00 00000000 ;no validation yet +MULB *,*,*[*] FE5F 7 I6 1 00 00000000 ;no validation yet +MULB *,*,#* FE5D 5 I1 1 00 00000000 ;no validation yet +MULB *,[*]+ FE7E 4 I1 1 01 0000FFFe ;1st arg must be even, make odd +MULB *,[*] FE7E 4 I1 1 00 0000FFFe ;1st arg must be even +MULB *,*[*] FE7F 6 I6 1 00 00FFFFFF ; +MULB *,*,* FE5F01 7 I3 1 00 00000000 ;3rd arg may be far +MULB *,#* FE7D 4 I1 1 00 00FFFFFF ;odd args ok for byte operations +MULB *,* FE7F01 6 I2 1 00 00000000 ;2nd arg may be far + +NEG * 03 2 I1 1 00 000000FE ;arg must be even +NEGB * 13 2 I1 1 00 000000FF ; + +NOP "" FD 1 NOP 1 00 00000000 ; + +NORML *,* 0F 3 I1 1 00 0000FFFF ;long align + +NOT * 02 2 NOP 1 00 00000000 ; +NOTB * 12 2 NOP 1 00 00000000 ; + +OR *,[*]+ 82 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +OR *,[*] 82 3 I1 1 00 0000FFFe ;1st arg must be even +OR *,*[*] 83 5 I6 1 00 00FeFFFe ;1st,3rd must be even +OR *,#* 81 4 I1 1 00 00FeFFFF ;1st arg must be even +OR *,* 8301 5 I2 1 00 00000000 ;2nd arg may be far + +ORB *,[*]+ 92 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +ORB *,[*] 92 3 I1 1 00 0000FFFe ;1st arg must be even +ORB *,*[*] 93 5 I6 1 00 00FFFFFF ; +ORB *,#* 91 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +ORB *,* 9301 5 I2 1 00 00000000 ;2nd arg may be far + +PUSH #* C9 3 I1 1 00 00000000 ; +PUSH [*]+ CA 2 I1 1 01 000000Fe ;arg must be even +PUSH [*] CA 2 I1 1 00 000000Fe ;arg must be even +PUSH *[*] CB 4 I6 1 00 00FFFFFe ;arg must be even +PUSH * CB01 4 I7 1 00 0000FFFe ;arg must be even + +PUSHF "" F2 1 NOP 1 00 00000000 ; +PUSHA "" F4 1 NOP 1 00 00000000 ; + +POP [*]+ CE 2 I1 1 01 000000Fe ;arg must be even +POP [*] CE 2 I1 1 00 000000Fe ;arg must be even +POP *[*] CF 4 I6 1 00 00FFFFFE ; +POP * CF01 4 I7 1 00 0000FFFe ;arg must be even + +POPF "" F3 1 NOP 1 00 00000000 ; +POPA "" F5 1 NOP 1 00 00000000 ; + +RET "" F0 1 NOP 1 00 00000000 ; +RST "" FF 1 NOP 1 00 00000000 ; + +SJMP * 2000 2 I5 1 00 00000000 +SCALL * 2800 2 I5 1 00 00000000 + +SUB *,*,[*]+ 4A 4 I1 1 01 00000000 ;no validation yet +SUB *,*,[*] 4A 4 I1 1 00 00000000 ;no validation yet +SUB *,*,*[*] 4B 6 I6 1 00 00000000 ;no validation yet +SUB *,*,#* 49 5 I1 1 00 00000000 ;no validation yet +SUB *,[*]+ 6A 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +SUB *,[*] 6A 3 I1 1 00 0000FFFe ;1st arg must be even +SUB *,*[*] 6B 5 I6 1 00 00FeFFFe ;1st,3rd must be even +SUB *,*,* 4B01 6 I3 1 00 00000000 ;3rd arg may be far +SUB *,#* 69 4 I1 1 00 00FeFFFF ;1st arg must be even +SUB *,* 6B01 5 I2 1 00 00000000 ;2nd arg may be far + +SUBB *,*,[*]+ 5A 4 I1 1 01 00000000 ;no validation yet +SUBB *,*,[*] 5A 4 I1 1 00 00000000 ;no validation yet +SUBB *,*,*[*] 5B 6 I6 1 00 00000000 ;no validation yet +SUBB *,*,#* 59 4 I1 1 00 00000000 ;no validation yet +SUBB *,[*]+ 7A 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +SUBB *,[*] 7A 3 I1 1 00 0000FFFe ;1st arg must be even +SUBB *,*[*] 7B 5 I6 1 00 00FeFFFe ;1st,3rd must be even +SUBB *,*,* 5B01 6 I3 1 00 00000000 ;3rd arg may be far +SUBB *,#* 79 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +SUBB *,* 7B01 5 I2 1 00 00000000 ;2nd arg may be far + +SUBC *,[*]+ AA 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +SUBC *,[*] AA 3 I1 1 00 0000FFFe ;1st arg must be even +SUBC *,*[*] AB 5 I6 1 00 00FeFFFe ;1st,3rd must be even +SUBC *,#* A9 4 I1 1 00 00FeFFFF ;1st arg must be even +SUBC *,* AB01 5 I2 1 00 00000000 ;2nd arg may be far + +SUBCB *,[*]+ BA 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +SUBCB *,[*] BA 3 I1 1 00 0000FFFe ;1st arg must be even +SUBCB *,*[*] BB 5 I6 1 00 00FeFFFe ;1st,3rd must be even +SUBCB *,#* B9 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +SUBCB *,* BB01 5 I2 1 00 00000000 ;2nd arg may be far + +SHL *,#* 09 3 I1 1 00 0000FE0F ; F +SHL *,* 09 3 I1 1 00 0000FEFF ; +SHLB *,#* 19 3 I1 1 00 0000FF0F ; +SHLB *,* 19 3 I1 1 00 0000FFFF ; +SHLL *,#* 0D 3 I1 1 00 0000FF0F ; +SHLL *,* 0D 3 I1 1 00 0000FFFF ; + +SHR *,#* 08 3 I1 1 00 0000FF0F ;word align +SHR *,* 08 3 I1 1 00 0000FFFF ;word align +SHRB *,#* 18 3 I1 1 00 0000FF0F ;byte align +SHRB *,* 18 3 I1 1 00 0000FFFF ;byte align +SHRL *,#* 0C 3 I1 1 00 0000FF0F ;long align +SHRL *,* 0C 3 I1 1 00 0000FFFF ;long align + +SHRA *,#* 0A 3 I1 1 00 0000FF0F ;word align +SHRA *,* 0A 3 I1 1 00 0000FFFF ;word align +SHRAB *,#* 1A 3 I1 1 00 0000FF0F ;byte align +SHRAB *,* 1A 3 I1 1 00 0000FFFF ;byte align +SHRAL *,#* 0E 3 I1 1 00 0000FF0F ;long align +SHRAL *,* 0E 3 I1 1 00 0000FFFF ;long align + +SETC "" F9 1 NOP 1 00 00000000 ; + + +SKIP "" 0000 2 NOP 1 00 00000000 ; +SKIP * 00 2 I1 1 00 00000000 ; + +ST *,[*]+ C2 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +ST *,[*] C2 3 I1 1 00 0000FFFe ;1st arg must be even +ST *,*[*] C3 5 I6 1 00 FFFFFFFe ;1st,3rd must be even +ST *,* C301 5 I2 1 00 00000000 ;2nd arg may be far + +STB *,[*]+ C6 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +STB *,[*] C6 3 I1 1 00 0000FFFe ;1st arg must be even +STB *,*[*] C7 5 I6 1 00 FFFFFFFe ;1st,3rd must be even +STB *,* C701 5 I2 1 00 00000000 ;2nd arg may be far + +TRAP "" F7 1 NOP 1 00 00000000 ; + +TIJMP *,[*],#* E2 4 I8 2 00 00FEFEFF ; + +XCH *,*[*] 0B 5 I6 2 00 00FeFFFe ;1st,3rd must be even +XCH *,* 0B01 5 I2 2 0C 00000000 ;2nd arg may be far + +XCHB *,*[*] 1B 5 I6 2 00 00FFFFFF ; +XCHB *,* 1B01 5 I2 2 0C 00000000 ;2nd arg may be far + +XOR *,[*]+ 86 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +XOR *,[*] 86 3 I1 1 00 0000FFFe ;1st arg must be even +XOR *,*[*] 87 5 I6 1 00 00FeFFFe ;1st,3rd must be even +XOR *,#* 85 4 I1 1 00 00FeFFFF ;1st arg must be even +XOR *,* 8701 5 I2 1 00 00000000 ;2nd arg may be far + +XORB *,[*]+ 96 3 I1 1 01 0000FFFe ;1st arg must be even, make odd +XORB *,[*] 96 3 I1 1 00 0000FFFe ;1st arg must be even +XORB *,*[*] 97 5 I6 1 00 00FFFFFF ; +XORB *,#* 95 3 I1 1 00 00FFFFFF ;odd args ok for byte operations +XORB *,* 9701 5 I2 1 00 00000000 ;2nd arg may be far + + diff --git a/branches/wbw/LSource/bin/tasm180.tab b/branches/wbw/LSource/bin/tasm180.tab new file mode 100644 index 00000000..a3dd5839 --- /dev/null +++ b/branches/wbw/LSource/bin/tasm180.tab @@ -0,0 +1,594 @@ +"TASM Z180 Assembler. " +/**************************************************************************** +/* $Id: tasm80.tab 1.2 1998/02/28 14:31:22 toma Exp $ +/**************************************************************************** +/* This is the instruction set definition table +/* for the Z80 version of TASM. +/* Thomas N. Anderson, Speech Technology Incorporated +/* This table authored and submitted by Carl A. Wall, VE3APY. +/* +/* Class bits assigned as follows: +/* Bit-0 = Z80 (base instruction set) +/* Bit-1 = HD64180 (extended instructions) +/* See TASM manual for info on table structure. +/* +/*INSTR ARGS OP BYTES RULE CLASS SHIFT OR */ +/*-------------------------------------------*/ + +ADC A,(HL) 8E 1 NOP 1 +ADC A,(IX*) 8EDD 3 ZIX 1 +ADC A,(IY*) 8EFD 3 ZIX 1 +ADC A,A 8F 1 NOP 1 +ADC A,B 88 1 NOP 1 +ADC A,C 89 1 NOP 1 +ADC A,D 8A 1 NOP 1 +ADC A,E 8B 1 NOP 1 +ADC A,H 8C 1 NOP 1 +ADC A,L 8D 1 NOP 1 +ADC A,* CE 2 NOP 1 +ADC HL,BC 4AED 2 NOP 1 +ADC HL,DE 5AED 2 NOP 1 +ADC HL,HL 6AED 2 NOP 1 +ADC HL,SP 7AED 2 NOP 1 + +ADD A,(HL) 86 1 NOP 1 +ADD A,(IX*) 86DD 3 ZIX 1 +ADD A,(IY*) 86FD 3 ZIX 1 +ADD A,A 87 1 NOP 1 +ADD A,B 80 1 NOP 1 +ADD A,C 81 1 NOP 1 +ADD A,D 82 1 NOP 1 +ADD A,E 83 1 NOP 1 +ADD A,H 84 1 NOP 1 +ADD A,L 85 1 NOP 1 +ADD A,* C6 2 NOP 1 +ADD HL,BC 09 1 NOP 1 +ADD HL,DE 19 1 NOP 1 +ADD HL,HL 29 1 NOP 1 +ADD HL,SP 39 1 NOP 1 +ADD IX,BC 09DD 2 NOP 1 +ADD IX,DE 19DD 2 NOP 1 +ADD IX,IX 29DD 2 NOP 1 +ADD IX,SP 39DD 2 NOP 1 +ADD IY,BC 09FD 2 NOP 1 +ADD IY,DE 19FD 2 NOP 1 +ADD IY,IY 29FD 2 NOP 1 +ADD IY,SP 39FD 2 NOP 1 + +AND (HL) A6 1 NOP 1 +AND (IX*) A6DD 3 ZIX 1 +AND (IY*) A6FD 3 ZIX 1 +AND A A7 1 NOP 1 +AND B A0 1 NOP 1 +AND C A1 1 NOP 1 +AND D A2 1 NOP 1 +AND E A3 1 NOP 1 +AND H A4 1 NOP 1 +AND L A5 1 NOP 1 +AND * E6 2 NOP 1 + +BIT *,(HL) 46CB 2 ZBIT 1 +BIT *,(IX*) CBDD 4 ZBIT 1 0 4600 +BIT *,(IY*) CBFD 4 ZBIT 1 0 4600 +BIT *,A 47CB 2 ZBIT 1 +BIT *,B 40CB 2 ZBIT 1 +BIT *,C 41CB 2 ZBIT 1 +BIT *,D 42CB 2 ZBIT 1 +BIT *,E 43CB 2 ZBIT 1 +BIT *,H 44CB 2 ZBIT 1 +BIT *,L 45CB 2 ZBIT 1 + +CALL C,* DC 3 NOP 1 +CALL M,* FC 3 NOP 1 +CALL NC,* D4 3 NOP 1 +CALL NZ,* C4 3 NOP 1 +CALL P,* F4 3 NOP 1 +CALL PE,* EC 3 NOP 1 +CALL PO,* E4 3 NOP 1 +CALL Z,* CC 3 NOP 1 +CALL * CD 3 NOP 1 + +CCF "" 3F 1 NOP 1 + +CP (HL) BE 1 NOP 1 +CP (IX*) BEDD 3 ZIX 1 +CP (IY*) BEFD 3 ZIX 1 +CP A BF 1 NOP 1 +CP B B8 1 NOP 1 +CP C B9 1 NOP 1 +CP D BA 1 NOP 1 +CP E BB 1 NOP 1 +CP H BC 1 NOP 1 +CP L BD 1 NOP 1 +CP * FE 2 NOP 1 +CPD "" A9ED 2 NOP 1 +CPDR "" B9ED 2 NOP 1 +CPIR "" B1ED 2 NOP 1 +CPI "" A1ED 2 NOP 1 +CPL "" 2F 1 NOP 1 + +DAA "" 27 1 NOP 1 + +DEC (HL) 35 1 NOP 1 +DEC (IX*) 35DD 3 ZIX 1 +DEC (IY*) 35FD 3 ZIX 1 +DEC A 3D 1 NOP 1 +DEC B 05 1 NOP 1 +DEC BC 0B 1 NOP 1 +DEC C 0D 1 NOP 1 +DEC D 15 1 NOP 1 +DEC DE 1B 1 NOP 1 +DEC E 1D 1 NOP 1 +DEC H 25 1 NOP 1 +DEC HL 2B 1 NOP 1 +DEC IX 2BDD 2 NOP 1 +DEC IY 2BFD 2 NOP 1 +DEC L 2D 1 NOP 1 +DEC SP 3B 1 NOP 1 +DI "" F3 1 NOP 1 +DJNZ * 10 2 R1 1 + +EI "" FB 1 NOP 1 +EX (SP),HL E3 1 NOP 1 +EX (SP),IX E3DD 2 NOP 1 +EX (SP),IY E3FD 2 NOP 1 +EX AF,AF' 08 1 NOP 1 +EX DE,HL EB 1 NOP 1 +EXX "" D9 1 NOP 1 +HALT "" 76 1 NOP 1 + +IM 0 46ED 2 NOP 1 +IM 1 56ED 2 NOP 1 +IM 2 5EED 2 NOP 1 + +/* Alternate form of above +IM0 46ED 2 NOP 1 +IM1 56ED 2 NOP 1 +IM2 5EED 2 NOP 1 + +IN A,(C) 78ED 2 NOP 1 +IN B,(C) 40ED 2 NOP 1 +IN C,(C) 48ED 2 NOP 1 +IN D,(C) 50ED 2 NOP 1 +IN E,(C) 58ED 2 NOP 1 +IN H,(C) 60ED 2 NOP 1 +IN L,(C) 68ED 2 NOP 1 + +IN A,(*) DB 2 NOP 1 + +IN0 A,(*) 38ED 3 NOP 1 +IN0 B,(*) 00ED 3 NOP 1 +IN0 C,(*) 08ED 3 NOP 1 +IN0 D,(*) 10ED 3 NOP 1 +IN0 E,(*) 18ED 3 NOP 1 +IN0 H,(*) 20ED 3 NOP 1 +IN0 L,(*) 28ED 3 NOP 1 + +INC (HL) 34 1 NOP 1 +INC (IX*) 34DD 3 ZIX 1 +INC (IY*) 34FD 3 ZIX 1 +INC A 3C 1 NOP 1 +INC B 04 1 NOP 1 +INC BC 03 1 NOP 1 +INC C 0C 1 NOP 1 +INC D 14 1 NOP 1 +INC DE 13 1 NOP 1 +INC E 1C 1 NOP 1 +INC H 24 1 NOP 1 +INC HL 23 1 NOP 1 +INC IX 23DD 2 NOP 1 +INC IY 23FD 2 NOP 1 +INC L 2C 1 NOP 1 +INC SP 33 1 NOP 1 + + +IND "" AAED 2 NOP 1 +INDR "" BAED 2 NOP 1 +INI "" A2ED 2 NOP 1 +INIR "" B2ED 2 NOP 1 + +JP (HL) E9 1 NOP 1 +JP (IX) E9DD 2 NOP 1 +JP (IY) E9FD 2 NOP 1 +JP C,* DA 3 NOP 1 +JP M,* FA 3 NOP 1 +JP NC,* D2 3 NOP 1 +JP NZ,* C2 3 NOP 1 +JP P,* F2 3 NOP 1 +JP PE,* EA 3 NOP 1 +JP PO,* E2 3 NOP 1 +JP Z,* CA 3 NOP 1 +JP * C3 3 NOP 1 + +JR C,* 38 2 R1 1 +JR NC,* 30 2 R1 1 +JR NZ,* 20 2 R1 1 +JR Z,* 28 2 R1 1 +JR * 18 2 R1 1 + +LD (BC),A 02 1 NOP 1 +LD (DE),A 12 1 NOP 1 +LD (HL),A 77 1 NOP 1 +LD (HL),B 70 1 NOP 1 +LD (HL),C 71 1 NOP 1 +LD (HL),D 72 1 NOP 1 +LD (HL),E 73 1 NOP 1 +LD (HL),H 74 1 NOP 1 +LD (HL),L 75 1 NOP 1 +LD (HL),* 36 2 NOP 1 +LD (IX*),A 77DD 3 ZIX 1 +LD (IX*),B 70DD 3 ZIX 1 +LD (IX*),C 71DD 3 ZIX 1 +LD (IX*),D 72DD 3 ZIX 1 +LD (IX*),E 73DD 3 ZIX 1 +LD (IX*),H 74DD 3 ZIX 1 +LD (IX*),L 75DD 3 ZIX 1 +LD (IX*),* 36DD 4 ZIX 1 +LD (IY*),A 77FD 3 ZIX 1 +LD (IY*),B 70FD 3 ZIX 1 +LD (IY*),C 71FD 3 ZIX 1 +LD (IY*),D 72FD 3 ZIX 1 +LD (IY*),E 73FD 3 ZIX 1 +LD (IY*),H 74FD 3 ZIX 1 +LD (IY*),L 75FD 3 ZIX 1 +LD (IY*),* 36FD 4 ZIX 1 +LD (*),A 32 3 NOP 1 +LD (*),BC 43ED 4 NOP 1 +LD (*),DE 53ED 4 NOP 1 +LD (*),HL 22 3 NOP 1 +LD (*),IX 22DD 4 NOP 1 +LD (*),IY 22FD 4 NOP 1 +LD (*),SP 73ED 4 NOP 1 +LD A,(BC) 0A 1 NOP 1 +LD A,(DE) 1A 1 NOP 1 +LD A,(HL) 7E 1 NOP 1 +LD A,(IX*) 7EDD 3 ZIX 1 +LD A,(IY*) 7EFD 3 ZIX 1 +LD A,A 7F 1 NOP 1 +LD A,B 78 1 NOP 1 +LD A,C 79 1 NOP 1 +LD A,D 7A 1 NOP 1 +LD A,E 7B 1 NOP 1 +LD A,H 7C 1 NOP 1 +LD A,I 57ED 2 NOP 1 +LD A,L 7D 1 NOP 1 +LD A,R 5FED 2 NOP 1 +LD A,(*) 3A 3 NOP 1 +LD A,* 3E 2 NOP 1 +LD B,(HL) 46 1 NOP 1 +LD B,(IX*) 46DD 3 ZIX 1 +LD B,(IY*) 46FD 3 ZIX 1 +LD B,A 47 1 NOP 1 +LD B,B 40 1 NOP 1 +LD B,C 41 1 NOP 1 +LD B,D 42 1 NOP 1 +LD B,E 43 1 NOP 1 +LD B,H 44 1 NOP 1 +LD B,L 45 1 NOP 1 +LD B,* 06 2 NOP 1 +LD BC,(*) 4BED 4 NOP 1 +LD BC,* 01 3 NOP 1 +LD C,(HL) 4E 1 NOP 1 +LD C,(IX*) 4EDD 3 ZIX 1 +LD C,(IY*) 4EFD 3 ZIX 1 +LD C,A 4F 1 NOP 1 +LD C,B 48 1 NOP 1 +LD C,C 49 1 NOP 1 +LD C,D 4A 1 NOP 1 +LD C,E 4B 1 NOP 1 +LD C,H 4C 1 NOP 1 +LD C,L 4D 1 NOP 1 +LD C,* 0E 2 NOP 1 +LD D,(HL) 56 1 NOP 1 +LD D,(IX*) 56DD 3 ZIX 1 +LD D,(IY*) 56FD 3 ZIX 1 +LD D,A 57 1 NOP 1 +LD D,B 50 1 NOP 1 +LD D,C 51 1 NOP 1 +LD D,D 52 1 NOP 1 +LD D,E 53 1 NOP 1 +LD D,H 54 1 NOP 1 +LD D,L 55 1 NOP 1 +LD D,* 16 2 NOP 1 +LD DE,(*) 5BED 4 NOP 1 +LD DE,* 11 3 NOP 1 +LD E,(HL) 5E 1 NOP 1 +LD E,(IX*) 5EDD 3 ZIX 1 +LD E,(IY*) 5EFD 3 ZIX 1 +LD E,A 5F 1 NOP 1 +LD E,B 58 1 NOP 1 +LD E,C 59 1 NOP 1 +LD E,D 5A 1 NOP 1 +LD E,E 5B 1 NOP 1 +LD E,H 5C 1 NOP 1 +LD E,L 5D 1 NOP 1 +LD E,* 1E 2 NOP 1 +LD H,(HL) 66 1 NOP 1 +LD H,(IX*) 66DD 3 ZIX 1 +LD H,(IY*) 66FD 3 ZIX 1 +LD H,A 67 1 NOP 1 +LD H,B 60 1 NOP 1 +LD H,C 61 1 NOP 1 +LD H,D 62 1 NOP 1 +LD H,E 63 1 NOP 1 +LD H,H 64 1 NOP 1 +LD H,L 65 1 NOP 1 +LD H,* 26 2 NOP 1 +LD HL,(*) 2A 3 NOP 1 +LD HL,* 21 3 NOP 1 +LD I,A 47ED 2 NOP 1 +LD IX,(*) 2ADD 4 NOP 1 +LD IX,* 21DD 4 NOP 1 +LD IY,(*) 2AFD 4 NOP 1 +LD IY,* 21FD 4 NOP 1 +LD L,(HL) 6E 1 NOP 1 +LD L,(IX*) 6EDD 3 ZIX 1 +LD L,(IY*) 6EFD 3 ZIX 1 +LD L,A 6F 1 NOP 1 +LD L,B 68 1 NOP 1 +LD L,C 69 1 NOP 1 +LD L,D 6A 1 NOP 1 +LD L,E 6B 1 NOP 1 +LD L,H 6C 1 NOP 1 +LD L,L 6D 1 NOP 1 +LD L,* 2E 2 NOP 1 +LD R,A 4FED 2 NOP 1 +LD SP,(*) 7BED 4 NOP 1 +LD SP,HL F9 1 NOP 1 +LD SP,IX F9DD 2 NOP 1 +LD SP,IY F9FD 2 NOP 1 +LD SP,* 31 3 NOP 1 +LDD "" A8ED 2 NOP 1 +LDDR "" B8ED 2 NOP 1 +LDI "" A0ED 2 NOP 1 +LDIR "" B0ED 2 NOP 1 +NEG "" 44ED 2 NOP 1 +NOP "" 00 1 NOP 1 + +MLT BC 4CED 2 NOP 1 +MLT DE 5CED 2 NOP 1 +MLT HL 6CED 2 NOP 1 +MLT SP 7CED 2 NOP 1 + +OR (HL) B6 1 NOP 1 +OR (IX*) B6DD 3 ZIX 1 +OR (IY*) B6FD 3 ZIX 1 +OR A B7 1 NOP 1 +OR B B0 1 NOP 1 +OR C B1 1 NOP 1 +OR D B2 1 NOP 1 +OR E B3 1 NOP 1 +OR H B4 1 NOP 1 +OR L B5 1 NOP 1 +OR * F6 2 NOP 1 + +OTDM "" 8BED 2 NOP 1 +OTDMR "" 9BED 2 NOP 1 +OTDR "" BBED 2 NOP 1 +OTIM "" 83ED 2 NOP 1 +OTIMR "" 93ED 2 NOP 1 +OTIR "" B3ED 2 NOP 1 + +OUT (C),A 79ED 2 NOP 1 +OUT (C),B 41ED 2 NOP 1 +OUT (C),C 49ED 2 NOP 1 +OUT (C),D 51ED 2 NOP 1 +OUT (C),E 59ED 2 NOP 1 +OUT (C),H 61ED 2 NOP 1 +OUT (C),L 69ED 2 NOP 1 +OUT (*),A D3 2 NOP 1 + +OUT0 (*),A 39ED 3 NOP 1 +OUT0 (*),B 01ED 3 NOP 1 +OUT0 (*),C 09ED 3 NOP 1 +OUT0 (*),D 11ED 3 NOP 1 +OUT0 (*),E 19ED 3 NOP 1 +OUT0 (*),H 21ED 3 NOP 1 +OUT0 (*),L 29ED 3 NOP 1 + +OUTD "" ABED 2 NOP 1 +OUTI "" A3ED 2 NOP 1 + +POP AF F1 1 NOP 1 +POP BC C1 1 NOP 1 +POP DE D1 1 NOP 1 +POP HL E1 1 NOP 1 +POP IX E1DD 2 NOP 1 +POP IY E1FD 2 NOP 1 + +PUSH AF F5 1 NOP 1 +PUSH BC C5 1 NOP 1 +PUSH DE D5 1 NOP 1 +PUSH HL E5 1 NOP 1 +PUSH IX E5DD 2 NOP 1 +PUSH IY E5FD 2 NOP 1 + +RES *,(HL) 86CB 2 ZBIT 1 +RES *,(IX*) CBDD 4 ZBIT 1 0 8600 +RES *,(IY*) CBFD 4 ZBIT 1 0 8600 +RES *,A 87CB 2 ZBIT 1 +RES *,B 80CB 2 ZBIT 1 +RES *,C 81CB 2 ZBIT 1 +RES *,D 82CB 2 ZBIT 1 +RES *,E 83CB 2 ZBIT 1 +RES *,H 84CB 2 ZBIT 1 +RES *,L 85CB 2 ZBIT 1 + +RET "" C9 1 NOP 1 +RET C D8 1 NOP 1 +RET M F8 1 NOP 1 +RET NC D0 1 NOP 1 +RET NZ C0 1 NOP 1 +RET P F0 1 NOP 1 +RET PE E8 1 NOP 1 +RET PO E0 1 NOP 1 +RET Z C8 1 NOP 1 +RETI "" 4DED 2 NOP 1 +RETN "" 45ED 2 NOP 1 + +RL (HL) 16CB 2 NOP 1 +RL (IX*) CBDD 4 ZIX 1 0 1600 +RL (IY*) CBFD 4 ZIX 1 0 1600 +RL A 17CB 2 NOP 1 +RL B 10CB 2 NOP 1 +RL C 11CB 2 NOP 1 +RL D 12CB 2 NOP 1 +RL E 13CB 2 NOP 1 +RL H 14CB 2 NOP 1 +RL L 15CB 2 NOP 1 +RLA "" 17 1 NOP 1 + +RLC (HL) 06CB 2 NOP 1 +RLC (IX*) CBDD 4 ZIX 1 0 0600 +RLC (IY*) CBFD 4 ZIX 1 0 0600 +RLC A 07CB 2 NOP 1 +RLC B 00CB 2 NOP 1 +RLC C 01CB 2 NOP 1 +RLC D 02CB 2 NOP 1 +RLC E 03CB 2 NOP 1 +RLC H 04CB 2 NOP 1 +RLC L 05CB 2 NOP 1 +RLCA "" 07 1 NOP 1 +RLD "" 6FED 2 NOP 1 + +RR (HL) 1ECB 2 NOP 1 +RR (IX*) CBDD 4 ZIX 1 0 1E00 +RR (IY*) CBFD 4 ZIX 1 0 1E00 +RR A 1FCB 2 NOP 1 +RR B 18CB 2 NOP 1 +RR C 19CB 2 NOP 1 +RR D 1ACB 2 NOP 1 +RR E 1BCB 2 NOP 1 +RR H 1CCB 2 NOP 1 +RR L 1DCB 2 NOP 1 +RRA "" 1F 1 NOP 1 +RRC (HL) 0ECB 2 NOP 1 +RRC (IX*) CBDD 4 ZIX 1 0 0E00 +RRC (IY*) CBFD 4 ZIX 1 0 0E00 +RRC A 0FCB 2 NOP 1 +RRC B 08CB 2 NOP 1 +RRC C 09CB 2 NOP 1 +RRC D 0ACB 2 NOP 1 +RRC E 0BCB 2 NOP 1 +RRC H 0CCB 2 NOP 1 +RRC L 0DCB 2 NOP 1 +RRCA "" 0F 1 NOP 1 +RRD "" 67ED 2 NOP 1 + +RST 00H C7 1 NOP 1 +RST 08H CF 1 NOP 1 +RST 10H D7 1 NOP 1 +RST 18H DF 1 NOP 1 +RST 20H E7 1 NOP 1 +RST 28H EF 1 NOP 1 +RST 30H F7 1 NOP 1 +RST 38H FF 1 NOP 1 + +/* Alternate form of above +RST 00 C7 1 NOP 1 +RST 08 CF 1 NOP 1 +RST 10 D7 1 NOP 1 +RST 18 DF 1 NOP 1 +RST 20 E7 1 NOP 1 +RST 28 EF 1 NOP 1 +RST 30 F7 1 NOP 1 +RST 38 FF 1 NOP 1 + +SBC A,(HL) 9E 1 NOP 1 +SBC A,(IX*) 9EDD 3 ZIX 1 +SBC A,(IY*) 9EFD 3 ZIX 1 +SBC A,A 9F 1 NOP 1 +SBC A,B 98 1 NOP 1 +SBC A,C 99 1 NOP 1 +SBC A,D 9A 1 NOP 1 +SBC A,E 9B 1 NOP 1 +SBC A,H 9C 1 NOP 1 +SBC A,L 9D 1 NOP 1 +SBC HL,BC 42ED 2 NOP 1 +SBC HL,DE 52ED 2 NOP 1 +SBC HL,HL 62ED 2 NOP 1 +SBC HL,SP 72ED 2 NOP 1 +SBC A,* DE 2 NOP 1 +SCF "" 37 1 NOP 1 + +SET *,(HL) C6CB 2 ZBIT 1 +SET *,(IX*) CBDD 4 ZBIT 1 0 C600 +SET *,(IY*) CBFD 4 ZBIT 1 0 C600 +SET *,A C7CB 2 ZBIT 1 +SET *,B C0CB 2 ZBIT 1 +SET *,C C1CB 2 ZBIT 1 +SET *,D C2CB 2 ZBIT 1 +SET *,E C3CB 2 ZBIT 1 +SET *,H C4CB 2 ZBIT 1 +SET *,L C5CB 2 ZBIT 1 + +SLA (HL) 26CB 2 NOP 1 +SLA (IX*) CBDD 4 ZIX 1 0 2600 +SLA (IY*) CBFD 4 ZIX 1 0 2600 +SLA A 27CB 2 NOP 1 +SLA B 20CB 2 NOP 1 +SLA C 21CB 2 NOP 1 +SLA D 22CB 2 NOP 1 +SLA E 23CB 2 NOP 1 +SLA H 24CB 2 NOP 1 +SLA L 25CB 2 NOP 1 + +SLP "" 76ED 2 NOP 1 + +SRA (HL) 2ECB 2 NOP 1 +SRA (IX*) CBDD 4 ZIX 1 0 2E00 +SRA (IY*) CBFD 4 ZIX 1 0 2E00 +SRA A 2FCB 2 NOP 1 +SRA B 28CB 2 NOP 1 +SRA C 29CB 2 NOP 1 +SRA D 2ACB 2 NOP 1 +SRA E 2BCB 2 NOP 1 +SRA H 2CCB 2 NOP 1 +SRA L 2DCB 2 NOP 1 + +SRL (HL) 3ECB 2 NOP 1 +SRL (IX*) CBDD 4 ZIX 1 0 3E00 +SRL (IY*) CBFD 4 ZIX 1 0 3E00 +SRL A 3FCB 2 NOP 1 +SRL B 38CB 2 NOP 1 +SRL C 39CB 2 NOP 1 +SRL D 3ACB 2 NOP 1 +SRL E 3BCB 2 NOP 1 +SRL H 3CCB 2 NOP 1 +SRL L 3DCB 2 NOP 1 + +SUB (HL) 96 1 NOP 1 +SUB (IX*) 96DD 3 ZIX 1 +SUB (IY*) 96FD 3 ZIX 1 +SUB A 97 1 NOP 1 +SUB B 90 1 NOP 1 +SUB C 91 1 NOP 1 +SUB D 92 1 NOP 1 +SUB E 93 1 NOP 1 +SUB H 94 1 NOP 1 +SUB L 95 1 NOP 1 +SUB * D6 2 NOP 1 + +TST A 3CED 2 NOP 1 +TST B 04ED 2 NOP 1 +TST C 0CED 2 NOP 1 +TST D 14ED 2 NOP 1 +TST E 1CED 2 NOP 1 +TST H 24ED 2 NOP 1 +TST L 2CED 2 NOP 1 +TST (HL) 34ED 2 NOP 1 +TST * 64ED 3 NOP 1 + +TSTIO * 74ED 3 NOP 1 + +XOR (HL) AE 1 NOP 1 +XOR (IX*) AEDD 3 ZIX 1 +XOR (IY*) AEFD 3 ZIX 1 +XOR A AF 1 NOP 1 +XOR B A8 1 NOP 1 +XOR C A9 1 NOP 1 +XOR D AA 1 NOP 1 +XOR E AB 1 NOP 1 +XOR H AC 1 NOP 1 +XOR L AD 1 NOP 1 +XOR * EE 2 NOP 1