2020-02-15 00:08:27 +00:00
|
|
|
IntErr enum<int16> {
|
|
|
|
imBadInptParam = $0b01,
|
|
|
|
imIllegalChar = $0b02,
|
|
|
|
imOverflow = $0b03,
|
|
|
|
imStrOverflow = $0b04,
|
|
|
|
}
|
|
|
|
|
|
|
|
IntDivRecPtr = ^IntDivRec;
|
|
|
|
IntDivRec struct {
|
|
|
|
quotient: int16;
|
|
|
|
remainder: int16;
|
|
|
|
}
|
|
|
|
|
|
|
|
LongDivRecPtr = ^LongDivRec;
|
|
|
|
LongDivRec struct {
|
|
|
|
quotient: int32;
|
|
|
|
remainder: int32;
|
|
|
|
}
|
|
|
|
|
|
|
|
DivRecPtr = ^DivRec;
|
|
|
|
DivRec = LongDivRec;
|
|
|
|
|
|
|
|
LongMulRecPtr = ^LongMulRec;
|
|
|
|
LongMulRec struct {
|
|
|
|
lsResult: int32;
|
|
|
|
msResult: int32;
|
|
|
|
}
|
|
|
|
|
|
|
|
WordDivRecPtr = ^WordDivRec;
|
|
|
|
WordDivRec struct {
|
|
|
|
quotient: int16;
|
|
|
|
remainder: int16;
|
|
|
|
}
|
|
|
|
|
|
|
|
IMBootInit() {
|
|
|
|
$0b, $01
|
|
|
|
}
|
|
|
|
IMStartUp() {
|
|
|
|
$0b, $02
|
|
|
|
}
|
|
|
|
IMShutDown() {
|
|
|
|
$0b, $03
|
|
|
|
}
|
|
|
|
IMVersion(): int16 {
|
|
|
|
$0b, $04
|
|
|
|
}
|
|
|
|
IMReset() {
|
|
|
|
$0b, $05
|
|
|
|
}
|
|
|
|
IMStatus(): bool {
|
|
|
|
$0b, $06
|
|
|
|
}
|
|
|
|
Dec2Int(strPtr: Ptr, strLength: int16, signedFlag: bool): int16 {
|
|
|
|
$0b, $28
|
|
|
|
}
|
|
|
|
Dec2Long(strPtr: Ptr, strLength: int16, signedFlag: bool): int32 {
|
|
|
|
$0b, $29
|
|
|
|
}
|
|
|
|
Fix2Frac(fixedValue: Fixed): Frac {
|
|
|
|
$0b, $1c
|
|
|
|
}
|
|
|
|
Fix2Long(fixedValue: Fixed): int32 {
|
|
|
|
$0b, $1b
|
|
|
|
}
|
|
|
|
Fix2X(fixedValue: Fixed, extendPtr: ^Extended) {
|
|
|
|
$0b, $1e
|
|
|
|
}
|
|
|
|
FixATan2(input1: int32, input2: int32): Fixed {
|
|
|
|
$0b, $17
|
|
|
|
}
|
|
|
|
FixDiv(dividend: int32, divisor: int32): Fixed {
|
|
|
|
$0b, $11
|
|
|
|
}
|
|
|
|
FixMul(multiplcand: Fixed, multipler: Fixed): Fixed {
|
|
|
|
$0b, $0f
|
|
|
|
}
|
|
|
|
FixRatio(numerator: int16, denominatior: int16): Fixed {
|
|
|
|
$0b, $0e
|
|
|
|
}
|
|
|
|
FixRound(fixedValue: Fixed): int16 {
|
|
|
|
$0b, $13
|
|
|
|
}
|
|
|
|
Frac2Fix(fracValue: Frac): Fixed {
|
|
|
|
$0b, $1d
|
|
|
|
}
|
|
|
|
Frac2X(fracValue: Frac, extendPtr: ^Extended) {
|
|
|
|
$0b, $1f
|
|
|
|
}
|
|
|
|
FracCos(angle: Fixed): Frac {
|
|
|
|
$0b, $15
|
|
|
|
}
|
|
|
|
FracDiv(divided: int32, divisor: int32): Frac {
|
|
|
|
$0b, $12
|
|
|
|
}
|
|
|
|
FracMul(muliplicand: Frac, multiplier: Frac): Frac {
|
|
|
|
$0b, $10
|
|
|
|
}
|
|
|
|
FracSin(angle: Fixed): Frac {
|
|
|
|
$0b, $16
|
|
|
|
}
|
|
|
|
FracSqrt(fracValue:Frac): Frac {
|
|
|
|
$0b, $14
|
|
|
|
}
|
|
|
|
Hex2Int(strPtr: Ptr, strLength: int16): int16 {
|
|
|
|
$0b, $24
|
|
|
|
}
|
|
|
|
Hex2Long(strPtr: Ptr, strLength: int16): int32 {
|
|
|
|
$0b, $25
|
|
|
|
}
|
|
|
|
HexIt(intValue: int16): int32 {
|
|
|
|
$0b, $2a
|
|
|
|
}
|
|
|
|
HiWord(longValue: int32): int16 {
|
|
|
|
$0b, $18
|
|
|
|
}
|
|
|
|
Int2Dec(wordValue: int16, strPtr: Ptr, strLength: int16, signedFlag: bool) {
|
|
|
|
$0b, $26
|
|
|
|
}
|
|
|
|
Int2Hex(intValue: int16, strPtr: Ptr, strLength: int16) {
|
|
|
|
$0b, $22
|
|
|
|
}
|
|
|
|
Long2Dec(longValue: int32, strPtr: Ptr, strLength: int16, signedFlag: bool) {
|
|
|
|
$0b, $27
|
|
|
|
}
|
|
|
|
Long2Fix(longValue: int32): Fixed {
|
|
|
|
$0b, $1a
|
|
|
|
}
|
|
|
|
Long2Hex(longValue: int32, strPtr: Ptr, strLength: int16) {
|
|
|
|
$0b, $23
|
|
|
|
}
|
2023-07-02 09:16:47 +00:00
|
|
|
LongDivide(dividend: int32, divisor: int32): ^LongDivRec {
|
|
|
|
$0b, $0d
|
|
|
|
}
|
|
|
|
LongMul(multiplicand: int32, multiplier: int32): ^LongMulRec {
|
|
|
|
$0b, $0c
|
|
|
|
}
|
2020-02-15 00:08:27 +00:00
|
|
|
LoWord(longValue: int32): int16 {
|
|
|
|
$0b, $19
|
|
|
|
}
|
|
|
|
Multiply(multiplicand: int16, multiplier: int16): int32 {
|
|
|
|
$0b, $09
|
|
|
|
}
|
|
|
|
SDivide(divdiend: int16, divisor: int16): IntDivRec {
|
|
|
|
$0b, $0a
|
|
|
|
}
|
|
|
|
UDivide(dividend: int16, divisor: int16): WordDivRec {
|
|
|
|
$0b, $0b
|
|
|
|
}
|
|
|
|
X2Fix(extendPtr: ExtendedPtr): int32 {
|
|
|
|
$0b, $20
|
|
|
|
}
|
|
|
|
X2Frac(extendPtr: ExtendedPtr): int32 {
|
|
|
|
$0b, $21
|
|
|
|
}
|