Changeset 12 for branches/bigint/Instructions.pas
- Timestamp:
- Apr 24, 2025, 10:12:32 PM (2 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/bigint/Instructions.pas
r7 r12 78 78 AddNew(inLoadMem, 'LDM', [ptIndirect, ptIndirect2], 'Loads value from one indirect memory location to another.'); 79 79 AddNew(inStoreMem, 'STM', [ptIndirect2, ptIndirect], 'Stotes value to indirect memory location from source location.'); 80 AddNew(inInc , 'INC', [ptIndirect], 'Increments value in specified register.');81 AddNew(inDec , 'DEC', [ptIndirect], 'Decrements value in specified register.');80 AddNew(inIncrement, 'INC', [ptIndirect], 'Increments value in specified register.'); 81 AddNew(inDecrement, 'DEC', [ptIndirect], 'Decrements value in specified register.'); 82 82 AddNew(inInput, 'IN', [ptIndirect, ptIndirect], 'Reads value from input port to register.'); 83 83 AddNew(inOutput, 'OUT', [ptIndirect, ptIndirect], 'Writes value from register to output port.'); 84 84 AddNew(inJump, 'JP', [ptNumber], 'Unconditional absolute jump to defined address.'); 85 AddNew(inJumpZero, 'JPZ', [ptIndirect, ptNumber], 'Jumps to given address if value of register is zero'); 86 AddNew(inJumpNotZero, 'JPNZ', [ptIndirect, ptNumber], 'Jumps to given address if value of register is not zero'); 85 AddNew(inJumpZero, 'JPZ', [ptIndirect, ptNumber], 'Jumps to absolute address if value of register is zero'); 86 AddNew(inJumpNotZero, 'JPNZ', [ptIndirect, ptNumber], 'Jumps to absolute address if value of register is not zero'); 87 AddNew(inJumpRel, 'JR', [ptNumber], 'Unconditional relative jump to defined address.'); 88 AddNew(inJumpRelZero, 'JRZ', [ptIndirect, ptNumber], 'Jumps to relative address if value of register is zero'); 89 AddNew(inJumpRelNotZero, 'JRNZ', [ptIndirect, ptNumber], 'Jumps to relative address if value of register is not zero'); 87 90 AddNew(inPush, 'PUSH', [ptIndirect], 'Push memory location onto stack.'); 88 91 AddNew(inPop, 'POP', [ptIndirect], 'Pop item from stack and store it into memory location.'); 89 92 AddNew(inCall, 'CALL', [ptNumber], 'Call subroutine.'); 90 AddNew(inRet, 'RET', [], 'Return from subrotine.'); 93 AddNew(inReturn, 'RET', [], 'Return from subrotine.'); 94 AddNew(inAdd, 'ADD', [ptIndirect, ptIndirect, ptIndirect], 'Addition of two numbers.'); 95 AddNew(inSubtract, 'Sub', [ptIndirect, ptIndirect, ptIndirect], 'Subtraction of two numbers.'); 96 AddNew(inAnd, 'AND', [ptIndirect, ptIndirect, ptIndirect], 'Logical AND operation.'); 97 AddNew(inOr, 'OR', [ptIndirect, ptIndirect, ptIndirect], 'Logical OR operation.'); 98 AddNew(inXor, 'XOR', [ptIndirect, ptIndirect, ptIndirect], 'Logical XOR operation.'); 99 AddNew(inShiftLeft, 'SHL', [ptIndirect, ptIndirect, ptIndirect], 'Bitwise shift to the left.'); 100 AddNew(inShiftRight, 'SHR', [ptIndirect, ptIndirect, ptIndirect], 'Bitwise shift to the right.'); 101 AddNew(inBitSet, 'SET', [ptIndirect, ptIndirect, ptIndirect], 'Set specific bit.'); 102 AddNew(inBitReset, 'RES', [ptIndirect, ptIndirect, ptIndirect], 'Reset specific bit.'); 103 AddNew(inBitTest, 'BIT', [ptIndirect, ptIndirect, ptIndirect], 'Test of specific bit.'); 91 104 end; 92 105
Note:
See TracChangeset
for help on using the changeset viewer.