1. INSTRUCTION SET
T S PRADEEP KUMAR
Assistant Professor (SG)
VIT University – Chennai Campus
http://www.pradeepkumar.org
tspembedded@gmail.com
2. Topics to be covered
• Instruction Formats
• Types of Operations
• Addressing Modes
3. 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
4. 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.
9. Data Transfer Operation
Operation Name Description
Move (Transfer) Transfer word or block from source to
destination
Store Transfer word from processor to memory
Load (fetch) Transfer word from memory to processor
Exchange Swap contents of source and destination
Clear (Reset) Transfer word of 0s to destination
Set Transfer word of 1s to destination
PUSH Transfer word from source to top of stack
POP Transfer word from top of stack to
destination
10. 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
11. Logical
• AND, OR, NOT, X OR
• Test
• Compare
• Set control variables
• Shift
• Rotate
12. 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
13. 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
14. 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
16. Immediate addressing
• Simplest form of addressing
• Operand value is present directly
• Operand = A
• Useful for defining constants or set initial values
20. Indirect addressing
• EA =(A)
• Parentheses specifies the contents of A
• Neither the address of the operand nor the operand
• Disadvantage: Two memory references to fetch the
operand
22. 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.
26. 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
28. 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