Пятница, 17.05.2024, 04:40:45
Nice-forum
Приветствую Вас Гость | RSS
Главная | Каталог файлов | Регистрация | Вход
Меню сайта

Категории раздела
ASM [1]
Ассемблер
Видео [0]
Картинки [0]
Программы [0]

Мини-чат

Наш опрос
Нужен ли сайту форум?
Всего ответов: 31

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Файлы » ASM

Поиск минимума на MIPS и C
24.10.2016, 23:12:43

C:

#include <stdio.h>

int main () {
    char ar[] = {1,-5,3,6,-2};
    int min = ar[0];
    int i;

    for (i = 0; i < sizeof(ar); i++) {
        if (ar[i] < min) {
            min = ar[i];
        }
    }

    printf("Min : %d\n", min);
}

 

.data

ar:     .word 1, -5, 3, 6, -2, -10, 8
size:    .word 7

.text
.globl main

main:

la $t0, ar        #adr of ar
lw $t1, 0($t0)    #min
lw $t2, size    #load array size
li $t3, 0        #i = 0

loop:

beq $t3, $t2, exit    #if i < sizeof(ar) jump to exit
lw $s0, ($t0)        #get element of array
blt $s0, $t1, ifbody# if ar[i] < min jump to ifbody
addi $t3, $t3, 1    #i++
addi $t0, $t0, 4    #adr+4
j loop

ifbody:

move $t1, $s0    #min = ar[i]
j loop

exit:
move $a0, $t1
li $v0, 1
syscall

li $v0, 10
syscall

 
Категория: ASM | Добавил: Colt48
Просмотров: 214 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход на сайт

Поиск

Друзья сайта

Copyright MyCorp © 2024