![]() |
Арифметические выражения
Здравствуйте.
Сначала распишу всё задание полностью: 1. Необходимо в программе C# считать файл, на каждой строке которого находится арифметическое выражение. 2. Затем необходимо сгенерировать код на ассемблере, который бы вычислял каждое выражение. 3. Откомпилировать программу и запустить, как ехе файл. Теперь, что касается ассемблера. Необходимо на ассемблере решать арифметические выражения вида: А := K + 4 * (10-8) / 8 P := A + 8 A,K,P - это переменные, которые мы получаем из файла 4,8,10 - числа +-*/ - арифметические знаки () скобки Как я вижу решение этого задания: Разбиваем выражение на элементарные действия, т.е. Сначала в А заносим значение 10-8, затем 4 умножаем на значение в А и т.д. Однако, для того, чтобы реализовать само присваивание, умножение, деление - необходимы шаблоны на ассемблере, которые буду вставлять в нужное место. Если мои рассуждения верны, то прошу помощи в данных шаблонах. Если же нет - подскажите, пожалуйста, как можно реализовать поставленную задачу. И ещё, как себя поведет ассемблер, если мы будем суммировать переменную, которая была не объявлена? Как в примере переменная "К", ещё надо будет заменять на ноль или выдавать ошибку? |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Однако, вопрос о том, какие куски кода на асме смогут выполнить арифметические действия остался открытым. Необходимо создание асмовского файла, который бы вычислял арифметические выражения. За помощь - готов рассчитаться! |
Цитата:
|
Мы получаем несколько строк с арифметическими выражениями.
Т.е. рассчитали и записали в А, затем во втором выражении применяем значение А. Однако, зная преподавателя, могут быть выражения с подковыркой, т.е. с переменной которая не объявлена ранее. Её я убуду вылавливать ещё в С# и заменять на 0. |
в приципе понятно, формируем массив строк на каждую арифметическую операцию, разбираем выражение и записываем соответствующую строку
допустим, сложить два числа Код:
.data |
Время: 18:52. |
Время: 18:52.
© OSzone.net 2001-