2. Zmień poniższy program na kod maszynowy:
.text
.globl main
main:
ori $t0, $zero, 15
ori $t1, $zero, 3
add $t1, $zero $t1
sub $t2, $t0, $t1
sra $t2, $t2, 2
mult $t0, $t1
mflo $a0
ori $v0, $zero, 1
syscall
addi $v0, $zero, 10
syscall
.data
result: .asciiz "15 * 3 is "
Wyniki sprawdź z tym co będzie w symulatorze MARS. (Assembler)


Odpowiedź :

Odpowiedź:

.text

.globl main

main:

ori $t0, $zero, 15 ; <------------------START

ori $t1, $zero, 3

add $t1, $zero, $t1 ; literówkę miałeś

sub $t2, $t0, $t1

sra $t2, $t2, 2

mult $t0, $t1

mflo $a0

ori $v0, $zero, 1

syscall

addi $v0, $zero, 10

syscall ; <--------------STOP

machine code:

0x3408000f

0x34090003

0x00094820

0x01095022

0x000a5083

0x01090018

0x00002012

0x34020001

0x0000000c

0x2002000a

0x0000000c

Wyjaśnienie:

Nie mam marsa ale po linii 1,2 i 6 widzę, że wynik to >> 45 <<