Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE) PDF Download

Machine Instructions are commands or programs written in machine code of a machine (computer) that it can recognize and execute.

  • A machine instruction consists of several bytes in memory that tells the processor to perform one machine operation.
  • The processor looks at machine instructions in main memory one after another, and performs one machine operation for each machine instruction.
  • The collection of machine instructions in main memory is called a machine language program.

Machine code or machine language is a set of instructions executed directly by a computer’s central processing unit (CPU). Each instruction performs a very specific task, such as a load, a jump, or an ALU operation on a unit of data in a CPU register or memory. Every program directly executed by a CPU is made up of a series of such instructions.
The general format of a machine instruction is
Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

  • Brackets indicate that a field is optional
  • Label is an identifier that is assigned the address of the first byte of the instruction in which it appears. It must be followed by “:”
  • Inclusion of spaces is arbitrary, except that at least one space must be inserted; no space would lead to an ambiguity.
  • Comment field begins with a semicolon “ ; ”

Example:
Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

Machine instructions used in 8086 microprocessor

1. Data transfer instructions: move, load exchange, input, output.

  • MOV :Move byte or word to register or memory .
  • IN, OUT: Input byte or word from port, output word to port.
  • LEA: Load effective address
  • LDS, LES Load pointer using data segment, extra segment .
  • PUSH, POP: Push word onto stack, pop word off stack.
  • XCHG: Exchange byte or word.
  • XLAT: Translate byte using look-up table.

2. Arithmetic instructions: add, subtract, increment, decrement, convert byte/word and compare.

  • ADD, SUB: Add, subtract byte or word
  • ADC, SBB :Add, subtract byte or word and carry (borrow).
  • INC, DEC: Increment, decrement byte or word.
  • NEG: Negate byte or word   (two’s complement).
  • CMP: Compare byte or word (subtract without storing).
  • MUL, DIV: Multiply, divide byte or word (unsigned).
  • IMUL, IDIV: Integer multiply, divide byte or word (signed)
  • CBW, CWD: Convert byte to word, word to double word
  • AAA, AAS, AAM,AAD: ASCII adjust for add, sub,  mul, div .
  • DAA, DAS: Decimal adjust for addition, subtraction (BCD numbers)

3. Logic instructions: AND, OR, exclusive OR, shift/rotate and test

  • NOT :   Logical NOT of byte or word (one’s complement)
  • AND:  Logical AND of byte or word
  • OR: Logical OR of byte or word.
  • XOR: Logical exclusive-OR of byte or word
  • TEST: Test byte or word (AND without storing).
  • SHL, SHR: Logical Shift rotate instruction shift left, right byte or word? by 1or CL
  • SAL, SAR: Arithmetic shift left, right byte or word? by 1 or CL
  • ROL, ROR: Rotate left, right byte or word? by 1 or CL .
  • RCL,  RCR: Rotate left, right through carry byte or word? by 1 or CL.

4. String manipulation instruction: load, store, move, compare and scan for byte/word

  • MOVS: Move byte or word string
  • MOVSB, MOVSW: Move byte, word string.
  • CMPS:  Compare byte or word string.
  • SCAS S: can byte or word string (comparing to A or AX)
  • LODS, STOS:  Load, store byte or word string to AL.

5. Control transfer instructions:  conditional, unconditional, call subroutine and return from subroutine.

  • JMP: Unconditional jump .it includes loop transfer and subroutine and interrupt instructions.
  • JNZ: jump till the counter value decreases to zero.It runs the loop till the value stored in CX becomes zero

 6. Loop control instructions:

  • LOOP: Loop unconditional, count in CX, short jump to target address.
  • LOOPE (LOOPZ): Loop if equal (zero), count in CX, short jump to target address.
  • LOOPNE (LOOPNZ): Loop if not equal (not zero), count in CX, short jump to target address.
  • JCXZ: Jump if CX equals zero (used to skip code in loop).
  • Subroutine and Intrrupt instructions-
  • CALL, RET: Call, return from procedure (inside or outside current segment).
  • INT, INTO:  Software interrupt, interrupt if overflow. IRET: Return from interrupt.

