memory-accessmarie

LoadI command is not recognized in MARIE simulator


I downloaded the MARIE simulator from a site that is no longer available and wrote a small program which just declares an array of hexadecimal numbers and then attempts to retrieve one of those numbers using the address.

The problem is that the assembler complains that loadi is not a recognized instruction. If I use load rather than loadi, it will assemble and run and print the expected output (the address of the value I want).

I believe loadi should work and is the instruction I need because of my previous understanding of it which is that it will load the value found at the address given by the operand, as well as some documentation I found on sites like this one and this one.

Why is loadi not recognized? Am I doing something wrong? Maybe there are different versions of MARIE with varying support for some of the instructions?

My MARIE code:

ORG 0

    JUMP    start
BADDR,  hex 0003    / Date_B = 0003
EADDR,  hex 001A    / Date_E = 001A
    / data section begins
Data_B, hex 0102 / data begin address    3
    hex 0105 / dec 261
    hex 0106 / dec 262
    hex 0108 / dec 264
    hex 011A / dec 282
    hex 0120 / dec 288
    hex 0225 / dec 549
    hex 0230 / dec 560      10
    hex 0231 / dec 561
    hex 0238 / dec 568
    hex 0339 / dec 825
    hex 0350 / dec 848
    hex 0459 / dec 1113     000F
    hex 055F / dec 1375
    hex 066A / dec 1642
    hex 0790
    hex 08AB
    hex 09AF
    hex 0AB9
    hex 0BBD
    hex 0CC1
    hex 0DCA               
    hex 0EFE /                 0019
Data_E, hex 0FFE / data end address 001A
Count,  dec 24          / the number of data

start,  loadi mid
        output
        halt

mid,      hex   000F / starting mid point

Solution

  • The problem was in fact that the particular version of MARIE I was using did not support the instruction. I downloaded the MARIE simulator from a different site and it works great. Problem solved.