Kode Assembly yang kedua adalah tentang mengkonversi tinggi badan dari satuan centimeter menjadi meter, ini masih berkaitan dengan program Assembly yang pertama. Jika kamu menginputkan 190 centimeter, maka 2 meter kurang 10 centimeter akan menjadi outputnya. 🙂 Enjoy!
Kode program, simpan dengan nama file tinggi.asm
.data teks1:.asciiz "Nama : " teks2:.asciiz "Tinggi : " teks3:.asciiz " memiliki tinggi badan " teks4:.asciiz " meter kurang " teks5:.asciiz "cm." jeneng:.space 10 .text .globl main main : #print teks1 la $a0, teks1 li $v0, 4 syscall #baca string masukkan ke jeneng la $a0, jeneng li $v0, 8 syscall #print teks 2 la $a0, teks2 li $v0, 4 syscall #baca tinggi badan li $v0, 5 syscall move $t0, $v0 #masukkan 100 li $t1, 100 #menghitung mod div $t0, $t1 mfhi $t2 #menghitung jumlah $t1 dan $t2 sub $t3, $t1, $t2 #menghitung pengurangan $t0 dan $t3 add $t4, $t0, $t3 div $t4, $t1 mflo $t5 #print jeneng la $a0, jeneng li $v0, 4 syscall #print teks3 la $a0, teks3 li $v0, 4 syscall #pindahkan $t5 ke $a0 dan print move $a0, $t5 li $v0, 1 syscall #print teks4 la $a0, teks4 li $v0, 4 syscall #pindahkan $t3 ke $a0 dan print move $a0, $t3 li $v0, 1 syscall #print teks5 la $a0, teks5 li $v0, 4 syscall exit: jr$ra
Program pembanding yang dibuat menggunakan bahasa Java, simpan dengan nama file Tinggi.java.
import java.util.Scanner; class Tinggi { public static void main(String... args) { Scanner s = new Scanner(System.in); int tinggi, j, k, h; String nama; System.out.print("Masukkan nama : "); nama = s.nextLine(); System.out.print("Tinggi badan (cm) : "); tinggi = s.nextInt(); j = tinggi % 100; k = 100 - j; h = tinggi + k; System.out.println(nama + " memiliki tinggi badan " + h + " kurang "+k); } }