Use of delay loops, Computer Engineering

Assignment Help:

A very useful application of assembly is to generate delay loops. These loops are used for waiting for some time before execution of subsequent instruction.

However how to find time for the delay? The rate at which instructions are executed is determined by clock frequency. Every instruction occupies a certain number of clock cycles to execute. This multiplied by clock frequency of microprocessor gives actual time of execution of an instruction. For illustration MOV instruction occupies four clock cycles. This instruction when run on a microprocessor with a 4 MHz clock occupies 4/4 which means 1 microsecond. NOP is an instruction which is used to produce the delay without affecting actual running of program.

Time-delay of 1 ms on a microprocessor having a clock frequency of 5 MHz will necessitate:

1419_Use of delay loops.png

Thus, a 1-millisecond delay will require:

1588_Use of delay loops1.png

The subsequent program section can be used to produce the delay with counter value correctly initialised.

MOV CX, N    ; 4 clock cycles N will vary depending on

                        ; The amount of delay required

DELAY:         NOP                ; 3 cycles

                        NOP                ; 3 cycles

                        LOOP DELAY; 17 or 5

LOOP instruction occupies 17 clock cycles when condition is true and 5 clock cycles otherwise. Condition will be true 'N' number of times and false just once when control comes out of loop.

To calculate 'N':

  Total clock cycles    = clock cycles for MOV + N (2*NOP clock cycles + 17) - 12 (when CX = 0)

5000 = 4 + N (6 + 17) - 12 

 N = 5000/23 = 218 = 0DAh

So the counter CX must be initialized by 0DAh in order to get delay of 1 millisecond.


Related Discussions:- Use of delay loops

Explain a full subtractor using half subtractors, Draw the logic diagram of...

Draw the logic diagram of a full subtractor using half subtractors and explain its working with the help of a truth table Ans: Full Subtractor: It has to take care of repe

C LANGUAGE, 4) A positive integer is entered through the keyboard;write a ...

4) A positive integer is entered through the keyboard;write a function to find the binary equivalent of this number using recursion.

What is digital signature, Digital Signature is Software to recognize si...

Digital Signature is Software to recognize signature

Determine the begin - end keywords, Determine the begin - end keywords ...

Determine the begin - end keywords Group several statements together. Cause the statements to be evaluated sequentially (one at a time) -> Any timing within sequential group

Diffrentiate b/w shared memory and distributed memory, Shared Memory  ...

Shared Memory  Shared Memory refers to memory component of a computer system in which the memory can accessed directly by any of the processors in the system. Distributed

How is it possible to make a module counter using n flipflop, How is it pos...

How is it possible to make a module 2 n counter using N-flipflops?  Name the two types of such counters. Ans: Module 2 n counter counts total 2 n distinguishable states w

Associative memory organisations, Associative Memory Organisations The ...

Associative Memory Organisations The associative memory is organised in w words with b bits per word. In w x b array, every bit is known a cell. Each cell is made up of a flip-

Explain the working of bcd adder, Explain the working of BCD adder One ...

Explain the working of BCD adder One of the ways of adding decimal numbers in BCD is to use a 4-bit binary adder and perform arithmetic operation one digit at a time. The low-o

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd