MARS Mips Добавление более 2 регистров / решение для печати - PullRequest
1 голос
/ 17 февраля 2020

Я сделал несколько вычислений (даже не уверен, что они отдаленно близки к точным, поскольку инструкции для назначения отсутствуют (спасибо бесполезным профессорам)), но в основном я пытаюсь принять значение $ t2, $ t3, $ t4 и $ t5 .. сложите их вместе, затем сохраните их в $ t6 и напечатайте это на консоли.

Вот что у меня есть

    li $v0,10
    li $t1, 10
    add $t2, $t1, $t1
    sll $t3, $t1, 2
    and $t4, $t1, 0x0000FFFF
    or $t5, $t1, 0x0000FFFF

1 Ответ

1 голос
/ 17 февраля 2020

Это должно сделать работу.

    .data ## Data declaration section
    .text ## Assembly language instructions go in text segment
main: ## Start of code section
    add $t1, $t2, $t3 # t1 = t2 + t3
    add $t2, $t4, $t5 # t2 = t4 + t5
    add $t6, $t2, $t1 # t6 = t1 + t2
    move $a0, $t6 # a0 = t6
    li $v0, 1 # system call code to print integer from a0
    syscall # call operating system to perform operation
    li $v0, 10 # terminate program
    syscall

Найден пример Hello World! запрограммируйте здесь: https://courses.cs.vt.edu/cs2506/Fall2014/Notes/L04.MIPSAssemblyOverview.pdf

который я расширил в соответствии с вашими требованиями.

Этот код выведет 0, если вы запустите его на симуляторе MARS, начиная с t2, t3, t4, t5 равны 0 в основном.

...