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

Реферат Асемблер для IBM PC





AX, @ data ; завантаження сегментних регістрів

MOV DS, AX ; настройка DS на адресу сегменту даних

MOV ES, AX ; настройка ES на адресу сегменту даних SI, src ; помістити в SI зміщення рядка-джерела src DI, dst ; помістити в DI зміщення рядка-приймача dst CX, 10 ; довжина рядка ; за зростанням адрес MOVS dst, src ; повторити поки CX> 0


Examle 7.1. Фрагмент програми сканування буфера buffer, зі скиданням старшого біта кожного байта і збереженням результату в output.

data

buffer DB 0C8h, 0FBh, 0F5h, 0Cah, 41h, 32h, 43h. 04h, 87h, 8Ch DB 10 DUP (?)

code

...

MOV SI, OFFSET buffer ; буфер-джерело DI , OFFSET output ; буфер-приймач

MOV CX, 10 ; довжина буфера: buffer ; копіювати DS: SI в AL AL, 7FH ; очистити старший біт output ; зберегти AL в ES: DI L ; повторити поки CX <> 0

Порівняти два рядки S1 і S2 кожна завдовжки N.


...

CLD ; перегляд вперед

LEA SI, S1 ; в DS: SI помістити початок S1

LEA DI, S2 ; в ES: DI помістити початок S2

MOV CX, N ; в CX довжина рядків

L:

CMPSB ; порівняти пару елементів

JNE NOEG ; якщо S1 <> S2, то NOEG

LOOP L ; до наступній парі

EQ:

...; дії, якщо S1 = S2

NOEG:

...; дії, якщо S1 <> S2


У рядку S з 500 символів замінити перше входження символу '*' на точку.


CLD ; перегляд рядка вперед

PUSH DS;

POP ES ; встановити ES на сегмент даних

LEA DI, S ; ES: DI = початок S СХ, 500 ; довжина рядка

MOV AL, '*' ; символ для пошуку

REPNE SCASB ; пошук першого входження '*' в S

JNE FIN ; в рядку S немає входження '*'

MOV BYTE PTR ES: [DI-1], '.' ; заміна `* 'на точку

FIN: ...

Практична частина.

Скласти програму, що реалізовує такі дії (за варіантами).

1. Ввести з клавіатури рядок. Стиснути рядок, тобто видалити прогалини і табуляції. Вивести результати на екран.

2. Ввести з клавіатури рядок. Порахувати кількість слів у рядку. Вивести результати на екран.

. Ввести з клавіатури рядок. Ввести з клавіатури коротеньку рядок - шаблон. Знайти шаблон у введеної рядку. Вивести на екран В«ТАКВ», якщо шаблон є, і В«НІВ», якщо йо...


Назад | сторінка 3 з 12 | Наступна сторінка





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

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