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)Name Description OperationFlagsAffectedMOVSMULNOTE:Move String:MOVS dest-string, src-stringTransfers a byte or a word from thesource string (addressed by SI) to thedestination string (addressed by DI)and updates SI and DI to point to thenext string element. When used inconjunction with REP, MOVSperforms a memory-to-memory blocktransfer.Instruction Operands:MOVS dest-string, src-stringMOVS (repeat) dest-string, src-stringMultiply:MUL srcPerforms an unsigned multiplication ofthe source 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 operand is aword, then it is multiplied by registerAX, and the double-length result isreturned in registers DX and AX. Theoperands are treated as unsignedbinary numbers (see AAM). If theupper half of the result (AH for bytesource, DX for word source) is nonzero,CF and OF are set; otherwisethey are cleared.Instruction Operands:MUL regMUL mem(dest-string) ← (src-string) AF –CF –DF –IF –OF –PF –SF –TF –ZF –When Source Operand is a Byte:(AX) ← (AL) × (src)if(AH) = 0then(CF) ← 0else(CF) ← 1(OF) ← (CF)When Source Operand is a Word:(DX:AX) ← (AX) × (src)if(DX) = 0then(CF) ← 0else(CF) ← 1(OF) ← (CF)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 executedAF ?CF üDF –IF –OF üPF ?SF ?TF –ZF ?C-30

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

Saved successfully!

Ooh no, something went wrong!