PROGRAM NO.9
OBJECT:Write a program to move a block of data from one memory location to another.
INSTRUMENT REQUIRED: 8086 Microprocessor Trainer Kit.
PROGRAM:
MEMORY LOCATION | MACHINE CODE | OPCODE | OPERAND |
0200 | FD | STD | |
0201 | BE 1F 03 | MOV | SI,031FH |
0204 | BF 2F 03 | MOV | DI,032FH |
0207 | B9 10 00 | MOV | CX,0010H |
020A | F2 | REP | |
020B | A5 | MOV | SW/SB |
020C | F4 | HLT |
DESCRIPTION:
To solve the given objective we have taken a Block of 10H words located in memory locations from 0310H to 031FH and then bit by bit moved it the memory locations from 0320H to 032FH.
To solve the given objective we have taken the following steps:
- Set the direction flag in order to auto decrements the SI and DI registers.
- Move the source index (SI) pointer to point to the location of the last number of the block to be moved.
- Move the destination index (DI) pointer to point to the memory location where the last number of the block to be moved.
- Set CX equal to 10H i.e. the number of numbers to be moved.
- Move the number pointed to by SI into the location pointed to by DI and auto decrements CX.
- Repeat the fourth step till values in CX does not become zero.
- Finally Halt.
INPUT:
MEMORY LOCATION | VALUE |
0310H | 01 |
0311H | 02 |
0312H | 03 |
0313H | 04 |
0314H | 05 |
0315H | 06 |
0316H | 07 |
0317H | 08 |
0318H | 09 |
0319H | 10 |
031AH | 11 |
031BH | 12 |
031CH | 13 |
031DH | 14 |
031EH | 15 |
031FH | 16 |
OUTPUT:
MEMORY LOCATION | VALUE |
0320H | 01 |
0321H | 02 |
0322H | 03 |
0323H | 04 |
0324H | 05 |
0325H | 06 |
0326H | 07 |
0327H | 08 |
0328H | 09 |
0329H | 10 |
032AH | 11 |
032BH | 12 |
032CH | 13 |
032DH | 14 |
032EH | 15 |
032FH | 16 |
RESULT: The block of data has been moved successfully from one memory location to another.
COMMENTS:
- STD: This instruction sets the direction flag to 1 without affecting other flags.
- REP: It decrement CX register and repeats the string instruction until CX register becomes zero.
- MOV SW/ SB: These instructions moves 8-bit or 16-bit data from the memory location(s) addressed by SI register to the memory location(s) addressed by D
FLOWCHART:

Most Important Question for Exam
1. During a read operation the CPU fetchs__________.
All of these
2. Which of following is no an 8086/8088 general-purpose register?
Address Segment (AS)
3. Which Microprocessor accepts the program written for 8086 without any changes?
8088
4. Which group of instructions do not affect the flags?
Data Transfer Operations
5. The result of MOVE AL,65 is to store
Store 0100 0001 in AL
6. FPGA means
Field Programmable Gate Array
7. Which Languge could be used for programming on FPGA
VHDL
8. The Program counter in a 8085 microprocessor is a 16 bit register because
There are 16 address line
9. A Microprocessor is ALU
Register unit and and control unit on a single chip
10. Basic steps of execution of an instruction is
Fetch–>decode–>execute
11. Which of the data transfer is not possible in microprocessor
Memory to memory
12. Which one of the following statement is false?
Microprocessor has an ALU
13. In microprocessor based system DMA refers to
Direct memory access for the I/O device
14. The interrupt facility is provide in microprocessor to
Keep control on the working of the microprocessor
15. Microprocessor differentiates between op code data/address
The sequence in which memory are fetched by it
16. A Microprocessor without the interrupt facility
Is not useful for process control system
17. In Microprocessor based system I/O ports are used to interface
All the I/O devices
18. In a microprocessor based system the stack is always in
RAM
19. The instruction set of a microprocessor
Is specified by the manufacturer
20. The multiplexing of address bus and data buses are used in microprocessor
To reduced the number of pins
21. The stack pointer register in a microprocessor
Hold the address of the top of stack
22. The address bus of any microprocessor is always
Undirectional
23. The bus connected between the CPU and main memory that permits transfer of information between main memory and the CPU is known as
Memory bus
24. In a microprocessor system, suppose. TRAP, HOLD, RESET Pin got activated as the same time while the processor was executing some instructions, then it will first respond to
None of these
25. When CPU is not fully loaded which of the following method of data transfer is preferred
None of these
26. In Microprocessor, the SS is called as ___________
Stack Segment
27. The Index registe are used to hold____________
Offset address
28. The BIU contains FIFO registe of size_______bytes.
6
29. The CS register stores instruction ____________in code segment
Codes
30. The microprocessor determines whether the specified or not by testing the________
Conditional Flag
Related Link
- 8086 Instruction Hex Code
- Write a program to two add 16 bit Hexadecimal numbers without carry.
- Write a program to two add 16 bit Hexadecimal numbers with carry.
- Write a program to find the greatest number from an array of 10 numbers.
- Write a program to calculate the factorial of a number.
- Write a program to multiply two 16-bit numbers result should be greater than 16 bit.
- Write a program to input 5 numbers and arrange them in descending order.
- Write a program to convert the string data it’s Two’s complement form.
- Write a program to read 8 bit data from Port B. Complement this data & send it back to Port A of
- Write a program to move a block of data from one memory location to another. Input Value
- Write a program to find Gray code equivalent of a Binary number using Lookup Table.
- Microprocessor 8086 Video Play List