Создание программ не линейной структуры - Assembler
Формулировка задачи:
Доброе время суток, очень нужно решить 2 задачи, буду огромно благодарен за помощь:
1) Задано натуральное число, диапазон значений слово. Сформировать число обратное к заданному. (123->321).
2) Определить попадает точка с заданными координатами в первую очередь или вторую четверть. Ответ вывести сообщением.
Решение задачи: «Создание программ не линейной структуры»
textual
Листинг программы
model tiny .code org 100h begin: mov ax,1234 mov bx,10 xor cx,cx @@01: xor dx,dx div bx push dx inc cx or ax,ax jnz @@01 mov si,1 xor di,di @@02: pop ax xor dx,dx mul si add di,ax mov ax,si mul bx mov si,ax loop @@02 mov ax,di ret end begin
Объяснение кода листинга программы
- Установка начального значения регистра AX в 1234.
- Установка начального значения регистра BX в 10.
- Установка начального значения регистра CX в 0.
- Установка начального значения регистра DX в 0.
- Начинается цикл, который выполняется до тех пор, пока значение регистра CX не станет равным 0.
- В начале цикла выполняется операция деления регистра AX на значение регистра BX, результат сохраняется в регистре DX.
- Результат операции деления (в регистре DX) сохраняется на стеке.
- Значение регистра CX увеличивается на 1.
- Если значение регистра AX (которое содержит результат операции деления) не равно 0, то выполняется следующая итерация цикла.
- Установка начального значения регистра SI в 1.
- Установка начального значения регистра DI в 0.
- Начальный цикл (п.5-9) завершается, и начинается новый цикл.
- Стек очищается, и из него извлекается значение, которое было сохранено в регистре DX в начале первого цикла.
- Значение в регистре DX (результат операции деления) умножается на значение регистра SI.
- Результат умножения (в регистре AX) добавляется к значению регистра DI.
- Значение регистра SI заменяется на значение регистра AX.
- Значение регистра AX (теперь оно равно значению регистра SI) умножается на значение регистра BX.
- Значение регистра SI заменяется на значение регистра AX.
- Цикл (п.10-17) повторяется до тех пор, пока значение регистра SI не станет равным 1.
- Значение регистра DI заменяется на значение регистра AX.
- Код завершается, и управление передается следующей инструкции после него.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д