Команда LoadI не распознается в симуляторе MARIE - PullRequest
0 голосов
/ 15 ноября 2018

Я скачал симулятор MARIE с этого сайта и написал небольшую программу, которая просто объявляет массив шестнадцатеричных чисел, а затем пытается извлечь одно из этих чисел, используя адрес.

Проблема в том, что ассемблер жалуется, что loadi не является распознанной инструкцией.Если я использую load вместо loadi, он соберет и выполнит и напечатает ожидаемый вывод (адрес нужного значения).

Я считаю, loadi должно работать, и это инструкция, которую яМне нужно из-за моего предыдущего понимания, что он будет загружать значение, найденное по адресу, указанному операндом, а также некоторую документацию, которую я нашел на таких сайтах, как этот и этот .

Почему loadi не распознается?Я делаю что-то неправильно?Может быть, существуют разные версии MARIE с различной поддержкой некоторых инструкций?

Мой код MARIE:

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

1 Ответ

0 голосов
/ 16 ноября 2018

Проблема была в том, что конкретная версия MARIE, которую я использовал, не поддерживала инструкцию.Я скачал симулятор MARIE с другого сайта , и он прекрасно работает.Проблема решена.

...