Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Моделювання програми гіпотетичної машини за допомогою макрозасобів

Реферат Моделювання програми гіпотетичної машини за допомогою макрозасобів





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

Далі проходячи послідовно по рядку і знаходячи кінець слова вставляти його довжину поки пропозиція не закінчиться.

Розглянемо як реалізується алгоритм перетворення чисельного значення довжини слова в символьний еквівалент.

Одним з можливих варіантів перетворення є табличний перетворення, тобто за значенням регістра R0 ми вибираємо з заздалегідь створеної таблиці необхідний символьний еквівалент, наприклад за допомогою команди XLAT. Однак такий варіант вимагає створення таблиці. Але є у цього варіанту і свої переваги - так наприклад якщо для запису використовувати числа 16-ій або іншої системи числення, де використовуються не тільки символи цифр, то цей варіант більш кращий. p align="justify"> У даній команді (реалізується в макросі WriteLenWords) будемо використовувати числа в 10-й системі, як більш наочні. Перетворення проводиться таким чином:

Якщо наприклад в R0 значення довжини від 0 до 9, то перетворити до символьного еквіваленту досить легко додавши до значення R0 число 4810 або 3016. Тоді ми отримаємо ASCII код числа. Якщо ж у R0 число 2-ох або вище розрядів, то таким чином ми зможемо перетворити тільки одиниці цього числа, але не десятки, сотні і т.д. Отже необхідно "виділити" з цього числа одиниці, десятки, сотні і т.д. (У нашому випадку тільки десятки і сотні, тому що вся рядок складається з 250 символів идля подання найдовшого слова знадобиться тільки 3 знаки). p align="justify"> А тому числа в 10-й системі представляються так:


Xn * 10 ^ N + ... + X2 * 10 ^ 2 + X1 * 10 ^ 1 + X0 * 10 ^ 0 = десяткове число

макрозасобів асемблер алгоритм програма

де Хn - значення числа в N - му розряді

N - розряд

то виділити їх можна шляхом ділення на 1, 10 і 100 тоді кожен раз в залишку отримаємо одиничні розряди Xn. Далі додаючи до них константу 3016 отримаємо необхідний символ. p align="justify"> Тепер розглянемо розробку основного і самого складного алгоритму - сортування. Сортування будемо здійснювати методом "бульбашки". Сама сортування реалізована в макросі Sorting. Однак сам макрос використовує кілька інших більш простих макросів, тобто задачу сортування ми розбили на простіші підзадачі.

Алгоритм сортування можна уявити наступні чином:


While Flag do: = false; i: = 1 to (N-1) doWord [i]> Word [i +1] thenWord [i], Word [i +1];: = true

End;

End.

Де N - число елементів (слів).

Flag - прапор виходу з циклу (якщо все "Пузирки спливли")

Word - елементи рядка (слова).

Назад | сторінка 5 з 13 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Визначення числа підприємств, обсягу продукції, середньооблікового числа пр ...
  • Реферат на тему: Знаходження оптимального числа листів фанери и Вирізання потрібного числа з ...
  • Реферат на тему: Закріплення знань учнів з теми: "Числа 1-10 та число 0"
  • Реферат на тему: Лексичне і граматичне значення слова
  • Реферат на тему: Немає нічого більш складного і тому більш цінного, ніж мати можливість прий ...