Skip to content

EDIABAS Opcode Quick Reference

Single-table reference of all implemented opcodes sorted by hex value.

HexMnemonicDescription
0x00moveCopy value between registers
0x01clearSet register to 0
0x02compCompare integers, set flags
0x03subbSubtract: arg0 = arg0 - arg1
0x04addsAdd: arg0 = arg0 + arg1
0x05multMultiply (low in arg0, high in arg1)
0x06divsDivide (quotient in arg0, remainder in arg1)
0x07andBitwise AND
0x08orBitwise OR
0x09xorBitwise XOR
0x0anotBitwise NOT
0x0bjumpUnconditional relative jump
0x0cjtsrCall subroutine (push return addr)
0x0dretReturn from subroutine
0x0ejcJump if carry
0x0fjaeJump if above/equal (unsigned)
0x10jzJump if zero
0x11jnzJump if not zero
0x12jvJump if overflow
0x13jnvJump if no overflow
0x14jmiJump if minus (negative)
0x15jplJump if plus (positive)
0x16clrcClear carry flag
0x17setcSet carry flag
0x18asrArithmetic shift right
0x19lslLogical shift left
0x1alsrLogical shift right
0x1baslArithmetic shift left
0x1cnopNo operation
0x1deojEnd of job (halt)
0x1epushPush integer to stack
0x1fpopPop integer from stack
0x20scmpString compare
0x21scatString concatenate
0x22scutCut N chars from end
0x23slenGet string length
0x24spasteInsert string at index
0x25seraseErase chars at index
0x26xconnectConnect interface
0x27xhangupDisconnect interface
0x28xsetparSet interface parameter
0x29xawlenSet answer length
0x2axsendSend data
0x2bxsendfFormatted send
0x2cxrequfFormatted request
0x2dxstopfStop formatted
0x2exkeybRead keyboard
0x2fxstateGet interface state
0x30xbootBoot interface
0x31xresetReset interface
0x32xtypeGet interface type
0x33xversGet interface version
0x34ergbResult: byte (unsigned 8-bit)
0x35ergwResult: word (unsigned 16-bit)
0x36ergdResult: dword (unsigned 32-bit)
0x37ergiResult: int (signed 16-bit)
0x38ergrResult: real (float)
0x39ergsResult: string
0x3aa2fltASCII string to float
0x3bfaddFloat add
0x3cfsubFloat subtract
0x3dfmulFloat multiply
0x3efdivFloat divide
0x3fergyResult: binary (Y)
0x40enewsetClear/new result set
0x41etagConditional result skip
0x42xrepsSet response
0x43gettmrGet timer value
0x44settmrSet timer value
0x45settSet timer flag
0x46clrtClear timer flag
0x47jtJump if timer flag set
0x48jntJump if timer flag not set
0x49addcAdd with carry
0x4asubcSubtract with borrow
0x4bbreakBreakpoint (raises EDIABAS_BIP_0008)
0x4cclrvClear overflow flag
0x4deerrExecute error (error trap mechanism)
0x4epopfPop flags from stack
0x4fpushfPush flags to stack
0x50atspRead value at stack offset
0x51swapSwap top two stack values
0x52setspcSet token separator
0x53srevrsReverse string
0x54stokenExtract token
0x55parbGet parameter byte
0x56parwGet parameter word
0x57parlGet parameter long
0x58parsGet parameter string
0x59fcloseClose file
0x5ajgJump if greater (signed)
0x5bjgeJump if greater/equal (signed)
0x5cjlJump if less (signed)
0x5djleJump if less/equal (signed)
0x5ejaJump if above (unsigned)
0x5fjbeJump if below/equal (unsigned)
0x60fopenOpen file
0x61freadRead bytes from file
0x62freadlnRead line from file
0x63fseekSeek position in file
0x64fseeklnSeek line in file
0x65ftellTell position in file
0x66ftelllnTell line number in file
0x67a2fixASCII string to integer
0x68fix2fltInteger to float
0x69parrGet parameter float
0x6atestTest AND (flags only)
0x6bwaitWait milliseconds
0x6cdateGet current date
0x6dtimeGet current time
0x6exbattBattery voltage (stub)
0x6ftospTo stack pointer (stub)
0x70xdownlDownload (stub)
0x71xgetportGet hardware port value
0x72xignitGet ignition voltage
0x73xlooptLoop test result
0x74xprogSet programming voltage
0x75xrawRaw data send/receive
0x76xsetportSet hardware port value
0x77xsiresetSI relais reset
0x78xstoptrStop transfer (stub)
0x79fix2hexInteger to hex string
0x7afix2dezInteger to decimal string
0x7btabsetSelect table by name
0x7ctabseekSeek to row in table
0x7dtabgetGet cell value from table
0x7estrcatString concatenate (alias)
0x7fparyGet parameter binary
0x80parnGet parameter count
0x81ergcResult: char (byte)
0x82erglResult: long (dword)
0x83tablineGet row line number
0x86xinfoInterface info (stub)
0x87flt2aFloat to string
0x88setfltSet float immediate
0x89cfgigConfig get integer
0x8acfgsgConfig get string
0x8bcfgisConfig set integer
0x8ca2yASCII to binary (Y)
0x8dxparrawRaw parameters (stub)
0x8ehex2yHex string to binary
0x8fstrcmpString compare (alias)
0x90strlenString length (alias)
0x91y2bcdBinary to BCD string
0x92y2hexBinary to hex string
0x93shmsetSet shared memory value
0x94shmgetGet shared memory value
0x95ergsysiSystem info result
0x96flt2fixFloat to integer
0x97iupdateUpdate progress text
0x98irangeSet progress range
0x99iincposIncrement progress position
0x9atabseekuSeek row (case-insensitive)
0x9bflt2y4Float to 4-byte binary
0x9cflt2y8Float to 8-byte binary
0x9dy42flt4-byte binary to float
0x9ey82flt8-byte binary to float
0x9fplinkLink external procedure
0xa0pcallCall linked procedure
0xa1fcompFloat compare
0xa2plinkvLink proc w/ validation (stub)
0xa3ppushPush int to procedure stack
0xa4ppopPop int from procedure stack
0xa5ppushfltPush float to procedure stack
0xa6ppopfltPop float from procedure stack
0xa7ppushyPush binary to procedure stack
0xa8ppopyPop binary from procedure stack
0xa9pjtsrProc jump to subroutine (stub)
0xaatabsetexSelect table extended
0xabufix2dezUnsigned to decimal string
0xacgenerrGenerate/throw error
0xadticksGet system ticks
0xaewaitexExtended wait
0xafxopenOpen interface
0xb0xcloseClose interface
0xb1xcloseexClose interface extended
0xb2xswitchSwitch interface
0xb3xsendexExtended send
0xb4xrecvexExtended receive
0xb5ssizeString size in bytes
0xb6tabcolsGet column count
0xb7tabrowsGet row count

Total: 150 opcodes implemented

For detailed descriptions with argument specifications, see opcodes.md.