На головну

самостійні розробки

  1. II. Порядок розробки навчально-методичного комплексу
  2. III. призначення розробки
  3. IV. МЕТОДИКА РОЗРОБКИ АСОИУ
  4. Автоматизація розробки місячних технічних норм експлуатаційної роботи
  5. Автоматизована система розробки графіка руху поїздів
  6. Види і категорії стандартів. Порядок їх розробки і затвердження.
  7. Водонапірний режим розробки нафтових родовищ і.

1. Створіть текстовий символьний масив (64 символу, від символу пробілу до символу _). Виведіть створену рядок на екран. Для цього можна вставити нижченаведений текст в будь-яку програму завдання 1, видаливши попередньо з неї непотрібні рядки: т. Е. Приєднати до нижчеподаному тексту початок і кінець ассемблерной програми - опис сегментів і процедур.

; === Програма 8. Файл z3_pr8.asm =============================

......

; Основні фрагменти програми

; Заполним рядок кодами символів

mov CX, 64; Число символів в лічильник циклу

mov AL, ''; Код першого символу (пропуск) в AL

mov SI, 0; Величина зміщення відносять. mes в SI

fill: mov mes [SI], AL; Код пересилається в рядок

inc SI; Інкремент вмісту SI. До наступного адресою

inc AL; Інкремент вмісту SI. Код наступного символу

loop fill; Цикл CX раз

; Виведемо рядок mes на екран, як в програмі завдання 1

mov AH, 40h

mov BX, 1

mov CX, 64

mov DX, offset mes

int 21h

; Завершимо програму

...

; Поля даних

mes db 64 dup ( '_')

зауваження. Для вибірки символів, що входять в рядок (масив) mes, використана, так звана, реєстрова непряма зі зміщенням адресація (аналог адресації елементів масиву в мові С ++). Відносний адресу операнда mes [SI] визначається як сума вмісту регістра [SI] і зміщення на mes від початку сегмента даних. Адреса початку сегмента даних записаний в сегментному регістрі DS. Якщо записати сказане у вигляді формули, то отримаємо:

відносний адреса операнда mes [SI] =

вміст регістра [SI] +

зміщення на mes щодо адреси в DS.

Зміна вмісту регістра SI призводить до зміщення адреси на новий символ.

2. Перегляньте зображення символів другої половини кодової таблиці (коди 128 - 255, всього 128 символів). Для цього створіть текстовий символьний масив, що складається з кодів цих символів, і виведіть його на екран.

; === Програма 9. Файл z3_pr9.asm =============================

......

3. Створіть програмну затримку, використовуючи вкладені цикли. Визначте значення параметрів, що дозволяють отримати затримки (на конкретному комп'ютері) 10, 3 і 1 сек.

; === Програма 10. Файл z3_pr10.asm ===========================

......

; Основні фрагменти програми

; Організуємо (для наочності) демонстраційний цикл з 10 кроків

mov CX, 10

loop4: push CX; помістити вміст СХ в стек

; Виведемо рядок mes на екран

...

; Організуємо програмну затримку

mov CX, time

outer: push CX; помістити вміст СХ в стек

mov CX, 0

inner: loop inner

pop CX; витягти вміст СХ з стека

loop outer

pop CX; витягти вміст СХ з стека

loop loop4

; Поля даних

mes db '<>'

time dw 10

4. Перебудуйте програму z2_pr6.asm з заняття 2, прибравши в ній повторюються висновки рядків за допомогою циклу.

; === Програма 11. Файл z3_pr11.asm ===========================

......


Контрольні питання

1. Скільки символів закодовано в таблиці ASCII кодів?

2. Чи можна адресувати елемент рядка mes замість mes [SI] наступним чином: SI [mes], [SI] + mes або [SI + mes]? Які способи адресації Вам відомі?

3. Поясніть як «працюють» вкладені цикли в програмі затримки?

4. Як діє команда inner: loop inner? Скільки разів повторюється виконання цієї команди при затримці в 3 сек. На Вашому комрьютере?

5. Що таке стек? Що таке - вершина стека, дно стека? Яке призначення регістрів SS і SP?

література

1. Юров В., Хорошенко С. Assembler: Навчальний курс - СПб: Пітер Ком, 1999. - 672 с .: іл.

2. Абель П. Мова Асемблера для IBM PC і програмування / Пер. з англ. Ю. ст. сальнікова.- М .: Вища. шк., 1992.- 447 с .: іл.

3. Майко Г. в. Асемблер для IBM PC: - М .: «Бізнес-Інформ», «Сирин», 1997. - 212 с.

4. Фіногенов К. р Самовчитель по системних функцій MS-DOS. - Изд.2, перераб. і дополн.- М .: Радио и связь, ентропія, 1995. - 382 с., іл.




Спрощені директиви сегментації | умовні переходи

заняття 1 | Організація роботи з асемблером | Програма типу EXE на макроассемблере | Програма типу com на макроассемблере | Переходи з допомогою команди CALL | Mess1 db 0Ah, 0Dh | Sub AX, AX. | Jmp outprog; На завершення програми | Режими адресації. Дані. Робота з масивами | Програма пошуку елемента в масиві |

© um.co.ua - учбові матеріали та реферати