Добавить работы Отмеченные0
Работа успешно отмечена.

Отмеченные работы

Просмотренные0

Просмотренные работы

Корзина0
Работа успешно добавлена в корзину.

Корзина

Регистрация

интернет библиотека
Atlants.lv библиотека
3,99 € В корзину
Добавить в список желаний
Хочешь дешевле?
Идентификатор:873322
 
Автор:
Оценка:
Опубликованно: 09.04.2009.
Язык: Латышский
Уровень: Университет
Литературный список: 3 единиц
Ссылки: Не использованы
Рассмотреный период: 2000–2010 гг.
Содержание
Nr. Название главы  Стр.
1.  FUNKCIJAS IZSKAITĻOŠANA    3
1.1.  Uzdevuma nostādne un teorētiskais pamatojums    3
1.2.  Programmas pirmteksta fragmenti    4
1.3.  Programmas rezultāti    4
2.  386. MIKROPROCESORA ARITMĒTIKA    5
2.1.  Uzdevuma nostādne un teorētiskais pamatojums    5
2.2.  Programmas pirmteksta fragmenti    5
2.3.  Programmas rezultāti    5
3.  ATMIŅAS ADRESĒŠANA    6
3.1.  Programmas pirmteksta fragmenti    7
3.2.  Programmas rezultāti    8
3.3.  MATRICAS UN STEKA IZMANTOŠANA    9
4.  Uzdevuma nostādne un teorētiskais pamatojums    9
4.1.  Programmas pirmteksta fragmenti    9
4.2.  Programmas rezultāti    10
5.  APAKŠPROGRAMMAS UN PARAMETRU NODOŠANA    10
5.1.  Uzdevuma nostādne un teorētiskais pamatojums    10
5.2.  Programmas pirmteksta fragmenti    11
5.3.  Programmas rezultāti    12
6.  MAKRODEFINĪCIJAS    13
6.1.  Uzdevuma nostādne un teorētiskais pamatojums    13
6.2.  Programmas pirmteksta fragmenti    13
6.3.  Programmas rezultāti    14
  SECINĀJUMI    15
  LITERATŪRA    16
Фрагмент работы

