Студопедия — МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Предположим, что пользователь ввел номермесяца-03ипрограмма должна преобразовать этот номер в алфавитное значение March
Студопедия Главная Случайная страница Обратная связь

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

МЕТОДИЧЕСКИЕ УКАЗАНИЯ. Предположим, что пользователь ввел номермесяца-03ипрограмма должна преобразовать этот номер в алфавитное значение March






Предположим, что пользователь ввел номермесяца-03ипрограмма должна преобразовать этот номер в алфавитное значение March. Программа для выполнения такого преобразования включает определениетаблицыалфавитных названий месяцев, имеющих одинаковую длину. Так как самое длинное название - September, то таблица имеет следующий вид:

MONTBLDB 'January..'

DB 'February.'

DB 'March....'

Каждый элемент таблицы имеет длину 9байт.Адресэлемента'January'- MONTBL+0, 'February' - MONTBL+9, 'March'-MONTBL+18.Длялокализации месяца 03, программа должна выполнить следующее:

1. Преобразовать введенный номер месяца из ASCII 33вдвоичное03.

2. Вычесть единицу из номера месяца: 03 - 1 = 02

3. Умножить результат на длину элемента (9): 02 х 9 = 18

4. Прибавить произведение (18) кадресуMONTBL; врезультатеполучится адрес требуемого названия месяца: MONTBL+18.

page60, 132

TITLEDIRECT(COM) Прямой табличный доступ

CODESGSEGMENT PARA 'Code'

ASSUMECS: CODESG, DS: CODESG, ES: CODESG

ORG 100H

BEGIN: JMP SHORT MAIN

; ------------------------------------------------

THREE DB3

MONIN DB'11'

ALFMONDB'??? ', '$'

MONTABDB'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN'

DB'JUL', 'AUG', 'SEP', 'OKT', 'NOV', 'DEC'

; ------------------------------------------------

MAINPROCNEAR; Основная процедура

CALLC10CONV; Получить двоичное значение

CALLD10LOC; Выделить месяц из таблицы

CALLF10DISP; Выдать месяц на экран

RET

MAINENDP

; Перевод ASCII в двоичное представление:

; --------------------------------------

C10CONVPROC

MOVAH, MONIN; Загрузить номер месяца

MOVAL, MONIN+1

XORAX, 3030H; Удалить ASCII тройки

CMPAH, 00; Месяц 01-09?

JZC20; да - обойти

SUBAH, AH; нет - очистить AH,

ADDAL, 10; и перевести в двоичное

C20RET

C10CONVENDP

; Выделение месяца из таблицы:

; ---------------------------

D10LOCPROC

LEASI, MONTAB

DECAL; Коррекция для таблицы

MULTHREE; Умножить AL на 3

ADDSI, AX

MOVCX, 03; Трехсимвольная пересылка

CLD

LEADI, ALFMON

REPMOVSB; Переслать 3 символа

RET

D10LOCENDP

; Вывод на экран симв.месяца:

; --------------------------

F10DISP PROC

LEA DX, ALFMON

MOV AH, 09

INT 21H

RET

F10DISP ENDP

CODESGENDS

ENDBEGIN

Рис. 8.1. Прямая табличная адресация.

На рис. 8.1 приведен пример прямого доступа к таблице названий месяцев. Для краткости в программе используются вместодевятисимвольных названий - трехсимвольные. Введенный номер месяца определен в поле MONIN.

Предположим, что некоторая подпрограмма формирует запроснавводномера месяца в ASCII-формате в поле MONIN.

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

Хотя прямая табличная адресация очень эффективна, она возможна только припоследовательнойорганизации.Тоестьможноиспользовать такие таблицы, если элементы располагаются в регулярной последовательности: 1, 2, 3,... или 106, 107, 108,... или даже5, 10, 15.Однако, невсегда таблицы построенытакимобразом.Вследующемразделерассматриваются таблицы, имеющие нерегулярную организацию.

TITLE TABSRCH (COM) Табличный поиск

CODESGSEGMENT PARA 'Code'

ASSUMECS: CODESG, DS: CODESG, ES: CODESG

ORG 100H

BEGIN: JMP SHORT MAIN

; -----------------------------------------------

STOKNIN DW'23'

STOKTAB DB'05', 'Excavators'

DB'08', 'Lifters '

DB'09', 'Presses '

DB'12', 'Valves'

DB'23', 'Processors'

DB'27', 'Pumps '

DESCRN10DUP(?)

; -----------------------------------------------

MAINPROCNEAR

MOVAX, STOKNIN; Загрузитьномерэлемента

XCHGAL, AH

MOVCX, 06; Число элементов в таблице

LEASI, STOKTAB; Начальный адрес таблицы

A20:

CMPAX, [SI]; Сравнить элементы

JEA30; Если равны - выйти,

ADDSI, 12; нет - следующий элемент

LOOPA20

CALLR10ERR; Элемент в таблице не найден

RET

A30:

MOVCX, 05; Длина описания элемента

LEADI, DESCRN; Адрес описания элемента

INCSI

INCSI; Выделить описание

REPMOVSW; изтаблицы

RET

MAINENDP

R10ERRPROC

; < Вывод сообщения об ошибке>

RET

R10ERRENDP

CODESGENDS

END BEGIN

Рис. 8.2. Табличный поиск

СОДЕРЖАНИЕ РАБОТЫ

Отладить примеры и убедиться в их работоспособности

ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ

1. Как в ассемблере задается таблица?

2. Перечислите способы адресации?







Дата добавления: 2014-11-10; просмотров: 640. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

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

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

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

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