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

  • 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Ассемблер

  • Автор темы 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


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

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