• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Ассемблер

  • Автор темы lmka
  • Дата начала
L

lmka

Ребята, помогите, пожалуйста! Нужно объяснить функцию этого кода. Я в ассемблере хуже чайника...
Что конкретно происходит в каждой строчке и что будет стоять в регистре $ s0 после исполнения 28-ой строчки, если на запрос integer задать 7.

1. .data
2. msg: .asciiz "integer="
3.
4. .text
5. main: li $ vo, 4 # print_string msg
6. la $ a0, msg
7. syscall
8. li $ v0, 5 # read_int in $v0
9. syscall
10. move $ a0, $ vo
11.
12. # ------------------
13. bgtz $ a0, continue
14. sub $ a0, $ zero, $ a0
15.
16. continue: add $ t0, $ zero, $ zero
17. addi $ t1, $ zero, 1
18. addi $ t2, $ zero, 1
19.
20. loop: sub $ t9, $ a0, $ t1
21. bltz $ t9, end_loop
22.
23. add $ t0, $ t0, $ t2
24. addi $ t2, $ t2, 2
25. addi $ t1, $ t1, 1
26. j loop
27.
28. end_loop: move $ s0, $ t0


заранее всем благодарна!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!