Professional Documents
Culture Documents
Lab3 23521451
Lab3 23521451
*Thực hành
3.1 Mô phỏng việc thực thi các lệnh và cho biết chức năng các lệnh sau:
STT Lệnh Chức năng Ví dụ
1 add Cộng giá trị trong 2 thanh ghi và lưu vào 1 add $4,$5,$9
thanh ghi
2 addi Thực hiện cộng giá trị thanh ghi rs với số tức addi $t1, $t3,9
thời, kết quả đưa vào thanh ghi rt
3 addiu Giống addi, sẽ báo khi overflow xuất hiện addi $t1, $t2, 0x1
4 addu Giống add, sẽ báo khi overflow xuất hiện addu $t1, $t2, 2
5 sub Lệnh sub có cú pháp tương tư như lệnh add, sub $3, $4, $9
nhưng add thực hiện phép toán cộng 2 thanh
ghi, kết quả lưu vào thanh ghi thứ 3 trong khi
đó, sub thực hiện phép toán trừ 2 thanh ghi, kết
quả lưu vào thanh ghi thứ 3
6 subu Lệnh subu có cú pháp và chức năng giống như subu $t2, $t2, 0x1
sub, nhưng subu không xét đến kết quả có bị
overflow hay không sub có xét đến kết quả có
bị overflow hay không; nếu bị overflow, sẽ có
thông báo
.text
_start:
lw $t0,var1 #Chép word từ var1 cho $t0
*Mô phỏng:
STT2.
STT4.
3.3 Nhập vào 1 chuỗi, xuất ra cửa sổ I/O của MARS theo từng yêu cầu sau:
a.Khai báo và xuất ra cửa sổ I/O 2 chuỗi có giá trị sau:
b.Biểu diễn nhị phân của hai chuỗi trên dưới bộ nhớ
00100100000000100000000000000100
00100100000000110000000000000101
00111100000000010001000000000001
00110100001000100000000000000000
00111100000000010001000000000001
.text
main:
addi $v0, $0, 4
la $a0, inputext
syscall
Kết quả:
addi $v1,$1, 4
syscall
la $a1, input