Бағдарлама мысалдары

 

1-мысал. А, В және С қыры бар параллелепипедтің толық бетін табыңыз. Шығыс мәндер ЖЕСҚ-ң ұяшығында болсын. Нәтижені жады ұяшығына орналастырыңыз.

Шешімі. Параллелепипедтің толық беті келесі формула бойынша есептеледі:

S=2*(A*B+A*C+B*C)

Өрнекті ықшамдап келесі түрге келтіреміз: S=2*[A*(B+C)+B*C]

134 бағдарлама

0000 01ЕО (22) => R0 В => R0

0002 0022

0004 0101 R0 => Rl В => Rl

0006 02Е0 R0 + (24) => R0 В + С

0008 0024

000А 05Е0 R0 * (20) => R0 A * (В + С)

000С 0020

000Е 05Е1 Rl * (24) => Rl В * С

0010 0024

0012 0210 R0 + Rl => R0 A * (В + С) +

В * С

0014 0200 R0 + R0 => R0 2 * [A * (В + С)

+ В * С]

0016 010Е R0 => (26) нәтиже => S

0018 0026

001A 0F00 тоқтау

……….

0020 0002 А

0022 0003 В

0024 0004 С

0026 0034 S

Ескерту! Нәтиже 34 ЭЕМ жадысында оналтылық жүйеде берілетінін ұмытпаңыз. Ондық жүйеде 52 саны шығады.

 

2-мысал. Латын әріптерін әрдайы үлкен түрінде енгізуді ұйымдастыру.

Шешімі. Бас әріп пен кіші әріптердің айырмашылығын тауып алайық. Ол үшін ASCII кестесінен кез келген бас және кіші әріпті таңдап екілік жүйеде кодтайық. Мысалы, R әріпі үшін

R 0101 0010

r 0111 0010

Осы әрекетті тағы бірнеше әріптер үшін қайталап мынадай қорытындыға келеміз: егер кіші битті 0 деп есептесе, онда бас және кіші әріптер бес битпен ерекшеленеді.

Сонымен біздің есепте бестен басқа барлық биттерді сақтау керек. Ол үшін тұрақтысы бар ЖӘНЕ әрекетін орындау керек.

1101 1111 =DF,

сонан соң әрбір код бізге қажеті жоқ биттен басқаларын сақтап отырады.

 

135 бағдарлама

0000 0E6D 26 => SP стек көрсеткішін

орнату

0002 0026

0004 9C0D 40FE шақыру символды енгізу

0006 40FE

0008 0101 R0 => Rl еңгізілген символды

сақтау

000A 07D0 DF and R0 => R0 әріпті үлкен жасау

000C 00DF

000E 9C0D 4088 шақыру нәтижені шығару

0010 4088

0012 0F00 тоқтау

3-мысал. R1, R2 және R3 регистрларында сақталған сандардың үлкенін табу. Нәтижені R0 жазу керек.

Шешуі. Алдымен R1және R2 сандарының үлкенін тауып, R0 енгізейік. Сонан соң егер R3 R0-ден үлкен болса жауап ретінде R3-ті жаамыз.

 

136 бағдарлама

0000 0412 R2-ді Rl-мен салыстыру

0002 3D04 егер < 0, онда РС=РС+4

жазбаға Rl (0008)

0004 0120 R2 => R0 R2 сақтау

0006 1D02 РС=РС+2 екінші тармаққа

өту (000A)

0008 0110 Rl => R0 Rl сақтау

000A 0403 R3-ді R0-мен салыстыру

000C 3D02 егер < 0, онда РC=РС+2 шығысқа (0010)

000E 0130 R3 => R0 R3 сақтау

0010 0F00 тоқтау

 








Дата добавления: 2014-12-22; просмотров: 1845;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.