|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
Packages that use Instruction | |
---|---|
dioscuri.module.cpu |
Uses of Instruction in dioscuri.module.cpu |
---|
Classes in dioscuri.module.cpu that implement Instruction | |
---|---|
class |
Instruction_2ByteEscape
Intel opcode 0F Escape character for two-byte opcodes. References the doubleByteInstructions array in CPU Flags modified: none |
class |
Instruction_AAA
Intel opcode 37 AAA- ASCII adjust after addition. Adjust two unpacked BCD digits so a addition operation on result yields correct unpacked BCD value Flags modified: AF, CF (OF, SF, ZF and PF are undefined. |
class |
Instruction_AAD_Ib
Intel opcode D5 ASCII adjust AX before division. Adjust two unpacked BCD digits so a division operation on result yields correct unpacked BCD value Flags modified: SF, ZF, PF |
class |
Instruction_AAM_Ib
Intel opcode D4 ASCII adjust AX after multiply. Adjust multiplication result of two unpacked BCD values to create a pair of unpacked (base 10) BCD values. Flags modified: SF, ZF, PF; OF, AF, CF are undefined |
class |
Instruction_ADC_ALIb
Intel opcode 14 Add (immediate byte + CF) to AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADC_AXIv
Intel opcode 15 Add (immediate word + CF) to AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADC_EbGb
Intel opcode 10 Add byte (+ CF) in register (source) to memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADC_EvGv
Intel opcode 11 Add word in register (source) + CF to memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADC_GbEb
Intel opcode 12 Add byte in memory/register (source) + CF to register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADC_GvEv
Intel opcode 13 Add word in memory/register (source) + CF to register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADD_ALIb
Intel opcode 04 Add immediate byte to AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADD_AXIv
Intel opcode 05 Add immediate word to AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADD_EbGb
Intel opcode 00 Add byte in register (source) to memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADD_EvGv
Intel opcode 01 Add word in register (source) to memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADD_GbEb
Intel opcode 02 Add byte in memory/register (source) to register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ADD_GvEv
Intel opcode 03 Add word in memory/register (source) to register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_AND_ALIb
Intel opcode 24 Logical AND of immediate byte and AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_AND_AXIv
Intel opcode 25 Logical AND of immediate word and AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_AND_EbGb
Intel opcode 20 Logical byte-sized AND of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_AND_EvGv
Intel opcode 21 Logical word-sized AND of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_AND_GbEb
Intel opcode 22 Logical byte-sized AND of register (destination) and memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_AND_GvEv
Intel opcode 23 Logical word-sized AND of register (destination) and memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ARPL_EwGw
Intel opcode 63 Adjust RPL Field of Segment Selector. This instruction can be used by operating systems to check the privilege level of an application in protected mode. Flags modified: ZF |
class |
Instruction_BOUND_GvMa
Intel opcode 62 Check array index against bounds. Flags modified: none |
class |
Instruction_CALL_Jv
Intel opcode E8 Call to procedure within the current code segment (intrasegment call) indicated by immediate signed word. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_CALLF_Ap
Intel opcode 9A Call to procedure in another code segment (intersegment call) indicated by immediate signed words. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_CBW
Intel opcode 98 Convert byte to word. Copies the sign (bit 7) in AL into every bit in AH register Flags modified: none |
class |
Instruction_CLC
Intel opcode F8 Clear carry flag. Set CF to 0 Flags modified: none |
class |
Instruction_CLD
Intel opcode FC Clear direction flag. Set DF to 0 Flags modified: none |
class |
Instruction_CLI
Intel opcode FA Clear interrupt flag. Set IF to 0 Flags modified: none |
class |
Instruction_CMC
Intel opcode F5 Complement carry flag. Invert CF Flags modified: none |
class |
Instruction_CMP_ALIb
Intel opcode 3C Comparison of immediate byte (SUB) with AL. Does not update any registers, only sets appropriate flags. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_CMP_AXIv
Intel opcode 3D Comparison of immediate word (SUB) with AX. Does not update any registers, only sets appropriate flags. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_CMP_EbGb
Intel opcode 38 Byte-sized comparison (SUB) of memory/register ("destination") with register (source). The addressbyte determines the source (rrr bits) and "destination" (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_CMP_EvGv
Intel opcode 39 Word-sized comparison (SUB) of memory/register ("destination") with register (source). The addressbyte determines the source (rrr bits) and "destination" (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_CMP_GbEb
Intel opcode 3A Byte-sized comparison (SUB) of register ("destination") with memory/register (source). The addressbyte determines the source (sss bits) and "destination" (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_CMP_GvEv
Intel opcode 3B Word-sized comparison (SUB) of register ("destination") with memory/register (source). The addressbyte determines the source (rrr bits) and "destination" (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_CMPS_XbYb
Intel opcode A6 Compare string byte at address DS:(E)SI with address ES:(E)DI. After compare, contents of SI and DI are incremented or decremented based on DF flag: Byte: +/- 1, word: +/- 2, doubleword: +/-4. Flags modified: CF, OF, SF, ZF, AF, and PF |
class |
Instruction_CMPS_XvYv
Intel opcode A7 Compare string word at address DS:(E)SI with address ES:(E)DI. After compare, contents of SI and DI are incremented or decremented based on DF flag: Byte: +/- 1, word: +/- 2, doubleword: +/-4. Flags modified: CF, OF, SF, ZF, AF, and PF |
class |
Instruction_CWD
Intel opcode 99 Convert Word to DoubleWord. Copy the sign (bit 15) in AX into every bit of DX register Flags modified: none |
class |
Instruction_DAA
Intel opcode 27 DAA - Decimal adjust AL after addition. This instruction adjusts the sum of two packed BCD values to create a packed BCD result. |
class |
Instruction_DEC_AX
Intel opcode 48 Decrement general register AX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_BP
Intel opcode 4D Decrement general register BP. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_BX
Intel opcode 4B Decrement general register BX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_CX
Intel opcode 49 Decrement general register CX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_DI
Intel opcode 4F Decrement general register DI. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_DX
Intel opcode 4A Decrement general register DX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_SI
Intel opcode 4E Decrement general register SI. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_DEC_SP
Intel opcode 4C Decrement general register SP. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_ENTER_IwIb
Intel opcode C8 ENTER - Make Stack Frame for Procedure Parameters. Flags modified: none |
class |
Instruction_ESC_FPU
Intel opcodes D8 - DF Escape to coprocessor instruction set (Floating Point Unit, FPU). NOTE: This implementation only advances the instruction pointer to the next instruction, but does not perform the associated FPU instruction! |
class |
Instruction_GRP11_MOV_EbIb
Intel opcode C6 Group 11 opcode extension: MOV immediate byte (source) into memory/register (destination). Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. NOTE: Only one instruction in group (MOV EbIb, reg=000). Flags modified: none |
class |
Instruction_GRP11_MOV_EvIv
Intel opcode C7 Group 11 opcode extension: MOV immediate word (source) into memory/register (destination). Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. NOTE: Only one instruction in group (MOV EvIv, reg=000). Flags modified: none |
class |
Instruction_GRP6
Intel opcode 0F 00 Group 6 opcode extension: SLDT, STR, LLDT, LTR, VERR, VERW. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte). Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_GRP7
Intel opcode 0F 01 Group 7 opcode extension: SGDT, SIDT, LGDT, LIDT, SMSW, LMSW, INVLPG. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte). Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_HLT
|
class |
Instruction_ImmGRP1_EbIb
Intel opcode 80 Immediate Group 1 opcode extension: ADD, OR, ADC, SBB, AND, SUB, XOR, CMP. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ImmGRP1_EvIb
Intel opcode 83 Immediate Group 1 opcode extension: ADD, OR, ADC, SBB, AND, SUB, XOR, CMP. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ImmGRP1_EvIv
Intel opcode 81 Immediate Group 1 opcode extension: ADD, OR, ADC, SBB, AND, SUB, XOR, CMP. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_IMUL_GvEvIb
Intel opcode 6B Signed multiply. Multiplication uses three operands: 1=destination, 2=first source, 3=second source Flags modified: CF, OF. |
class |
Instruction_IMUL_GvEvIv
Intel opcode 69 Signed multiply. Multiplication uses three operands: 1=destination, 2=first source, 3=second source Flags modified: CF, OF. |
class |
Instruction_IN_ALDX
Intel opcode EC Put byte from I/O port address specified by DX into AL. Flags modified: none |
class |
Instruction_IN_ALIb
Intel opcode E4 Put byte from I/O port address indicated by immediate byte into AL. Flags modified: none |
class |
Instruction_IN_eAXDX
Intel opcode ED Put word/doubleword from I/O port address specified by DX into eAX. Flags modified: none |
class |
Instruction_INC_AX
Intel opcode 40 Increment general register AX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_BP
Intel opcode 45 Increment index register BP. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_BX
Intel opcode 43 Increment general register BX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_CX
Intel opcode 41 Increment general register CX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_DI
Intel opcode 47 Increment index register DI. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_DX
Intel opcode 42 Increment general register DX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_SI
Intel opcode 46 Increment index register SI. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INC_SP
Intel opcode 44 Increment index register SP. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_INCDEC_GRP4
Intel opcode FE INC/DEC Group 4 opcode extension: INC, DEC. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_INCDEC_GRP5
Intel opcode FF INC/DEC Group 5 opcode extension: INC, DEC, CALLN, CALLF, JMPN, JMPF, PUSH. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate data. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_INSB_YbDX
Intel opcode 6C Copy word from I/O port to ES:DI; update DI register according to DF. Flags modified: none |
class |
Instruction_INSW_YvDX
Intel opcode 6D Copy word from I/O port to ES:DI; update DI register according to DF. Flags modified: none |
class |
Instruction_INT_Ib
Intel opcode CD Call to Interrupt Procedure. The immediate byte specifies the index (0 - 255) within the Interrupt Descriptor Table (IDT). Flags modified: IF, TF, AC |
class |
Instruction_INT3
Intel opcode CC Call to Interrupt 3 - trap to debugger Flags modified: IF, TF, AC |
class |
Instruction_IRET
Intel opcode CF Interrupt return. Returns from an interrupt or exception handler and restores IP, CS and flags. Flags modified: all |
class |
Instruction_JB_JNAE_JC
Intel opcode 72 Conditional short jump on carry. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JB_JNAE_JC_long
Intel opcode OF 82 Conditional long jump on carry. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JBE_JNA
Intel opcode 76 Conditional short jump on carry or zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JBE_JNA_long
Intel opcode OF 86 Conditional long jump on carry or zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JCXZ_JECXZ
Intel opcode E3 Conditional short jump if CX is zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JL_JNGE
Intel opcode 7C Conditional short jump if sign != overflow. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JLE_JNG
Intel opcode 7E Conditional short jump if zero or sign != overflow. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JMP_farAP
Intel opcode EA Unconditional absolute far jump indicated by immediate two words. Displacement is absolute, where addressword1 == IP, addressword 2 == CS. Flags modified: none |
class |
Instruction_JMP_nearJv
Intel opcode E9 Unconditional relative near jump indicated by immediate signed word. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JMP_shortJb
Intel opcode EB Unconditional relative short jump indicated by immediate signed byte. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNB_JAE_JNC
Intel opcode 73 Conditional short jump not carry. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNB_JAE_JNC_long
Intel opcode OF 83 Conditional long jump on carry. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNBE_JA
Intel opcode 77 Conditional short jump not carry and not zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNL_JGE
Intel opcode 7D Conditional short jump if sign == overflow. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNLE_JG
Intel opcode 7F Conditional short jump if not zero and sign == overflow. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNO
Intel opcode 71 Conditional short jump not overflow. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNP_JPO
Intel opcode 7B Conditional short jump not parity / parity odd. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNS
Intel opcode 79 Conditional short jump not sign. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNZ_JNE
Intel opcode 75 Conditional short jump not zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JNZ_JNE_long
Intel opcode 0F 85 Conditional long jump not zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JO
Intel opcode 70 Conditional short jump on overflow. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JP_JPE
Intel opcode 7A Conditional short jump on parity / parity even. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JS
Intel opcode 78 Conditional short jump on sign. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JZ_JE
Intel opcode 74 Conditional short jump on zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_JZ_JE_long
Intel opcode 0F 84 Conditional long jump on zero. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_LAHF
Intel opcode 9F Move low byte of the FLAGS register into AH register. The FLAGS register is read as SF:ZF:0:AF:0:PF:1:CF Flags modified: none |
class |
Instruction_LAR
Intel opcode F0 02 Load Access Rights byte. Flags modified: ZF |
class |
Instruction_LDS_GvMp
Intel opcode C5 Load DS:r16 with far pointer from memory. Flags modified: none |
class |
Instruction_LEA_GvM
Intel opcode 8D Load effective address computed from second operand (source) to register (destination). The addressbyte determines the source (rrr bits, memory address) and destination (sss bits). NOTE: The direction (d) bit in the opcode does not seems to be honored here! Flags modified: none |
class |
Instruction_LEAVE
Intel opcode C9 LEAVE - High Level Procudure Exit. Flags modified: none |
class |
Instruction_LES_GvMp
Intel opcode C4 Load ES:r16 with far pointer from memory. Flags modified: none |
class |
Instruction_LOCK
Intel opcode 40 Increment general register AX. Flags modified: OF, SF, ZF, AF, PF |
class |
Instruction_LODS_ALXb
Intel opcode AC Load byte from DS:SI into AL; update SI register according to DF. Flags modified: none |
class |
Instruction_LODS_AXXv
Intel opcode AD Load word from DS:SI into AX; update DI register according to DF. Flags modified: none |
class |
Instruction_LOOP_Jb
Intel opcode E2 Loop while CX is not zero, performing short jump indicated by immediate signed byte. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_LOOPE_LOOPZ_Jb
Intel opcode E1 Loop while CX is not zero and ZF == 1, performing short jump indicated by immediate signed byte. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_LOOPNE_LOOPNZ_Jb
Intel opcode E0 Loop while CX is not zero and ZF == 0, performing short jump indicated by immediate signed byte. Displacement is relative to next instruction. Flags modified: none |
class |
Instruction_MOV_ALOb
Intel opcode A0 Copy byte from DS:DISPL (DISPL given by word following opcode) to register AL. Flags modified: none |
class |
Instruction_MOV_AXOv
Intel opcode A1 Copy word from DS:DISPL (DISPL given by word following opcode) to register AX. Flags modified: none |
class |
Instruction_MOV_EbGb
Intel opcode 88 Byte-sized copy of memory/register (destination) from register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: none |
class |
Instruction_MOV_EvGv
Intel opcode 89 Word-sized copy of memory/register (destination) from register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: none |
class |
Instruction_MOV_EwSw
Intel opcode 8C Word-sized copy of memory/register (destination) from segment register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: none |
class |
Instruction_MOV_GbEb
Intel opcode 8A Byte-sized copy of register (destination) from memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: none |
class |
Instruction_MOV_GvEv
Intel opcode 8B Word-sized copy of register (destination) from memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: none |
class |
Instruction_MOV_Imm_AH
Intel opcode B4 Copy immediate byte to register AH. Flags modified: none |
class |
Instruction_MOV_Imm_AL
Intel opcode B0 Copy immediate byte to register AL. Flags modified: none |
class |
Instruction_MOV_Imm_AX
Intel opcode B8 Copy immediate word to register AX. Flags modified: none |
class |
Instruction_MOV_Imm_BH
Intel opcode B7 Copy immediate byte to register BH. Flags modified: none |
class |
Instruction_MOV_Imm_BL
Intel opcode B3 Copy immediate byte to register BL. Flags modified: none |
class |
Instruction_MOV_Imm_BP
Intel opcode BD Copy immediate word to register BP. Flags modified: none |
class |
Instruction_MOV_Imm_BX
Intel opcode BB Copy immediate word to register BX. Flags modified: none |
class |
Instruction_MOV_Imm_CH
Intel opcode B5 Copy immediate byte to register CH. Flags modified: none |
class |
Instruction_MOV_Imm_CL
Intel opcode B1 Copy immediate byte to register CL. Flags modified: none |
class |
Instruction_MOV_Imm_CX
Intel opcode B9 Copy immediate word to register CX. Flags modified: none |
class |
Instruction_MOV_Imm_DH
Intel opcode B6 Copy immediate byte to register DH. Flags modified: none |
class |
Instruction_MOV_Imm_DI
Intel opcode BF Copy immediate word to register DI. Flags modified: none |
class |
Instruction_MOV_Imm_DL
Intel opcode B2 Copy immediate byte to register DL. Flags modified: none |
class |
Instruction_MOV_Imm_DX
Intel opcode BA Copy immediate word to register DX. Flags modified: none |
class |
Instruction_MOV_Imm_SI
Intel opcode BE Copy immediate word to register SI. Flags modified: none |
class |
Instruction_MOV_Imm_SP
Intel opcode BC Copy immediate word to register SP. Flags modified: none |
class |
Instruction_MOV_ObAL
Intel opcode A2 Copy byte from register AL to DS:DISPL (DISPL given by word following opcode). Flags modified: none |
class |
Instruction_MOV_OvAX
Intel opcode A3 Copy word from register AX to DS:DISPL (DISPL given by word following opcode). Flags modified: none |
class |
Instruction_MOV_SwEw
Intel opcode 8E Word-sized copy of segment register (destination) from memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: none |
class |
Instruction_MOVS_XbYb
Intel opcode A4 Move string byte at address DS:(E)SI to address ES:(E)DI. After move, contents of SI and DI are incremented or decremented based on DF flag: Byte: +/- 1, word: +/- 2, doubleword: +/-4. Flags modified: none |
class |
Instruction_MOVS_XvYv
Intel opcode A5 Move string word at address DS:(E)SI to address ES:(E)DI. After move, contents of SI and DI are incremented or decremented based on DF flag: Byte: +/- 1, word: +/- 2, doubleword: +/-4. Flags modified: none |
class |
Instruction_MOVZX_GvEw
Intel opcode F0 B7 Move with zero extend. |
class |
Instruction_NOP
Intel opcode 90 No operation, does not affect machine content except IP register. It is an alias for XCHG AX, AX Flags modified: none |
class |
Instruction_NULL
|
class |
Instruction_Opd_Size
Intel opcode 66 Instruction prefix, indicating the next instruction should work with doublewords. Flags modified: none |
class |
Instruction_OR_ALIb
Intel opcode 0C Logical OR of immediate byte and AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_OR_AXIv
Intel opcode 0D Logical OR of immediate word and AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_OR_EbGb
Intel opcode 08 Logical byte-sized OR of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_OR_EvGv
Intel opcode 09 Logical word-sized OR of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_OR_GbEb
Intel opcode 0A Logical byte-sized OR of register (destination) and memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_OR_GvEv
Intel opcode 0B Logical word-sized OR of register (destination) and memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_OUT_DXAL
Intel opcode EE Output byte in AL to I/O port address specified by DX. Flags modified: none |
class |
Instruction_OUT_DXeAX
Intel opcode EF Output word/doubleword in eAX to I/O port address specified by DX. Flags modified: none |
class |
Instruction_OUT_IbAL
Intel opcode E6 Output byte in AL to I/O port address indicated by immediate byte. Flags modified: none |
class |
Instruction_OUTS_DXXb
Intel opcode 6E Output byte from DS:SI to I/O port (specified in DX); update SI register according to DF. Flags modified: none |
class |
Instruction_OUTSW_DXXv
Intel opcode 6F Output word from DS:(E)SI to I/O port (specified in DX); update SI register according to DF. Flags modified: none |
class |
Instruction_POP_AX
Intel opcode 58 Pop word from stack SP:SS into general register AX. Flags modified: none |
class |
Instruction_POP_BP
Intel opcode 5D Pop word from stack SP:SS into general register BP. Flags modified: none |
class |
Instruction_POP_BX
Intel opcode 5B Pop word from stack SP:SS into general register BX. Flags modified: none |
class |
Instruction_POP_CX
Intel opcode 59 Pop word from stack SP:SS into general register CX. Flags modified: none |
class |
Instruction_POP_DI
Intel opcode 5F Pop word from stack SP:SS into general register DI. Flags modified: none |
class |
Instruction_POP_DS
Intel opcode 1F Pop word from stack SP:SS into general register DS. Flags modified: none |
class |
Instruction_POP_DX
Intel opcode 5A Pop word from stack SP:SS into general register DX. Flags modified: none |
class |
Instruction_POP_ES
Intel opcode 07 Pop word from stack SP:SS into general register ES. Flags modified: none |
class |
Instruction_POP_Ev
Intel opcode 8F Pop word or double word from stack SP:SS into current segment at given offset (mem/reg). NOTE: Stack is incr. |
class |
Instruction_POP_SI
Intel opcode 5E Pop word from stack SP:SS into general register SI. Flags modified: none |
class |
Instruction_POP_SP
Intel opcode 5C Pop word from stack SP:SS into general register SP. Flags modified: none |
class |
Instruction_POP_SS
Intel opcode 1F Pop word from stack SP:SS into general register SS. Flags modified: none |
class |
Instruction_POPA
Intel opcode 61 Pop top 8 words off stack into general purpose registers The order is DI, SI, BP, SP, BX, DX, CX, AX The SP value popped from the stack is discarded Flags modified: none |
class |
Instruction_POPF
Intel opcode 9D Pop word from stack into FLAGS register. Flags modified: NT, IOPL, OF, DF, IF, TF, SF, ZF, AF, PF, CF |
class |
Instruction_PUSH_AX
Intel opcode 50 Push general register AX onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_BP
Intel opcode 55 Push general register BP onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_BX
Intel opcode 53 Push general register BX onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_CS
Intel opcode 0E Push general register CS onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_CX
Intel opcode 51 Push general register CX onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_DI
Intel opcode 57 Push general register DI onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_DS
Intel opcode 1E Push general register DS onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_DX
Intel opcode 52 Push general register DX onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_ES
Intel opcode 06 Push general register ES onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_Ib
Intel opcode 6A Push immediate byte onto stack SS:SP. NOTE: Since only words can be popped from the stack, the word {0x00, Ib} is pushed on the stack This may be a wrong asumption as nowhere is documented what MSB of word has to be!! Flags modified: none |
class |
Instruction_PUSH_Iv
Intel opcode 68 Push immediate word onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_SI
Intel opcode 56 Push general register SI onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_SP
Intel opcode 54 Push general register SP onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSH_SS
Intel opcode 16 Push general register SS onto stack SS:SP. Flags modified: none |
class |
Instruction_PUSHA
Intel opcode 60 Push all general purpose registers onto stack SS:SP. The order of the push is AX, CX, DX, BX, SP, BP, SI, DI Flags modified: none |
class |
Instruction_PUSHF
Intel opcode 9C Transfer FLAGS register onto stack SS:SP. Flags modified: none |
class |
Instruction_REP_REPE
Intel opcode F3 Repeat execution of string instruction until CX == 0 or ZF is set. Target string instruction is next instruction. Flags modified: none; however, the CMPS and SCAS instructions do set status flags |
class |
Instruction_REPNE
Intel opcode F2 Repeat execution of string instruction until CX == 0 or ZF is set. Target string instruction is next instruction. Flags modified: none; however, the CMPS and SCAS instructions do set status flags |
class |
Instruction_RETF
Intel opcode CB Far (intersegment) return to calling procedure. Transfer control to return address located at top stack. Flags modified: none |
class |
Instruction_RETF_Iw
Intel opcode CA Far (intersegment) return to calling procedure and pop bytes from stack Transfer control to return address located at top stack, and release a number of stack bytes Flags modified: none |
class |
Instruction_RETN
Intel opcode C3 Near (intrasegment) return to calling procedure. Transfer control to return address located at top stack. Flags modified: none |
class |
Instruction_RETN_Iw
Intel opcode C2 Near (intrasegment) return to calling procedure. Transfer control to return address located at top stack and pop immediate from mem. Flags modified: none |
class |
Instruction_SAHF
Intel opcode 9E Load the FLAGS register with values from AH register. |
class |
Instruction_SALC
Intel opcode D6 Set AL on CF (undocumented Intel instruction). Set or clear AL depending on carry flag status Flags modified: none |
class |
Instruction_SBB_ALIb
Intel opcode 1C Subtract (immediate byte + CF) from AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SBB_AXIv
Intel opcode 1D Subtract (immediate word + CF) from AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SBB_EbGb
Intel opcode 18 Subtract byte (+ CF) in register (source) from memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SBB_EvGv
Intel opcode 19 Subtract word in register (source) + CF from memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SBB_GbEb
Intel opcode 1A Subtract byte in memory/register (source) + CF from register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SBB_GvEv
Intel opcode 1B Subtract word in memory/register (source) + CF from register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SCAS_ALYb
Intel opcode AE Compare AL with byte at ES:(E)DI and set status flags. ES:(E)DI is incremented/decremented depending on DF flag. Flags modified: OF, SF, ZF, AF, PF, and CF. |
class |
Instruction_SCAS_AXYv
Intel opcode AF Compare AX with word at ES:(E)DI and set status flags. ES:(E)DI is incremented/decremented depending on DF flag. Flags modified: OF, SF, ZF, AF, PF, and CF. |
class |
Instruction_SEG_CS
Intel opcode 2E Instruction SEG=CS. |
class |
Instruction_SEG_DS
Intel opcode 3E Instruction SEG=DS. |
class |
Instruction_SEG_ES
Intel opcode 26 Instruction SEG=ES. |
class |
Instruction_SEG_FS
Intel opcode 64 Segment selector FS. |
class |
Instruction_SEG_GS
Intel opcode 65 Segment selector GS. |
class |
Instruction_SEG_SS
Intel opcode 36 Instruction SEG=SS. |
class |
Instruction_ShiftGRP2_Eb1
Intel opcode D0 Immediate Group 2 opcode extension: ROL, ROR, RCL, RCR, SHL/SAL, SHR, SAR. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using constant 1. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ShiftGRP2_EbCL
Intel opcode D2 Immediate Group 2 opcode extension: ROL, ROR, RCL, RCR, SHL/SAL, SHR, SAR. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using CL. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ShiftGRP2_EbIb
Intel opcode C0 Immediate Group 2 opcode extension: ROL, ROR, RCL, RCR, SHL/SAL, SHR, SAR. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate byte. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ShiftGRP2_Ev1
Intel opcode D1 Immediate Group 2 opcode extension: ROL, ROR, RCL, RCR, SHL/SAL, SHR, SAR. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using constant 1. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ShiftGRP2_EvCL
Intel opcode D3 Immediate Group 2 opcode extension: ROL, ROR, RCL, RCR, SHL/SAL, SHR, SAR. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using CL. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_ShiftGRP2_EvIb
Intel opcode C1 Immediate Group 2 opcode extension: ROL, ROR, RCL, RCR, SHL/SAL, SHR, SAR. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte) using immediate byte. Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_STC
Intel opcode F9 Set carry flag. Set CF to 1 Flags modified: none |
class |
Instruction_STD
Intel opcode FD Set direction flag. Set DF to 1 Flags modified: none |
class |
Instruction_STI
Intel opcode FA Set interrupt flag. Set IF to 1 Flags modified: none |
class |
Instruction_STOSB_YbAL
Intel opcode AA Copy byte from register AL to ES:DI; update DI register according to DF. Flags modified: none |
class |
Instruction_STOSW_YvAX
Intel opcode AB Copy word from register AX to ES:DI; update DI register according to DF. Flags modified: none |
class |
Instruction_SUB_ALIb
Intel opcode 2C Subtract immediate byte from AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SUB_AXIv
Intel opcode 2D Subtract immediate word from AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SUB_EbGb
Intel opcode 28 Subtract byte in register (source) from memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SUB_EvGv
Intel opcode 29 Subtract word in register (source) from memory/register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SUB_GbEb
Intel opcode 2A Subtract byte in memory/register (source) from register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_SUB_GvEv
Intel opcode 2B Subtract word in memory/register (source) from register (destination). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_TEST_ALIb
Intel opcode A8 Logical comparison (AND) of immediate byte and AL. Does not update any registers, only sets appropriate flags. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_TEST_AXIv
Intel opcode A9 Logical comparison (AND) of immediate word and AX. Does not update any registers, only sets appropriate flags. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_TEST_EbGb
Intel opcode 84 Logical byte-sized comparison (AND) of memory/register ("destination") and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Does not update any registers, only sets appropriate flags. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_TEST_EvGv
Intel opcode 85 Logical word-sized comparison (AND) of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Does not update any registers, only sets appropriate flags. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_UnaryGrp3_Eb
Intel opcode F6 Unary Group 3 opcode extension: TEST, NOT, NEG, MUL, IMUL, DIV, IDIV. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte). Flags modified: depending on instruction can be any of: OF, SF, ZF, AF, PF, CF |
class |
Instruction_UnaryGrp3_Ev
Intel opcode F7 Unary Group 3 opcode extension: TEST, NOT, NEG, MUL, IMUL, DIV, IDIV. Performs the selected instruction (indicated by bits 5, 4, 3 of the ModR/M byte). Flags modified: depending on instruction can be any of: OF, CF, SF, ZF, AF, PF (some of them undefined) |
class |
Instruction_XCHG_BPAX
Intel opcode 95 Exchange contents of registers BP and AX. Flags modified: none |
class |
Instruction_XCHG_BXAX
Intel opcode 93 Exchange contents of registers BX and AX. Flags modified: none |
class |
Instruction_XCHG_CXAX
Intel opcode 91 Exchange contents of registers CX and AX. Flags modified: none |
class |
Instruction_XCHG_DIAX
Intel opcode 97 Exchange contents of registers DI and AX. Flags modified: none |
class |
Instruction_XCHG_DXAX
Intel opcode 92 Exchange contents of registers DX and AX. Flags modified: none |
class |
Instruction_XCHG_EbGb
Intel opcode 86 Byte-sized content exchange of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: none |
class |
Instruction_XCHG_EvGv
Intel opcode 87 Word-sized content exchange of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: none |
class |
Instruction_XCHG_SIAX
Intel opcode 96 Exchange contents of registers SI and AX. Flags modified: none |
class |
Instruction_XCHG_SPAX
Intel opcode 94 Exchange contents of registers SP and AX. Flags modified: none |
class |
Instruction_XLAT
Intel opcode D7 Set AL to memory byte DS:[BX + unsigned AL]. Flags modified: none |
class |
Instruction_XOR_ALIb
Intel opcode 34 Logical XOR of immediate byte and AL. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_XOR_AXIv
Intel opcode 35 Logical XOR of immediate word and AX. Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_XOR_EbGb
Intel opcode 30 Logical byte-sized XOR of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_XOR_EvGv
Intel opcode 31 Logical word-sized XOR of memory/register (destination) and register (source). The addressbyte determines the source (rrr bits) and destination (sss bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_XOR_GbEb
Intel opcode 32 Logical byte-sized XOR of register (destination) and memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
class |
Instruction_XOR_GvEv
Intel opcode 33 Logical word-sized XOR of register (destination) and memory/register (source). The addressbyte determines the source (sss bits) and destination (rrr bits). Flags modified: OF, SF, ZF, AF, PF, CF |
Fields in dioscuri.module.cpu declared as Instruction | |
---|---|
protected Instruction[] |
CPU.doubleByteInstructions
|
protected Instruction[] |
CPU.singleByteInstructions
|
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |