mong mn có thể giải đáp thắc mắc hộ mình với
mk code MISP số thập phân bằng fraction
mình đã sửa mã nguồn liên tục nhưng kết quả vẫn là 0.0 cho cả 2 là mul và div
dưới đây là đoạn code của e kèm giải thích cho mn dễ hiểu
.data
A: .word 0 # Số thực A
B: .word 0 # Số thực B
ResultMul: .word 0 # Kết quả nhân
ResultDiv: .word 0 # Kết quả chia
.text
main:
# Nhập số thực A
li $v0, 6 # Sử dụng mã hệ thống 6 để nhập số thực
syscall
sw $v0, A # Lưu giá trị số thực vào A
# Nhập số thực B
li $v0, 6 # Sử dụng mã hệ thống 6 để nhập số thực
syscall
sw $v0, B # Lưu giá trị số thực vào B
# Gọi hàm nhân
jal mulDouble
# Kết quả được lưu trong ResultMul
# Gọi hàm chia
jal divDouble
# Kết quả được lưu trong ResultDiv
# Hiển thị kết quả
# In giá trị của ResultMul
li $v0, 2
lw $a0, ResultMul
syscall
# Xuống dòng
li $v0, 4
la $a0, newline
syscall
# In giá trị của ResultDiv
li $v0, 2
lw $a0, ResultDiv
syscall
# Kết thúc chương trình
li $v0, 10
syscall
mulDouble:
# Thủ tục nhân hai số thực
lw $t0, A
lw $t1, B
# Nhân A và B
mul $t2, $t0, $t1
# Lưu kết quả vào ResultMul
sw $t2, ResultMul
# Trả kết quả
jr $ra
divDouble:
# Thủ tục chia hai số thực
lw $t0, A
lw $t1, B
# Chia A cho B
div $t2, $t0, $t1
# Lưu kết quả vào ResultDiv
sw $t2, ResultDiv
# Trả kết quả
jr $ra
.data
newline: .asciiz "\n" # Chuỗi xuống dòng