Instruction formats-microprocessor, Assembly Language

Instruction Formats

A machine language instruction format has 1 or more number of fields linked with it. The first field is known as operation code field or op code field, which show the type of the operation to be performed by the CPU. The instruction format also has other fields known as operand fields. The CPU executes the instruction by using the information which reside in these fields.

There are 6 general formats of instructions in 8086 instruction set. The length of an instruction can vary from one byte to six bytes. The instruction formats are given as following:

1) One byte Instruction:  This format is just one byte long and can have theregister operands or  implied data . The least significant 3-bits of the op code are referring for specifying the register operand, if any. Or else all the 8-bits form an opcode and the operands are implied.

2) Register  to Register: This format is 2 bytes long. The first byte of the code indicatethe operation code and width of the operand indicated by w bit. The second byte of the code indicate the register operands and R/M field, as given below.

2261_instruction1.jpg

The register represented  by the REG field is 1 of the operands.  The R/M field indicate  another register or memory location, for example. the other operand.

3) Register to/from Memory with no Displacement:  This format is 2 bytes long and same as the register to register format except for the MOD field as shown.

460_instruction2.jpg

The MOD field indicates the mode of addressing. The R/M, MOD,REG and the W fields are decided inTable 3.2.

4) Register  to/from  Memory  with Displacement:  This type of instruction  format have  one or two extra bytes for displacement along with 2-byte the format of the register to/from memory without displacement. The format is given.

2109_instruction3.jpg

5) Immediate Operand to Register: In this format, the first byte and the 3-bits from the second byte which are utilized for REG field in case of register to register format are utilized for opcode. It also has one or two bytes of immediate data. The complete instruction format is as given below.

360_instruction4.jpg

6) Immediate Operand to Memory with 16-bit Displacement:  This type of instruction format requires 5 or 6 bytes for coding. The first 2 bytes have the information regardingMOD, OPCODE and R/M fields. The remaining 4 bytes have 2 bytes of displacement and 2 bytes of data as shown.

 

2472_instruction5.jpg

Posted Date: 10/10/2012 4:37:15 AM | Location : United States







Related Discussions:- Instruction formats-microprocessor, Assignment Help, Ask Question on Instruction formats-microprocessor, Get Answer, Expert's Help, Instruction formats-microprocessor Discussions

Write discussion on Instruction formats-microprocessor
Your posts are moderated
Related Questions
Intel's 8237 DMA controller : 1) The 8237 contain 4 independent I/O channels 2) It contains 27 registers, 7 of which are system-wide registers and 5 for each channel. 3)

Code for Reading Flow & Generating LED Output The code starts with the scanning of the PORT 3, for reading the flow status to check for various flow conditions and compare to

The problem to be solved and implemented with an ARM assembly language program You are asked to do some image processing on an image composed of characters shaped in For exa

Problems: 1. Write a single program. Each of the problems (2-4) should be written within a procedure. Your “main” procedure should call each procedure. Before calling each proc

Type of Microprocessor : Microprocessors fall into 3 categories: Single Chip Microcomputers: - Contains RWM, ROM, microprocessor, I/O port, timer and clock. General pu

Memory Mapped I/O Memory I/O devices are mapped into the system memory map with ROM and RAM. To access a hardware  device, simply write or  read  to  those  'special'  addresse

Write a program to separate out positive and negative numbers from a given series of 16-bit hexadecimal numbers.

You are to create an assembly program for the MSP430 that correctly measures the wind direction, to a precision of 45° (N, NW, W, SW, S, SE, E, NE), using the MSP430's ADC. Your

assembly language program to find larges number in an array

1. Write an assembly program that adds the elements in the odd indices of the following array. Use LOOP. What is the final value in the register? array1 DWORD 10, 20, 30, 40, 50, 6