andrey

Путь к Файлу: /Организация ЭВМ / Дополнительно / Программа вычисления квадратного корня однобайтного числа по методу Ньютона.doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   1
Пользователь:   andrey
Добавлен:   13.01.2015
Размер:   39.5 КБ
СКАЧАТЬ

Программа вычисления квадратного корня однобайтного числа по методу Ньютона - Рафсона, ответ является целым числом. Входные параметры число по адресу 0BB0, точность вычислений по адресу 0BB2, выходные корень этого числа по адресу 0BB1.

Адрес

Код

Мнемокод

Комментарий

0800

0E 01

MVI C,01

В регистр C запишем 01

0802

3A B00B

LDA 0BB0

Загрузим число в аккумулятор по адресу 0BB0

0805

5F

MOV E, A

Скопируем его в Е

0806

51

MOV D, C

Счетчик итераций запишем в делитель

0807

2E 08

MVI L, 08

Загрузим число разрядов в L

0809

06 00

MVI B, 00

Обнулим промежуточное делимое

080B

7B

MOV A, E

Скопируем делитель в аккумулятор

080C

17

RAL

Запишем старший бит в признак С

080D

78

MOV A, B

Скопируем промежуточное делимое в аккумулятор

080E

17

RAL

Запишем признак С в младший бит А

080F

92

SUB D

Вычитаем A – D

08010

D2 1608

JNC 0816

Если результат отрицательный переходим по адресу 0816

0813

DA 2108

JC 0821

Если результат положительный переходим по адресу 0821

0816

3F

CMC

Инвертируем признак переноса С

0817

47

MOV B, A

Сохраним результат вычисления в В

0818

7B

MOV A, E

Загрузим в аккумулятор Е

0819

17

RAL

Запишем в младший разряд С

0812

5F

MOV E, A

Сохраним результат

081B

CA 2508

JZ 0825

Если результат вычисления = 0 переходим по адресу 082C

081E

C3 2508

JMP 0825

Иначе переходим по адресу

0821

3F

CMC

Инвертируем признак переноса С

0822

7B

MOV A, E

Загрузим в аккумулятор Е

0823

17

RAL

Запишем в младший разряд С

0824

5F

MOV E, A

Сохраним результат

0825

2D

DCR L

Декремент L

0826

C2 0B08

JNZ 080B

Если это не последний разряд переходим по адресу

0829

C3 2C08

JMP 082C

Иначе конец деления

 

 

 

 

082C

7B

MOV A, E

Скопируем в аккумулятор Е

082D

81

ADD C

Прибавим А + С

082E

1F

RAR

Разделим на два, сдвинув вправо

082F

OC

INR C

Увеличим счетчик итерации на 1

0830

21 B10B

LXI H, 0BB1

Загрузим в регистры HL адрес 0BB1

0833

77

MOV M, A

Сохраним А в память по адресу (HL)

0834

23

INX H

Загрузим в регистры HL адрес 0BB2

0835

46

MOV B, M

Скопируем в В содержимое по адресу (HL)

0836

05

DCR B

Декремент В

0837

70

MOV M, B

Сохраним В в памяти

0838

C2 0208

JNZ 0802

Если признак нуля не равен 0 переходим по адресу

083B

CF

RST 1

Конец вычисления

 

 

 

 

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

На сайте уже 21970 файлов общим размером 9.9 ГБ.

Наш сайт представляет собой Сервис, где студенты самых различных специальностей могут делиться своей учебой. Для удобства организован онлайн просмотр содержимого самых разных форматов файлов с возможностью их скачивания. У нас можно найти курсовые и лабораторные работы, дипломные работы и диссертации, лекции и шпаргалки, учебники, чертежи, инструкции, пособия и методички - можно найти любые учебные материалы. Наш полезный сервис предназначен прежде всего для помощи студентам в учёбе, ведь разобраться с любым предметом всегда быстрее когда можно посмотреть примеры, ознакомится более углубленно по той или иной теме. Все материалы на сайте представлены для ознакомления и загружены самими пользователями. Учитесь с нами, учитесь на пятерки и становитесь самыми грамотными специалистами своей профессии.

Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



Каждый день, проснувшись по утру, заходи на obmendoc.ru

Товарищ, не ленись - делись файлами и новому учись!

Яндекс.Метрика