Разбор исходных строк программы ассемблер на поля - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Надо разработать программу на си, разбора исходных строк ассемблерной программы. Результат разбора каждой строки должен быть напечатан в форме: Метка: . . . Оператор: . . . Операнд: . . . Комментарий: . . . Программу я взял такую: code segment start: mov ax, cs:a add ax, cs:b mov cs:c, ax hlt a word 5 d word 7 c word ? code ends end start Подскажите хотя бы с чего начать, или дайте похожие программы.

Решение задачи: «Разбор исходных строк программы ассемблер на поля»

textual
Листинг программы
start:  ; начало программы
mov ax, cs:a ; взять число из переменной а (размер 2 байта) и поместить в регистр ax (размер 2 байта)
add ax, cs:b ; к числу в регистре ax прибавить значение из переменной b  (размер 2 байта) результат сложения будет в ax
mov cs:c, ax ; результат сложения (ax) поместить в переменную с
hlt              ; остановка программы (по сути конец)
a   word    5 ; переменная a размером word (2 байта) перед выполнением инициирована значением 5
d   word    7 ; переменная d размером word (2 байта) перед выполнением инициирована значением 7
c   word    ?

Объяснение кода листинга программы

Разбор исходных строк программы ассемблер на поля:

  1. mov ax, cs:a — взять число из переменной а (размер 2 байта) и поместить в регистр ax (размер 2 байта).
  2. add ax, cs:b — к числу в регистре ax прибавить значение из переменной b (размер 2 байта).
  3. mov cs:c, ax — результат сложения (ax) поместить в переменную c.
  4. hlt — остановка программы (по сути конец). Остальные переменные a, d, c не указаны в исходном коде и их значения неизвестны.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы