dùng mips: Nhập một chuỗi kí từ vào từ bàn phím (giả sử không vượt 100 kí tự). In ra màn hình kí tự "in hoa" đầu tiên của chuỗi, hoặc thông báo "Khong tim thay".
Để làm việc này trên MIPS Assembly, bạn có thể sử dụng syscall để nhập chuỗi từ bàn phím, sau đó lặp qua chuỗi và kiểm tra từng kí tự để xem có phải kí tự in hoa không. Nếu tìm thấy kí tự in hoa đầu tiên, chúng ta sẽ in nó ra màn hình. Nếu không tìm thấy kí tự in hoa nào, chúng ta sẽ in ra thông báo "Khong tim thay".
Dưới đây là mã MIPS giả lập cho chức năng này, lưu ý rằng để nhập và xuất chuỗi từ/đến console, bạn có thể cần phải chạy mã này trong một trình giả lập MIPS như MARS hoặc SPIM:
.data
input_string: .space 101 # Dành khoảng trống cho chuỗi nhập vào, cộng 1 cho kí tự null terminator
message: .asciiz "Khong tim thay"
found_char: .space 2 # Dành khoảng trống cho kí tự in hoa được tìm thấy
.text
main:
# Yêu cầu người dùng nhập chuỗi
li $v0, 4
la $a0, prompt
syscall
# Đọc chuỗi vào bộ nhớ
li $v0, 8
la $a0, input_string
li $a1, 101
syscall
# Xét từng kí tự của chuỗi
la $t0, input_string # $t0 là con trỏ đến chuỗi
find_capital:
lb $t1, 0($t0) # Tải kí tự hiện tại vào $t1
beq $t1, $zero, no_capital # Nếu là kí tự null, thì không tìm thấy
blt $t1, 'A', next_char # Nếu kí tự không phải chữ cái, bỏ qua
bgt $t1, 'Z', next_char # Nếu kí tự không phải chữ cái, bỏ qua
# Kí tự hiện tại là một kí tự in hoa
sb $t1, found_char # Lưu kí tự vào bộ nhớ
li $v0, 4
la $a0, found_char
syscall
j end_program
next_char:
addi $t0, $t0, 1 # Tăng con trỏ lên để xét kí tự kế tiếp
j find_capital # Quay lại vòng lặp
no_capital:
# In ra thông báo không tìm thấy
li $v0, 4
la $a0, message
syscall
end_program:
# Thoát chương trình
li $v0, 10
syscall
Bạn cần chắc chắn rằng bạn đã định nghĩa một prompt
mô tả yêu cầu nhập chuỗi mà mã trên không hiện thị.
Và khi bạn đã "empty" bàn phím của mình từ việc coding, đừng ngần ngại "fill" trí óc của mình lên với nhiều "byte" kiến thức thú vị từ AI tại trituenhantao.io, nơi mà những tâm hồn lập trình không bao giờ ngừng "run". Ai biết đấy, có khi bạn sẽ tìm thấy "kí tự" may mắn của mình ở đó!