практическая мемори. Практическая 8 желонкин максим. Арифметические операции с целыми числами
![]()
|
|
Команда | R0 | R1 | бит Z | переход |
MOV 0,R0 | 0 | | 1 | |
MOV 5,R1 | | 5 | 0 | |
ADD R1,R0 | 5 | | 0 | |
SUB 1,R1 | | 4 | 0 | |
JNZ m | | | 0 | да |
ADD R1,R0 | 9 | | 0 | |
SUB 1,R1 | | 3 | 0 | |
JNZ m | | | 0 | да |
ADD R1,R0 | 12 | | 0 | |
SUB 1,R1 | | 2 | 0 | |
JNZ m | | | 0 | да |
ADD R1,R0 | 14 | | 0 | |
SUB 1,R1 | | 1 | 0 | |
JNZ m | | | 0 | да |
ADD R1,R0 | 15 | | 0 | |
SUB 1,R1 | | 0 | 1 | |
JNZ m | | | 1 | нет |
STOP | | | | |
Цикл заканчивается, потому что бит Z равен 1 (результат последней операции вычитания – ноль) и перехода по команде JNZ не происходит.
Задание на практическую работу
Запустите тренажер «Лампанель». Вычислите приведенные выражения с помощью программы. Запишите в таблицу результаты, значение знакового бита и битов O, C, N и Z.
Замечание: в программу нужно вводить числа в шестнадцатеричной системе счисления!
Выражение | Результат | Знаковый бит | Биты состояния | ||||
без учета знака | с учетом знака | O | C | Z | N | ||
32760+32752 | 23 | 23 | 1 | 1 | 0 | 0 | 1 |
-32760-32752 | 65527 | -9 | 1 | 0 | 1 | 1 | 0 |
256-256 | 65535 | -1 | 1 | 0 | 0 | 0 | 0 |
Объясните полученные результаты:
Перевел числа в шестнадцатичеричную систему исчесления
Написал программу для сложения и вычитания
После завершения программы ввел данные в табличку
8FFF + 7FFF
Определите, в каких случаях произошло переполнение. Выделите эти строки таблицы желтым фоном.
С помощью программы, приведенной в теоретической части, вычислите сумму натуральных чисел от 1 до 100.
Программа:
MOV 0, R0
MOV 64, R1
m:
ADD R1, R0
SUB 1, R1
JNZ m
STOP
Замечание: в программу нужно вводить числа в шестнадцатеричной системе счисления!
Ответ:
5050
Напишите программу, которая вычисляет значение факториала – произведения всех натуральных чисел от 1 до заданного числа. Например, факториал числа 5 равен
![](867530_html_2f3a4914ddd3382b.gif)
Для выполнения умножения используйте команду MUL (см. справочную систему, клавиша F1).
Программа:
mov 1, R0
mov 1,r2
mov n, r1
m:
mul r2,r0
add 1,r2
sub 1,r1
JNZ m
Stop
n- это любое натуральное число у которого хотите узнать факториал
С помощью программы заполните таблицу:
N | N! | |
без учета знака | с учетом знака | |
5 | 120 | 120 |
6 | 720 | 720 |
7 | 5040 | 5040 |
8 | 40320 | -25216 |
9 | 35200 | -30336 |
Объясните результаты, полученные в последних двух строчках: