Các đặc trưng của quá trình biên dịch

Một phần của tài liệu Bài giảng: Cấu trúc máy tính và ghép nối pot (Trang 68 - 69)

c, Liên kết thông qua stack

5.1.2. Các đặc trưng của quá trình biên dịch

Trong khi quá trình biên dịch đang thực hiện nhiệm vụ của nó, các thông tin về

kiến trúc tập lệnh ISA sẽđược nhúng vào nó. (Chú ý rằng kiến trúc tập lệnh ISA của trình biên dịch không nhất thiết phải giống kiến trúc tập lệnh ISA mà nó tạo ra, quá trình này còn có tên là biên dịch chéo). Các thông tin ISA nhúng vào

trình biên dịch còn được gọi là các đặc trưng của quá trình biên dịch. Ví dụ, trình biên dịch sẽ quyết định gán cho các biến và các hằng số trong chương trình dạng dữ liệu tương ứng tùy thuộc vào loại ngôn ngữ máy tính mà hệ thống đang

sử dụng. Đối với ngôn ngữ lập trình C, kiểu dữ liệu int có thể là 16 bit, 32 bit hoặc hơn. Đối với ngôn ngữ Java, các số kiểu int luôn là 32 bit.

Trình biên dịch cũng phải tính tới các tính năng và hạn chế của máy tính khi nhúng các đặc trưng của máy tính vào hợp ngữ. Ví dụ trong máy tính ARC, tập lệnh của ARC yêu cầu toán hạng của các phép toán phải là số tức thì hoặc là thanh ghi. Do đó trình biên dịch phải tạo ra các lệnh để chuyển toán hạng cần thực hiện phép toán vào các thanh ghi trước khi tạo ra lệnh để thực hiện phép toán. Đây cũng là nguyên nhân chính trình biên dịch thực hiện biên dịch lệnh

A = B + 4 Phải có lệnh

ld [B],%r0, %r1 ; Nạp nội dung của ô nhớ [B] vào %r1

Trước khi có lệnh cộng

add %r1,4, %r2 ; Cộng giá trị của %r1 với 4, đưa kết quả vào %r2

Nói tóm lại, trong quá trình biên dịch, chuyển một chương trình bậc cao thành chương trình được viết bằng ngôn ngữ thấp hơn, trình biên dịch có một số đặc trưng sau

• Dạng dữ liệu của các biến số hay hằng số sẽ được trình biên dịch tự động gán cho một kiểu dữ liệu phụ thuộc vào đặc trưng của kiến trúc tập lệnh ISA, tức là kiến trúc ISA được nhúng vào trình biên dịch

• Quá trình tạo mã lệnh cấp thấp cũng tính toán tới đặc trưng của máy tính sử dụng lệnh mà nó tạo ra, để mã lệnh được tạo ra tương thích với máy tính sẽ sử dụng nó

Một phần của tài liệu Bài giảng: Cấu trúc máy tính và ghép nối pot (Trang 68 - 69)