mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 13:02:24 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			1003 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			1003 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Based on cmd/internal/obj/ppc64/a.out.go.
 | |
| //
 | |
| //	Copyright © 1994-1999 Lucent Technologies Inc.  All rights reserved.
 | |
| //	Portions Copyright © 1995-1997 C H Forsyth (forsyth@terzarima.net)
 | |
| //	Portions Copyright © 1997-1999 Vita Nuova Limited
 | |
| //	Portions Copyright © 2000-2008 Vita Nuova Holdings Limited (www.vitanuova.com)
 | |
| //	Portions Copyright © 2004,2006 Bruce Ellis
 | |
| //	Portions Copyright © 2005-2007 C H Forsyth (forsyth@terzarima.net)
 | |
| //	Revisions Copyright © 2000-2008 Lucent Technologies Inc. and others
 | |
| //	Portions Copyright © 2009 The Go Authors. All rights reserved.
 | |
| //
 | |
| // Permission is hereby granted, free of charge, to any person obtaining a copy
 | |
| // of this software and associated documentation files (the "Software"), to deal
 | |
| // in the Software without restriction, including without limitation the rights
 | |
| // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | |
| // copies of the Software, and to permit persons to whom the Software is
 | |
| // furnished to do so, subject to the following conditions:
 | |
| //
 | |
| // The above copyright notice and this permission notice shall be included in
 | |
| // all copies or substantial portions of the Software.
 | |
| //
 | |
| // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | |
| // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | |
| // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | |
| // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | |
| // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 | |
| // THE SOFTWARE.
 | |
| 
 | |
| package s390x
 | |
| 
 | |
| import "github.com/twitchyliquid64/golang-asm/obj"
 | |
| 
 | |
| //go:generate go run ../stringer.go -i $GOFILE -o anames.go -p s390x
 | |
| 
 | |
| const (
 | |
| 	NSNAME = 8
 | |
| 	NSYM   = 50
 | |
| 	NREG   = 16 // number of general purpose registers
 | |
| 	NFREG  = 16 // number of floating point registers
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	// General purpose registers (GPRs).
 | |
| 	REG_R0 = obj.RBaseS390X + iota
 | |
| 	REG_R1
 | |
| 	REG_R2
 | |
| 	REG_R3
 | |
| 	REG_R4
 | |
| 	REG_R5
 | |
| 	REG_R6
 | |
| 	REG_R7
 | |
| 	REG_R8
 | |
| 	REG_R9
 | |
| 	REG_R10
 | |
| 	REG_R11
 | |
| 	REG_R12
 | |
| 	REG_R13
 | |
| 	REG_R14
 | |
| 	REG_R15
 | |
| 
 | |
| 	// Floating point registers (FPRs).
 | |
| 	REG_F0
 | |
| 	REG_F1
 | |
| 	REG_F2
 | |
| 	REG_F3
 | |
| 	REG_F4
 | |
| 	REG_F5
 | |
| 	REG_F6
 | |
| 	REG_F7
 | |
| 	REG_F8
 | |
| 	REG_F9
 | |
| 	REG_F10
 | |
| 	REG_F11
 | |
| 	REG_F12
 | |
| 	REG_F13
 | |
| 	REG_F14
 | |
| 	REG_F15
 | |
| 
 | |
| 	// Vector registers (VRs) - only available when the vector
 | |
| 	// facility is installed.
 | |
| 	// V0-V15 are aliases for F0-F15.
 | |
| 	// We keep them in a separate space to make printing etc. easier
 | |
| 	// If the code generator ever emits vector instructions it will
 | |
| 	// need to take into account the aliasing.
 | |
| 	REG_V0
 | |
| 	REG_V1
 | |
| 	REG_V2
 | |
| 	REG_V3
 | |
| 	REG_V4
 | |
| 	REG_V5
 | |
| 	REG_V6
 | |
| 	REG_V7
 | |
| 	REG_V8
 | |
| 	REG_V9
 | |
| 	REG_V10
 | |
| 	REG_V11
 | |
| 	REG_V12
 | |
| 	REG_V13
 | |
| 	REG_V14
 | |
| 	REG_V15
 | |
| 	REG_V16
 | |
| 	REG_V17
 | |
| 	REG_V18
 | |
| 	REG_V19
 | |
| 	REG_V20
 | |
| 	REG_V21
 | |
| 	REG_V22
 | |
| 	REG_V23
 | |
| 	REG_V24
 | |
| 	REG_V25
 | |
| 	REG_V26
 | |
| 	REG_V27
 | |
| 	REG_V28
 | |
| 	REG_V29
 | |
| 	REG_V30
 | |
| 	REG_V31
 | |
| 
 | |
| 	// Access registers (ARs).
 | |
| 	// The thread pointer is typically stored in the register pair
 | |
| 	// AR0 and AR1.
 | |
| 	REG_AR0
 | |
| 	REG_AR1
 | |
| 	REG_AR2
 | |
| 	REG_AR3
 | |
| 	REG_AR4
 | |
| 	REG_AR5
 | |
| 	REG_AR6
 | |
| 	REG_AR7
 | |
| 	REG_AR8
 | |
| 	REG_AR9
 | |
| 	REG_AR10
 | |
| 	REG_AR11
 | |
| 	REG_AR12
 | |
| 	REG_AR13
 | |
| 	REG_AR14
 | |
| 	REG_AR15
 | |
| 
 | |
| 	REG_RESERVED // end of allocated registers
 | |
| 
 | |
| 	REGARG  = -1      // -1 disables passing the first argument in register
 | |
| 	REGRT1  = REG_R3  // used during zeroing of the stack - not reserved
 | |
| 	REGRT2  = REG_R4  // used during zeroing of the stack - not reserved
 | |
| 	REGTMP  = REG_R10 // scratch register used in the assembler and linker
 | |
| 	REGTMP2 = REG_R11 // scratch register used in the assembler and linker
 | |
| 	REGCTXT = REG_R12 // context for closures
 | |
| 	REGG    = REG_R13 // G
 | |
| 	REG_LR  = REG_R14 // link register
 | |
| 	REGSP   = REG_R15 // stack pointer
 | |
| )
 | |
