Assembly mips组装中的判别式和根
我是Mips汇编的新手,我想写一个程序来计算二次函数的根。我已经找到了判别式,但现在我想检查是否>0,您是否知道根可能不是整数?您熟悉浮点指令吗?你是故意在这里使用整数算术而不是浮点算术吗?你是对的,我忘了提到根必须是整数@Ruud HeldermanSee,例如,乘以0对你有什么好处?@ErikEidt因为这是我第一天参加汇编,所以我想得到判别式,我想解的函数是ax^2+bx,所以u是对的,这是浪费时间。Assembly mips组装中的判别式和根,assembly,mips,Assembly,Mips,我是Mips汇编的新手,我想写一个程序来计算二次函数的根。我已经找到了判别式,但现在我想检查是否>0,您是否知道根可能不是整数?您熟悉浮点指令吗?你是故意在这里使用整数算术而不是浮点算术吗?你是对的,我忘了提到根必须是整数@Ruud HeldermanSee,例如,乘以0对你有什么好处?@ErikEidt因为这是我第一天参加汇编,所以我想得到判别式,我想解的函数是ax^2+bx,所以u是对的,这是浪费时间。 .data msg_read_a: .asciiz"dwse arithmo
.data
msg_read_a: .asciiz"dwse arithmo a:"
msg_read_b: .asciiz"dwse arithmo b:"
msg_read_x1: .asciiz"dwse diastima x1:"
msg_read_x2: .asciiz"dwse diastima x2:"
akuro: .asciiz"h sunartish den mhdenizetai"
midenizetai: .asciiz"h sunarthsh midenizetai"
.text
main:
li $v0,4
la $a0,msg_read_a #α
syscall
li $v0,5
syscall
move $t0,$v0
li $v0,4
la $a0,msg_read_b #β
syscall
li $v0,5
syscall
move $t1,$v0
li $v0,4
la $a0,msg_read_x1 #διαστημα χ1
syscall
li $v0,5
syscall
move $t2,$v0
li $v0,4
la $a0,msg_read_x2 #διαστημα χ2
syscall
li $v0,5
syscall
move $t3,$v0
mul $t5,$t1,$t1
mul $t6,$t1,0 #b^2
li $t7,4 #+4
mul $t7,$t7,$t6
sub $t8,$t5,$t7 #τ8=διακρινουσα
bgt $t8,0, mega
blt $t8,0, mikro
beq $t8,0, isioi
mega: mul $t5,$t1,-1 #-b
syscall
j exodos
iso: mul $t5,$t1,-1 #-b
mul $t6,$t0,2
div $t7,$t5,$t6
syscall
j exodos
exodos: li $v0, 10
syscall