Define looping in assembly language, Computer Engineering

Assignment Help:

Q. Define looping in assembly language?

LOOPING 

; Program: Assume a constant inflation factor that is added to a series of prices

; stored in the memory. The program copies the new price over the old price. It is 

; assumed that price data is available in BCD form.

; The algorithm:

; Repeat

; Read a price from the array

; Add inflation factor

; Adjust result to correct BCD

; Put result back in array

; Until all prices are inflated

; REGISTERS: Uses DS, CS, AX, BX, CX

; PORTS        : Not used

ARRAYS                   SEGMENT

                                    PRICE                        DB 36h, 55h, 27h, 42h, 38h, 41h, 29h, 39h

ARRAYS                   ENDS

CODE                         SEGMENT

                                    ASSUME CS:CODE, DS: ARRAYS

START:                       MOV AX, ARRAYS; Initialize data segment

                                    MOV DS, AX; register using AX

                                    LEA BX, PRICES; initialize pointer to base of array

                                    MOV CX, 0008h; Initialise counter to 8 as array have 8

; Values.

DO_NEXT:                MOV AL, [BX]                      ; Copy a price to AL. BX is addressed in 

; Indirect mode.

                                    ADD AL, 0Ah                        ; Add inflation factor

                                    DAA                                                   ; Make sure that result is BCD

                                    MOV [BX], AL                      ; Copy result back to the memory 

                                    INC BX                                  ; increment BX to make it point to next price 

                                    DEC CX                                 ; Decrement counter register

                                    JNZ DO_NEXT                     : If not last, (last would be when CX will 

; become 0) Loop back to DO_NEXT

                                    MOV AH, 4CH                      ; Return to DOS

                                    INT 21H

CODE ENDS  

END START

Discussion: 

Please note the use of instruction: LEA BX, PRICES: It would load BX register with offset of the array PRICES in data segment. [BX] is an indirection through BX and comprises the value stored at that element of array. PRICES. BX is incremented to point to next element of array. CX register acts as a loop counter and is decremented by one to keep a check of the bounds of array. As soon as CX register becomes zero, zero flag is set to 1. JNZ instruction keeps track of value of CX and loop terminates when zero flag is 1 as JNZ doesn't loop back. The same program can be written by LOOP instruction in such case DEC CX and JNZ DO_NEXT instructions are substituted by LOOP DO_NEXT instruction. LOOP decrements value of CX and jumps to given label only if CX isn't equal to zero.


Related Discussions:- Define looping in assembly language

Cascade delete options, Create a relationship among Employee and Sales tabl...

Create a relationship among Employee and Sales tables using Emp No. Enforce referential integrity and select both cascade update and cascade delete options. Save the relationship.

Define overflow, Define Overflow.  An overflow is a problem in digital ...

Define Overflow.  An overflow is a problem in digital computer due to the width of registers is finite. A result that contains n+ 1 bit cannot be accommodated in a register wit

Avoiding overfitting - decision tree learning , Avoiding Overfitting : ...

Avoiding Overfitting : However remember there that in the previous lecture, there is over fitting that common problem in machine learning. Furthermore details to decision tree

Explain optimization process of pipelining, Q. Explain Optimization process...

Q. Explain Optimization process of Pipelining ? RISC machines can use a very efficient pipeline scheme due to the regular and simple instructions. Similarly all other instructi

Computer, How does computer started?

How does computer started?

Define flowchart, Define Flowchart. A  process  of  expressing  an  alg...

Define Flowchart. A  process  of  expressing  an  algorithm  by  a  collection  of  linked  geometric  shapes   containing explanations of the algorithm's steps.

How web-based word processing works, How Web-Based Word Processing Works? ...

How Web-Based Word Processing Works? Web-based word processors are hosted in the cloud, not on the hard drive-as are the documents formed with these applications. And these web

Where particular header ends & next item begins of ipv6, As IPV6 contain mu...

As IPV6 contain multiple headers, how does it know where particular header ends and next item begins? Several headers types contain fixed size. For illustration a base header h

Explain collaboration on task and event management, What is difference betw...

What is difference between collaboration on task and event management? Web-based task management application let the user handle the multiple pieces and parts of large projects

Describe key features of the von neumann architecture, Q. Describe key feat...

Q. Describe key features of the von Neumann Architecture? Describe key features of the von Neumann Architecture: The mainly basic function performed by a computer is exe

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