| 
 | |
| // LINUX for zSeries ELF Application Binary Interface Supplement
 | |
| // https://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_zSeries/x1472.html
 | |
| var S390XDWARFRegisters = map[int16]int16{}
 | |
| 
 | |
| func init() {
 | |
| 	// f assigns dwarfregisters[from:to by step] = (base):((to-from)/step+base)
 | |
| 	f := func(from, step, to, base int16) {
 | |
| 		for r := int16(from); r <= to; r += step {
 | |
| 			S390XDWARFRegisters[r] = (r-from)/step + base
 | |
| 		}
 | |
| 	}
 | |
| 	f(REG_R0, 1, REG_R15, 0)
 | |
| 
 | |
| 	f(REG_F0, 2, REG_F6, 16)
 | |
| 	f(REG_F1, 2, REG_F7, 20)
 | |
| 	f(REG_F8, 2, REG_F14, 24)
 | |
| 	f(REG_F9, 2, REG_F15, 28)
 | |
| 
 | |
| 	f(REG_V0, 2, REG_V6, 16) // V0:15 aliased to F0:15
 | |
| 	f(REG_V1, 2, REG_V7, 20) // TODO what about V16:31?
 | |
| 	f(REG_V8, 2, REG_V14, 24)
 | |
| 	f(REG_V9, 2, REG_V15, 28)
 | |
| 
 | |
| 	f(REG_AR0, 1, REG_AR15, 48)
 | |
| }
 | |
| 
 | |
| const (
 | |
| 	BIG    = 32768 - 8
 | |
| 	DISP12 = 4096
 | |
| 	DISP16 = 65536
 | |
| 	DISP20 = 1048576
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	// mark flags
 | |
| 	LEAF = 1 << iota
 | |
| 	BRANCH
 | |
| 	USETMP // generated code of this Prog uses REGTMP
 | |
| )
 | |
| 
 | |
| const ( // comments from func aclass in asmz.go
 | |
| 	C_NONE     = iota
 | |
| 	C_REG      // general-purpose register (64-bit)
 | |
| 	C_FREG     // floating-point register (64-bit)
 | |
| 	C_VREG     // vector register (128-bit)
 | |
| 	C_AREG     // access register (32-bit)
 | |
| 	C_ZCON     // constant == 0
 | |
| 	C_SCON     // 0 <= constant <= 0x7fff (positive int16)
 | |
| 	C_UCON     // constant & 0xffff == 0 (int16 or uint16)
 | |
| 	C_ADDCON   // 0 > constant >= -0x8000 (negative int16)
 | |
| 	C_ANDCON   // constant <= 0xffff
 | |
| 	C_LCON     // constant (int32 or uint32)
 | |
| 	C_DCON     // constant (int64 or uint64)
 | |
| 	C_SACON    // computed address, 16-bit displacement, possibly SP-relative
 | |
| 	C_LACON    // computed address, 32-bit displacement, possibly SP-relative
 | |
| 	C_DACON    // computed address, 64-bit displacment?
 | |
| 	C_SBRA     // short branch
 | |
| 	C_LBRA     // long branch
 | |
| 	C_SAUTO    // short auto
 | |
| 	C_LAUTO    // long auto
 | |
| 	C_ZOREG    // heap address, register-based, displacement == 0
 | |
| 	C_SOREG    // heap address, register-based, int16 displacement
 | |
| 	C_LOREG    // heap address, register-based, int32 displacement
 | |
| 	C_TLS_LE   // TLS - local exec model (for executables)
 | |
| 	C_TLS_IE   // TLS - initial exec model (for shared libraries loaded at program startup)
 | |
| 	C_GOK      // general address
 | |
| 	C_ADDR     // relocation for extern or static symbols (loads and stores)
 | |
| 	C_SYMADDR  // relocation for extern or static symbols (address taking)
 | |
| 	C_GOTADDR  // GOT slot for a symbol in -dynlink mode
 | |
| 	C_TEXTSIZE // text size
 | |
| 	C_ANY
 | |
| 	C_NCLASS // must be the last
 | |
| )
 | |
