Добрый день. Сабж. В документации Intel такого опкода нет. Ollydbg,Hiew приравнивают этот опкод к 80h. Как правильно?
Из TechHelp! 6.0: Код (Text): Instruction Set Matrix * indicates 286+ only (not available in 8088/8086). + indicates 386 and/or 486 and/or Pentium +========+========+========+========+========+========+========+========+ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | ==+========+========+========+========+========+========+========+========+ 0x| ADD | ADD | ADD | ADD | ADD | ADD | PUSH | POP | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | ES | ES | --+--------+--------+--------+--------+--------+--------+--------+--------+ 1x| ADC | ADC | ADC | ADC | ADC | ADC | PUSH | POP | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | SS | SS | --+--------+--------+--------+--------+--------+--------+--------+--------+ 2x| AND | AND | AND | AND | AND | AND | SEG | DAA | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | ES | | --+--------+--------+--------+--------+--------+--------+--------+--------+ 3x| XOR | XOR | XOR | XOR | XOR | XOR | SEG | AAA | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | SS | | --+--------+--------+--------+--------+--------+--------+--------+--------+ 4x| INC | INC | INC | INC | INC | INC | INC | INC | | AX | CX | DX | BX | SP | BP | SI | DI | --+--------+--------+--------+--------+--------+--------+--------+--------+ 5x| PUSH | PUSH | PUSH | PUSH | PUSH |PUSH | PUSH | PUSH | | AX | CX | DX | BX | SP |BP | SI | DI | --+--------+--------+--------+--------+--------+--------+--------+--------+ 6x| * PUSHA| * POPA | * BOUND| ARPL |+ SEG FS|+ SEG GS|+opSize |+addrSiz| | | | | | | | prefix | prefix | --+--------+--------+--------+--------+--------+--------+--------+--------+ 7x| JO | JNO | JB/ | JNB/ | JE/ | JNE/ | JBE/ | JNBE/ | | | | JNAE | JAE | JZ | JNZ | JNA | JA | --+--------+--------+--------+--------+--------+--------+--------+--------+ 8x| ArOp1 | ArOp1 | ArOp2 | ArOp2 | TEST | TEST | XCHG | XCHG | |r/m,im8 |r/m,im16|r/m8,im8|rm16,im8|r/m,r8 |r/m,r16 |r8,r/m |r16,r/m | --+--------+--------+--------+--------+--------+--------+--------+--------+ 9x| NOP | XCHG | XCHG | XCHG | XCHG | XCHG | XCHG | XCHG | | | AX,CX | AX,DX | AX,BX | AX,SP | AX,BP | AX,SI | AX,DI | --+--------+--------+--------+--------+--------+--------+--------+--------+ Ax| MOV | MOV | MOV | MOV | MOVSB | MOVSW | CMPSB | CMPSW | |AL,mem8 |AX,mem16|mem8,AL |mem16,AX| | | | | --+--------+--------+--------+--------+--------+--------+--------+--------+ Bx| MOV | MOV | MOV | MOV | MOV | MOV | MOV | MOV | | AL,im8 | CL,im8 | DL,im8 | BL,im8 | AH,im8 | CH,im8 | DH,im8 | BH,im8 | --+--------+--------+--------+--------+--------+--------+--------+--------+ Cx|* ShfOp |* ShfOp |RET near|RET near| LES | LDS | MOV | MOV | |r/m8,imm|r/m16,im| ёim16 | |r16,mem |r16,mem |mem,im8 |mem,im16| --+--------+--------+--------+--------+--------+--------+--------+--------+ Dx| ShfOp | ShfOp | ShfOp | ShfOp | AAM | AAD | | XLAT | |r/m8,1 |r/m16,1 |r/m8,CL |r/m16,CL| | | | | --+--------+--------+--------+--------+--------+--------+--------+--------+ Ex| LOOPNE/| LOOPE/ | LOOP | JCXZ | IN | IN | OUT | OUT | | LOOPNZ | LOOPZ | |+JECXZ |AL,port8|AX,port8|AL,port8|AX,port8| --+--------+--------+--------+--------+--------+--------+--------+--------+ Fx| LOCK | | REP/ | REPZ/ | HALT | CMC | Grp1 | Grp1 | | | | REPNE | REPE | | |r/m8 |r/m16 | ==+========+========+========+========+========+========+========+========+ | x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | +========+========+========+========+========+========+========+========+ +========+========+========+========+========+========+========+========+ | x8 | x9 | xA | xB | xC | xD | xE | xF | ==+========+========+========+========+========+========+========+========+ 0x| OR | OR | OR | OR | OR | OR | PUSH |+*Extnsn| | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | CS | OpCode | --+--------+--------+--------+--------+--------+--------+--------+--------+ 1x| SBB | SBB | SBB | SBB | SBB | SBB | PUSH | POP | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | DS | DS | --+--------+--------+--------+--------+--------+--------+--------+--------+ 2x| SUB | SUB | SUB | SUB | SUB | SUB | SEG | DAS | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | CS | | --+--------+--------+--------+--------+--------+--------+--------+--------+ 3x| CMP | CMP | CMP | CMP | CMP | CMP | SEG | AAS | | r/m,r8 |r/m,r16 | r8,r/m |r16,r/m | AL,im8 |AX,im16 | DS | | --+--------+--------+--------+--------+--------+--------+--------+--------+ 4x| DEC | DEC | DEC | DEC | DEC | DEC | DEC | DEC | | AX | CX | DX | BX | SP | BP | SI | DI | --+--------+--------+--------+--------+--------+--------+--------+--------+ 5x| POP | POP | POP | POP | POP |POP | POP | POP | | AX | CX | DX | BX | SP |BP | SI | DI | --+--------+--------+--------+--------+--------+--------+--------+--------+ 6x| * PUSH | * IMUL | * PUSH | * IMUL | * INSB | * INSW |* OUTSB |* OUTSW | | imm16 |r/m,im16| imm8 |r/m,im8 | | | | | --+--------+--------+--------+--------+--------+--------+--------+--------+ 7x| JS | JNS | JP/ | JNP/ | JL/ | JNL/ | JLE/ | JNLE/ | | | | JPE | JPO | JNG | JGE | JNG | JG | --+--------+--------+--------+--------+--------+--------+--------+--------+ 8x| MOV | MOV | MOV | MOV | MOV | LEA | MOV | POP | |r/m,r8 |r/m,r16 |r8,r/m |r16,r/m |r/m,seg |r16,mem |seg,r/m | r/m | --+--------+--------+--------+--------+--------+--------+--------+--------+ 9x| CBW | CWD | CALL | WAIT | PUSHF | POPF | SAHF | LAHF | | | | far | | | | | | --+--------+--------+--------+--------+--------+--------+--------+--------+ Ax| TEST | TEST | STOSB | STOSW | LODSB | LODSW | SCASB | SCASW | |AL,mem8 |AX,mem16| | | | | | | --+--------+--------+--------+--------+--------+--------+--------+--------+ Bx| MOV | MOV | MOV | MOV | MOV | MOV | MOV | MOV | |AX,im16 |CX,im16 |DX,im16 |BX,im16 |SP,im16 |BP,im16 |SI,im16 |DI,im16 | --+--------+--------+--------+--------+--------+--------+--------+--------+ Cx|* ENTER |* LEAVE |RET far |RET far | INT 3 | INT | INTO | IRET | |im16,im8| | ёim16 | | | im8 | | | --+--------+--------+--------+--------+--------+--------+--------+--------+ Dx| ESC 0 | ESC 1 | ESC 2 | ESC 3 | ESC 4 | ESC 5 | ESC 6 | ESC 7 | | 387/486| 387/486| 387/486| 387/486| 387/486| 387/486| 387/486| 387/486| --+--------+--------+--------+--------+--------+--------+--------+--------+ Ex| CALL | JMP | JMP | JMP | IN | IN | OUT | OUT | | near | near | far | short | AL,DX | AX,DX | AL,DX | AX,DX | --+--------+--------+--------+--------+--------+--------+--------+--------+ Fx| CLC | STC | CLI | STI | CLD | STD | Grp2 | Grp3 | | | | | | | | r/m8 | r/m16 | ==+========+========+========+========+========+========+========+========+ | x8 | x9 | xA | xB | xC | xD | xE | xF | +========+========+========+========+========+========+========+========+ This table identifies operations for the instruction groups which contain the opcode in bits 3-5 of the second byte (normally the addressing mode byte). +=======+=======+=======+=======+=======+=======+=======+=======+ |md000rm|md001rm|md010rm|md011rm|md100rm|md101rm|md110rm|md111rm| =======+=======+=======+=======+=======+=======+=======+=======+=======+ ArOp1 | ADD | OR | ADC | SBB | AND | SUB | XOR | CMP | -------+-------+-------+-------+-------+-------+-------+-------+-------+ ArOp2 | ADD | | ADC | SBB | | SUB | | CMP | -------+-------+-------+-------+-------+-------+-------+-------+-------+ ShftOp | ROL | ROR | RCL | RCR |SHL/SAL| SHR | | RAR | -------+-------+-------+-------+-------+-------+-------+-------+-------+ Grp1 | TEST | | NOT | NEG | MUL | IMUL | DIV | IDIV | -------+-------+-------+-------+-------+-------+-------+-------+-------+ Grp2 | INC | DEC |CALL nr|CALL fr|JMP nr |JMP far| PUSH | | -------+-------+-------+-------+-------+-------+-------+-------+-------+ Grp3 | INC | DEC | | | | | | | =======+=======+=======+=======+=======+=======+=======+=======+=======+
Без разницы. Второй бит в этих инструкциях - бит S, влияющий на знаковое расширение непосредственного операнда. Но когда бит W (первый бит этих инструкций) сброшен, размер операнда всегда 1 байт, независимо от поля S. Так что, и 80C012 и 82C012 - это одна и та же инструкция (по действию) - add al, 12