12.07.2015 Views

80C186EB/80C188EB Microprocessor User's Manual - CEUNES

80C186EB/80C188EB Microprocessor User's Manual - CEUNES

80C186EB/80C188EB Microprocessor User's Manual - CEUNES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

INSTRUCTION SET DESCRIPTIONSTable C-4. Instruction Set (Continued)IMULINName Description OperationNOTE:Integer Multiply:IMUL srcPerforms a signed multiplication of thesource operand and the accumulator.If the source is a byte, then it ismultiplied by register AL, and thedouble-length result is returned in AHand AL. If the source is a word, then itis multiplied by register AX, and thedouble-length result is returned inregisters DX and AX. If the upper halfof the result (AH for byte source, DXfor word source) is not the signextension of the lower half of theresult, CF and OF are set; otherwisethey are cleared. When CF and OF areset, they indicate that AH or DXcontains significant digits of the result.Instruction Operands:IMUL regIMUL memIMUL immedInput Byte or Word:IN accum, portTransfers a byte or a word from aninput port to the AL register or the AXregister, respectively. The port numbermay be specified either with animmediate byte constant, allowingaccess to ports numbered 0 through255, or with a number previouslyplaced in the DX register, allowingvariable access (by changing the valuein DX) to ports numbered from 0through 65,535.Instruction Operands:IN AL, immed8IN AX, DXWhen Source Operand is a Byte:(AX) ← (byte-src) × (AL)if(AH) = sign-extension of (AL)then(CF) ← 0else(CF) ← 1(OF) ← (CF)When Source Operand is a Word:(DX:AX) ← (word-src) × (AX)if(DX) = sign-extension of (AX)then(CF) ← 0else(CF) ← 1(OF) ← (CF)When Source Operand is a Byte:(AL) ← (port)When Source Operand is a Word:(AX) ← (port)The three symbols used in the Flags Affected column are defined as follows:– the contents of the flag remain unchanged after the instruction is executed? the contents of the flag is undefined after the instruction is executedüthe flag is updated after the instruction is executedFlagsAffectedAF ?CF üDF –IF –OF üPF ?SF ?TF –ZF ?AF –CF –DF –IF –OF –PF –SF –TF –ZF –C-17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!