Ассемблер

Тема в разделе "Другие задачи", создана пользователем lmka, 16 июл 2010.

  1. lmka

    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


    заранее всем благодарна!
     
  2. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Что за дурной ассемблер такой. Под какой процессор хоть?
     
Загрузка...

Поделиться этой страницей