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

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





set; Завантажити адресу елемента проверкіsi, bx; byte ptr [si], '$'; Cравніть елемент з ознакою кінця ; Відновлення регістрів

; ******** Зрушення рядка вправо ****************************** ******* macro ofset

pushreg

mov bx, ofset; З якого елемента сдвігатьbxdi, MyString; Адреса зрушуваної рядка

mov si, di; di; ch, ch; cl, byte ptr [si]; Завантаження довжини рядка

inc cx; byte ptr [si], cl; Збільшуємо довжину рядка, т.к.сдвінем її

; вправоdi, cx; Обчислюємо нові значення DI і SIsi, cx; cx, bx; Обчислюємо кол-во зсуваються сімволовds; Cовмещеніе сегментах регістровes; DS і ESmovsb; Зрушення рядка ;

; ****** Приведення всіх слів до одного "розміром" *********************

ToOneSize macrotos0, tos1, tos2, tos3, tosend si, MyString; Завантаження строкіdh, byte ptr [si]; Довжина рядка

inc si; di, si; рядок-пріемнікdl, R0; в R0-max довжина слова: cx, cx; Очищення CXcl; поправка: cl; рахуємо кол-во букв у текущ.слове;; завантажуємо в AL поточний сімволdh; відстежуємо кінець предложеніяtosend; якщо кінець предлож-я то виходcl, dl; якщо довжина слова не дорівнює max длінеTOS2; то вставляємо символи ',' cl, cl; інакше пропускаемsi; і продовжуємо перегляд дальшеTOS1;: al, ' , '; якщо не кінець словаTOS1; то довжина текущ.слова є MAX і тоді

; продовжуємо просмотрbx, si; Обчислюємо зсув звідки будемbx, di; зрушувати строкуch, dl; Обчислюємо кількість зрушень

sub ch, cl; ch, cl;

xor ch, ch; si, cx; І нове значення SI-покажчик на рядок: ShiftRight bx; зсуваємо СХ раз зі зміщений. ВХTOS3; TOS0:

EndM

; ****** Пошук слова з максимальною довжиною ***************************

FindMaxLen macroStart, End, MaxOrNo, No

lea si, MyString; Завантаження оброблюваної строкіcl, [si]; Кількість символів

xor ch, ch; bx, bx;

inc si;;:; Шукаємо перший словоal, '$'; Якщо кінець предложеніяMaxOrNo; іліal, ','; кінець словаMaxOrNo; то перевіряємо на MAX длінуbl; інакше інкремінтіруем кількість літер в словеStart; продовжуємо поки не кінець предложеніяEnd;: bl, bh; порівнюємо на MAX длінуNo; якщо текущ.дліна більше ніж MAX'аяbh, bl; то MAX = текущ.: bl, bl; інакше очищаємо лічильник буквStart; і продовжуємо: R0, bh; Розміщуємо в R0 MAX значеніеR0, 05h; Додаємо до Max значенням 5 ( 2 дужки і 3

; цифри)

EndM

; ****** Видалення "зайвих" знаків пунктуації **************************

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





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

  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Розробка програм по створенню бази даних приладів і додавання першого рядка ...
  • Реферат на тему: Розробка програми перекладу введеного рядка тексту в послідовність кодів аб ...
  • Реферат на тему: Проектування біжучого рядка на мікроконтролері з використанням програмного ...
  • Реферат на тему: Кінець Смутного часу.