## 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

; 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.

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

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.

#### Describe ergonomic keyboards, Q. Describe Ergonomic Keyboards? Ergonomi...

Q. Describe Ergonomic Keyboards? Ergonomics is the study of environment, conditions as well as efficiency of workers. Ergonomics proposes that keyboard wasn't designed with hum

#### Illustrate the working of encoders, Q. Illustrate the working of Encoders? ...

Q. Illustrate the working of Encoders? An Encoder performs reverse function of decoder. An encoder has 2n input lines and 'n' output line. Let's see 8 ×3 encoder that encodes 8

#### Vector-memory instructions-vector processing, Vector-Memory Instructions : ...

Vector-Memory Instructions : When vector operations with memory M are executed then these are vector-memory instructions. These instructions are denoted with the many function mapp

#### C program, #how to write c program for all types of beam reactions

#how to write c program for all types of beam reactions

#### What is imprecise and precise exception, What is imprecise and precise exce...

What is imprecise and precise exception? Situation in which one or more of the succeeding instructions have been implemented to completion is known as imprecise exception. Situ

#### Zero address instruction format, Zero address instruction format is used fo...

Zero address instruction format is used for  (A) RISC architecture.      (B) CISC architecture.  (C) Von-Neuman architecture.   (D) Stack-organized architecture.

#### What is line option explicit, What is line option explicit Line explici...

What is line option explicit Line explicit function makes the compiler to recognize all the variables which are not particular by the dim statement. This command significantly

#### What are the input devices, What are the Input devices Various devices ...

What are the Input devices Various devices are available for data input on graphics workstations. Most systems have a keyboard and one or more additional devices specially desi

#### What are set up time & hold time constraints, What do they signify Which on...

What do they signify Which one is critical for calculating maximum clock frequency of a circuit? Ans) Set up time constraint implies how late the input signal can arrive befor

#### Instruction queue in bus interface unit, Q. Instruction Queue in Bus Interf...

Q. Instruction Queue in Bus Interface Unit? Instruction queue is employed to store the instruction ‘bytes' fetched. Please conceren two points here: that it's (1) A Byte (2) Qu