Курсовая работа: Микропроцессорные средства и системы

Составить программу на Ассемблере с комментариями :

Подсчитать число символов в строке, расположенной в области начиная с адреса 1000H и заканчивая адресом 2000Hбез учета пробелов, если известно, что каждый символ занимает одну ячейку памяти и пробел кодируется как 01H.

Максимальное число символов в строке 2000h -1000h=1000h=409610

После выполнения программы результат будет помещен в HL.

LXISP,3000h ; указание вершины стека

LXIH,1000h ; адрес 1-го элемента => в HL

LXID,1000h ; загрузка счетчика в D,E

XRAA ; обнуление аккумулятора

STA 2001h ; обнуление счетчика количества символов

STA 2002h ; обнуление счетчика количества символов

MVIB,01h ; код пробела => в В

LOOP:

MOVA,M ; загрузить символ из ячейки М в аккумулятор

CMPB ; проверка на код пробела

JNZCOUNT ; если не совпадает, переход к COUNT, иначе - дальше

INXH ; адрес следующего символа

DCXD ; уменьшить счетчик

JZEXIT ; если счетчик = 0, на выход

JMPLOOP ; в начало цикла

COUNT:

PUSHH ; выгрузить содержимое HL в стек

LHLD 2001h ; загрузить HL содержимым счетчика количества символов

INXH ; увеличить счетчик на 1

SHLD 2001h ; сохранить счетчик количества символов в 2001h, 2002h

POPH ; восстановить в HL сохраненный адрес

RET ; возврат из подпрограммы

EXIT:

LHLD 2001h ; загрузить HL содержимым счетчика количества символов

END

К-во Просмотров: 932
Бесплатно скачать Курсовая работа: Микропроцессорные средства и системы