# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS

Auto\-converter support class. Those objects can be provided in [IInstruction](IInstruction) implementations. They are used by [converters](IEConverter) to auto\-convert low\-level instructions to IR.

## Constructor: ACS
- parameter: `opsem`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS.OPS`
- parameter: `opndsem`, type: `int[]`

Description: Create an auto\-conversion semantic description.
parameter: opsem: opcode semantic
parameter: opndsem: operand semantic flags

## Constructor: ACS
- parameter: `opsem`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS.OPS`
- parameter: `operationBitsize`, type: `java.lang.Integer`
- parameter: `extensionMode`, type: `java.lang.Integer`
- parameter: `opndsem`, type: `int[]`

Description: Create an auto\-conversion semantic description.
parameter: opsem: opcode semantic
parameter: operationBitsize: operation size, in bits
parameter: extensionMode: extension mode
parameter: opndsem: operand semantic flags

## Static Field: GPR0
Type: `int`

Constant value: `16777216`
Description: First general\-purpose register operand marker.

## Static Field: GPR1
Type: `int`

Constant value: `33554432`
Description: Second general\-purpose register operand marker.

## Static Field: GPR2
Type: `int`

Constant value: `50331648`
Description: Third general\-purpose register operand marker.

## Static Field: GPR3
Type: `int`

Constant value: `67108864`
Description: Fourth general\-purpose register operand marker.

## Static Field: GPR4
Type: `int`

Constant value: `83886080`
Description: Fifth general\-purpose register operand marker.

## Static Field: GPR5
Type: `int`

Constant value: `100663296`
Description: Sixth general\-purpose register operand marker.

## Static Field: GPR6
Type: `int`

Constant value: `117440512`
Description: Seventh general\-purpose register operand marker.

## Static Field: GPR7
Type: `int`

Constant value: `134217728`
Description: Eighth general\-purpose register operand marker.

## Static Field: GPR_MASK
Type: `int`

Constant value: `251658240`
Description: General\-purpose register operand mask.

## Static Field: IMM0
Type: `int`

Constant value: `65536`
Description: value zero \(immediate\); to be used with another source, from which the bitsize is inferred

## Static Field: dst
Type: `int`

Constant value: `1`
Description: Destination operand semantic flag.

## Static Field: dst_src1
Type: `int`

Constant value: `3`
Description: Operand semantic flag for a destination that is also the first source.

## Static Field: src1
Type: `int`

Constant value: `2`
Description: First source operand semantic flag.

## Static Field: src2
Type: `int`

Constant value: `4`
Description: Second source operand semantic flag.

## Static Field: src3
Type: `int`

Constant value: `8`
Description: Third source operand semantic flag.

## Method: extensionMode
- parameter: `mode`, type: `java.lang.Integer`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS`

Description: Set the extension mode.
parameter: mode: extension mode
return: this object

## Method: extensionMode
- return type: `java.lang.Integer`

Description: Retrieve the extension mode.
return: extension mode, or null if unspecified

## Method: findOperandIndexByFlag
- parameter: `fl`, type: `int`
- return type: `int`

Description: Find the first operand matching a flag.
parameter: fl: operand flag
return: operand index, or \-1 if none matches

## Method: getBitsize
- parameter: `def`, type: `int`
- return type: `int`

Description: Retrieve the operation size, falling back to a default.
parameter: def: default size, in bits
return: operation size, in bits

## Method: getOpcodeSemantic
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS.OPS`

Description: Retrieve the opcode semantic.
return: opcode semantic

## Method: getOperandSemanticFlags
- parameter: `idx`, type: `int`
- return type: `int`

Description: Retrieve semantic flags for an operand.
parameter: idx: operand index
return: operand semantic flags

## Method: isSignedExtension
- parameter: `def`, type: `boolean`
- return type: `boolean`

Description: Determine whether the extension mode is signed.
parameter: def: default value when the extension mode is unspecified
return: true for sign\-extension

## Method: maskOnSource
- parameter: `maskOnSource`, type: `java.lang.Long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS`

Description: Set a mask to apply to the calculated source before assignment.
parameter: maskOnSource: source mask
return: this object

## Method: maskOnSource
- return type: `java.lang.Long`

Description: Retrieve the mask to apply to the calculated source before assignment.
return: source mask, or null if unspecified

## Method: operationBitsize
- parameter: `bitsize`, type: `java.lang.Integer`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS`

Description: Set the operation size.
parameter: bitsize: operation size, in bits
return: this object

## Method: operationBitsize
- return type: `java.lang.Integer`

Description: Retrieve the operation size.
return: operation size, in bits, or null if unspecified

## Method: operationBitsizeAndSignExtendToDest
- parameter: `bitsize`, type: `java.lang.Integer`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS`

Description: Set the operation size and request sign\-extension to the destination size.
parameter: bitsize: operation size, in bits
return: this object

## Method: operationBitsizeAndZeroExtendToDest
- parameter: `bitsize`, type: `java.lang.Integer`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS`

Description: Set the operation size and request zero\-extension to the destination size.
parameter: bitsize: operation size, in bits
return: this object

## Static Method: make
- parameter: `opsem`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS.OPS`
- parameter: `opndsem`, type: `int[]`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ACS`

Description: Create an auto\-conversion semantic description.
parameter: opsem: opcode semantic
parameter: opndsem: operand semantic flags
return: an auto\-conversion semantic description

## Static Method: regSlice
- parameter: `begin`, type: `int`
- parameter: `end`, type: `int`
- return type: `int`

Description: Build a register slice semantic flag.
parameter: begin: slice start bit
parameter: end: slice end bit
return: register slice semantic flag

