Россия и Беларусь начали и продолжают войну против народа Украины!

Ассемблер. Циклы

  Светлана Деменева  | 

  Обновл. 4 Сен 2021  | 

 27816

 ǀ   3 

Инструкция JMP может быть использована для выполнения циклов. Например, следующий фрагмент кода может использоваться для выполнения тела цикла 10 раз:

Набор инструкций процессора включает в себя группу инструкций цикла для реализации итерации. Основная инструкция цикла LOOP имеет следующий синтаксис:

LOOP label

Где label — это метка, которая идентифицирует целевую инструкцию. Инструкция LOOP предполагает, что регистр ECX содержит в себе счетчик циклов. Когда инструкция цикла выполняется, регистр ECX уменьшается, точка выполнения программы переходит к метке до тех пор, пока значение регистра ECX (т.е. значение счетчика цикла) не достигнет нуля.

Вышеприведенный пример можно записать следующим образом:

А здесь с помощью цикла мы выводим на экран цифры от 1 до 9:

Результат выполнения программы:

123456789:

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (29 оценок, среднее: 4,34 из 5)
Загрузка...

Комментариев: 3

  1. John Meow:

    Такой вопрос. Зачем в примере

    Если можно сделать просто inc eax?

    1. new-futuristic:

      первой командой мы переводим значение в регистре еах из строки в число
      потом второй увеличиваем само число
      потом третьей обратно в строчку чтоб можно было напечатать

      1. elwing:

        майнкрафтер прав. не нужно ничего перводить чтобы использовать inc. Оно просто додаст 1 к регистру eax и получится '1' по ASCII, который в тавблице сразу после '0'

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *