mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-12-27 05:03:11 +00: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
|
|
)
|