| 
 | |
| const (
 | |
| 	// integer arithmetic
 | |
| 	AADD = obj.ABaseS390X + obj.A_ARCHSPECIFIC + iota
 | |
| 	AADDC
 | |
| 	AADDE
 | |
| 	AADDW
 | |
| 	ADIVW
 | |
| 	ADIVWU
 | |
| 	ADIVD
 | |
| 	ADIVDU
 | |
| 	AMODW
 | |
| 	AMODWU
 | |
| 	AMODD
 | |
| 	AMODDU
 | |
| 	AMULLW
 | |
| 	AMULLD
 | |
| 	AMULHD
 | |
| 	AMULHDU
 | |
| 	AMLGR
 | |
| 	ASUB
 | |
| 	ASUBC
 | |
| 	ASUBV
 | |
| 	ASUBE
 | |
| 	ASUBW
 | |
| 	ANEG
 | |
| 	ANEGW
 | |
| 
 | |
| 	// integer moves
 | |
| 	AMOVWBR
 | |
| 	AMOVB
 | |
| 	AMOVBZ
 | |
| 	AMOVH
 | |
| 	AMOVHBR
 | |
| 	AMOVHZ
 | |
| 	AMOVW
 | |
| 	AMOVWZ
 | |
| 	AMOVD
 | |
| 	AMOVDBR
 | |
| 
 | |
| 	// conditional moves
 | |
| 	AMOVDEQ
 | |
| 	AMOVDGE
 | |
| 	AMOVDGT
 | |
| 	AMOVDLE
 | |
| 	AMOVDLT
 | |
| 	AMOVDNE
 | |
| 	ALOCR
 | |
| 	ALOCGR
 | |
| 
 | |
| 	// find leftmost one
 | |
| 	AFLOGR
 | |
| 
 | |
| 	// population count
 | |
| 	APOPCNT
 | |
| 
 | |
| 	// integer bitwise
 | |
| 	AAND
 | |
| 	AANDW
 | |
| 	AOR
 | |
| 	AORW
 | |
| 	AXOR
 | |
| 	AXORW
 | |
| 	ASLW
 | |
| 	ASLD
 | |
| 	ASRW
 | |
| 	ASRAW
 | |
| 	ASRD
 | |
| 	ASRAD
 | |
| 	ARLL
 | |
| 	ARLLG
 | |
| 	ARNSBG
 | |
| 	ARXSBG
 | |
| 	AROSBG
 | |
| 	ARNSBGT
 | |
| 	ARXSBGT
 | |
| 	AROSBGT
 | |
| 	ARISBG
 | |
| 	ARISBGN
 | |
| 	ARISBGZ
 | |
| 	ARISBGNZ
 | |
| 	ARISBHG
 | |
| 	ARISBLG
 | |
| 	ARISBHGZ
 | |
| 	ARISBLGZ
 | |
| 
 | |
| 	// floating point
 | |
| 	AFABS
 | |
| 	AFADD
 | |
| 	AFADDS
 | |
| 	AFCMPO
 | |
| 	AFCMPU
 | |
| 	ACEBR
 | |
| 	AFDIV
 | |
| 	AFDIVS
 | |
| 	AFMADD
 | |
| 	AFMADDS
 | |
| 	AFMOVD
 | |
| 	AFMOVS
 | |
| 	AFMSUB
 | |
| 	AFMSUBS
 | |
| 	AFMUL
 | |
| 	AFMULS
 | |
| 	AFNABS
 | |
| 	AFNEG
 | |
| 	AFNEGS
 | |
| 	ALEDBR
 | |
| 	ALDEBR
 | |
| 	ALPDFR
 | |
| 	ALNDFR
 | |
| 	AFSUB
 | |
| 	AFSUBS
 | |
| 	AFSQRT
 | |
| 	AFSQRTS
 | |
| 	AFIEBR
 | |
| 	AFIDBR
 | |
| 	ACPSDR
 | |
| 	ALTEBR
 | |
| 	ALTDBR
 | |
| 	ATCEB
 | |
| 	ATCDB
 | |
| 
 | |
| 	// move from GPR to FPR and vice versa
 | |
| 	ALDGR
 | |
| 	ALGDR
 | |
| 
 | |
| 	// convert from int32/int64 to float/float64
 | |
| 	ACEFBRA
 | |
| 	ACDFBRA
 | |
| 	ACEGBRA
 | |
| 	ACDGBRA
 | |
| 
 | |
| 	// convert from float/float64 to int32/int64
 | |
| 	ACFEBRA
 | |
| 	ACFDBRA
 | |
| 	ACGEBRA
 | |
| 	ACGDBRA
 | |
| 
 | |
| 	// convert from uint32/uint64 to float/float64
 | |
| 	ACELFBR
 | |
| 	ACDLFBR
 | |
| 	ACELGBR
 | |
| 	ACDLGBR
 | |
| 
 | |
| 	// convert from float/float64 to uint32/uint64
 | |
| 	ACLFEBR
 | |
| 	ACLFDBR
 | |
| 	ACLGEBR
 | |
| 	ACLGDBR
 | |
| 
 | |
| 	// compare
 | |
| 	ACMP
 | |
| 	ACMPU
 | |
| 	ACMPW
 | |
| 	ACMPWU
 | |
| 
 | |
| 	// test under mask
 | |
| 	ATMHH
 | |
| 	ATMHL
 | |
| 	ATMLH
 | |
| 	ATMLL
 | |
| 
 | |
| 	// insert program mask
 | |
| 	AIPM
 | |
| 
 | |
| 	// set program mask
 | |
| 	ASPM
 | |
| 
 | |
| 	// compare and swap
 | |
| 	ACS
 | |
| 	ACSG
 | |
| 
 | |
| 	// serialize
 | |
| 	ASYNC
 | |
| 
 | |
| 	// branch
 | |
| 	ABC
 | |
| 	ABCL
 | |
| 	ABRC
 | |
| 	ABEQ
 | |
| 	ABGE
 | |
| 	ABGT
 | |
| 	ABLE
 | |
| 	ABLT
 | |
| 	ABLEU
 | |
| 	ABLTU
 | |
| 	ABNE
 | |
| 	ABVC
 | |
| 	ABVS
 | |
| 	ASYSCALL
 | |
| 
 | |
| 	// branch on count
 | |
| 	ABRCT
 | |
| 	ABRCTG
 | |
| 
 | |
| 	// compare and branch
 | |
| 	ACRJ
 | |
| 	ACGRJ
 | |
| 	ACLRJ
 | |
| 	ACLGRJ
 | |
| 	ACIJ
 | |
| 	ACGIJ
 | |
| 	ACLIJ
 | |
| 	ACLGIJ
 | |
| 	ACMPBEQ
 | |
| 	ACMPBGE
 | |
| 	ACMPBGT
 | |
| 	ACMPBLE
 | |
| 	ACMPBLT
 | |
| 	ACMPBNE
 | |
| 	ACMPUBEQ
 | |
| 	ACMPUBGE
 | |
| 	ACMPUBGT
 | |
| 	ACMPUBLE
 | |
| 	ACMPUBLT
 | |
| 	ACMPUBNE
 | |
| 
 | |
| 	// storage-and-storage
 | |
| 	AMVC
 | |
| 	AMVCIN
 | |
| 	ACLC
 | |
| 	AXC
 | |
| 	AOC
 | |
| 	ANC
 | |
| 
 | |
| 	// load
 | |
| 	AEXRL
 | |
| 	ALARL
 | |
| 	ALA
 | |
| 	ALAY
 | |
| 
 | |
| 	// interlocked load and op
 | |
| 	ALAA
 | |
| 	ALAAG
 | |
| 	ALAAL
 | |
| 	ALAALG
 | |
| 	ALAN
 | |
| 	ALANG
 | |
| 	ALAX
 | |
| 	ALAXG
 | |
| 	ALAO
 | |
| 	ALAOG
 | |
| 
 | |
| 	// load/store multiple
 | |
| 	ALMY
 | |
| 	ALMG
 | |
| 	ASTMY
 | |
| 	ASTMG
 | |
| 
 | |
| 	// store clock
 | |
| 	ASTCK
 | |
| 	ASTCKC
 | |
| 	ASTCKE
 | |
| 	ASTCKF
 | |
| 
 | |
| 	// macros
 | |
| 	ACLEAR
 | |
| 
 | |
| 	// vector
 | |
| 	AVA
 | |
| 	AVAB
 | |
| 	AVAH
 | |
| 	AVAF
 | |
| 	AVAG
 | |
| 	AVAQ
 | |
| 	AVACC
 | |
| 	AVACCB
 | |
| 	AVACCH
 | |
| 	AVACCF
 | |
| 	AVACCG
 | |
| 	AVACCQ
 | |
| 	AVAC
 | |
| 	AVACQ
 | |
| 	AVACCC
 | |
| 	AVACCCQ
 | |
| 	AVN
 | |
| 	AVNC
 | |
| 	AVAVG
 | |
| 	AVAVGB
 | |
| 	AVAVGH
 | |
| 	AVAVGF
 | |
| 	AVAVGG
 | |
| 	AVAVGL
 | |
| 	AVAVGLB
 | |
| 	AVAVGLH
 | |
| 	AVAVGLF
 | |
| 	AVAVGLG
 | |
| 	AVCKSM
 | |
| 	AVCEQ
 | |
| 	AVCEQB
 | |
| 	AVCEQH
 | |
| 	AVCEQF
 | |
| 	AVCEQG
 | |
| 	AVCEQBS
 | |
| 	AVCEQHS
 | |
| 	AVCEQFS
 | |
| 	AVCEQGS
 | |
| 	AVCH
 | |
| 	AVCHB
 | |
| 	AVCHH
 | |
| 	AVCHF
 | |
| 	AVCHG
 | |
| 	AVCHBS
 | |
| 	AVCHHS
 | |
| 	AVCHFS
 | |
| 	AVCHGS
 | |
| 	AVCHL
 | |
| 	AVCHLB
 | |
| 	AVCHLH
 | |
| 	AVCHLF
 | |
| 	AVCHLG
 | |
| 	AVCHLBS
 | |
| 	AVCHLHS
 | |
| 	AVCHLFS
 | |
| 	AVCHLGS
 | |
| 	AVCLZ
 | |
| 	AVCLZB
 | |
| 	AVCLZH
 | |
| 	AVCLZF
 | |
| 	AVCLZG
 | |
| 	AVCTZ
 | |
| 	AVCTZB
 | |
| 	AVCTZH
 | |
| 	AVCTZF
 | |
| 	AVCTZG
 | |
| 	AVEC
 | |
| 	AVECB
 | |
| 	AVECH
 | |
| 	AVECF
 | |
| 	AVECG
 | |
| 	AVECL
 | |
| 	AVECLB
 | |
| 	AVECLH
 | |
| 	AVECLF
 | |
| 	AVECLG
 | |
| 	AVERIM
 | |
| 	AVERIMB
 | |
| 	AVERIMH
 | |
| 	AVERIMF
 | |
| 	AVERIMG
 | |
| 	AVERLL
 | |
| 	AVERLLB
 | |
| 	AVERLLH
 | |
| 	AVERLLF
 | |
| 	AVERLLG
 | |
| 	AVERLLV
 | |
| 	AVERLLVB
 | |
| 	AVERLLVH
 | |
| 	AVERLLVF
 | |
| 	AVERLLVG
 | |
| 	AVESLV
 | |
| 	AVESLVB
 | |
| 	AVESLVH
 | |
| 	AVESLVF
 | |
| 	AVESLVG
 | |
| 	AVESL
 | |
| 	AVESLB
 | |
| 	AVESLH
 | |
| 	AVESLF
 | |
| 	AVESLG
 | |
| 	AVESRA
 | |
| 	AVESRAB
 | |
| 	AVESRAH
 | |
| 	AVESRAF
 | |
| 	AVESRAG
 | |
| 	AVESRAV
 | |
| 	AVESRAVB
 | |
| 	AVESRAVH
 | |
| 	AVESRAVF
 | |
| 	AVESRAVG
 | |
| 	AVESRL
 | |
| 	AVESRLB
 | |
| 	AVESRLH
 | |
| 	AVESRLF
 | |
| 	AVESRLG
 | |
| 	AVESRLV
 | |
| 	AVESRLVB
 | |
| 	AVESRLVH
 | |
| 	AVESRLVF
 | |
| 	AVESRLVG
 | |
| 	AVX
 | |
| 	AVFAE
 | |
| 	AVFAEB
 | |
| 	AVFAEH
 | |
| 	AVFAEF
 | |
| 	AVFAEBS
 | |
| 	AVFAEHS
 | |
| 	AVFAEFS
 | |
| 	AVFAEZB
 | |
| 	AVFAEZH
 | |
| 	AVFAEZF
 | |
| 	AVFAEZBS
 | |
| 	AVFAEZHS
 | |
| 	AVFAEZFS
 | |
| 	AVFEE
 | |
| 	AVFEEB
 | |
| 	AVFEEH
 | |
| 	AVFEEF
 | |
| 	AVFEEBS
 | |
| 	AVFEEHS
 | |
| 	AVFEEFS
 | |
| 	AVFEEZB
 | |
| 	AVFEEZH
 | |
| 	AVFEEZF
 | |
| 	AVFEEZBS
 | |
| 	AVFEEZHS
 | |
| 	AVFEEZFS
 | |
| 	AVFENE
 | |
| 	AVFENEB
 | |
| 	AVFENEH
 | |
| 	AVFENEF
 | |
| 	AVFENEBS
 | |
| 	AVFENEHS
 | |
| 	AVFENEFS
 | |
| 	AVFENEZB
 | |
| 	AVFENEZH
 | |
| 	AVFENEZF
 | |
| 	AVFENEZBS
 | |
| 	AVFENEZHS
 | |
| 	AVFENEZFS
 | |
| 	AVFA
 | |
| 	AVFADB
 | |
| 	AWFADB
 | |
| 	AWFK
 | |
| 	AWFKDB
 | |
| 	AVFCE
 | |
| 	AVFCEDB
 | |
| 	AVFCEDBS
 | |
| 	AWFCEDB
 | |
| 	AWFCEDBS
 | |
| 	AVFCH
 | |
| 	AVFCHDB
 | |
| 	AVFCHDBS
 | |
| 	AWFCHDB
 | |
| 	AWFCHDBS
 | |
| 	AVFCHE
 | |
| 	AVFCHEDB
 | |
| 	AVFCHEDBS
 | |
| 	AWFCHEDB
 | |
| 	AWFCHEDBS
 | |
| 	AWFC
 | |
| 	AWFCDB
 | |
| 	AVCDG
 | |
| 	AVCDGB
 | |
| 	AWCDGB
 | |
| 	AVCDLG
 | |
| 	AVCDLGB
 | |
| 	AWCDLGB
 | |
| 	AVCGD
 | |
| 	AVCGDB
 | |
| 	AWCGDB
 | |
| 	AVCLGD
 | |
| 	AVCLGDB
 | |
| 	AWCLGDB
 | |
| 	AVFD
 | |
| 	AVFDDB
 | |
| 	AWFDDB
 | |
| 	AVLDE
 | |
| 	AVLDEB
 | |
| 	AWLDEB
 | |
| 	AVLED
 | |
| 	AVLEDB
 | |
| 	AWLEDB
 | |
| 	AVFM
 | |
| 	AVFMDB
 | |
| 	AWFMDB
 | |
| 	AVFMA
 | |
| 	AVFMADB
 | |
| 	AWFMADB
 | |
| 	AVFMS
 | |
| 	AVFMSDB
 | |
| 	AWFMSDB
 | |
| 	AVFPSO
 | |
| 	AVFPSODB
 | |
| 	AWFPSODB
 | |
| 	AVFLCDB
 | |
| 	AWFLCDB
 | |
| 	AVFLNDB
 | |
| 	AWFLNDB
 | |
| 	AVFLPDB
 | |
| 	AWFLPDB
 | |
| 	AVFSQ
 | |
| 	AVFSQDB
 | |
| 	AWFSQDB
 | |
| 	AVFS
 | |
| 	AVFSDB
 | |
| 	AWFSDB
 | |
| 	AVFTCI
 | |
| 	AVFTCIDB
 | |
| 	AWFTCIDB
 | |
| 	AVGFM
 | |
| 	AVGFMB
 | |
| 	AVGFMH
 | |
| 	AVGFMF
 | |
| 	AVGFMG
 | |
| 	AVGFMA
 | |
| 	AVGFMAB
 | |
| 	AVGFMAH
 | |
| 	AVGFMAF
 | |
| 	AVGFMAG
 | |
| 	AVGEF
 | |
| 	AVGEG
 | |
| 	AVGBM
 | |
| 	AVZERO
 | |
| 	AVONE
 | |
| 	AVGM
 | |
| 	AVGMB
 | |
| 	AVGMH
 | |
| 	AVGMF
 | |
| 	AVGMG
 | |
| 	AVISTR
 | |
| 	AVISTRB
 | |
| 	AVISTRH
 | |
| 	AVISTRF
 | |
| 	AVISTRBS
 | |
| 	AVISTRHS
 | |
| 	AVISTRFS
 | |
| 	AVL
 | |
| 	AVLR
 | |
| 	AVLREP
 | |
| 	AVLREPB
 | |
| 	AVLREPH
 | |
| 	AVLREPF
 | |
| 	AVLREPG
 | |
| 	AVLC
 | |
| 	AVLCB
 | |
| 	AVLCH
 | |
| 	AVLCF
 | |
| 	AVLCG
 | |
| 	AVLEH
 | |
| 	AVLEF
 | |
| 	AVLEG
 | |
| 	AVLEB
 | |
| 	AVLEIH
 | |
| 	AVLEIF
 | |
| 	AVLEIG
 | |
| 	AVLEIB
 | |
| 	AVFI
 | |
| 	AVFIDB
 | |
| 	AWFIDB
 | |
| 	AVLGV
 | |
| 	AVLGVB
 | |
| 	AVLGVH
 | |
| 	AVLGVF
 | |
| 	AVLGVG
 | |
| 	AVLLEZ
 | |
| 	AVLLEZB
 | |
| 	AVLLEZH
 | |
| 	AVLLEZF
 | |
| 	AVLLEZG
 | |
| 	AVLM
 | |
| 	AVLP
 | |
| 	AVLPB
 | |
| 	AVLPH
 | |
| 	AVLPF
 | |
| 	AVLPG
 | |
| 	AVLBB
 | |
| 	AVLVG
 | |
| 	AVLVGB
 | |
| 	AVLVGH
 | |
| 	AVLVGF
 | |
| 	AVLVGG
 | |
| 	AVLVGP
 | |
| 	AVLL
 | |
| 	AVMX
 | |
| 	AVMXB
 | |
| 	AVMXH
 | |
| 	AVMXF
 | |
| 	AVMXG
 | |
| 	AVMXL
 | |
| 	AVMXLB
 | |
| 	AVMXLH
 | |
| 	AVMXLF
 | |
| 	AVMXLG
 | |
| 	AVMRH
 | |
| 	AVMRHB
 | |
| 	AVMRHH
 | |
| 	AVMRHF
 | |
| 	AVMRHG
 | |
| 	AVMRL
 | |
| 	AVMRLB
 | |
| 	AVMRLH
 | |
| 	AVMRLF
 | |
| 	AVMRLG
 | |
| 	AVMN
 | |
| 	AVMNB
 | |
| 	AVMNH
 | |
| 	AVMNF
 | |
| 	AVMNG
 | |
| 	AVMNL
 | |
| 	AVMNLB
 | |
| 	AVMNLH
 | |
| 	AVMNLF
 | |
| 	AVMNLG
 | |
| 	AVMAE
 | |
| 	AVMAEB
 | |
| 	AVMAEH
 | |
| 	AVMAEF
 | |
| 	AVMAH
 | |
| 	AVMAHB
 | |
| 	AVMAHH
 | |
| 	AVMAHF
 | |
| 	AVMALE
 | |
| 	AVMALEB
 | |
| 	AVMALEH
 | |
| 	AVMALEF
 | |
| 	AVMALH
 | |
| 	AVMALHB
 | |
| 	AVMALHH
 | |
| 	AVMALHF
 | |
| 	AVMALO
 | |
| 	AVMALOB
 | |
| 	AVMALOH
 | |
| 	AVMALOF
 | |
| 	AVMAL
 | |
| 	AVMALB
 | |
| 	AVMALHW
 | |
| 	AVMALF
 | |
| 	AVMAO
 | |
| 	AVMAOB
 | |
| 	AVMAOH
 | |
| 	AVMAOF
 | |
| 	AVME
 | |
| 	AVMEB
 | |
| 	AVMEH
 | |
| 	AVMEF
 | |
| 	AVMH
 | |
| 	AVMHB
 | |
| 	AVMHH
 | |
| 	AVMHF
 | |
| 	AVMLE
 | |
| 	AVMLEB
 | |
| 	AVMLEH
 | |
| 	AVMLEF
 | |
| 	AVMLH
 | |
| 	AVMLHB
 | |
| 	AVMLHH
 | |
| 	AVMLHF
 | |
| 	AVMLO
 | |
| 	AVMLOB
 | |
| 	AVMLOH
 | |
| 	AVMLOF
 | |
| 	AVML
 | |
| 	AVMLB
 | |
| 	AVMLHW
 | |
| 	AVMLF
 | |
| 	AVMO
 | |
| 	AVMOB
 | |
| 	AVMOH
 | |
| 	AVMOF
 | |
| 	AVNO
 | |
| 	AVNOT
 | |
| 	AVO
 | |
| 	AVPK
 | |
| 	AVPKH
 | |
| 	AVPKF
 | |
| 	AVPKG
 | |
| 	AVPKLS
 | |
| 	AVPKLSH
 | |
| 	AVPKLSF
 | |
| 	AVPKLSG
 | |
| 	AVPKLSHS
 | |
| 	AVPKLSFS
 | |
| 	AVPKLSGS
 | |
| 	AVPKS
 | |
| 	AVPKSH
 | |
| 	AVPKSF
 | |
| 	AVPKSG
 | |
| 	AVPKSHS
 | |
| 	AVPKSFS
 | |
| 	AVPKSGS
 | |
| 	AVPERM
 | |
| 	AVPDI
 | |
| 	AVPOPCT
 | |
| 	AVREP
 | |
| 	AVREPB
 | |
| 	AVREPH
 | |
| 	AVREPF
 | |
| 	AVREPG
 | |
| 	AVREPI
 | |
| 	AVREPIB
 | |
| 	AVREPIH
 | |
| 	AVREPIF
 | |
| 	AVREPIG
 | |
| 	AVSCEF
 | |
| 	AVSCEG
 | |
| 	AVSEL
 | |
| 	AVSL
 | |
| 	AVSLB
 | |
| 	AVSLDB
 | |
| 	AVSRA
 | |
| 	AVSRAB
 | |
| 	AVSRL
 | |
| 	AVSRLB
 | |
| 	AVSEG
 | |
| 	AVSEGB
 | |
| 	AVSEGH
 | |
| 	AVSEGF
 | |
| 	AVST
 | |
| 	AVSTEH
 | |
| 	AVSTEF
 | |
| 	AVSTEG
 | |
| 	AVSTEB
 | |
| 	AVSTM
 | |
| 	AVSTL
 | |
| 	AVSTRC
 | |
| 	AVSTRCB
 | |
| 	AVSTRCH
 | |
| 	AVSTRCF
 | |
| 	AVSTRCBS
 | |
| 	AVSTRCHS
 | |
| 	AVSTRCFS
 | |
| 	AVSTRCZB
 | |
| 	AVSTRCZH
 | |
| 	AVSTRCZF
 | |
| 	AVSTRCZBS
 | |
| 	AVSTRCZHS
 | |
| 	AVSTRCZFS
 | |
| 	AVS
 | |
| 	AVSB
 | |
| 	AVSH
 | |
| 	AVSF
 | |
| 	AVSG
 | |
| 	AVSQ
 | |
| 	AVSCBI
 | |
| 	AVSCBIB
 | |
| 	AVSCBIH
 | |
| 	AVSCBIF
 | |
| 	AVSCBIG
 | |
| 	AVSCBIQ
 | |
| 	AVSBCBI
 | |
| 	AVSBCBIQ
 | |
| 	AVSBI
 | |
| 	AVSBIQ
 | |
| 	AVSUMG
 | |
| 	AVSUMGH
 | |
| 	AVSUMGF
 | |
| 	AVSUMQ
 | |
| 	AVSUMQF
 | |
| 	AVSUMQG
 | |
| 	AVSUM
 | |
| 	AVSUMB
 | |
| 	AVSUMH
 | |
| 	AVTM
 | |
| 	AVUPH
 | |
| 	AVUPHB
 | |
| 	AVUPHH
 | |
| 	AVUPHF
 | |
| 	AVUPLH
 | |
| 	AVUPLHB
 | |
| 	AVUPLHH
 | |
| 	AVUPLHF
 | |
| 	AVUPLL
 | |
| 	AVUPLLB
 | |
| 	AVUPLLH
 | |
| 	AVUPLLF
 | |
| 	AVUPL
 | |
| 	AVUPLB
 | |
| 	AVUPLHW
 | |
| 	AVUPLF
 | |
| 	AVMSLG
 | |
| 	AVMSLEG
 | |
| 	AVMSLOG
 | |
| 	AVMSLEOG
 | |
| 
 | |
| 	ANOPH // NOP
 | |
| 
 | |
| 	// binary
 | |
| 	ABYTE
 | |
| 	AWORD
 | |
| 	ADWORD
 | |
| 
 | |
| 	// end marker
 | |
| 	ALAST
 | |
| 
 | |
| 	// aliases
 | |
| 	ABR = obj.AJMP
 | |
| 	ABL = obj.ACALL
 | |
| )
 |