Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ГЛАСНЫЕ В КОРНЯХ С ЧЕРЕДОВАНИЕМ





по дисциплине «Организация ЭВМ»

Тема:«Ввод чисел. Перевод чисел в различные системы счисления»

 

Выполнил: студент гр. ВТ-31

Горбунов И.М.

Проверил: Аленин

А.А.

 

Димитровград, 2014

Задание на выполнение лабораторной работы

Разработать программу перевода чисел из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную. Числа должны вводиться в десятичной системе счисления, а выводятся – в двоичной, восьмеричной и шестнадцатеричной.

 

Выполнение лабораторной работы

Ввод числовой информации. Ввод числовой информации в ассемблерную программу обычно осуществляется в два этапа:

  • ввод строки содержащей число;
  • перевод строки в число.

Для разработки алгоритма перевода введенной строки в число проанализируем структуру числа в позиционной системе счисления (в такой системе счисления вес цифры определяется ее местоположением в числе):

2398=2*1000+3*100+9*10+8=2*103+3*102+9*101+8*100

Таким образом, для перевода строки в число из введенной строки «2398» необходимо последовательно выделять цифры и производить суммирование произведений этих цифр и множителей соответствующих позиции цифры в числе. Если буфер для ввода строки был организован, например, следующим образом:

BUF 05,00,05 DUP (?)

то после ввода строки «2398» он будет выглядеть (в шестнадцатеричной системе счисления) так:

05,04,32,33,39,38,0d

где первый байт – размер буфера, второй – количество введенных символов (без завершающего символа CR), третий, четвертый, пятый, шестой и седьмой – коды символов «2», «3», «9», «8» и «CR» соответственно. Легко заметить, что для того чтобы из кода цифры получить саму цифру необходимо из соответствующего кода вычесть 30h (шестнадцатеричный код нуля). Затем, последовательно в цикле (второй байт – количество введенных символов) выбирая цифры, формировать соответствующий множитель, вычислять произведение и производить суммирование. Нижеследующий фрагмент программы иллюстрирует описанный алгоритм (символы рассматриваются справа налево).

;Ввод числа в виде строки

MOV AH,0AH;в AH номер функции

LEA DX,BUF;DS:DX адрес буфера для ввода

INT 21H

;Перевод строки в число, результат в DI

MOV DI,0

LEA BX,BUF+1;в BX адрес второго элемента буфера

MOV CX,[BX];в CX количество введенных символов

XOR CH,CH

MOV SI,1;в SI множитель

MET: PUSH SI;сохраняем SI (множитель) в стеке

MOV SI,CX;в SI помещаем номер текущего символа

MOV AX,[BX+SI];в AX помещаем текущий символ

XOR AH,AH

POP SI;извлекаем множитель (SI)из стека

SUB AX,30H;получаем из символа (AX) цифру

MUL SI;умножаем цифру (AX)на множитель (SI)

ADD DI,AX;складываем с результирующим числом

MOV AX,SI;помещаем множитель (SI) в AX

MOV DX,10

MUL DX;увеличиваем множитель (AX) в 10 раз

MOV SI,AX;перемещаем множитель (AX) назад в SI

LOOP MET;переходим к предыдущему символу

Перевод чисел в различные системы счисления. В большинстве случаев перевод из одной системы счисления в другую осуществляется последовательным делением, в нашем случае, при переводе из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную алгоритм можно значительно упростить, заменив деление сдвигом.

Перевод из десятичной системы счисления в двоичную осуществляется последовательными сдвигами на один бит вправо. Таким образом, значение очередного бита можно вычислить, проанализировав флаг переноса CF (если CF=1 то анализируемый бит был равен 1, и если CF=0, то анализируемый бит – 0).

Перевод из десятичной системы счисления в восьмеричную осуществляется последовательными сдвигами на три бита вправо. После очередного сдвига все биты кроме трех младших обнуляются (например, наложением маски командой AND). Таким образом, в регистре получается восьмеричная цифра, для получения ее символьного отображения к значению в регистре необходимо прибавить код нуля (30h).

Перевод из десятичной системы счисления в шестнадцатеричную осуществляется последовательными сдвигами на четыре бита вправо. После обнуления всех битов кроме четырех младших в регистре получается десятичный эквивалент шестнадцатеричной цифры (число от 0 до 15). Для его представления в шестнадцатеричной символьной форме необходимо организовать таблицу соответствия, которая в простейшем случае представляет собой следующую строку «0123456789ABCDEF». При перекодировании значение десятичного эквивалента используется как смещение в таблице относительно ее начала (перекодировка может осуществляться при помощи команды XLAT).

 

Рисунок 1 – контрольный пример для лабораторной работы №4

 

ГЛАСНЫЕ В КОРНЯХ С ЧЕРЕДОВАНИЕМ

Встречаются однокоренные слова, в корне которых пишутся разные гласные. Это и есть корни с чередованием. Нужно хорошо запомнить, что «написание букв на месте безударных гласных в этих корнях не соответствует общему правилу, а подчиняется традиции». При написании гласной в этих корнях мы будем пользоваться особыми правилами. Эти правила можно объединить в 4 группы.







Дата добавления: 2015-08-27; просмотров: 355. Нарушение авторских прав; Мы поможем в написании вашей работы!




Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Основные симптомы при заболеваниях органов кровообращения При болезнях органов кровообращения больные могут предъявлять различные жалобы: боли в области сердца и за грудиной, одышка, сердцебиение, перебои в сердце, удушье, отеки, цианоз головная боль, увеличение печени, слабость...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Тема: Изучение фенотипов местных сортов растений Цель: расширить знания о задачах современной селекции. Оборудование:пакетики семян различных сортов томатов...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия