как определить настройки битов n, i, x и e (SIC / XE)? - PullRequest
1 голос
/ 25 марта 2010

У меня есть проект для моего класса системного программного обеспечения, мы должны создать подпрограмму для разбиения строки источника на 4 компонента: метка, код операции, операнд1 и операнд2, а также определить биты n, i, x и e. настройки. У меня проблема с попыткой выяснить бит nixbpe. заранее благодарю за помощь

вот несколько примеров: Компоненты и биты для следующих 4 примеров строк источника:

  1. ПРИМЕР + LDA STUFF, X. MAIN

    этикетка: «ПРИМЕР» код операции: "LDA" операнд 1: "Штуч" операнд 2: "X"

    nixbpe: 111 ?? 1

  2. RSUB NO OP

    ярлык: "" код операции: "RSUB" операнд 1: "НЕТ" операнд 2: «ОП»

    nixbpe: 110 ?? 0

  3. CMT BYTE @ C'RERERVED BLOCK ', XYZ УСТАНОВЛЕНО

    этикетка: "CMT" код операции: "БАЙТ" операнд 1: «СОХРАНЕННЫЙ БЛОК» операнд 2: «XYZ» <Примечание: бит x (index) в nixbpe устанавливается всякий раз, когда «X» является первым символом 2-го операнда>

    nixbpe: 101 ?? 0

  4. RMO A, X

    ярлык: "" код операции: "RMO" операнд 1: «А» операнд 2: "X"

    nixbpe: 11l ?? 0

биты nixbpe с пометкой "?" оставаться в том виде, как он получен из вызывающей программы; префикс для кода операции определяет электронный бит; префикс для операнда 1 определяет биты n и i; первый символ операнда 2 определяет бит х. Биты b и p установлены в другом месте. В этой процедуре не ожидается семантической проверки (поэтому, в частности, обе интерпретации вышеприведенного оператора RSUB в порядке). Значения по умолчанию для компонентов - пустая строка. По умолчанию для битов "ni ?? pe" установлено значение "00 ?? 00".

1 Ответ

1 голос
/ 06 октября 2011

*** Бит флага адресации Описание

Mode        n i x b p e
-------------------------------------
Direct      1 1 0 0 0 0   12 bit displacement is target address
            1 1 0 0 0 1   20 bit address is target address
            1 1 0 0 1 0   12 bit 2's complement displacement from PC (PC relative)
            1 1 0 1 0 0   12 bit base unsigned displacement forward from B (base displacement)
            1 1 1 0 0 0   index register X added to direct address to get target address
            1 1 1 0 0 1   index register X added to direct address to get target address
            1 1 1 0 1 0   index register X added to PC relative computation to get target address
            1 1 1 1 0 0   index register X added to base displacement computation to get target address
            0 0 0 - - -   simple SIC instruction, last 15 bits are the address
            0 0 1 - - -   index register X added to direct address to get target address
Indirect    1 0 0 0 0 0   Computed memory address contains the target address
            1 0 0 0 0 1   Computed memory address contains the target address
            1 0 0 0 1 0   Computed memory address contains the target address
            1 0 0 1 0 0   Computed memory address contains the target address
Immediate   0 1 0 0 0 0   Computed memory address is the operand (target address is the instruction)
            0 1 0 0 0 1   Computed memory address is the operand (target address is the instruction)
            0 1 0 0 1 0   Computed memory address is the operand (target address is the instruction)
            0 1 0 1 0 0   Computed memory address is the operand (target address is the instruction)***

см. http://www.unf.edu/~cwinton/html/cop3601/supplements/sicsim.docL.html для более подробной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...