Uzdevuma nostādne un teorētiskais pamatojums
Izskaitļot funkcijas ar trim parametriem (X, Y, Z) rezultātu.
A = -2XZ - 4Y;
B = XY2 - Z3;
C = XY - Z + 1.
Ja A > 0, tad F(X,Y,Z) = A / B
Ja A < 0, tad F(X,Y,Z) = A / C
Ja A = 0, tad F(X,Y,Z) = 0
Lai veiktu aritmētiskās operācijas, tiks izmantotas sekojošas asamblera instrukcijas:
Mov – reģistrā vai atmiņas apgabalā iesūta citu reģistru vai konstanti
Add – reģistram Ax pieskaita citu reģistru vai konstanti, rezultāts tiek glabāts reģistrā Ax
Sub – no reģistra Ax atņem citu reģistru vai konstanti, rezultāts tiek glabāts reģistrā Ax
Imul – reģistra Ax vērtības reizinājums ar citu reģistru, atmiņas apgabalu vai konstanti, rezultāts
tiek glabāts reģistrā Ax
Idiv – reģistra Ax vērtības dalījums ar citu reģistru, atmiņas apgabalu vai konstanti, rezultāts tiek
glabāts reģistrā Ax
Dec – reģistra vai atmiņas apgabala vērtība tiek samazināta par 1
Inc – reģistra vai atmiņas apgabala vērtība tiek palielināta par 1
Neg – reģistra vērtības pareizināšana ar -1
Cbw – reģistra Al izmēru pārveido no vārda uz baitu, rezultāts tiek saglabāts reģistrā Ax
Cwd – reģistra Ax izmēru pārveido no vārda uz dubultvārdu, rezultāts tiek saglabāts reģistrā Ax
Jmp – norāda atmiņas apgabalu, kur atrodas nākamā komanda, kuru jāizpilda
Jg – ja reģistra vērtība ir lielāka par 0, tad pāriet uz atmiņas apgabalu, kur atrodas nākamā
komanda, kuru jāizpilda
Je – ja reģistra vērtība ir vienāda ar 0, tad pāriet uz atmiņas apgabalu, kur atrodas nākamā
komanda, kuru jāizpilda
Jl – ja reģistra vērtība ir mazāka par 0, tad pāriet uz atmiņas apgabalu, kur atrodas nākamā
komanda, kuru jāizpilda
Jn – ja reģistra vērtība nav vienāda ar 0, tad pāriet uz atmiņas apgabalu, kur atrodas nākamā
komanda, kuru jāizpilda
Jz – ja reģistra vērtība ir 0, tad pāriet uz atmiņas apgabalu, kur atrodas nākamā komanda, kuru
jāizpilda
Jge – ja reģistra vērtība ir lielāka par 0 vai vienāda ar 0, tad pāriet uz atmiņas apgabalu, kur atrodas
nākamā komanda, kuru jāizpilda
Jle – ja reģistra vērtība ir mazāka par 0 vai vienāda ar 0, tad pāriet uz atmiņas apgablu, kur atrodas
nākamā komanda, kuru jāizpilda
Jnz – ja reģistra vērtība nav vienāda ar 0, tad pāriet uz atmiņas apgabalu, kur atrodas nākamā
komanda, kuru jāizpilda
Xchg – veic vērtību apmaiņu starp diviem reģistriem.
12. variants.
Atrast minimālu pozitīvu elementu. Ja pozitīvu elementu nav, rezultāts -1.
Adresēšanas veidu neliels apskats:
* indeksa adresēšana – šis adresēšanas veids ir ļoti līdzīgs masīvu elementu adresēšanai augstāka
līmeņa programmēšanas valodās, piemēram, C/C++. Galvenā atšķirība ir tāda, ka valodās C un C++
indekss norāda uz masīva elementa numuru, bet valodā Assembler – uz elementa nobīdi no
masīva sākuma. Tas nozīmē, ka, pārejot uz nākamo masīva elementu, indekss palielinās par masīva
elementa izmēru, nevis par konstanti „1”, kā tas ir C/C++. Līdzīgi tas, ka abās minētajās valodās
pirmais elements ir ar indeksu 0.
6
* bāzes adresēšana – izmantojot šo adresēšanas veidu, no sākuma kādā no reģistriem
(piemēram, Bx) ielādē atmiņas adresi, kas atbilst masīva sākumam jeb pirmajam elementam. To
dara, izmantojot komandu „lea” (load effective adress). Savukārt, lai iegūtu masīva elementu,
izmanto komandu „mov”, kurai kā parametrus norāda reģistru, kurā ierakstīt masīva elementu, un
attiecīgā elementa adresi, kas iepriekš saglabāta, piemēram, reģistrā Bx.
* indeksa adresēšana ar mērogošanu – adresēšana notiek ļoti līdzīgi kā ar vienkāršu indeksa
adresēšanu. Atšķirība tāda, ka, izmantojot indeksa adresēšanu, pārejot pie nākamā masīva
elementa, indeksa vērtība jāpalielina par elementa izmēru, bet, izmantojot indeksa adresēšanu ar
mērogošanu, indekss jāpalielina par 1, taču pie elementa iegūšanas indekss tiek pareizināts ar
masīva elementa izmēru, tādējādi iegūstot elementa nobīdi no masīva sākuma.…

Коментарий автора
Загрузить больше похожих работ

Atlants

Выбери способ авторизации

Э-почта + пароль

Э-почта + пароль

Неправильный адрес э-почты или пароль!
Войти

Забыл пароль?

Draugiem.pase
Facebook

Не зарегистрировался?

Зарегистрируйся и получи бесплатно!

Для того, чтобы получить бесплатные материалы с сайта Atlants.lv, необходимо зарегистрироваться. Это просто и займет всего несколько секунд.

Если ты уже зарегистрировался, то просто и сможешь скачивать бесплатные материалы.

Отменить Регистрация