You are on page 1of 5

DSP Processor and

Architecture

Assignment 2

Submitted By-
Name: Mohd Atif
Reg no:2019SP20
1. Eight data items are stored at data locations 260H – 267H. Write a program to copy
these data items at data locations 200H – 207H.
Sol:
.entry
LAR AR0, #260H
LAR AR1, #200H
LAR AR2, #7
MAR *, AR0
BACK: LACL * +, AR1
SACL * +, AR2
BANZ BACK, AR0
.end

2. Repeat Q1 to perform looping, using BCND instruction.


Sol:
.entry
LAR AR0, #260H
LAR AR1, #200H
LAR AR2, #7
BACK: MAR *, AR0
LACL * +, AR1
SACL * +, AR2
LACL *-
BCND BACK, NEQ
.end

3. Repeat Q1 to perform copy operation using RPTB instruction.


Sol:
.entry
LAR AR0, #260H
LAR AR1, #200H
LMMR BRCR, #07
MAR *, AR0
RPTB end_block-1
NOP
LACL * +, AR1
SACL * +, AR0
end_block
.end
4. Write a program that stores a data series in reverse order at location starting from
7C0H. Given that total number of elements in series is stored at 260H and thereafter
data series start.
Sol:
.entry
LDP #0
LAR AR0, #260H
LAR AR1, #7C0H
MAR *, AR0
LMMR INDX, 260H
LACL *+
SUB #1
SAMM BRCR
MAR *, AR1
LACC *0+
SACL *
RPTB end_block -1
LACL *-, AR1
SACL*+, 0, AR0
NOP
end_block
.end

5. Ten data items are stored at 570H – 579H and 610H – 619H. Write a program that
add the numbers of these tables and stores the result of each addition at data
locations starting from 2C0H.
Sol:
.entry
LAR AR0, #9
LAR AR1, #570H
LAR AR2, #610H
LAR AR3, #2C0H
MAR *, AR1
BACK: LACL * +, AR2
ADD*+, AR3
SACL * +, AR0
BANZ BACK, AR1
.end

6. Six integers are stored at data locations 3A0H – 3A5H. Write a program to find the
smallest of these numbers.
Sol:
.entry
LAR AR0, #3A0H
MAR *, AR0
LACL *+
SACB
SPLK #4, BRCR
RPTB end_block – 1
NOP
LACL *+
CRLT
end_block
.end

7. Six integers are stored at data locations 1E0H – 1E5H. Write a program to find the
largest of these numbers.
Sol:
.entry
LAR AR0, #1E0H
MAR *, AR0
LACL *+
SACB
SPLK #4, BRCR
RPTB end_block -1
NOP
LACL *+
CRGT
end_block
.end

8. Certain data items are stored at data locations 130H – 134H and 2F0H – 2F4H.
Write a program to exchange the data items at these memory locations.
Sol:
.entry
LAR AR0, #130H
LAR AR1, #2F0H
LAR AR2, #4
MAR *, AR0
BACK: LACC * +
SACB
MAR *, AR1
LACL*+
EXAR
SACL*, AR0
LACB
SACL*, AR2
BANZ BACK, AR0
.end
9. A data series is specified as n, 2n, 3n, 4n, . . . . . . . . . . . . . . If the value of n is stored at
data location 512H, then write a program that stores first 10 terms of this series at
data locations starting from 513H.
Sol:
.entry
LAR AR0, #512H
LAR AR1, #7
MAR *, AR0
LACC *
SACB
LACL *+, 2
SACL *+
BACK: ADDB
SACL *+, AR1
BANZ BACK
.end

You might also like