INSTRUCTION SETT S PRADEEP KUMARAssistant Professor (SG)VIT University – Chennai Campushttp://firstname.lastname@example.org
Topics to be covered• Instruction Formats• Types of Operations• Addressing Modes
Instruction Format• Elements of a machine instruction • Operation Code – specifies the operation to be performed and this is a binary code. • Source Operand Reference – operands that are inputs • Result Operand reference – operand that are outputs • Next instruction reference - This tells the processor where to fetch the next instruction after the execution of this instruction is complete
Instruction Format• Operand Location • Main or Virtual Memory • Processor Register – a processor contains one or more register. In there is only one, reference is implicit. Else the register number is to be supplied. • Immediate – The value of the operand is contained in a field in the instruction being executed • I/O device - The instruction must specify the I/O module and device for the operation.
Instruction Format• A Simple Instruction Format
Operations• Data transfer• Arithmetic• Logical• Conversion• I/O• System control• Transfer of control
Data Transfer OperationOperation Name DescriptionMove (Transfer) Transfer word or block from source to destinationStore Transfer word from processor to memoryLoad (fetch) Transfer word from memory to processorExchange Swap contents of source and destinationClear (Reset) Transfer word of 0s to destinationSet Transfer word of 1s to destinationPUSH Transfer word from source to top of stackPOP Transfer word from top of stack to destination
Arithmetic• ADD• Subtract• Multiply• Divide• Absolute – replace operand by its absolute value• Negate – change sign of operand• Increment – add 1 to operand• Decrement – subtract 1 from operand
Logical• AND, OR, NOT, X OR• Test• Compare• Set control variables• Shift• Rotate
Transfer of Control• Jump (Branch) – load PC with specified address• Jump conditional• Jump to subroutine• Return• Execute• Skip – increment PC to next instruction• Skip conditional• Halt – stop program execution• Wait• No Operation
I/O• Input (read) -Transfer data from specified I/O port or device to destination (e.g., main memory or processor register)• Output (write) -Transfer data from specified source to I/O port Input/Output or device• Start I/O -Transfer instructions to I/O processor to initiate I/O operation• Test I/O -Transfer status information from I/O system to specified destination
Addressing modes• The manner in which target address or effective address is identified within the instruction is called addressing mode• Immediate Addressing• Direct Addressing• Indirect Addressing• Register Addressing• Register Indirect Addressing• Displacement Addressing• Stack Addressing
Register addressing• EA = R• Similar to direct addressing.• Address field refers to register rather than a main memory address• Advantages: only a small address field is needed, no time consuming memory references• Disadvantages: only limited registers are available in any processors when compared to main memory.
Displacement addressing• EA = A + (R)• Combination of direct addressing and register indirect addressing• Very effective• Operates in three modes • Relative addressing • Index addressing • Base register addressing
Stack addressing• Linear array of locations• Pushdown list or Last in First out List• Elements are appended to the top of the stack• Stack pointer is maintained in a register.• the operation performed at the top of the stack