Оптимальні програми обчислення виразів
Оптимальні програми обчислення виразів
Тип документу: Курсова
Сторінок: 28
Предмет: Математика
Автор: Орос Володимир
Розмір: 46.4
Скачувань: 1317
Begin
Name := GetName;
Match('=');
Expression;
EmitLn('MOV AX,' + Name);
End;
Procedure Init;
Begin
GetChar;
SkipWhite;
End;
Begin
WriteLn('Введіть оператор присвоєння');
Init;
WriteLn('Результуючий код на асемблерi');
Assignment;
If Look <> CR Then Expected('Новий рядок');
End.
Приклади роботи програми.
Приклад 1.
Введiть оператор присвоєння
a=123*(b+e)-func33()/3
Результуючий код на асемблерi
MOV 123,AX
PUSH AX
MOV B,AX
PUSH AX
MOV E,AX
POP DX
ADD AX,DX
Name := GetName;
Match('=');
Expression;
EmitLn('MOV AX,' + Name);
End;
Procedure Init;
Begin
GetChar;
SkipWhite;
End;
Begin
WriteLn('Введіть оператор присвоєння');
Init;
WriteLn('Результуючий код на асемблерi');
Assignment;
If Look <> CR Then Expected('Новий рядок');
End.
Приклади роботи програми.
Приклад 1.
Введiть оператор присвоєння
a=123*(b+e)-func33()/3
Результуючий код на асемблерi
MOV 123,AX
PUSH AX
MOV B,AX
PUSH AX
MOV E,AX
POP DX
ADD AX,DX