Интерпретация вывода ассемблера - PullRequest
0 голосов
/ 24 марта 2009

Рассмотрим следующий вывод ассемблера:

START 100
MOVER BREG, ONE                                101) + 04 2 105 
MOVEM BREG, RESULT                             102) + 05 2 106
PRINT RESULT                                   103) + 10 0 106
STOP                                           104) + 00 0 000
ONE DC '1'                                     105) + 00 0 001
RESULT DS 1                                    106) 
  1. Что означает знак + перед кодом?
  2. Почему адрес ONE указан 001?
  3. Почему запись после последнего оператора RESULT DS 1 оставлена ​​пустой?

Обратите внимание, что это не домашняя работа - кажется, что спрашивающий спрашивает что-то из учебника.

Ответы [ 2 ]

2 голосов
/ 25 марта 2009

Похоже, что используется простой язык ассемблера в главе 4 Системная программа и операции .

В описании вывода кода операции написано: «Знак не является частью инструкции». Быстрое прочтение текста не показало, к чему он относится , и во всех примерах в этом столбце стоит "+".

2 голосов
/ 24 марта 2009

Я не знаю, каким ассемблером вы пользуетесь (возможно, было бы разумно дать эту информацию в вашем вопросе), поэтому это не очень хорошо информированные ответы:

  1. Не знаю - что говорит руководство вашего ассемблера
  2. Это не так - это значение
  3. DS просто резервирует место

Редактировать: Ассемблер - это компьютерная программа, которая берет текст, содержащий язык ассемблера, и превращает его в машинный код. Он также может выводить данные в удобочитаемой форме, что и является кодом, который вы опубликовали. Формат читаемой человеком формы зависит от конкретного ассемблера (т.е. программы), который вы используете - он не специфичен для архитектуры машины, для которой ассемблер генерирует машинный код.

...