Mã địa chỉ ba
|
|
Bài hoặc đoạn này cần được wiki hóa theo các quy cách định dạng và văn phong Wikipedia. Xin hãy giúp phát triển bài này bằng cách liên kết trong đến các mục từ thích hợp khác. |
| Thông tin trong bài này không thể kiểm chứng được do không được chú giải từ bất kỳ nguồn tham khảo nào. Xin bạn hãy cải thiện bài viết này bằng cách bổ sung chú thích tới các nguồn uy tín. Nếu bài được dịch từ Wikipedia ngôn ngữ khác thì hãy chuyển nguồn tham khảo từ phiên bản đó cho bài này. |
Trong ngành khoa học máy tính, mã địa chỉ ba - với cái tên chính xác hơn là dạng thức ba địa chỉ (three address code) là một biểu thức được trình biên dịch sử dụng như là một công cụ để hiệu chỉnh lại mã nguồn. Mỗi dạng thức ba địa chỉ được cấu thành từ bốn phần tử: toán tử, toán hạng 1, toán hạng 2 và kết quả.
Mỗi câu lệnh có một dạng chung sau đây: x := y (op) z
- với x, y, z là các biến, hằng hoặc biến trung gian được tạo bởi trình biên dịch; op là toán tử, ví dụ như toán tử đại số, hoặc các toán tử logic như và (AND), hoặc (OR).
Mỗi một biểu thức có nhiều hơn một phép toán cơ bản: p := x + y×z sẽ được đưa về hai biểu thức ở dạng thức ba điạ chỉ, đó là:
t1 := y × z
p := x + t1
Việc đưa một câu lệnh về dạng thức ba địa chỉ có lợi gì? Có cái lợi là ta dễ dàng chuyển nó sang một dạng thức lệnh phù hợp với dạng thức lệnh của mã máy. Mà để ý rằng dạng thức lệnh phổ biến của mã máy chính la dạng thức ba địa chỉ, gồm hai địa chỉ được sử dụng cho phép tính và địa chỉ còn lại lưu kết quả:
+--------------+--------------+--------------+--------------+
|Phần câu lệnh | Phần điạ chỉ | Phần điạ chỉ | Phần điạ chỉ |
+--------------+--------------+--------------+--------------+
| Bài này còn rất sơ khai. Mời bạn góp sức viết thêm. Xem phần trợ giúp để biết về cách sửa bài. |