7. Processor control instructions
Flag manipulation:

  • STC, CLC, CMC:  Set, clear, complement carry flag.
  • STD, CLD:  Set, clear direction flag.STI, CLI: Set, clear interrupt enable flag.
  • PUSHF, POPF: Push flags onto stack, pop flags off stack.

Sample Question

Ques .1. Consider the sequence of machine instructions given below:
MUL R5, R0, R1
DIV R6, R2, R3
ADD R7, R5, R6
SUB R8, R7, R4

In the above sequence, R0 to R8 are general purpose registers. In the instructions shown, the first register stores the result of the operation performed on the second and the third registers. This sequence of instructions is to be executed in a pipelined instruction processor with the following 4 stages: (1) Instruction Fetch and Decode (IF), (2) Operand Fetch (OF), (3) Perform Operation (PO) and (4) Write back the Result (WB). The IF, OF and WB stages take 1 clock cycle each for any instruction. The PO stage takes 1 clock cycle for ADD or SUB instruction, 3 clock cycles for MUL instruction and 5 clock cycles for DIV instruction. The pipelined processor uses operand forwarding from the PO stage to the OF stage. The number of clock cycles taken for the execution of the above sequence of instructions is _____.

(a) 11
(b) 12
(c) 13
(d) 14
Ans: c
Solution:
Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

Difference between CALL and JUMP instructions

CALL instruction is used to call a subroutine. Subroutines are often used to perform tasks that need to be performed frequently. The JMP instruction is used to cause the PLC (Programmable Logic Control) to skip over rungs.
The differences Between CALL and JUMP instructions are:
Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

The document Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Computer Architecture & Organisation (CAO).
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
20 videos|86 docs|48 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Machine Instructions - Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

1. What are machine instructions in computer science engineering?
Ans. Machine instructions in computer science engineering are the basic operations that a computer's central processing unit (CPU) can perform. These instructions are written in a low-level language known as machine code and are executed by the CPU to perform specific tasks.
2. How are machine instructions different from high-level programming languages?
Ans. Machine instructions are different from high-level programming languages in several ways. Machine instructions are written in a binary format that can be directly understood by the computer's hardware, whereas high-level programming languages are designed to be more human-readable and require a compiler or interpreter to convert the code into machine instructions. Additionally, machine instructions are specific to the computer's architecture, while high-level programming languages are generally portable across different systems.
3. What is the role of machine instructions in computer architecture?
Ans. Machine instructions play a crucial role in computer architecture as they define the set of operations that a computer's CPU can perform. These instructions determine how data is manipulated, stored, and transferred within the computer's memory and registers. Additionally, machine instructions also control the flow of execution, allowing the CPU to make decisions and perform conditional branching based on specific conditions.
4. How are machine instructions executed by the CPU?
Ans. When a computer executes a program, the CPU fetches machine instructions from memory one by one. It decodes the instructions to determine the operation to be performed and the operands involved. The CPU then executes the instruction by performing the necessary calculations or data transfers. This process continues until all instructions have been executed or until a specific condition is met, such as the end of the program or an error.
5. Can machine instructions be directly understood by humans?
Ans. Machine instructions are not directly understandable by humans due to their binary representation. Each machine instruction is represented by a sequence of 0s and 1s, which can be challenging for humans to interpret and analyze. However, computer scientists and engineers who specialize in low-level programming can understand and work with machine instructions by using tools such as disassemblers, which convert machine code into a more readable assembly language representation.
20 videos|86 docs|48 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Free

,

shortcuts and tricks

,

Semester Notes

,

video lectures

,

pdf

,

Summary

,

Previous Year Questions with Solutions

,

Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

,

ppt

,

mock tests for examination

,

Important questions

,

Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

,

Exam

,

Extra Questions

,

Viva Questions

,

MCQs

,

study material

,

Machine Instructions | Computer Architecture & Organisation (CAO) - Computer Science Engineering (CSE)

,

practice quizzes

,

Sample Paper

,

Objective type Questions

,

past year papers

;