TAILIEUCHUNG - Bài giảng môn học Trình biên dịch - Chương 9: Sinh mã đối tượng

Bài giảng chương 9 trình bày những nội dung cơ bản như: Các vấn đề thiết kế bộ sinh mã, máy đích, khối cơ bản và lưu đo, bộ sinh mã đơn giản, dag biểu diễn khối cơ bản dag là cấu trúc dữ liệu rất thích h, tạo mã đối tượng từ dag. . | CHƯƠNG 9 SINH MÃ ĐỐI TƯỢNG Chương Biên dịch trình nguồn phía trước Mã trung gian Bộ tối ưu mã Mã trung gian Chương Bộ sinh mã đối tượng trình dịch Bảng danh biểu Hình . Vị trí của bộ sinh mã đối tượng . Các vấn đề thiết kế bộ sinh mã Đầu vào của bộ sinh mã Chương trình đích Sự lựa chọn chỉ thị Giả sử đối với phát biểu ba địa chỉ có dạng x := y + z với x, y, z tượng trưng cho các vị trí nhớ. Chúng ta có thể dịch sang chuỗi mã đối tượng: MOV y, Ro /* cất y vào thanh ghi Ro */ ADD z, Ro /* cộng z vào nội dung Ro, kết quả chứa trong Ro */ MOV Ro, x /* cất nội dung Ro vào x */ Tuy nhiên việc sinh mã cho chuỗi các phát biểu sẽ dẫn đến sự dư thừa mã. Như thí dụ sau: a := b + c; d := a + e Chúng ta chuyển sang mã đối tượng: (1) MOV b, R0 (2) ADD c. R0 (3) MOV R0, a (4) MOV a, R0 (5) ADD e, R0 (6) MOV R0, d Chỉ thị thứ tư là thừa. Chất lượng mã được tạo ra, được xác định bằng tốc độ của mã và kích thước tập mã. Thí dụ: MOV a, R0 ADD # 1, R0 MOV R0, a Cấp phát thanh ghi Sự lựa chọn cho việc đánh giá thứ tự . Máy đích Chúng ta sẽ dùng máy đích như là máy thanh ghi (register machine). Máy đích có mỗi từ gồm bốn byte và có n thanh ghi: R0, R1 Rn-1, có chỉ thị hai địa chỉ, với dạng tổng quát: op source, destination Thí dụ một số chỉ thị: MOV: chuyển trị của source đến destination ADD: cộng nội dung source và destination SUB: trừ nội dung source cho destination Mode địa chỉ Thí dụ: 1 2 3 Mode Absolute Register indexed Dạng M R c (R) Địa chỉ M R c + contents (R) Giá 1 0 1 4 5 6 indirect register inderect indexed literal *R contents (R) 0 *c (R) contents (c + contents (R)) 1 #C hằng C 1 Giá chỉ thị (instruction cost) Giá chỉ thị được tính bằng một công giá kết hợp trong bảng mode địa chỉ nguồn và đích ở trên. Qua các thí dụ trên chúng ta thấy muốn sinh mã

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.