Định hướng chương trình dịch Pascal
Chia sẻ bởi Phạm Quốc Du Thiên |
Ngày 14/10/2018 |
23
Chia sẻ tài liệu: Định hướng chương trình dịch Pascal thuộc Tư liệu tham khảo
Nội dung tài liệu:
ALIGN DATA
Cú pháp {$A+} hoặc {$A-}
Mặc định {$A+} bật chế độ bố trí theo word để chạy nhanh.
Kiểu Global: có ảnh hưởng tới toàn bộ quá trình dịch.
Ghi chú Định hướng $A chọn một trong hai cách bố trí các biến và các hằng định kiểu với đơn vị theo byte hoặc theo word
Trong trạng thái {$A+}, tất cả biến và hằng định kiểu có kích thước lớn hơn một byte đều được bố trí theo một đơn vị word. Nếu cần, những byte vô ích sẽ được chèn vào giữa biến để thực hiện việc bố trí. Điều này cũng có nghĩa là ta tốn một ít bộ nhớ để làm việc chèn thêm byte vô ích này. Định hướng {$A+} không ảnh hưởng tới các biến có kích thước tính theo byte cũng như không ảnh hưởng tới các trường của bản ghi và các phần tử của mảng. Một trường trong bản ghi sẽ được bố trí theo word chỉ nếu kích thước tổng cộng của tất cả các trường trước đó là chẵn. Đối với mỗi phần tử của mảng để bố trí theo word kích thước của mỗi hần tử cũng phải là chẵn.
Trong trạng thái {$A-}, không có một biện pháp bố trí nào được dùng. Các biến và hằng định kiểu được thay thế một cách đơn giản tại các địa chỉ một cách liên tục bất chấp kích thước của chúng.
Bất chấp trạng thái định huớng của $A, mỗi phần khai báo Var hoặc Const toàn cục đều luôn bắt đầu ở địa chỉ tính theo word. Tương tự, chương trình dịch luôn giữ con trỏ Stack theo đơn vị word bằng cách bố trí thêm một byte không sử dụng trong một khuôn Stack của các thủ tục nếu có yêu cầu.
BOOLEAN EVALUATION
Cú pháp {$B+} hoặc {$B-}
Mặc định {$B+} tính biểu thức Boolean một cách đầy đủ.
Kiểu Local
Ghi chú Định hướng $B chuyển trạng thái bật/tắt giữa hai mô hình khác nhau của bộ mã sinh mã đối với các toán tử AND và OR.
Trong trạng thái {$B+}, chương trình tạo ra mã để tính toán biểu thức Boolean một cách đầy đủ. Điều này có nghĩa là mọi toán hạng của biểu thức Boolean của phép toán AND và OR sẽ được bảo đảm là tính hết, thậm chí khi kết quả của toàn bộ biểu thức đã được biết, đã được tính xong. Thí dụ với biểu thức:
(0 AND X) AND Y
luôn luôn bằng 0 với mọi X và Y. Song với {$B+}, máy tính sẽ tính hết mọi phép toán trên, không nề hà lãng phí thời gian.
Trong trạng thái {$B-}, chương trình dịch tạo ra mã để tính nhanh biểu thức Boolean, nghĩa là quá trình tính biểu thức Boolean sẽ dừng lại ngay sau khi kết quả của biểu thức Boolean đã trở nên hiển nhiên, không cần phải tính thêm nữa.
DEBUG IMFORMATION
Cú pháp {$D+} hoặc {$D-}
Mặc định {$D+} lập các thông tin gỡ rối.
Kiểu Global
Ghi chú Định hướng dịch $D có thể thiết lập hoặc không thiết lập các thông tin gỡ rối (debug). Thông tin này bao gồm bảng dòng đánh số cho mỗi thủ tục, nó ánh xạ địa chỉ mã với các số của dòng văn bản nguồn.
Đối với các Unit, thông tin gỡ rối (debug) được ghi ở trong tệp TPU cùng với các mã OBJ của unit. Thông tin gỡ rối làm tăng nhanh kích thước của các tệp TPU và bố trí thêm cả những chỗ khi dịch các chương trình có dùng unit, song nó không làm ảnh hưởng tới kích thước cũng như tốc độ của chương trình đã được dịch ra để chạy.
Khi một chương trình hay một unit được dịch với {SD+}, bộ gỡ rối nằm trong môi trường khép kín IDE cho phép bạn chạy chương trình từng bước một (step by step) và thiết lập điểm dừng trong modun đó.
Các lựa chọn Debug đứng một mình (Option| Debugger) và tệp bản đồ (Option| Linker) tạo ra các thông tin về dòng một cách đầy đủ đối với một modun đã cho chỉ khi bạn đã dịch modun đó với {$D+).
Định hướng $D thường được sử dụng để liên kết với định hướng $L là định hướng cho phép hoặc không cho phép việc tạo ra các thông tin về kí hiệu cục bộ để gỡ rối.
Nếu bạn muốn sử dụng Turbo Debuger để gỡ rối chương trình của bạn, hãy thiết lập Compiler| Destination to Disk, sau đó chọn Option| Debugger và lựa chọn Standalone.
EMULATION
Cú pháp {$E+} hoặc {$E-}
Mặc định {$E+}
Kiểu Global
Ghi chú
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Phạm Quốc Du Thiên
Dung lượng: 77,00KB|
Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)