Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/55: Рейтинг темы: голосов - 55, средняя оценка - 4.56
 Аватар для koshkarjov
7 / 7 / 1
Регистрация: 01.03.2010
Сообщений: 82

[tasm] Вложенные циклы

27.03.2013, 02:07. Показов 11637. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Помогите, пожалуйста, дописать программу для реализации вложенных циклов.

Написал программу, когда оба цикла реализованы с помощью команды loop и одного регистра cx:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.model      tiny            ; модель памяти, используемая для COM
.code                       ; начало сегмента кода
            org     100h    ; начальное значение счетчика - 100h
 
start:      mov     cx, 3   ; число повторений внешнего цикла
label_1:    mov     x, 7    ; команда внешнего цикла (выбрана произвольно)
            mov     bx, cx  ; cx ---> bx, сохраняем число повторений внешнего цикла
            mov     cx, 2   ; число повторений внутреннего цикла
label_2:    mov     y, 8    ; команда тела внутреннего цикла (выбрана произвольно)
            loop    label_2 ; переход на метку label_2
            mov     cx, bx  ; bx ---> cx, восстанавливаем число повторений внешнего цикла
            mov     z, 3    ; продолжение внешнего цикла (команда выбрана произвольно)
            loop    label_1 ; переход на метку label_1
 
            ret             ; завершение COM программы
 
x           db      ?       ; резервируем память для x
y           db      ?       ; резервируем память для y
z           db      ?       ; резервируем память для z
 
            end     start   ; конец программы
Теперь хочу сделать тоже самое, но без команды loop и с двумя регистрами - счетчиками.
Сделал 2 цикла, но не могу понять как один из них сделать внутренним. Что нужно дописать для этого?

Вот сам код:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.model      tiny            ; модель памяти, используемая для COM
.code                       ; начало сегмента кода
            org     100h    ; начальное значение счетчика - 100h
 
start:      mov     bx, 3   ; число повторений внешнего цикла
label_1:    mov     x, 7    ; команда внешнего цикла (выбрана произвольно)
            dec     bx      ; уменьшаем значение bx на единицу
            cmp     bx, 0   ; сравниваем значение bx с нулем
            jne     label_1 ; 
            mov     cx, 2   ; число повторений внутреннего цикла
label_2:    mov     y, 8    ; команда тела внутреннего цикла (выбрана произвольно)
            dec     cx      ; уменьшаем значение cx на единицу
            cmp     cx, 0   ; сравниваем значение cx с нулем
            jne     label_2 ; 
            mov     z, 3    ; продолжение внешнего цикла (команда выбрана произвольно)
    
            ret             ; завершение COM программы
 
x           db      ?       ; резервируем память для x
y           db      ?       ; резервируем память для y
z           db      ?       ; резервируем память для z
 
            end     start   ; конец программы
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.03.2013, 02:07
Ответы с готовыми решениями:

Считать число. Проверить равна ли сумма его делителей самому числу
Добрый вечер! Прошу вашей помощи с заданием, основанным на цикле. Может у кого-то завалялось похожее решение? Вот моё задание:...

Вложенные циклы
здравствуй форум! section .data sl db "Assembler NASM", 0xa len equ $-sl section .text global _start _start:

Циклы с условием, циклы с переменной, вложенные циклы
С условием 1. Ввести натуральное число N и вычислить сумму всех чисел фибоначчи меньших N. Предусмотреть защиту от ввода...

3
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
27.03.2013, 04:20
koshkarjov, наверное так
Assembler
1
2
3
4
5
6
7
8
9
10
            mov bx,M; число повторений внешнего цикла
label_1:    . . .; команды внешнего цикла 
            mov  cx,N; число повторений внутреннего цикла
label_2:   . . ; команды тела внутреннего цикла 
            dec     cx      ; уменьшаем значение cx на единицу
            jnz     label_2 ; если cx не ноль крутимся во внутреннем цикле
            . . .; команды внешнего цикла
            dec     bx      ; уменьшаем значение bx на единицу
            jnz     label_1 ;если bx не ноль крутимся во внешнем цикле
; выходим из внешнего цикла
2
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
27.03.2013, 09:14
а зачем расходовать сразу два регистра для этого??? чем через два лопа не устраивает?
0
 Аватар для koshkarjov
7 / 7 / 1
Регистрация: 01.03.2010
Сообщений: 82
27.03.2013, 18:49  [ТС]
Mikl___, спасибо!
Цитата Сообщение от Fatal Error Посмотреть сообщение
а зачем расходовать сразу два регистра для этого??? чем через два лопа не устраивает?
Да всем устраивает, просто задание такое было: реализовать вложенные циклы двумя способами.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.03.2013, 18:49
Помогаю со студенческими работами здесь

Вложенные циклы
Построить зависимость \frac{\sin x}{x}=\sum_{n=0}^{\infty}\frac{(-1)^nx^{2n}}{(2n+1)!} На отрезке

Вложенные циклы
Определить, сколько существует вариантов дать сдачу 27 рублей монетами в 1, 2 и 5 рублей так, чтобы общее количество монет было равно 10....

Вложенные циклы
Всем привет. Изучаю С++ совсем недавно - по книге. Собсно вопрос. В главе о циклах в книге приведен пример - использование вложенного...

Вложенные циклы
Заданно натуральное n. Вычислите сумму. \sum_{i = 1}^{n}(i!\sum_{j = 1}^{i}(i + {j}^{2}))

Вложенные циклы
Доброго времени суток,форумчане! Столкнулся с такой задачей:необходимо спарсить все города из всех стран по api vk,есть 2 цикла ,в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru