02.07.2013 Views

LẬP TRÌNH HỢP NGỮ MIPS

LẬP TRÌNH HỢP NGỮ MIPS

LẬP TRÌNH HỢP NGỮ MIPS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

HDTH Kiến trúc máy tính & Hợp Ngữ Bộ môn MMTVT - HCMUS<br />

• Đối số $a0, $a1, $a2, $a3<br />

• Kết quả trả về $v0, $v1<br />

• Biến cục bộ $s0, $s1, ... , $s7<br />

• Địa chỉ quay về $ra<br />

Cấu trúc của một thủ tục:<br />

Đầu thủ tục<br />

entry_label:<br />

addi $sp,$sp, -framesize # khai báo kích thước cho stack<br />

sw $ra, framesize-4($sp) # cất địa chỉ trở về của thủ tục trong $ra vào ngăn xếp<br />

(dùng khi gọi hàm lồng nhau)<br />

Lưu tạm các thanh ghi khác (nếu cần)<br />

Thân thủ tục ...<br />

(có thể gọi các thủ tục khác...)<br />

Cuối thủ tục<br />

Phục hồi các thanh ghi khác (nếu cần)<br />

lw $ra, framesize-4($sp) # lấy địa chỉ trở về ra $ra<br />

addi $sp,$sp, framesize<br />

jr $ra<br />

Gọi thủ tục: jal entry_label<br />

Giới thiệu chương trình MARS<br />

6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!