Как ведет себя STA (0:1) в MIX?

В MIX STA сохраняет содержимое регистра A в заданной ячейке памяти.

Я не вижу, как поведение вокруг знака освещается в TAOCP. Как ведет себя MIX в следующем примере:

Ячейка 2000 содержит: + 5 4 6 2 1

Регистр A содержит: - 7 8 1 3 2

Что делает STA 2000 (0:1)?

Думается ли это как взять значения 3 2 из регистра A и поместить их в поле 0:1 ячейки памяти 2000? Если да, существует ли неявное преобразование любого незнакового значения в +? Или 0 в спецификации поля означает «взять знак регистра A и любые оставшиеся байты и поместить эти значения в ячейку»?

Интерпретация 1: 2000 -> + 2 4 6 2 1

Интерпретация 2: 2000 -> - 2 4 6 2 1

Или есть третий вариант?


person Shillington    schedule 21.03.2020    source источник


Ответы (1)


Итак, да, в определении STA поле F необычно.

Читая Раздел 1.3.1, Операции хранения (стр. 130 моего тома 1, третье издание), я обнаруживаю:

При операции сохранения поле F имеет противоположное значение по сравнению с операцией загрузки: количество байтов в поле берется из правой части регистра и сдвигается слева, если необходимо, для вставки в соответствующее поле CONTENTS(M). Знак не изменяется, если он не является частью поля. [выделено мной]

В нем приведены различные примеры, где:

  Location 2000 contains: | - | 1 | 2 | 3 | 4 | 5 |
  Register A    contains: | + | 6 | 7 | 8 | 9 | 0 |
  STA 2000(0:1) gives:    | + | 0 | 2 | 3 | 4 | 5 |

что является вашей Интерпретацией 2.

Похоже, что поле F относится к полю в слове destination и:

  • if F is (0:0):

    • the sign of the source is stored in the sign of the destination,
    • остальная часть пункта назначения неизменна.
  • if F is (0:n) (n in 1..5):

    • the sign of the source is stored in the sign of the destination,
    • n правые байты источника хранятся в (1:n) байтах назначения,
    • остальная часть пункта назначения неизменна.
  • if F is (m:n) (m in 1..5, n in m..5):
    • the n-m+1 right-hand bytes of the source are stored in bytes (m:n) of the destination,
    • остальная часть пункта назначения (включая знак) не изменилась.

[Прошло много времени с тех пор, как я в последний раз задумывался о MIX... Признаюсь, я помнил это как слишком причудливое, чтобы быть полезным. Я не могу сказать, что передумал!]

person Chris Hall    schedule 21.03.2020