Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ Прог ЦТ лаб_каз_2012_последн вариант.doc
Скачиваний:
18
Добавлен:
01.05.2015
Размер:
4.19 Mб
Скачать

1.2 Жұмысты орындау тәртібі

MPLAB-та жаңа файлға ассемблерде программа жазыңыз, оны бумада сақтаңыздар. Осындай атпен сол бумада жаңа жоба құрыңыз. «;» символынан кейін түсініктеме тұрады. Программа кодын МБ-ға жазыңыз. Программада қолданылатын регистрлерді көрсетіп, Watch Window бақылау терезесін құрыңыз, сандар форматын қадағалаңыз. Программаны қадамдық режимде орындап, барлық операция нәтижелерін 1.2 кестеге жазыңыз. Есептемеде қосымша қолмен есептеулер жүргізіңіздер, олардың STATUS регистріне әсерін көрсетіңіздер.

1.2кесте -Командалар жұмысының нәтижелерін көрсету мысалы

Кірістегі сан

Амал

REZ-дегі нәтижелер

Status мәндері

B түрі

B немесе D түрінде

B немесе D түрінде

D түрі

B түрі

R1=D’240’

R2=D’130’

R1-R2=240-130

D’110’

-

00011001

R1=D’240’

R2=D’130’

R1+R2=240+130

D’114’

-

00011001

R1=D’240’

R2=D’130’

R2-R1=130-240

D’146’

-

00011010

R2=D’130’

R3=D’5’

R2+R3=130+5

D’135’

-

00011000

R2=D’130’

R2=D’130’

R2-R2130-130

D’0’

-

00011111

R1=D’240’

R2=D’0’

R2-R1=0-240

D’16’

-

00011010

R1=b’11110000’

R2=b’10000010’

R1 AND R2

-

10000000

00011011

R1=b’11110000’

R2=b’10000010’

R1 OR R2

-

11110010

00011011

R1=b’11110000’

R2=b’10000010’

R1 XOR R2

-

01110010

00011011

1.3 Жұмыс тақырыбы бойынша қысқаша теориялық ақпарат

Программада қолданылатын регистрлер әртүрлі банктарда орналасуы мүмкін. Банк нөмірін Status арнайы қызмет регистрі (РСН) арқылы орнатуға болады, А қосымшасын қараңыздар. Сонымен қатар бұл регистр операциялардың орындалу нәтижесін қадағалайды, регистрлер толуын, нөл болуын жазады. Осының нәтижесінде алгоритмнің тармақталуы жүреді [1, 2].

BSF, BCF, ADDWF, SUBWF, ANDWF, IORWF, XORWF нұсқауларының форматы және сипаттамасы Б қосымшасында келтірілген.

Қосу және азайту операциялары екілік санақ жүйесінде жүреді. Азайту азайғышқа кері кодтағы азайтқышты қосу арқылы орындалады.

240+4 қосуды орындайық, ондық санақ жүйеде сол жағында, екілік санақ жүйеде оң жағында (мысал а). Мысал б) азайту операциясын көрсетеді.Екілік кодта азайту орындалғанда азайту орнына қосу орындалады:

мысала) 240+4мысалб) 240-128

240 11110000 240 11110000

+ 4+ 00000100 -128 + 01111111 -128 санының инверсиясы

244 11110100 112 101101111 -қосындысы+ 1 -қосымша код

01110000 -нәтиже.

Азайту нәтижесінде регистр 8 разрядты болғандықтан оның толуы болды.Тоғызыншы разрядта тұрған 1 StatusрегистрініңС битіне ауысады.Ал сол регистрде тек 8 разряд қалады, ондық санақ жүйесінде ол 112 көрсетеді.Және де 3 разрядтан 1-лік4-ші разрядқа өтті,яғни кіші жартыбайттан үлкен жартыбайтқа,сондықтан StatusрегистрініңDCбиті де 1-ге тең.

1.3 кесте– ЛогикалықфункцияларY=f(X1,X2)

Нұсқау

Шындық кестесі

Шартты белгіленуі

Электрлік сұлбалардағы баламасы

Х1

Х2

Y

IORWFOR (немесе) функциясы

0

0

1

1

0

1

0

1

0

1

1

1

Х1

Y

Х2

Y

Х1

Х2

Кез келген контакт қосылғанда тізбекте тоқ болады

ANDWF

AND (және) функциясы

0

0

1

1

0

1

0

1

0

0

0

1

Х1

Y

Х2

Y

X1 X2

Тек екі контакт қосылғанда ғана тізбекте тоқ болады

XORWFФункция XOR (Исключи- тельно ИЛИ)

0

0

1

1

0

1

0

1

0

1

1

0

Х1

Y

Х2

екі контакт әртүрлі күйде болғанда ғана тізбекте тоқ болады

Барлық логикалық операциялар әрбір разряд үшін орындалады.