Lab05B – Learn to Work



tải về 151.15 Kb.
Chế độ xem pdf
Chuyển đổi dữ liệu27.05.2022
Kích151.15 Kb.
#52127
CE119-LAB05B



Hỏi đáp: 
https://www.facebook.com/groups/EmAnhDuong
 
Video: 
https://www.youtube.com/DuongComputing
 
LAB05B – Learn to Work 
MỤC TIÊU 
- Rèn luyện khả năng sử dụng ngôn ngữ kịch bản cho công việc tương lai 
- Hiểu cách hoạt động của trình biên dịch hợp ngữ 
ĐỐI TƯỢNG 
- Sinh viên đang học một trong những môn học sau: 
o CE119 – Thực hành Kiến trúc Máy tính 
o IT006 – Kiến trúc Máy tính 
TRÌNH BIÊN DỊCH HỢP NGỮ 
Trình biên dịch hợp ngữ có chức năng chuyển một chương trình được viết bằng hợp ngữ sang ngôn ngữ 
máy. Có thể viết trình biên dịch theo 2 chuyến như sau: 
Chuyến 1: Duyệt tập tin hợp ngữ đầu vào và xuất kết quả vào tập tin tạm 
- Bước 1.1: Loại bỏ tất cả chú thích, hàng trống khỏi chương trình 
- Bước 1.2: Tính toán địa chỉ cho tất cả label và lưu vào bảng label 
- Bước 1.3: Loại bỏ label khỏi chương trình 
Chuyến 2: Duyệt tập tin tạm và xuất kết quả ra tập tin mã máy 
- Bước 2.1: Xác định định dạng lệnh 
- Bước 2.2: Phát sinh mã nhị phân cho các mã gợi nhớ và thay thế label bằng địa chỉ label của lệnh 
dựa theo định dạng lệnh 
- Bước 2.3: Nối mã nhị phân của các trường thành mã máy hoàn chỉnh 
YÊU CẦU 
- Đầu vào: tập tin chương trình hợp ngữ MIPS bao gồm tối thiểu: 
o Thanh ghi: 32 thanh ghi đa dụng 
o Lệnh loại R: add, addu, and, jr 
o Lệnh loại I: addi, addiu, andi, beq, bne, lbu, lhu, lui, lw, sw 
o Lệnh loại J: j, jal 
- Đầu ta: tập ra chương trình mã máy 
HƯỚNG DẪN LẬP TRÌNH 
Thủ tục 
Mô tả 
DeleleComment() 
Xóa các chú thích 
CalculateImmediate() 
Tính toán địa chỉ cho label 
BuiltLabelTable() 
Xây dựng bảng label và xóa label 
GenerateBinary() 
Tạo mã nhị phân cho lệnh 
FirstPass() 
Chuyến 1 
SecondPass() 
Chuyến 2 
Main() 
Hàm chính 

tải về 151.15 Kb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương