--------------------------------------------------------------------------------(adsbygoogle = window.adsbygoogle || []).push({});

Write a SIC program whose inputs are

two blocks of integers, BLK1 and BLK2 and whose output is a third

block of integer, BLK3. Each of these blocks contains 50

integers. Your program will take the integers in BLK1 in reverse

order and add them to the integers in BLK2 and store the

resulting integers in BLK3. A simple way to do this is to add the

last integer in BLK1 to the first integer in BLK2 and store the

result in the first position in BLK3. Then add the second last

integer in BLK1 to the second integer in BLK2 and store the

result in BLK3; etc. Don't forget that 50 integers = 50 words =

150 bytes. Your program should assume that the blocks have been

declared and initialized elsewhere. Also assume that BLK1, BLK2

and BLK3 are labels of the base addresses of the 3 blocks.

This is what I wrote:

LDA One Hundred Fifty

STA INDEX1

LDL ZERO

STL INDEX2

ADDLP LDX INDEX2

LDL INDEX2

LDA BLK1, X

ADD BLK2, L

STA BLK3, X

LDA INDEX1

SUB THREE

STA INDEX1

LDA INDEX2

ADD THREE

STA INDEX2

COMP K150

JLT ADDLP

I think I'm really confused about using 150 as the starting point for BLK1, coz maybe I should use 147 .. but then it messes up everything? Am I missing something? Does my code look right?

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Homework Help: Write a SIC program

**Physics Forums | Science Articles, Homework Help, Discussion**