vmnatSaveLong

 

 

Description

When evaluated, this vm instruction saves the Long source value into the target word and sets the data type to Integer. There are no conversions made between different types. This instruction may return an Error value. After the operation, the Instruction Pointer is promoted. The operation of this vm instruction is expressed in the following C expression:

 

Syntax

(vmnatLoadLong source target)


Name Format AIS Types
source regoffset Long
target regoffset (word:integer)


 

Examples

Here are a number of links to Lambda coding examples which contain this instruction in various use cases.

s

 

Keyword Links

Here are a number of links to this instruction by related keywords.

[...under construction ]

 

Instruction Type

Here are a number of links to this instructions of this same type.

vmnatAddInteger vmnatAddNumber vmnatAndInteger vmnatDivInteger
vmnatDivNumber vmnatDivrInteger vmnatDivrNumber vmnatJumpCCInteger
vmnatJumpCCNumber vmnatLoadCharacter vmnatLoadFloat vmnatLoadInteger
vmnatLoadLong vmnatLoadNumber vmnatLoadObject vmnatLoadShort
vmnatMulInteger vmnatMulNumber vmnatOrInteger vmnatSaveCharacter
vmnatSaveFloat vmnatSaveInteger vmnatSaveLong vmnatSaveNumber
vmnatSaveObject vmnatSaveShort vmnatShlInteger vmnatShrInteger
vmnatSubInteger vmnatSubNumber vmnatXorInteger

 

Argument Types

Here are a number of links which are related to this instructions .

vmadd vmaddi vmand vmapply
vmargcount vmargfetch vmcadd vmcall
vmcallarg vmcdiv vmcmul vmcsub
vmdebugger vmdiv vmdivi vmdivr
vmdivri vmiadd vmiand vmiandb
vmidiv vmidivr vmimul vmior
vmiorb vmisub vmixor vmixorb
vmjump vmjumpcc vmmove vmmovei
vmmoven vmmul vmmuli vmnatAddInteger
vmnatAndInteger vmnatDivInteger vmnatDivrInteger vmnatJumpCCInteger
vmnatLoadInteger vmnatLoadLong vmnatLoadShort vmnatMulInteger
vmnatOrInteger vmnatSaveCharacter vmnatSaveFloat vmnatSaveInteger
vmnatSaveLong vmnatSaveNumber vmnatSaveObject vmnatSaveShort
vmnatShlInteger vmnatShrInteger vmnatSubInteger vmnatXorInteger
vmonerror vmopt vmor vmpop
vmpush vmref vmrefbitvector vmrefbytevector
vmrefdickey vmrefdicvalue vmrefdirkey vmrefdirvalue
vmreffltvector vmrefintvector vmreflongvector vmrefmatrix
vmrefnummatrix vmrefnumvector vmrefobjvector vmrefpcdvector
vmrefshortvector vmrefstring vmrefstrkey vmrefstrvalue
vmrefsymbol vmreftext vmrefvector vmregAddImmediate
vmregAddInteger vmregAddPointer vmregAndImmediate vmregAndInteger
vmregDivImmediate vmregDivInteger vmregDivrImmediate vmregDivrInteger
vmregIncPointer vmregInteger vmregJump vmregJumpCCImmediate
vmregJumpCCInteger vmregLoadAddress vmregLoadDclType vmregLoadInteger
vmregLoadJmpPointer vmregLoadTail vmregLoadType vmregMoveImmediate
vmregMoveInteger vmregMulImmediate vmregMulInteger vmregObjLength
vmregObjPointer vmregOrImmediate vmregOrInteger vmregRefCharacter
vmregRefFloat vmregRefInteger vmregRefLong vmregRefNumber
vmregRefShort vmregRefWord vmregRefXCharacter vmregRefXFloat
vmregRefXInteger vmregRefXLong vmregRefXNumber vmregRefXShort
vmregRefXWord vmregRunInHarware vmregSaveDeclType vmregSaveDeclTypeImmediate
vmregSaveInteger vmregSaveNumber vmregSaveTail vmregSaveTailImmediate
vmregSetCharImmediate vmregSetCharacter vmregSetFloat vmregSetIntImmediate
vmregSetInteger vmregSetLong vmregSetLongImmediate vmregSetShort
vmregSetShortImmediate vmregSetWord vmregSetXCharImmediate vmregSetXCharacter
vmregSetXFloat vmregSetXIntImmediate vmregSetXInteger vmregSetXLong
vmregSetXLongImmediate vmregSetXNumber vmregSetXShort vmregSetXShortImmediate
vmregSetXWord vmregShlImmediate vmregShlInteger vmregShrImmediate
vmregShrInteger vmregStringCompare vmregStringiCompare vmregSubImmediate
vmregSubInteger vmregSubNumber vmregSubPointer vmregXorImmediate
vmregXorInteger vmregmoven vmreturn vmself
vmsend vmset vmsetbitvector vmsetbytevector
vmsetdickey vmsetdicvalue vmsetdirkey vmsetdirvalue
vmsetfltvector vmsetintvector vmsetlongvector vmsetmatrix
vmsetnummatrix vmsetnumvector vmsetobjvector vmsetpcdvector
vmsetshortvector vmsetstring vmsetstrkey vmsetstrvalue
vmsetvector vmshl vmshr vmsmovei
vmsub vmsubi vmvecBinary vmvecInitialize
vmvecNumScalar vmvecNumVector vmvecPop vmvecPush
vmvecSetIncrements vmvecSetPointers vmvecSwapCC vmvecUnary
vmxor

 

Virtual Machine Instructions

AIS Lambdas are designed to be write-once-run-anywhere executable objects. This is accomplished via the virtual machine concept of software Lambda execution. Lambda virtual machines are designed to be mapped onto the actual host microchip at the server location, providing faithful Lambda execution wherever the Lambda may travel on the Internet. There are currently several virtual machines operating within Analytic Information Server. The DRM virtual machine uses a Dynamically typed Register Machine model to provide portable Lambda execution from high level dynamically typed instructions all the way to super fast microchip-level register execution. The DRM virtual machine runs in emulation mode during the testing and debug phases of Lambda development, and there is an AIS Lambda debugger available for Lambdas running on this virtual machine. During the final release phases of Lambda development, DRM virtual machine Lambdas are automatically converted to the NATIVE virtual machine on the host computer, using the just-in-time compiler. The NATIVE virtual machine is a faithful machine language translation of the execution rules in the DRM virtual machine onto the actual host microchip at the server location. NATIVE virtual machine execution runs at microchip-level execution speeds.

How do I contact the AIS team?

You can always talk with the AIS at aiserver.sourceforge.net.