So I'm taking Digital Systems and we're learning assembly. Last week, all I had to do was look at an asm and give some locations...this week, I need to "write a program which performs addition of the nine numbers and stores the result into a memory location. The nine numbers are given in decimal: 3,-5,13,24,11,25,36,2,8." We're using Wookie, and the program starts at \$C000 and the data array starts at \$0010. For a basic algorithm I know that I need to initialize, read the first number, start a loop, add number to location, read next number, end loop, and store the final number. However, I have NO IDEA how to go about implementing this into a program. Can anyone help?
Posted on 2008-09-22 17:18:14 by poketnrjsh
So far, here's what I have: am I even close to right?
``* Date: 9/22/2008* Description: This program loads 9 numbers, computes the sum and stores*              the result in memory.** Pseudocode:* begin* Read the first values of array* Store in Accumulator A* Loop Read the next values of array* add to store* increment counter* end loop* if counter = 0* then go to end* else repeat the loop* end******************************************************************        ORG  \$0010DATA1   FCB  3,-5,13,24,11,25,36,2,8DATA2   RMB  10COUNTER RMB  9        ORG  \$C000        LDAB #9          Initialize the COUNTER        STAB COUNTER     by placing 9 into COUNTER        LDAA #DATA1      Initialize the index register                                LOOP    LDAA 0,X         Loading from DATA1        DECB             Decrement the element        ADDA        INX              Increment DATA1 pointer        DEC  COUNTER     Have all elements been handled?        BNE  LOOP        If not repeat LOOP        SWI              If so exit LOOP        END``
Posted on 2008-09-23 16:55:36 by poketnrjsh
lol, looks pretty close to me, and I've never coded on that cpu.
But I did code on the 6502 and 6510, which used \$C000 for user space! (and very similar opcodes).
Posted on 2008-09-24 07:21:34 by Homer

But I did code on the 6502 and 6510, which used \$C000 for user space! (and very similar opcodes).

The old VIC-20, Commodore64 series? I've taught myself assembly on those machines way back when...
Posted on 2008-10-14 20:36:34 by rags