IT012 – TỔ CHỨC VÀ CẤU TRÚC MÁY TÍNH II
CHƯƠNG 7
BIÊN DỊCH CHƯƠNG TRÌNH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA KỸ THUẬTY TÍNH
2 IT012 – Tổ chức và Cấu trúc Máy tính II
Nội dung
1. Trình biên dịch (Compiler)
2. Trình biên dịch hợp ngữ (Assembler)
3. Biên dịch ngược (Reverse-Engineering)
4. Câu hỏi và Bài tập
Kiến trúc
Vi kiến trúc
Lun lý
Mạch s
3 IT012 – Tổ chức và Cấu trúc Máy tính II
Nội dung
1. Trình biên dịch (Compiler)
2. Trình biên dịch hợp ngữ (Assembler)
3. Biên dịch ngược (Reverse-Engineering)
4. Câu hỏi và Bài tập
Kiến trúc
Vi kiến trúc
Lun lý
Mạch s
4 IT012 – Tổ chức và Cấu trúc Máy tính II
1. Trình biên dịch (1/2)
Trình biên dịch chức năng chuyển
chương trình được viết bởi ngôn ngữ lập
trình cấp cao thành chương trình hợp ngữ:
Ngôn ngữ lập trình cấp cao (C, Java, …) gần
với suy nghĩ con người và độc lập phần cứng
Hợp ngữ (MIPS, ARM, ...) một ngôn ngữ
gợi nhớ của mã máy, phụ thuộc phần cứng
Chương trình ngôn ng
cp cao (C, Java, ...)
Trình biên dch
Chương trình hợp ng
(MIPS, ARM, ...)
Trình biên dch
hợp ng
máy (có th thc thi
trên máy tính)
5 IT012 – Tổ chức và Cấu trúc Máy tính II
1. Trình biên dịch (2/2) – Ví dụ
if(a == b)
c = 2;
else
c = -1;
d = a + c;
Chương trình ngôn ng
cp cao (C, Java, ...)
Trình biên dch
Chương trình hợp ng
(MIPS, ARM, ...)
Trình biên dch
hợp ng
máy (có th thc thi
trên máy tính)
bne $a0, $a1, ELSE
addi $s0, $0, 2
j ENDIF
ELSE:
addi $s0, $0, -1
ENDIF:
add $s1, $a0, $s0