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 OperationFlagsAffectedRETROLNOTE:Return:RET optional-pop-valueTransfers control from a procedureback to the instruction following theCALL that activated the procedure.The assembler generates an intrasegmentRET if the programmer hasdefined the procedure near, or anintersegment RET if the procedure hasbeen defined as far. RET pops theword at the top of the stack (pointed toby register SP) into the instructionpointer and increments SP by two. IfRET is intersegment, the word at thenew top of stack is popped into the CSregister, and SP is again incrementedby two. If an optional pop value hasbeen specified, RET adds that value toSP.Instruction Operands:RET immed8Rotate Left:ROL dest, countRotates the destination byte or wordleft by the number of bits specified inthe count operand.Instruction Operands:ROL reg, nROL mem, nROL reg, CLROL mem CL(IP) ← ((SP) = 1:(SP))(SP) ← (SP) + 2ifinter-segmentthen(CS) ← ((SP) + 1:(SP))(SP) ← (SP) + 2ifadd immed8 to SPthen(SP) ← (SP) + data(temp) ← countdo while (temp) ≠ 0(CF) ← high-order bit of (dest)(dest) ← (dest) × 2 + (CF)(temp) ← (temp) – 1ifcount = 1thenifhigh-order bit of (dest) ≠ (CF)then(OF) ← 1else(OF) ← 0else(OF) undefinedThe 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 –AF –CF üDF –IF –OF üPF –SF –TF –ZF –C-38

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

Saved successfully!

Ooh no, something went wrong!