Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 9 лет назад пользователемОксана Крамер
1 Генерация кода Преобразование дерева операций в код на языке ассемблера Ассемблер процессоров типа Intel 80x86 Code – функция перевода узла в команды ассемблера act – команда одной из операций: add(+), sub(-), mul(*), div(/) 16-разрядные регистры процессора АХ (аккумулятор), DX (регистр данных)
2 Преобразование узлов дерева операций в код на языке ассемблера для арифметических операций Вид узла дерева Результирующий код op1 op2 mov ax, op1 act act ax, op2 op1 U2U2 act Code (U 2) mov dx, ax mov ax, op1 act ax, dx
3 Преобразование узлов дерева операций в код на языке ассемблера для арифметических операций Вид узла дерева Результирующий код U 2 op2 Code (U 2) act act ax, op2 U 2 U 3 act Code (U 2) push ax Code (U 3) mov dx, ax pop ax act ax, dx
4 Преобразование узлов дерева операций в код на языке ассемблера для операции присвоения Вид узла дерева Результирующий код op1 op2 mov ax, op2 := mov op1, ax op1 U 2 := Code (U 2) mov op1, ax
5 Пример Дано: дерево операций для выражения A:=B*C+D-B*10 Построить: последовательность команд языка ассемблера := A - +* * DB10 B C U 1 U 2 U 3 U 5 U 4
6 Построение: Шаг 1. Code (U2) mov A, ax Шаг 2. Code (U3) push ax Code (U5) mov dx, ax pop ax sub ax, dx mov A, ax Шаг 3. Code (U4) add ax, D push ax Code (U5) mov dx, ax pop ax sub ax, dx mov A, ax
7 Шаг 4. mov ax, B add ax, D push ax Code (U5) mov dx, ax pop ax sub ax, dx mov A, ax mul C Шаг 5. mov ax, B add ax, D push ax mov ax, B mov dx, ax pop ax sub ax, dx mov A, ax mul C mul 10 Построение (продолжение):
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.