Разбор исходных строк программы ассемблер на поля - 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 ?
Объяснение кода листинга программы
Разбор исходных строк программы ассемблер на поля:
- mov ax, cs:a — взять число из переменной а (размер 2 байта) и поместить в регистр ax (размер 2 байта).
- add ax, cs:b — к числу в регистре ax прибавить значение из переменной b (размер 2 байта).
- mov cs:c, ax — результат сложения (ax) поместить в переменную c.
- hlt — остановка программы (по сути конец). Остальные переменные a, d, c не указаны в исходном коде и их значения неизвестны.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д