SIC Program: Add BLK1 and BLK2 to BLK3 of 50 Integers

  • Thread starter Thread starter sweetvirgogirl
  • Start date Start date
  • Tags Tags
    Program
Click For Summary
The discussion revolves around creating a SIC program that adds two blocks of integers, BLK1 and BLK2, to produce a third block, BLK3. The program requires reversing the order of integers in BLK1 before performing the addition with corresponding integers in BLK2. A participant expresses confusion about using the correct starting point for indexing BLK1 and seeks clarification on the SIC programming language. Another user notes that SIC stands for Simple Instructional Computer, a teaching tool for understanding basic machine code, and highlights the lack of standardization in such teaching languages. The conversation emphasizes the need for clarity on instruction meanings to assist with coding issues effectively.
sweetvirgogirl
Messages
116
Reaction score
0
--------------------------------------------------------------------------------

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?
 
Last edited:
Physics news on Phys.org
Sorry, what's a SIC program? Is SIC a language or something? Can you give a web pointer to info about it?
 
copy-paste from programmingforums.org? not much more auxiliary info either...
 
"SIC" probably refers to "simple instruction computing" or something -- some kind of a simplified machine code used for teaching purposes.

Unfortunately, such teaching languages are not at all standardized, and it would be very difficult for any of us to help you without some information about what the instructions mean.

- Warren