Professional Documents
Culture Documents
Lab05 thực hành tổ chức cấu trúc máy tính
Lab05 thực hành tổ chức cấu trúc máy tính
Tên SV:
MSSV:
Lớp:
- Tạo vòng lặp bằng cách dùng label loop và loop_end điều kiện kết thúc là $t1 =
$t2 hay index bằng với số phần tử của mảng.
- Tính địa chỉ của array1[i] rồi lưu vào $t4
- Xuất ra array1[i]
- Tăng index:
- Lưu địa chỉ array2 vào $t0
- Kích cỡ array1 vào $t1
- Tạo một biến $t2 để chứa index hiện tại trong mảng
- Tạo vòng lặp bằng cách dùng label loop_1 và loop_1_end, điều kiện kết thúc là
$t1 = $t2 hay index bằng với số phần tử của mảng.
- Tính địa chỉ của array2[i] rồi lưu vào $t3
- Xuất ra array1[i]
- Tăng index
(Lưu ý: do mỗi phần tử của array2 được lưu trong 1 byte nên để lấy địa chỉ kế tiếp chỉ
cần cộng với 1 byte, khi lấy phần tử trong bộ nhớ cần sử dụng lệnh lb)
- Lưu địa chỉ array3 vào $t0
- Kích cỡ array3 vào $t1
- Tạo một biến $t2 để chứa index hiện tại trong mảng
- Lưu địa chỉ array2 vào $t3
- Kích cỡ array2 vào $t4
- Tạo vòng lặp bằng cách dùng label loop_2 và loop_2_end, điều kiện kết thúc là
$t1 = $t2 hay index bằng với số phần tử của mảng.
- Tính địa chỉ của array3[i] rồi lưu vào $t5
- Tính giá trị của array2[i] + array2[size2 – 1 – i] lưu vào array3[i]
- Xuất ra array3[i]
- Tăng index
(Lưu ý: do mỗi phần tử của array3 được lưu trong 1 byte nên để lấy địa chỉ kế tiếp chỉ
cần cộng với 1 byte, khi lấy phần tử trong bộ nhớ cần sử dụng lệnh lb):
- Lưu địa chỉ array1, array2, array3 lần lượt vào $t0, $t1, $t2.
- Nhận số mảng từ người dùng.
- Tạo 3 biến $s0 = 1, $s1 = 2, $s2 = 3 để nhận biết mảng người dùng nhập
- Tạo 3 nhãn continue, continue_1, continue_2 ứng với 3 trường hợp
- Trong mỗi nhãn tính địa chỉ arrayx[i] rồi xuất ra giá trị lưu trong địa chỉ đó.
- Kết quả:
2. Thao tác với con trỏ
- Tương tự câu 1, khác nhau ở việc tính và lưu địa chỉ của ô nhớ cần truy cập.
- Kết quả:
3. Bài tập
3.1:
- Cấp phát chuỗi 100 byte cho array
- Yêu cầu nhập số phần tử mảng và các giá trị tương ứng
- So sánh 2 thanh ghi $s0, $s1, với mỗi trường hợp thực hiện phép gán tương ứng.
- Kết quả sau khi nhập bảng, địa chỉ 0x1001000 chứa giá trị 0x0020301
- $s0 = 0x0, $s1 = 0x1
- Kết quả: A[0] = 0, giá trị của địa chỉ 0x1001000 thay đổi