Assembly Collection : 5 Menghitung Suatu Fungsi Kuadrat

Last Updated on 13 years by Mas Herdi

Ini sebenarnya sudah mudah. Apa yang saya katakan mudah adalah nyata, karena kita hanya diminta untuk menghitung sebuah fungsi kuadrat, dimana semua variabelnya telah diketahui, berbeda dengan mencari nilai x, pada suatu persamaan kuadrat ax^2 + bx + c.


Screenshot Program Fungsi Kuadrat

persku.asm

.data
teks1:.asciiz "Nilai A : "
teks2:.asciiz "Nilai B : "
teks3:.asciiz "Nilai C : "
teks4:.asciiz "Nilai X : "
teks5:.asciiz "Nilai dari f("
teks6:.asciiz ") untuk persamaan f(x) = "
teks7:.asciiz "X^2 + "
teks8:.asciiz "X + "
teks9:.asciiz " = "
.text
.globl main
main :
    la $a0, teks1    #print teks1
    li $v0, 4
    syscall

    li $v0, 5        #baca input integer masukkan ke $t0
    syscall
    move $t0, $v0

    la $a0, teks2    #print teks2
    li $v0, 4
    syscall

    li $v0, 5        #baca input integer untuk $t1
    syscall
    move $t1, $v0

    la $a0, teks3    #print teks3
    li $v0, 4
    syscall

    li $v0, 5        #baca input integer untuk t2
    syscall
    move $t2, $v0

    la $a0, teks4    #print teks4
    li $v0, 4
    syscall

    li $v0, 5        #baca input integer untuk t3
    syscall
    move $t3, $v0

    mul $t4, $t3, $t3    # X^2 finish
    mul $t5, $t0, $t4     # A*X^2kuadrat finish
    mul $t6, $t1, $t3     # B*X finish
    add $t7, $t5, $t6    # A*X^2 + B*X finish
    add $t7, $t7, $t2    # A*X^2 + B*X + C finish

    la $a0, teks5        #print teks5
    li $v0, 4
    syscall

    move $a0, $t3        #print t3
    li $v0, 1
    syscall

    la $a0, teks6        #print teks6
    li $v0, 4
    syscall

    move $a0, $t0        #print t0
    li $v0, 1
    syscall

    la $a0, teks7        #print teks7
    li $v0, 4
    syscall

    move $a0, $t1        #print t1
    li $v0, 1
    syscall

    la $a0, teks8        #print teks8
    li $v0, 4
    syscall

    move $a0, $t2    #print t2
    li $v0, 1
    syscall

    la $a0, teks9    #print teks9
    li $v0, 4
    syscall

    move $a0, $t7    #print t7
    li $v0, 1
    syscall

    jr$ra        #jumpAroundReturnAddress

Inilah file main.cpp kali ini saya ingin menggunakan c++ just in case agar saya sedikit ingat kembali soal c++ 🙂

/* 
* File: main.cpp
* Author: Herdi Naufal
*
* Created on May 12, 2011, 10:14 PM
*/

#include <cstdlib>
#include <stdio.h>
#include <iostream>

using namespace std;

/*
* 
*/

float count(int x, int a, int b, int c)
{
    float hasil;

    hasil = a * x * x + b * x + c;

    return hasil;

}

void start()
{
    int a,b,c,x;

    float result;
    cout<<"Nilai A : ";
    cin>> a;
    cout<<"Nilai B : ";
    cin>> b;
    cout<<"Nilai C : ";
    cin>>c;
    cout<<"Nilai X : ";
    cin>>x;

    result = count(x,a,b,c);
    cout.setf(ios::fixed, ios::floatfield);
    cout.precision(0);
    cout<<"Nilai dari f("<<x<<") untuk persamaan f(x) = "<<a<<"X^2 + "<<b<<"X + "<<c<<" = "<<result;
}

int main(int argc, char** argv) {

    start();

    return 0;
}




Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

TWOH&Co.