
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ẬT MÁY 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
Luận 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
Luận 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 có 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, ...) là 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ữ
cấp cao (C, Java, ...)
Trình biên dịch
Chương trình hợp ngữ
(MIPS, ARM, ...)
Trình biên dịch
hợp ngữ
Mã máy (có thể thực 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ữ
cấp cao (C, Java, ...)
Trình biên dịch
Chương trình hợp ngữ
(MIPS, ARM, ...)
Trình biên dịch
hợp ngữ
Mã máy (có thể thực 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