Duy Nguyen Hoang A fully enthusiastic boy

MIPS Architecture Series – Phần 7: Array

2 min read

Trong bài viết này, chúng ta sẽ tìm hiểu về Array trong kiến trúc MIPS, tạo array, và cung cấp một ví dụ code mẫu.

mips array

Giới thiệu về Array

Array là một cấu trúc dữ liệu cho phép lưu trữ nhiều giá trị cùng kiểu dữ liệu trong một vùng nhớ liên tiếp. Nó cho phép truy cập và thay đổi giá trị của các phần tử trong mảng dễ dàng thông qua chỉ số.

Khối .data trong MIPS

Trong kiến trúc MIPS, khối .data được sử dụng để khai báo và khởi tạo dữ liệu tĩnh. Đây là nơi chúng ta có thể định nghĩa và khởi tạo mảng.

Tạo array trong MIPS

Để tạo một mảng bằng khối .data trong MIPS, chúng ta có thể sử dụng cú pháp sau:

.data
array_name: .word value1, value2, value3, ...

Ở đây, array_name là tên của mảng và value1, value2, value3, … là các giá trị của từng phần tử trong mảng.

Ví dụ code mẫu

Dưới đây là một ví dụ đơn giản về cách tạo một mảng 5 phần tử trong MIPS bằng khối .data:

.data
array: .word 1, 2, 3, 4, 5

.text
main:
    la $t0, array     # Đưa địa chỉ của mảng vào thanh ghi $t0
    li $t1, 0         # Khởi tạo biến đếm $t1 bằng 0
    
loop:
    lw $t2, 0($t0)    # Load giá trị của phần tử tại địa chỉ $t0 vào $t2
    # Thực hiện các thao tác khác với giá trị của phần tử tại đây
    
    addi $t0, $t0, 4  # Tăng địa chỉ $t0 lên 4 byte (do mỗi word có kích thước 4 byte)
    addi $t1, $t1, 1  # Tăng biến đếm $t1 lên 1
    
    blt $t1, 5, loop  # Lặp lại nếu biến đếm $t1 nhỏ hơn 5
    
    # Thực hiện các thao tác khác sau khi đã truy xuất qua cả 5 phần tử
    
    li $v0, 10        # Exit program
    syscall

Trong ví dụ trên, chúng ta sử dụng thanh ghi $t0 để lưu địa chỉ của mảng. Sau đó, chúng ta sử dụng một vòng lặp để truy xuất qua cả 5 phần tử của mảng. Giá trị của mỗi phần tử được load vào thanh ghi $t2 để thực hiện các thao tác xử lý. Sau mỗi vòng lặp, địa chỉ và biến đếm được tăng lên để truy xuất đến phần tử tiếp theo. Vòng lặp tiếp tục cho đến khi biến đếm đạt giá trị 5.

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cấu trúc dữ liệu Array trong kiến trúc MIPS và cách tạo mảng trong khối .data. Chúng ta đã thấy một ví dụ đơn giản về cách khai báo và khởi tạo một mảng trong MIPS. Việc hiểu về Array là rất quan trọng để xử lý các tác vụ liên quan đến dữ liệu trong kiến trúc MIPS.

References: https://www.youtube.com/watch?v=sEYDvY0apRc

Avatar photo
Duy Nguyen Hoang A fully enthusiastic boy

Leave a Reply

Your email address will not be published. Required fields are marked *