DC.B 27 *Store the constant 27 in memory

Một phần của tài liệu Tiểu luận tổ chức bộ nhớ và lập trình bằng ngôn ngữ assembly (Trang 27 - 28)

Z DS.B 1 *Reserve a byte for Z

END $400

Chú ý rằng khi chúng ta sử dụng số 27 mà không có sự "$" trước nó, tạo các diễn giải nó như là một số thập phân. Cũng thông báo các báo cáo ORG nhiều. Này xác định một không gian mã tại địa chỉ $ 400 và không gian một dữ liệu tại địa chỉ 600 $. Đây là listfile lắp ráp mà chúng tôi đã tạo ra. Các ý kiến bị bỏ qua. 1 00000400 ORG $400 2 00000400 103900000600 MOVE.B Y,D0 3 00000406 06000018 ADDI.B #24,D0 4 0000040A 13C000000601 MOVE.B D0,Z 5 00000410 4E722700 STOP #$2700 6 * Comment line 7 00000600 ORG $600 8 00000600 1B Y: DC.B 27 9 00000601 00000001 Z: DS.B 1 10 00000400 END $400

Hãy phân tích các dòng chương trình bằng dòng:

Dòng 1: Báo cáo ORG xác định điểm khởi đầu cho chương trình. Dòng 2: MOVE các byte dữ liệu đặt tại địa chỉ 600 $ (Y) vào dữ liệu đăng ký D0. Điều này di

chuyểngiá trị 27 ($ 1B) vào D0 đăng ký.

Dòng 3: Thêm số byte 24 ($ 18) cho nội dung của D0 và lưu trữ kết quả trong D0. Dòng 4: Di chuyển các byte dữ liệu từ D0 đến vị trí bộ nhớ $601. Dòng 5: Đây chỉ dẫn được sử dụng bởi giả lập để ngăn chặn thực thi chương trình. Nó là một đồ tạo

tác của

ISS và sẽ không được ở hầu hết các chương trình thực sự.

Dòng 6: Thảo luận

Dòng 7: Báo cáo ORG reset hướng dẫn lắp ráp truy cập để bắt đầu đếm lại tại địa chỉ $600$. Điều này định nghĩa một cách hiệu quả dữ liệu không gian cho chương trình. Nếu không có tuyên bố ORG đã được ban hành,vùng dữ liệu sẽ bắt đầu ngay sau khi hướng dẫn STOP. Dòng 8: định rõ vị trí bộ nhớ $600 với nhãn "Y" và khởi tạo nó đến $ 1B. Lưu ý rằng ngay cả mặc dù chúng ta sử dụng chỉ thị DC, không có gì để ngăn chặn chúng ta khỏi bằng văn bản với bộ

nhớ vị trí này và thay đổi giá trị của nó.

Dòng 9: Xác định vị trí bộ nhớ $601 với nhãn là "Z" và dự trữ 1 byte dung lượng lưu trữ. Không cần phải khởi tạo nó bởi vì nó sẽ đưa vào kết quả bổ sung này. Line 10: END chỉ thị. Chương trình sẽ bắt đầu tải tại địa chỉ $400 . Chú ý rằng chương trình thực tế của chúng tôi là chỉ có ba hướng dẫn dài, nhưng hai trong số các lệnh được Lệnh MOVE. Điều này là khá điển hình. Bạn sẽ thấy rằng hầu hết các mã chương trình

của bạn sẽ được dùng để biến di chuyển xung quanh, chứ không phải làm bất cứ hoạt động trên chúng.

Tóm Tắt

• Làm thế nào bộ nhớ của một hệ thống máy tính điển hình có thể được tổ chức và giải quyết • Làm thế nào byte địa chỉ được thực hiện và sự mơ hồ của Big Endian so với Little Endian

phương pháp giải quyết byte

• Tổ chức cơ bản của ngôn ngữ hướng dẫn lắp ráp và làm thế nào từ opcode làhiểu như là một phần của một chỉ dẫn ngôn ngữ máy

• Các nguyên tắc cơ bản của việc tạo ra một chương trình ngôn ngữ assembly

• Việc sử dụng các giả opcodes để kiểm soát các hoạt động của chương trình asembly Phân tích một chương trình ngôn ngữ asembly đơn giản.

Một phần của tài liệu Tiểu luận tổ chức bộ nhớ và lập trình bằng ngôn ngữ assembly (Trang 27 - 28)