You are on page 1of 7

THỰC HÀNH KIẾN TRÚC MÁY TÍNH – LỚP CE119.M21.

5
BÁO CÁO LAB 1

Giảng viên hướng dẫn Trần Quốc Sơn ĐIỂM


Sinh viên thực hiện Phan Tuấn Đạt 21521950

Sinh viên tìm hiểu tài liệu “Một số lệnh assembly MIPS cơ bản” và mô phỏng
việc thực thi các lệnh và cho biết chức năng của các lệnh cơ bản sau:
add, addi, addu, addiu, sub, subu, and, andi, or, nor, lw, sw, slt, slti, sltu, sltiu, syscall

Lệnh Cú pháp Chức năng


add add rd, rs, rt Thực hiện cộng thanh ghi rs
với thanh ghi rt, tổng đưa vào
thanh ghi rd. Sẽ báo khi kết
quả xuất hiện overflow
addi addi rt, rs, immediate Thực hiện cộng giá trị thanh
ghi rs tới số tức thời, kết quả
đưa vào thanh ghi rt. Sẽ báo
khi kết quả xuất hiện overflow
addu addu rd, rs, rt Thực hiện cộng thanh ghi rs
với thanh ghi rt, tổng đưa vào
thanh ghi rd. Không xét kết
quả có bị overflow hay không
addiu addiu rt, rs, immediate Thực hiện cộng giá trị thanh
ghi rs tới số tức thời, kết quả
đưa vào thanh ghi rt. Không
xét kết quả có bị overflow hay
không
sub sub rd, rs, rt Thực hiện trừ thanh ghi rs với
thanh ghi rt, hiệu đưa vào
thanh ghi rd. Sẽ báo khi kết
quả xuất hiện overflow
subu subu rd, rs, rt Tương tự như lệnh sub nhưng
không xét kết quả có bị
overflow hay không
and and rd, rs, rt Thực hiện and từng bit giá trị
của thanh ghi rs và rt với nhau,
kết quả lưu vào thanh ghi rd
addi andi rt, rs, immediate Thực hiện and từng bit giá trị
thanh ghi rs và một số tức thời
(đã mở rộng thành số 32 bit),
kết quả lưu vào thanh ghi rd.
or or rd, rs, rt Thực hiện or từng bit giá trị
của thanh ghi rs và rt với nhau,
kết quả lưu vào thanh ghi rd
nor nor rd, rs, rt Thực hiện nor từng bit giá trị
của thanh ghi rs và rt với nhau,
kết quả lưu vào thanh ghi rd
lw lw rt, offset(rs) Lấy giá trị trong thanh ghi rs
cộng với số tức thời đang lưu
trong offset(mở rộng có dấu
thành 32 bits) ta được địa chỉ
của từ nhớ cần lấy dữ liệu. Dữ
liệu của từ nhớ này sẽ được lấy
để lưu vào thanh ghi rt
sw sw rt, offset(rs) Lưu giá trị thanh ghi rt vào từ
nhớ có địa chỉ được tính bằng
giá trị thanh ghi rs cộng với
offset (mở trộng có dấu thành
32 bits)
slt slt rd, rs, rt Kiểm tra xem giá trị thanh ghi
rs có nhỏ hơn thanh ghi rt hay
không, nếu nhỏ hơn thì thanh
ghi rd nhận giấ trị 1; ngược lại
thanh ghi rd nhận giá trị 0.
Thực hiện trên số có dấu
slti slti rt, rs, immediate So sánh giá trị thanh ghi rs với
số tức thời, nếu giá trị trong
thanh ghi rs nhỏ hơn thì thanh
ghi rd nhận giá trị 1; ngược lại
thanh ghi rd nhận giá trị 0
sltu sltu rd, rs, rt Thực hiện tương tự lệnh slt,
nhưng lệnh sltu thực hiện trên
số không dấu
sltiu sltiu rt, rs, immediate Tương tự như lệnh slti nhưng
lệnh sltiu so sánh theo kiểu số
không dấu
syscall syscall Là lệnh đặc biệt được sử dụng
trong tập lệnh MIPS để thực
hiện một dịch vụ. Nó là một
“Ngắt phần mềm” để gọi hệ
điều hành cho một hành động.
Lệnh gọi syscall có thể để in
một số hoặc để kết thúc một
chương trình

2.2
Ý nghĩa:
- Gán giá trị nguyên 23 cho thanh ghi $t0
- Gán giá trị 5 cho thanh ghi $t1
- Lưu giá trị 5 trong thanh ghi $t1 vào địa chỉ chứa nhãn var1

Ý nghĩa:
Lần lượt lưu các giá trị vào array1 qua thanh ghi $t0

Ý nghĩa:
- Gán giá trị nguyên 5 cho thanh ghi $v0
- Nhập 1 giá trị nguyên và lưu vào thanh ghi $v0

Ý nghĩa:
- Xuất chuỗi “Print this.
” ra màn hình
3
a)

b)
c)

d)

You might also like